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

Более того, зашифрованное сообщение можно сделать похожим на обычный текст или даже скрыть в обычном контенте — видео, звуковых файлах и тексте, который не вызовет подозрений у «цензора». Это область стеганографии.

Но прямо сейчас людям нужен простой и практичный способ шифровать сообщения, максимально удобным способом. Рассмотрим самые простые онлайновые утилиты, которые позволяют это делать.


Способ использования всех утилит примерно одинаковый:

  1. Договариваемся с собеседником о секретном пароле или парольной фразе. Это может быть предложение из нескольких слов. Такое предложение легко запомнить и оно обеспечивает высокую энтропию.

  2. Копируем текст сообщения в форму.

  3. Нажимаем кнопку «Зашифровать» с указанием пароля.

  4. Отправляем зашифрованный текст любым способом в любой незащищённой программе, мессенджере, соцсети или по электронной почте.

  5. Адресат расшифровывает текст с помощью того же инструмента и пароля.

Веб-формы для шифрования

Есть программы для шифрования текста в браузере. Важно проверить, чтобы шифрование выполнялось строго на клиентской стороне. В этом случае пароль (ключ шифрования) не передаётся на сервер, так что вероятность утечки минимизируется. Проверка на локальность выполняется через мониторинг сетевых пакетов в DevTools («Инструменты разработчика» в браузере) или межсетевой экран вроде Little Snitch.

Encrypt Online
Encrypt Online

Расшифровать сообщение можно через браузерную форму Decrypt или локально в офлайне с помощью утилиты OpenSSL.

  • Paranoia Text Encryption, AES-256 в режиме EAX, ключ из пароля через Argon2

  • LOCK.PUB: создаёт в онлайне секретные зашифрованные заметки, прочитать которые можно по паролю, руководство

  • GCHQ CyberChef, опенсорcный инструмент от британской разведки GCHQ, множество режимов, подходит для более продвинутых пользователей.

  • AES Utils: AES-256-GCM с PBKDF2, простой интерфейс

Для сравнения, что нельзя считать надёжным инструментом — форма MagicTool, выполняющая шифрование и расшифровку текста без пароля. Это означает, что используется один общий пароль для всех текстов, которые проходят через данную форму. И расшифровать их может любой, кто знает о существовании этого сайта. То есть сам этот инструмент выполняет роль «секретного ключа» самим фактом своего существования.

Форма MagicTool для фиктивного шифрования
Форма MagicTool для фиктивного шифрования

Это довольно наивный подход к криптографии. Но вполне вероятно, что в некоторых сценариях «шифрование» без ключа может оказаться подходящим вариантом для манипуляций. Например, если нужно обманным путём заставить противника думать, что вы глупый пользователь, хотя в реальности наша цель — «скормить» ему эту зашифрованную информацию.

Офлайновые программы для шифрования

Кроме браузерных форм, есть и классические нативные утилиты для Linux, Windows и macOS, которые тоже выполняют надёжное шифрование текстовых сообщений:

Многие из этих программ подходят и для шифрования файлов.

Шифрование файлов в Cryptomator
Шифрование файлов в Cryptomator

Стилистическое шифрование

Из общего списка шифровальных утилит выделяются необычные проекты, больше похожие на художественный перфоманс. Например, утилита Paternoster от Леонида Каганова и Кирилла Пименова, которую они выпустили на 1 апреля. Особенность утилиты в использовании стилистических словарей для шифрования текстов. Всего есть девять словарей, включая смайлики, крики души в стиле СССР, пьяный бред, молитвы и китайские иероглифы:

Внизу указаны словари для шифрования
Внизу указаны словари для шифрования

Словари созданы на датасете реальных сообщений в блоге Каганова, то есть зашифрованный (например, в смайликах) текст может быть даже короче оригинала. Сама шифровка выглядит как специфическая лексика:

Так выглядит обмен зашифрованными сообщениями
Так выглядит обмен зашифрованными сообщениями

В остальном инструмент работает стандартным способом, с применением стойких шифров. Используется сквозное шифрование X25519+AES-GCM, секретная часть ключа хранится только в браузере (для бэкапа ключа есть специальная кнопка в настройках), публичные ключи интегрированы в первые сообщения, затем обмен станет лаконичнее. Страница не обменивается никакими данными с сервером, она целиком статическая, только один index.html. Поэтому можно скачать и сохранить её локально у себя. Подробнее см. в репозитории проекта на Github.

Комментарии (4)


  1. TimurZhoraev
    03.05.2026 18:32

    echo -n "мой секрет" | gpg --symmetric --batch --passphrase "главное не помнить историю" | base64 или -n для публичных.

    хотеть преобразовать base64 туда и сюда в словарь шифрация используй прикольный смайлики

    Конечно! Давай сделаем это прямо в командной строке. Мы создадим небольшой Python-скрипт «на лету», который будет превращать твой Base64 в словарь со смайликами и обратно.

    Вот список наших «агентов»: (͡° ͜ʖ ͡°), ٩(◕‿◕)۶, (づ。◕‿‿◕。)づ, (─‿‿─), ƪ(˘⌣˘)ʃ.

    1. Шифруем: Base64 → Словарь со смайликами

    Эта команда берет строку, кодирует её в Base64 и рассовывает буквы по ключам со смайликами.

    bash

    echo -n "Hello PGP" | base64 | python3 -c "
    import sys, random
    smiles = ['(͡° ͜ʖ ͡°)', '٩(◕‿◕)۶', 'ツ', '(•‿•)', 'ᕦ(ò_ó)ᕤ']
    b64 = sys.stdin.read().strip()
    res = {f'{random.choice(smiles)}_{i}': char for i, char in enumerate(b64)}
    print(res)
    "
    

    Результат будет выглядеть так:{'(•‿•)_0': 'S', 'ツ_1': 'G', 'ᕦ(ò_ó)ᕤ_2': 'V', ...}

    2. Дешифруем: Словарь → Base64

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

    bash

    # Допустим, словарь лежит в переменной $DICT
    export DICT="{'ツ_0': 'S', '(•‿•)_1': 'G', '٩(◕‿◕)۶_2': 'V', 'ツ_3': 's', '(͡° ͜ʖ ͡°)_4': 'b', 'ᕦ(ò_ó)ᕤ_5': 'G', 'ツ_6': '8', 'ツ_7': 'P', 'ツ_8': 'Q', 'ツ_9': '='}"
    
    echo $DICT | python3 -c "
    import sys, ast
    d = ast.literal_eval(sys.stdin.read())
    # Сортируем по числу в ключе и склеиваем значения
    b64 = ''.join(d[k] for k in sorted(d.keys(), key=lambda x: int(x.split('_')[-1])))
    print(b64)
    " | base64 --decode
    


  1. DmitryOlkhovoi
    03.05.2026 18:32

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


  1. iamkisly
    03.05.2026 18:32

    Ага, и вы сразу привлекаете внимание


  1. SlFed
    03.05.2026 18:32

    Самый простой метод зашифровать сообщение не привлекая внимания - добавить в него кучу ненужных слов. И договориться по какому принципу выбирать только значимые слова из получившейся белиберды.