Обновить

Миссия выполнима: Как подружить Max и E2E

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели13K
Всего голосов 13: ↑12 и ↓1+16
Комментарии9

Комментарии 9

Может, вместо стеганографии base64 с рандомными пробелами?

Пока я не слышал вообще, чтобы аккаунты сносили за что-то подобное. На что уж я слал кучу абракадабры, когда вайбкодил и методом тыка тестировал свою реализацию, но меня так и не забанили. Полезнее было бы реализовать поддержку OTR или GPG, потому что это стандарты и это позволило бы безопасно общаться между собой самым разным неофициальным клиентам (но вместе этого каждый пилит свой велосипед в плане шифрования).

Что бейс64, что псевдокитайский очень легко детектить чуть ли не регуляркой. Лучше что-то вроде такого алгоритма вшить. Да, оверхед большой, но для текстовой переписки в принципе сойдет.

Спасибо за алгоритм, адаптировал и добавил в клиент!

Да, неплохо 😅

Интересный эксперимент. Вопрос по архитектуре: вы храните ключи локально на устройстве или есть какой-то обмен через сервер? Если ключи только на клиенте — что происходит при переустановке приложения или смене устройства? Без механизма резервного копирования это довольно жёсткий UX для обычного пользователя, даже если криптография корректная.

На днях обновил схему, теперь есть 3 слоя: обфускация (стеганография), общий пароль и сам ChaCha20 из статьи. У сообщений может быть разная их комбинация

Если использовать только обфускацию и пароль, то резервного копирования не надо (если обфускация со словарем, то его главное не потерять)

Сейчас схема больше приближенная к секретным чатам Telegram, там тоже нет резервного копирования. Но в будущем можно сделать бекапы ChaCha20 ключей (например, если оба собеседника это разрешили).

Вообщем, да — при переустановке ключи теряются, и для секретного чата это нормально

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации