Макс работает, но читать себя я не дам. Сделал простое приложение для шифрования текстов.

Всем привет! Я начинающий Android-разработчик, который внезапно устал от того, что мобильный интернет в моём городе превратился в «режим одобренных сайтов».

Работают только Яндекс, Госуслуги, Mail.ru и конечно же новенький «национальный мессенджер Макс», который лично благословил президент.

Думаю, многие понимают, зачем это делается. Когда у определённых людей есть круглосуточный доступ к перепискам, общение c кем-либо превращается во что-то вроде публичного мероприятия: формально ты один, фактически ты всегда под присмотром.

И вот однажды, когда WhatsApp и Telegram очередной раз отказались работать на улице, я поймал себя на мысли: «А что, если поставить этот Макс, но сделать так, чтобы сообщения были нечитаемыми для всех, кроме получателя?»

Примерно также, как работает протокол HTTPS: провайдер видит сайт на который ты зашел, но не видит, о чём ты на нём пишешь.

У меня с женой переписки примерно такие:

Макс работает, но читать себя я не дам. Сделал простое приложение для шифрования текстов.

Но даже такие сообщения - это моё личное. И я не хочу, чтобы кто-то, мог их открыть одним кликом.

Задача

Сделать максимально простое приложение, которое умеет шифровать и расшифровывать текст и может работать поверх любого мессенджера — хоть Макса, хоть почты, хоть записок передаваемых голубями. Поэтому оно так и называется - Simple Enryptor.

Как это работает простыми словами

Приложение использует симметричное шифрование: для шифрования и расшифровки нужен один и тот же секретный ключ.

Макс работает, но читать себя я не дам. Сделал простое приложение для шифрования текстов.

Но важно другое: когда вы нажимаете «Зашифровать», программа не использует ваш ключ как есть. Сначала она превращает его в длинный, почти нечитаемый суперключ при помощи надежных методов: Argon2id или PBKDF2. Они специально придуманы так, чтобы их было крайне тяжело взломать перебором.

Чтобы восстановить сообщение, получателю нужен тот же самый секретный ключ. Без него текст не откроется в принципе.

Ключи можно сохранять в приложении до 10 штук. Вход в программу можно закрыть паролем или отпечатком пальца, чтобы никто не утащил ваши «секретики».

Единственный важный момент: ключом надо обменяться заранее через безопасный канал (секретный чат Telegram, Signal и т.п.). Не отправляйте вместе и текст и ключ - это как оставить ключ под ковриком.

Интерфейс

Интерфейс приложения Simple Encryptor
Интерфейс приложения Simple Encryptor

Он предельно простой:

  • Поле для текста
  • Поле для результата
  • Поле для ключа

Каждое поле снабжено кнопками: копировать, вставить, зашифровать, расшифровать. Прямо вот чтобы «разберётся даже человек, который открывает настройки раз в год».

Шифрование происходит локально т.е. на устройстве пользователя. Оно не запрашивает никаких дополнительных разрешений, не хранит логи текстов и работает оффлайн.

Где скачать

Приложение уже доступно в RuStore, Huawei AppGallery и Play Store

Обновление:

Приложение для Play Store тоже прошло модерацию

5
8 комментариев