UTILS.
100% в браузере
🕵️

Инструмент стеганографии изображений

Скройте секретный текст внутри изображения с помощью LSB-стеганографии или раскройте скрытое сообщение. Работает на 100% в вашем браузере, ничего не загружается.

Перетащите или выберите изображение, в котором нужно скрыть текст

Об этом инструменте

Этот инструмент скрывает секретное текстовое сообщение внутри обычного изображения, а затем извлекает его обратно, используя стеганографию наименее значимого бита (LSB). Всё происходит локально в вашем браузере на HTML-холсте: картинка и ваше сообщение никогда не покидают ваше устройство, и ничего не загружается на сервер.

LSB-стеганография работает путём перезаписи наименее значимого бита каждого цветового канала. Изображение отрисовывается на холсте, и считываются его исходные пиксели; сообщение преобразуется в байты UTF-8, и бит за битом эти биты заменяют младший бит красного, зелёного и синего каналов последовательных пикселей (канал альфа/прозрачности пропускается, чтобы избежать визуальных артефактов). Изменение только младшего бита сдвигает каждый канал не более чем на 1 из 255, поэтому результат выглядит идентично для глаза. Сначала записывается 32-битный заголовок длины в формате big-endian, чтобы декодер точно знал, сколько байтов сообщения следует далее. Каждый пиксель несёт 3 бита, поэтому изображение вмещает около floor(ширина x высота x 3 / 8) байтов минус 4 байта заголовка.

Чтобы скрыть сообщение, выберите «Скрыть сообщение», выберите изображение, введите текст и нажмите «Закодировать и скачать», чтобы сохранить PNG. Чтобы восстановить его, переключитесь на «Раскрыть сообщение» и откройте стего-PNG; скрытый текст декодируется автоматически. Вывод должен быть в PNG, потому что он без потерь — JPEG повторно сжимает пиксели и уничтожил бы хрупкие наименее значимые биты, разрушив сообщение.

Часто задаваемые вопросы

Это безопасно или зашифровано?
Нет. LSB-стеганография — это сокрытие через неочевидность, а не шифрование — она скрывает сам факт существования сообщения, но не защищает его содержимое. Любой, кто заподозрит стего-изображение и использует тот же метод, сможет его прочитать. Для настоящей конфиденциальности сначала зашифруйте текст (например, инструментом AES), а затем скройте шифротекст.
Почему он экспортирует PNG, а не JPEG?
Сообщение живёт в наименее значимых битах пикселей, которые бывают только без потерь. PNG сохраняет каждый бит точно. JPEG использует сжатие с потерями и повторно сжимает изображение, изменяя эти младшие биты и разрушая скрытые данные, поэтому этот инструмент всегда сохраняет в PNG.
Сколько текста я могу скрыть в одном изображении?
Примерно floor(ширина x высота x 3 / 8) байтов минус 4 байта, зарезервированных для заголовка длины. Изображение 1000 x 1000 вмещает около 375 000 байтов. Инструмент показывает точную ёмкость при загрузке изображения и предупреждает вас, если ваше сообщение слишком велико.
Работает ли он с эмодзи и другими языками?
Да. Сообщение кодируется как UTF-8, поэтому эмодзи, диакритические знаки и нелатинские письменности передаются точно. Учтите, что многобайтовые символы используют больше ёмкости изображения, чем простой ASCII.

Больше инструментов