From 79effcc630cf9264206d892b2e3791d67813257f Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Wed, 6 Dec 2017 00:32:04 +0300 Subject: convert txt files to utf-8 --- plugins/CryptoPP/docs/readme.txt | 102 +++++++++++++++++++-------------------- 1 file changed, 51 insertions(+), 51 deletions(-) (limited to 'plugins/CryptoPP/docs') diff --git a/plugins/CryptoPP/docs/readme.txt b/plugins/CryptoPP/docs/readme.txt index 9030e21e02..a1150056c6 100644 --- a/plugins/CryptoPP/docs/readme.txt +++ b/plugins/CryptoPP/docs/readme.txt @@ -1,13 +1,13 @@ --*-*-*-*-*-*-*-*- RSA/AES ( ) -*-*-*-*-*-*-*-*- +-*-*-*-*-*-*-*-*- Описание RSA/AES алгоритма (наиболее свежее) -*-*-*-*-*-*-*-*- - RSA4096/AES256, +Реализовано только RSA4096/AES256, без выбора длин ключей - (1) (2) - -sha(1) sha(2) - sha ( md5) -tlv() - type length value ( ) +стороны (1) и (2) - участнки установки криптосессии +sha(1) и sha(2) - sha от пабликов (или md5) +tlv() - type length value (формат упаковки значений) priv = privkey pub = tlv(1,mod)+tlv(2,exp) @@ -19,14 +19,14 @@ rsa_done() (cpp) rsa_gen_keypair(PBYTE priv, int* len, PBYTE pub, int* len) cntx==-2 (cpp) rsa_set_keypair(priv,len,pub,len) cntx==-2 -(cpp) rsa_connect(cntx,pub,len) - -(cpp) rsa_disconnect(cntx) - -(cpp) rsa_recv(cntx,msg) - , 0, -(cpp) rsa_send(cntx,msg) - , +(cpp) rsa_connect(cntx,pub,len) - установить криптосессию +(cpp) rsa_disconnect(cntx) - разорвать криптосессию +(cpp) rsa_recv(cntx,msg) - все принятые сообщения засоваем сюда, возвращает 0, или расшифрованное сообщение +(cpp) rsa_send(cntx,msg) - все отправляемые сообщения засоваем сюда, возвращает статус отправлено или нет -(sim) rsa_inject(cntx,msg) - , -(sim) rsa_check_pub(cntx,sha,sha_len,pub,pub_len) - sha - , -(sim) rsa_notify(cntx,int) - / (event) +(sim) rsa_inject(cntx,msg) - вставляет сообщение в очередь на отправку на ту сторону, возвращает ок или не ок +(sim) rsa_check_pub(cntx,sha,sha_len,pub,pub_len) - диалог для проверки sha и если ок - то надо сохранить ключ в базе, возвращает ок или не ок +(sim) rsa_notify(cntx,int) - нотификация о установке/разрыве криптосессии (event) RSA_EXPORT rsa; @@ -37,67 +37,67 @@ RSA_IMPORT cb = { }; - (1|2): (0) +сторона (1|2): пришла преамбула(0) if( state ) { state=0 - send((0)) - , - " !" + send(преамбула(0)) - завершаем сессию, если была открыта + "не могу установить соединение!" } - (1): (1), base64( , sha(1), sha(2)) [2] +сторона (1): преамбула(1), base64(поддерживаемые фичи, sha(1), sha(2)) [2] - (2): (1) -1 sha ? (2.1), base64(rsa(aes ), rsa) [5] -2 sha(1)? (2.2), base64( , rsa- (2), sha) [3.2] -3 sha(2)? (2.3), base64( , rsa-(1), sha) [3.3] -4 ! (2.4), base64( , rsa- (2), sha) [3.4] +сторона (2): пришла преамбула(1) +1 обе sha совпали? преамбула(2.1), base64(rsa(aes ключ и вектор), подпись rsa) [5] +2 совпала только sha(1)? преамбула(2.2), base64(выбранные фичи, rsa-паблик свой(2), sha) [3.2] +3 совпала только sha(2)? преамбула(2.3), base64(выбранные фичи, запрос rsa-паблика(1), sha) [3.3] +4 не совпало ничего! преамбула(2.4), base64(выбранные фичи, rsa-паблик свой(2), sha) [3.4] - (1): (2) -1 (2.1) - (5), base64(aes("random"),sha) [6] -2 (2.2) - sha(2) . (3.2), base64(rsa(aes ), rsa) [5] -3 (2.3) - (3.3), base64(rsa- (1), sha) [4] -4 (2.4) - sha(2) . (3.4), base64(rsa- (1), sha) [4] +сторона (1): пришла преамбула(2) +1 преамбула(2.1) - преамбула(5), base64(aes("random"),sha) [6] +2 преамбула(2.2) - выдали sha(2) для проверки. преамбула(3.2), base64(rsa(aes ключ и вектор), подпись rsa) [5] +3 преамбула(2.3) - преамбула(3.3), base64(rsa-паблик свой(1), sha) [4] +4 преамбула(2.4) - выдали sha(2) для проверки. преамбула(3.4), base64(rsa-паблик свой(1), sha) [4] - (2): (3) +сторона (2): пришла преамбула(3) 1 -2 (3.2) - (5), base64(aes("random"),sha) [6] -3 (3.3) - sha(1) . (4), base64(rsa(aes ), rsa) [5] -4 (3.4) - sha(1) . (4), base64(rsa(aes ), rsa) [5] +2 преамбула(3.2) - преамбула(5), base64(aes("random"),sha) [6] +3 преамбула(3.3) - выдали sha(1) для проверки. преамбула(4), base64(rsa(aes ключ и вектор), подпись rsa) [5] +4 преамбула(3.4) - выдали sha(1) для проверки. преамбула(4), base64(rsa(aes ключ и вектор), подпись rsa) [5] - (1): (4) -1 (4) - (5), base64(aes("random"),sha) [6] +сторона (1): пришла преамбула(4) +1 преамбула(4) - преамбула(5), base64(aes("random"),sha) [6] - (1|2): (5) -(6), base64(aes("random_new"),sha) [7] -"!!! !!!" +сторона (1|2): пришла преамбула(5) +преамбула(6), base64(aes("random_new"),sha) [7] +"!!!криптосессия открыта!!!" - (1|2): (6) -"!!! !!!" [7] +сторона (1|2): пришла преамбула(6) +"!!!криптосессия открыта!!!" [7] - (1|2): (7) - +сторона (1|2): пришла преамбула(7) - зашифрованное сообщение - (1|2): (F) +сторона (1|2): пришла преамбула(F) if( state ) { state=0 "disconnected by other side" } -0: , , - (0) - , - (0) +Заметка0: вводим счетчик и увеличиваем его на каждом шаге, если приходит сообщение не с этого шага или не проходит проверка, + обрываем обмен ключами и посылаем преамбула(0) + заводим таймер после отправки каждого сообщения, если истекло время - то шлем преамбула(0) и прерываем сесиию -1: - 5- , ( ). - - . +Заметка1: Пользователь должен быть вкурсе о выбранных фичах и в интерфейс хорошо ссыпать каждое из возможных + 5-ти событий, чтобы можно было контролировать возможный спам (мало ли). Информирование о шагах также + благоприятствует уведомлению о переустановке сессии - для пользователя повышение внимания. -2: - (7), aes(zlib()) - zlib - , . - ( , - ). +Заметка2: Для криптосессии - преамбула(7), aes(zlib(сообщение)) + zlib - без заголовка, сброс потока перед каждым сообщением. Сжимается вне зависимости от избыточности + (можно вынести в фичи, но по-моему не зачем). -3: ( - , ): . - : RSA-2048, AES-128/128. +Заметка3: выбранные фичи относятся к поддерживаемым алгоритмам симетричным (если будешь делать поддержку + других, то можно и асим туда включить): размер ключа и блока. + Минимальные: RSA-2048, AES-128/128. // EOF -- cgit v1.2.3