Underlayer › Онлайн-инструмент
Стеганография онлайн: спрятать текст в картинке бесплатно
Спрячьте секретное сообщение в изображении или проверьте картинку на скрытый текст. Всё работает прямо в браузере: файл никуда не загружается, а результат открывается и в приложении Underlayer.
Конфиденциально: картинка и текст обрабатываются в этой вкладке браузера и никуда не загружаются. Закройте вкладку — и они исчезнут.
Как спрятать текст в картинке
- Выберите изображение. Лучше всего подходят детализированные фото; чем больше картинка, тем длиннее может быть сообщение.
- Введите сообщение и выберите режим: скрытый, если отправите файл документом, или открытый, если картинка пойдёт через мессенджер обычным фото.
- Нажмите «Спрятать сообщение» и скачайте PNG.
- Чтобы прочитать, откройте вкладку «Найти текст» здесь или откройте картинку в приложении 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 из галереи или другого приложения и сразу спрятать или прочитать сообщение, не сохраняя файлы.
Идеи для использования
- Записка или загадка в фотографии для друга или для квеста.
- Незаметная подпись — имя или дата внутри ваших собственных снимков.
- Короткое послание, которое не бросается в глаза в общем фотоальбоме.
Вопросы и ответы
Это бесплатно? Мои картинки куда-то загружаются?
Бесплатно, без регистрации и водяных знаков. Изображение и текст не покидают устройство: всё обрабатывается JavaScript в браузере, на сервер ничего не отправляется.
Прочитает ли приложение Underlayer сообщение, спрятанное на этой странице?
Да. Страница использует тот же код скрытия и чтения, что и приложение: картинку, сделанную здесь, откроет приложение, а сделанную в приложении — эта страница. Главное, чтобы по дороге её не пережали.
Почему пишет, что скрытое сообщение не найдено?
Либо в изображении ничего не спрятано, либо сообщение прятали другой программой, либо картинку пережали — например, отправили обычным фото в мессенджере или выложили в соцсеть. Пережатие стирает сообщения скрытого режима.
Можно ли расшифровать сообщения из других программ для стеганографии?
Нет. У каждой программы свой формат и свои метки. Этот инструмент читает сообщения, спрятанные с помощью Underlayer.
Спрятанное сообщение — это то же самое, что зашифрованное?
Нет. Underlayer не шифрует и не использует пароль: любой, кто откроет картинку в Underlayer или на этой странице, прочитает сообщение. Если текст должен остаться тайной, сначала зашифруйте его, а потом спрячьте шифротекст.
Почему сообщение пропало после отправки фото?
Мессенджер пережал фото. Отправляйте PNG файлом или документом либо используйте открытый режим.
Какой длины может быть сообщение?
До 740 байт: примерно 370 букв кириллицей или 740 латиницей. Скрытому режиму нужно достаточно пикселей, а открытый на маленьких картинках вмещает меньше: около 90 латинских символов на 640×480 и около 280 на 1080×1080.
Почему результат в формате PNG?
PNG сохраняет пиксели без потерь. Сохранение в JPEG пережало бы картинку и стёрло сообщение скрытого режима.