377 похожих чатов

Господа - нужно экспертное мнение по вот такой криптографической штуке введение ————- 1

есть чат между A и B , используем end-to-end шифрование
у A есть пара ключей privKeyA, pubKeyA
у B есть пара ключей privKeyB, pubKeyB
оба знают публичные ключи друг друга
и могут посылать шифрованные сообщения друг друга используя публичный ключ (RSA)

2 теперь для оптимизации мы хотим использовать AES для шифрования
A придумывает sessionKey
и посылает B и в зашифрованном виде использя для этого publicKeyB

3 теперь при посылке сообщения от A в чат мы шифруем сообщение с помощью sessionKey
encryptWithAES(message, sessionKey)

4 при добавлении-удалении любого участника в чате
каждый участник перегенирвает sessionKey
и посылает каждому участнику чата свой session key зашифрованные для него персонально

пакет с паролями выглядит как-то так от user50 для user1,user2
{ u1: encryptedWithPubKey1(u50_sessionPass), u2: encryptedWithPubKey2(u50_sessionPass)}

и каждый получатель сообщения строит маппинг из полученных пакетов с паролями
hash1 -> decrypted u50SessionKey_1
hash2 -> decrypted u50SessionKey_2

и чат сообщение от user50 на группу чата выглядит примерно так

{ text: encryptWithUser50SessionKey(plainText), sessionKey: SOME_HASH_FROM_USER50}

——————
и вот теперь вопрос,
————-

мы хотим сократить размер пересылаемых данных - SOME_HASH_FROM_USER50
и сделать так чтобы каждое сообщение зашифрованное каким-то паролем
который уже ранее присылали было легко ассоциировать с этим паролем
не зная самого пароля

5 и тут 2 метода есть - мой и коллеги

5.1 мой метод
SOME_HASH_FROM_USER50 = md5(u50SessionKey)
а если это много то почему не взять первые 8 байт этого md5
или даже взять crc64

5.2 метод коллеги
SOME_HASH_FROM_USER50 = nonce

и идея в том что мол nonce короче чем md5
и nonce может использоваться как кусочек рандома для генерации пароля (однозначной)
и у каждого юзера по использованному nonce можно однозначно сопоставить использованный пароль

------------
итак - нужен совет - что лучше 5.1 или 5.2 ?

2 ответов

24 просмотра

"2 теперь для оптимизации мы хотим использовать AES для шифрования A придумывает sessionKey и посылает B и в зашифрованном виде использя для этого publicKeyB" Гениально. Очень полезно, когда нужно будет передавать очень много зашифрованных данных.

Так у тебя 2 человека в чате или может быть больше? Система с сервером или p2p?

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
I arrived here after a Chico Crypto show highlighted the project & the Team - the fact that the Team had a long history of successfully working with household names gave me e...
Banter is Bullish
1
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Lers say somehow tor got shut down What then?
Mark Keller
16
Gm, Oceaners🌟 We're going to #DappCon24 🇩🇪 between May 21-23 in Berlin to talk #blockchain future! If you're nearby, come by and say hello at our booth! Grab your tickets h...
KreigDK | Never DM first🌊
13
Карта сайта