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