Utilia

Приховати текст у зображенні

Приховайте секретний текст у зображенні методом LSB-стеганографії, за бажання з шифруванням AES-256-GCM, і прочитайте його пізніше. Працює локально.

Приховати повідомлення
Місткість
Додайте зображення, щоб побачити, скільки тексту воно вмістить.

Результат завжди зберігається як PNG: повторне стиснення JPEG, WebP чи HEIC стерло б приховані біти.

Прочитати повідомлення

Як приховати повідомлення в зображенні

  1. Перетягніть зображення в зону завантаження або натисніть на неї, щоб вибрати файл. Найкраще підходить PNG, але працює будь-яке зображення, яке може відкрити ваш браузер: результат завжди зберігається як новий PNG.
  2. У розділі Приховати повідомлення введіть текст у поле Секретне повідомлення. Рядок Місткість показує, скільки байтів займає повідомлення і скільки може вмістити зображення.
  3. Для конфіденційності позначте Зашифрувати повідомлення парольною фразою (AES-256-GCM) і введіть Парольну фразу. Опція Показати парольну фразу дає змогу перевірити, що ви ввели.
  4. Натисніть Приховати повідомлення й завантажити PNG. Файл зберігається як name-hidden.png, а в рядку стану вказано, скільки значень кольору було змінено.

Як прочитати приховане повідомлення

  1. Перетягніть PNG у ту саму зону завантаження. Якщо в ньому є повідомлення, приховане цим інструментом, відповідна примітка з’явиться одразу після завантаження зображення.
  2. Якщо повідомлення було зашифроване, введіть парольну фразу в поле Парольна фраза (лише якщо повідомлення було зашифроване).
  3. Натисніть Показати приховане повідомлення. Текст з’явиться під заголовком Приховане повідомлення, його можна одразу скопіювати.

Усе відбувається у вашому браузері: зображення, повідомлення і парольна фраза ніколи не завантажуються на сервер.

Як це працює: найменш значущий біт (LSB)

Кожен піксель зберігає значення червоного, зеленого й синього кольорів від 0 до 255. Інструмент замінює останній біт (найменш значущий) цих трьох значень одним бітом вашого повідомлення, піксель за пікселем у порядку читання. Наприклад, значення червоного 200 у двійковому записі виглядає як 11001000; якщо записати біт 1, вийде 11001001, тобто 201. Значення кольору ніколи не змінюється більше ніж на 1, і ця різниця невидима оку.

Використовуються лише повністю непрозорі пікселі, а альфа-канал не чіпається. Напівпрозорі пікселі пропускаються, оскільки браузери не можуть точно зберегти їхні молодші біти. Перед повідомленням інструмент записує 13-байтовий заголовок: сигнатуру, прапорець шифрування, довжину та контрольну суму CRC-32, яка виявляє пошкоджені дані.

Місткість становить приблизно (кількість непрозорих пікселів × 3 ÷ 8) − 13 байтів. Фото 1000 × 1000 вміщує близько 375 000 байтів – набагато більше, ніж будь-яке текстове повідомлення. Шифрування додає 49 байтів (версія, кількість ітерацій, 16-байтова сіль, 12-байтовий вектор ініціалізації IV і 16-байтовий тег автентифікації). У разі шифрування ключ виводиться з вашої парольної фрази за допомогою PBKDF2-SHA-256 (600 000 ітерацій), а текст шифрується алгоритмом AES-256-GCM, який також виявляє будь-яке втручання.

Чого стеганографія не робить

Стеганографія приховує сам факт існування повідомлення; сама по собі вона не є надійним захистом. Послідовне вбудовування LSB, як у цьому інструменті, легко виявляється засобами стегоаналізу (тест хі-квадрат, аналіз площини LSB), а будь-хто, хто відкриє зображення в цьому інструменті, прочитає незашифроване повідомлення. Якщо вміст має лишатися приватним, скористайтеся шифруванням із довгою унікальною парольною фразою: захист не сильніший за саму фразу. Але й тоді шифрування захищає вміст, а не факт того, що щось приховано.

Приховані біти також крихкі. Повторне стиснення JPEG чи WebP, зміна розміру, обрізання, знімки екрана, фільтри, а також більшість соцмереж і месенджерів (які стискають і часто конвертують зображення) знищують повідомлення. Передавайте PNG як файл: вкладенням до листа, посиланням на хмарне сховище або через «надіслати як документ» у месенджері.

Відповідальне використання

Доречні сфери застосування: головоломки, квести, завдання CTF, позначення власних зображень, навчання принципам роботи цифрових зображень, особисті нотатки. Не використовуйте інструмент, щоб обійти правила на роботі чи в навчальному закладі або закон, і поважайте чужі зображення та авторські права.

Поширені запитання

Чи можна побачити, що в моєму зображенні є повідомлення?

Неозброєним оком – ні: кожне значення кольору змінюється щонайбільше на 1. Проте засоби стегоаналізу часто виявляють LSB-вбудовування, а сам цей інструмент повідомляє про наявність повідомлення під час завантаження зображення.

Чому моє приховане повідомлення зникло?

Імовірно, зображення було повторно стиснене, змінене в розмірі чи конвертоване, наприклад соцмережею, месенджером або фоторедактором. Біти зберігаються лише в точному файлі PNG.

Чи можна почати з фото JPEG?

Так. Фото декодується, а результат зберігається як PNG – без втрат. Залиште його у форматі PNG: якщо зберегти знову як JPEG, повідомлення зникне.

Що буде, якщо я забуду парольну фразу?

Повідомлення не вдасться відновити. Чорного ходу немає, а неправильну парольну фразу відхиляє перевірка автентичності AES-GCM.

Чому файл PNG більший за оригінал?

PNG стискає без втрат, тому зазвичай він більший за JPEG того самого фото. Це ціна збереження кожного прихованого біта.