From 6c58b8c5936ff03c05087a3469e14ba8c253fc39 Mon Sep 17 00:00:00 2001 From: ElectronixTM Date: Tue, 29 Apr 2025 23:14:51 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D1=82=D0=BE=D0=BA=D0=BE=D0=BB=20=D0=BD=D0=B5?= =?UTF-8?q?=D0=BC=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BB=D0=BE=D0=B3=D0=B8=D1=87?= =?UTF-8?q?=D0=BD=D0=B5=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Теперь шифруется вся информация, кроме опций протокола, что улучшает приватность. Лучше описана структура протокола. Убраны примеры, так как уже без надобности --- MessageProtocol.md | 58 +++++++++++----------------------------------- 1 file changed, 13 insertions(+), 45 deletions(-) diff --git a/MessageProtocol.md b/MessageProtocol.md index 7f2c8c3..3fb2458 100644 --- a/MessageProtocol.md +++ b/MessageProtocol.md @@ -1,6 +1,5 @@ # Quilin - ## Полезная нагрузка ### Пожелания @@ -9,15 +8,24 @@ ### Отправка -Похож на документ в yaml формате. В начале идет название протокола и указание его версии. В случае общения с сервером этот протокол подразумевается по умолчанию и будет использоваться его последняя версия +Поля этого протокола имеют следующую структуру -То, что начинается с // - комментарий +1. Объявление протокола (может быть опущено, он подразумевается приложением и будет использована его последняя версия, если не сказано обратного) +2. Опции передачи сообщения - используются для того, чтобы обозначить намерения отправителя относительно передаваемого сообщения. В основном задаются меры безопасности. Часть из них работает по умолчанию, но может быть отключена +3. Основная часть сообщения. Если указано, что будет использовано шифрование, то телом сообщения будут зашифрованные данные в формате ASCII Armor. Если нет, то те же данные будут переданы в открытом виде. Сами данные имеют следующий формат + 1. from: указание аккаунта, от чьего имени отправляется сообщение + 2. to: указание того, кому будет отправлено сообщение + 3. token: средство авторизации. Выдается сервером на время сессии. Может и должен быть запрошен отдельно + 4. Сам текст сообщения. Блок со служебной информацией заканчивается тройным дефисом. Все, что указано после них на новой строке считается текстом сообщения + +Приблизительно структура сообщения выглядит так ``` // Опциональное указание протокола и версии [Quilin [VERSION]] // Дополнительные опции -[o/options]: [sign/s] [no-tls/nt] +[o/options]: [sign/s] [encryption/e]=[RSA/DES/DSA] [tls/t] [stream/st] +--- // Указание аккаунта, от имени которого отправляется сообщение from: {nickname} // Пользователь может использовать временный токен, отправляемый сервером, @@ -37,47 +45,7 @@ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum ``` -Без комментариев все то же самое - - -``` -[Quilin [VERSION]] -[o/options]: [sign/s] [no-tls/nt] -from: {nickname} -token: {some token} -to: {name} ---- -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat -non proident, sunt in culpa qui officia deserunt mollit anim id est laborum -``` - -#### Описание опций - -- sign/s: передаваемое сообщение использует цифровые подписи. Серверу следует эти подписи публичными ключами, привязанными к аккаунтам. Если подпись не удастся проверить, сообщение будет отброшено -- no-tls - не использовать и не проверять tls у сервера. Не безопасно - -#### Пример отправки сообщения - -``` -from: ElectronixTM -to: MrQiz ---- -Hello, my dear friend, how are you? - -May you please give me some advice on the following code snippet: - -\```py -import antigravity -\``` -``` - -### Ответ - -## Протокол шифрования +## Криптографический протокол ### Пожелания автора