End to end шифрование сообщений, какой алгоритм/библиотеку выбрать?

Всем привет.

С целью развития практики в node.js хочу создать что-то типа телеграмм, с сервером и браузерным клиентом. Так как я никогда не погружался в криптографию и начал шерстить сеть на эту тему, очень быстро вспомнил понятие "век живи, век учись". После алгоритмов использованных телеграмом, асинхроные и синхроные ключи, Диффи и т.д. я понял, что что бы охватить всю эту информацию понадобится вдвое больше времени, чем на первоночальную задачу. Отсюда возникает вопрос, есть ли открытые готовые алгоритмы, библиотеки для создания безопасного, зашифрованного обмена сообщений?
Задумка/требования:
Сервер не должен иметь возможность прочитать сообщения, т.е. он будет хранить какое-то время сообщения, но не будет владеть ключами. Шифрование должно происходить исключительно на клиенте, противостояние MIM.
Конечно вопрос больше в наличии выбора. Буду брать лучшее из возможных и к сожалению, не смог пока найти ту самую либу.

Буду благодарен за названия существующих решений, которые Вы можете мне посоветовать.

Большое спасибо
  • Вопрос задан
  • 1016 просмотров
Решения вопроса 1
Tyranron
@Tyranron
Есть некий эталон в виде опенсорсного Signal: https://www.signal.org/

У них всё в этом плане открыто и расписано.
Дизайн доки: https://www.signal.org/docs/
Код: https://github.com/signalapp

Там же в дизайн доках ссылка на ихнюю готовую JS'ную либу для работы с их протоколом:
https://github.com/signalapp/libsignal-protocol-ja...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Scratch
@Scratch
у VirgilSecurity бесплатные SDK под все платформы + готовые примеры чатов c E2E шифрованием
Вот, например, firebase https://medium.com/@geekyants/implement-virgil-sec...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы