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 ответов

61 просмотр

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

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

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

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

30500 за редактор? )
Владимир
47
any reference of this implementation?
BitBuddha
29
Ⓐrtto, [4/23/24 7:02 PM] Please explain more fully how it is not working exactly, and what are the steps you are taking, and what error messages come or what happens. Ⓐrtto, ...
Ezza Kezza
2
sounds like people have lost their kaspa on tradeogre... does this mean tradeogre not trustworthy?
Ezza Kezza
15
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
So much speculation in the last week. So much volatility in price. This is because Hedera has a GC that isn't using the network it's governing. Why aren't people asking why a...
Summit Seeker R
8
Anyone else having this error when trying to make transactions?
Datzel
11
Question: How viable is it to use Anvil as the backend infrastructure for managing a TradFi portfolio, while integrating Flexa for instant liquidity and payment solutions? Cou...
Kevin
2
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
Карта сайта