Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
сон
0 / 0 / 0
Регистрация: 21.10.2015
#1

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

14.07.2012, 13:49. Просмотров 1628. Ответов 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
Ответы с готовыми решениями:

Программирование БД
Добрый день, хочу научиться программировать в python3 в linux БД. Что вы мне...

Программирование Python
a = 7 b = 5 m = a*b while a != 0 and b != 0: if a > b: a =a% b ...

Модульное программирование
Составить библиотеку алгоритмов для обработки произвольных числовых матриц...

Функциональное программирование
Написать функцию для нахождения коэффициентов многочлена являющегося...

программирование формул
пытаюсь переписать код с си: double rlgnr1(double x, double *par, int lp) { ...

3
accept
4833 / 3255 / 454
Регистрация: 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
4833 / 3255 / 454
Регистрация: 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 системное программирование
Всем день добрый! Нужна подсказка. Работаю сейчас над screen saver'ом через...

Программирование на Python в 2-ух томах
Как лучше использовать две книги Лутца (Программирование на Python ы 2-ух...


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

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

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