Underlayer › Онлайн-инструмент

Стеганография онлайн: спрятать текст в картинке бесплатно

Спрячьте секретное сообщение в изображении или проверьте картинку на скрытый текст. Всё работает прямо в браузере: файл никуда не загружается, а результат открывается и в приложении Underlayer.

Режим

Конфиденциально: картинка и текст обрабатываются в этой вкладке браузера и никуда не загружаются. Закройте вкладку — и они исчезнут.

Как спрятать текст в картинке

  1. Выберите изображение. Лучше всего подходят детализированные фото; чем больше картинка, тем длиннее может быть сообщение.
  2. Введите сообщение и выберите режим: скрытый, если отправите файл документом, или открытый, если картинка пойдёт через мессенджер обычным фото.
  3. Нажмите «Спрятать сообщение» и скачайте PNG.
  4. Чтобы прочитать, откройте вкладку «Найти текст» здесь или откройте картинку в приложении Underlayer.

Что такое стеганография

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

Как работает скрытый режим: LSB-стеганография простыми словами

Цвет каждого пикселя хранится тремя числами — красный, зелёный и синий — от 0 до 255. Если изменить число на 1, цвет сдвинется незаметно для глаза. LSB (least significant bit, младший бит) — метод, при котором этот последний, самый младший бит числа несёт один бит сообщения.

Underlayer переводит текст в байты (UTF-8, поэтому работают любые языки и эмодзи), добавляет короткую метку начала и конца и записывает биты в младший бит зелёного канала одного пикселя в каждом блоке 8×8. Дополнительные копии ложатся в другие узоры пикселей, и при чтении они сверяются между собой. Перед записью картинка один раз пересохраняется в высоком качестве: на вид она не отличается от оригинала, но побайтно это уже не тот же файл.

Цена — ёмкость: один бит на 64 пикселя. В фото 1080×1080 помещается около 18 000 бит, а читаются сообщения до 740 байт — примерно 370 букв кириллицей или 740 латиницей.

Почему мессенджеры ломают скрытые сообщения

Данные скрытого режима живут в самых мелких деталях пикселей, а именно их выбрасывает JPEG-сжатие. Telegram, WhatsApp, Instagram и большинство соцсетей пережимают фото ради экономии трафика, и скрытые биты перезаписываются. В наших тестах пересохранение картинки скрытого режима в JPEG — даже с качеством 90 — каждый раз стирало сообщение. Поэтому инструмент и отдаёт PNG.

Обычно сохраняетОбычно стирает сообщение скрытого режима
Отправка файлом или документом, вложения в почте, облачные диски, флешкаОтправка обычным фото в мессенджерах, публикация в соцсетях, скриншоты, редактирование, уменьшение, конвертация в JPEG

Когда нужен открытый режим

Открытый режим не скрывает сам факт сообщения. Он рисует вокруг картинки рамку из цветных квадратов; цвет каждого квадрата кодирует два бита. Яркие цвета на чёрном фоне переживают пережатие: в наших тестах сообщение читалось и после пересохранения в JPEG с качеством 75. Выбирайте его, когда картинка пойдёт обычным фото через Telegram или WhatsApp.

На маленьких картинках рамка вмещает меньше текста — около 90 латинских символов на 640×480, 280 на 1080×1080 и 560 на 1600×1200 (кириллица занимает вдвое больше места), а сильное уменьшение маленькой картинки всё ещё может её сломать.

Спрятать — не значит зашифровать

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

Расшифровка: как найти скрытое сообщение в картинке

Вкладка «Найти текст» проверяет изображение на сообщения обоих режимов, сделанные в Underlayer — на этой странице или в приложении. Сообщения из других программ она не прочитает: у каждой программы свой формат. Если ничего не найдено, скорее всего, в картинке нет сообщения Underlayer или её пережали уже после того, как сообщение спрятали.

Тот же формат, что в приложении Underlayer

Страница использует тот же код скрытия и чтения, что и приложение Underlayer для Android и iOS: можно спрятать сообщение на компьютере и прочитать его на телефоне, и наоборот. В приложении ещё можно отправить картинку в Underlayer из галереи или другого приложения и сразу спрятать или прочитать сообщение, не сохраняя файлы.

Скачать в Google Play Загрузить в App Store

Идеи для использования

Вопросы и ответы

Это бесплатно? Мои картинки куда-то загружаются?

Бесплатно, без регистрации и водяных знаков. Изображение и текст не покидают устройство: всё обрабатывается JavaScript в браузере, на сервер ничего не отправляется.

Прочитает ли приложение Underlayer сообщение, спрятанное на этой странице?

Да. Страница использует тот же код скрытия и чтения, что и приложение: картинку, сделанную здесь, откроет приложение, а сделанную в приложении — эта страница. Главное, чтобы по дороге её не пережали.

Почему пишет, что скрытое сообщение не найдено?

Либо в изображении ничего не спрятано, либо сообщение прятали другой программой, либо картинку пережали — например, отправили обычным фото в мессенджере или выложили в соцсеть. Пережатие стирает сообщения скрытого режима.

Можно ли расшифровать сообщения из других программ для стеганографии?

Нет. У каждой программы свой формат и свои метки. Этот инструмент читает сообщения, спрятанные с помощью Underlayer.

Спрятанное сообщение — это то же самое, что зашифрованное?

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

Почему сообщение пропало после отправки фото?

Мессенджер пережал фото. Отправляйте PNG файлом или документом либо используйте открытый режим.

Какой длины может быть сообщение?

До 740 байт: примерно 370 букв кириллицей или 740 латиницей. Скрытому режиму нужно достаточно пикселей, а открытый на маленьких картинках вмещает меньше: около 90 латинских символов на 640×480 и около 280 на 1080×1080.

Почему результат в формате PNG?

PNG сохраняет пиксели без потерь. Сохранение в JPEG пережало бы картинку и стёрло сообщение скрытого режима.