ОБСУЖДЕНИЕ На проверке 

Первые шаги в end-to-end шифровании для разработчика

0 ответов 72
Автор темы
Месяцы теории или код вслепую? С чего ты начинал разбираться в E2EE


Вопрос базовый, и это нормально.

Хочу написать приложение с end-to-end шифрованием. Не мессенджер уровня Signal, а что-то попроще: обмен заметками между двумя пользователями так, чтобы сервер не видел содержимое.

Проблема: не понимаю, с какого конца заходить. Есть два пути, и оба выглядят разумно.

Путь 1: сначала теория. Берёшь учебник по криптографии, разбираешься в симметричном и асимметричном шифровании, понимаешь, что такое обмен ключами, ECDH, KDF. Потом переходишь к протоколам. Минус: можно месяцами читать и ничего не написать.

Путь 2: сразу практика. Берёшь готовую библиотеку (libsodium, Signal Protocol), читаешь документацию, собираешь прототип. Теорию подтягиваешь по ходу, когда упираешься в непонятное. Минус: не понимаешь, что происходит внутри, и рискуешь неправильно использовать примитивы.

У разработчиков мнения расходятся. Одни говорят, что без понимания основ любой код с криптографией опасен. Другие считают, что правильно выбранная библиотека с хорошим API защищает от большинства ошибок, а глубокая теория нужна только тем, кто пишет сами примитивы.

Новички: если у тебя похожий вопрос, спрашивай здесь же, не стесняйся. Практики: ответь одним абзацем, это займёт две минуты.

С чего ты начинал разбираться в E2EE: с теории криптографии или сразу лез в код готовых протоколов?