Форум программистов, компьютерный форум, киберфорум
Наши страницы

Python

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 5.00
сон
0 / 0 / 0
Регистрация: 21.10.2015
#1

Криптография, многопоточное программирование, сетевое программирование - Python

14.07.2012, 13:49. Просмотров 1606. Ответов 3
Метки нет (Все метки)

Не знаю, с чего начать, подскажите:

В этом задании необходимо реализовать клиент-серверное приложение, позволяющее суммировать последовательности целых чисел и обеспечивающее защищённую передачу данных. Приложение должно реализовывать следующий текстовый протокол (все строки заканчиваются символом перевода строки):

Клиент устанавливает соединение с сервером и передаёт следующие команды:
HLO логин
PBK открытый_ключ_RSA
Сервер, получив открытый ключ клиента, генерирует случайный ключ для алгоритма AES (сеансовый ключ) и передаёт его клиенту в зашифрованном полученным ранее открытым ключом виде.
Все последующие данные передаются в зашифрованном сеансовым ключом виде.
Клиент посылает произвольное количество запросов вида
NMR целое_число
При отправке клиентом запроса
SUM
сервер отправляет клиенту сумму чисел, полученных со времени последнего запроса SUM либо с момента открытия соединения, если таких запросов ещё не было.
Клиент может закрыть соединение в любой момент, отправив при этом сообщение
BYE
Сервер должен поддерживать любое количество одновременно подключенных клиентов. Для проверки работоспособности сервера следует реализовать сценарий, запускающий 10 копий клиента одновременно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2012, 13:49
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Криптография, многопоточное программирование, сетевое программирование (Python):

Программирование Python - Python
a = 7 b = 5 m = a*b while a != 0 and b != 0: if a > b: a =a% b else: b =b% a print (m //(a+b)) Не могу...

Модульное программирование - Python
Составить библиотеку алгоритмов для обработки произвольных числовых матриц (тип REAL): - умножение матрицы на число. - поменять...

Динамическое программирование на Python - Python
Помогите, пожалуйста, необходимо очень срочно! модифицировать процедуру Print_Stations для случая n конвейеров, имеющих m рабочих мест...

Начинаю изучать программирование - Python
Вот код программы: a = int(input()) b = int(input()) m = a*b while a != 0 and b != 0: if a > b: a %= b else: ...

Программирование нестандартного интерфейса - Python
У меня есть маленькая программка на Python. Думаю о том, а не сделать ли мне для неё интерфейс. Хочется попробовать не стандартные вещи...

программирование на языке Python - Python
По вводимой дате (число и месяц) , подсчитать номер этого дня в году (високосный год не учитывать). Определить сезон года. Обязательно...

3
accept
4832 / 3253 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
15.07.2012, 05:59 #2
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class Client:
    def start(self):
        pass
    def connect(self):
        pass
    def login(self):
        pass
    def send_key(self):
        pass
    def recv_key(self):
        pass
    def cmd_number(self):
        pass
    def cmd_sum(self):
        pass
    def close(self):
        pass
    def end(self):
        pass
 
def test_client():
    cli = Client()
    cli.start()
    cli.connect('server', 'port')
    cli.login('name')
    cli.send_key('key')
    cli.recv_key()
    cli.cmd_number(1)
    cli.cmd_number(2)
    cli.cmd_number(3)
    print(cli.cmd_sum())
    cli.close()
    cli.end()
0
сон
0 / 0 / 0
Регистрация: 21.10.2015
15.07.2012, 11:59 #3
Спасибо, но как-то не очень помогло.
0
accept
4832 / 3253 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
16.07.2012, 02:02 #4
это внешнее описание базового исполнителя для клиентской части

это для генерации ключа
Python
1
2
>>> import Crypto.PublicKey.RSA
>>> help(Crypto.PublicKey.RSA)
это для шифрования и расшифровки по ключу
Python
1
2
>>> import Crypto.Cipher.PKCS1_v1_5
>>> help(Crypto.Cipher.PKCS1_v1_5)
это для шифрования/расшифровки данных
Python
1
2
>>> import Crypto.Cipher.AES
>>> help(Crypto.Cipher.AES)
Добавлено через 2 минуты
Цитата Сообщение от Сон Посмотреть сообщение
Спасибо, но как-то не очень помогло.
ты спрашивал с чего начать, начинать нужно с разработки исполнителей, чтобы всё в кашу не превратилось к середине программы
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2012, 02:02
Привет! Вот еще темы с ответами:

только начал изучать программирование - Python
Можете объяснить разницу в коде 1. a= print(sum(a)) - вот этот вариант работает правильно 2. a=range(1,10) for x in a: if...

Процедурное программирование: есть ли неявный параметр? - Python
Возьмем пример: def posts_update(request, id=None): instance = get_object_or_404(Post, id=id) form =...

Пример программы (функциональное программирование и лямбды) - Python
Здравствуйте. Необходим код какой -либо программы хорошо иллюстрирующей полезность функционального программирования и лямбда функций. Она...

Обработка естественного языка на Python. Задача на программирование - Python
Здравствуйте! Помогите переписать этот код или же написать полностью новый. Так как моё чудо не проходит по ограничению времени. Заранее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru