Как работает E2EE?
почитал про E2EE и задумался, вот есть пользователи A и B, Условные Alex и John, каждый сгенерировал свою пару приватный/публичный ключ и отправил друг другу публичные ключи, и вдруг сторона A(Alex) решила зашифровать сообщение и отправить его стороне B(John), они зашифровала их со своей парой ключей и отправила, но как его расшифрует сторона B(John) без приватного ключа стороны A(Alex)? Я серьезно не могу понять как оно работает, просьба обьяснить. Я считаю что E2EE если и реален, то устроен не так, как его описывают.Иначе RSA же должен был сломаться давно...
Ответы (1 шт):
В асимметричном шифровании есть две функции:
encrypt(message, public_key)
decrypt(message, private_key)
Как уже сказали в комментах, когда Alex отправляет сообщение John, он шифрует его публичным ключом John:
ciphertext = encrypt(alex_message, john_public_key)
John когда получает сообщение, расшифровывает своим приватным ключом:
text = decrypt(ciphertext, john_private_key)
Но на практике такую простую схему не используют, потому что человек-по-средине (Man-In-The-Middle) может перехватить публичные ключи обеих сторон, и отправить им свои, фейковые публичные ключи. Это дает ему возможность читать и подменять все сообщения.