Utilia

Приховування повідомлення в тексті

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

Це хитрість, а не захист: багато програм і сайтів видаляють символи нульової ширини, а виявити їх можна простою перевіркою. Якщо вміст важливий, використовуйте парольну фразу.

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

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

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

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

  1. Введіть Текст-прикриття (те, що бачать усі): звичайне речення, яке після цього виглядатиме так само.
  2. Введіть Таємне повідомлення.
  3. За бажанням укажіть Парольну фразу (необов’язково). Тоді повідомлення шифрується за допомогою AES-256-GCM перед приховуванням, тож знання методу не дозволить його прочитати.
  4. Виберіть Куди помістити приховані символи: Після першого слова (за замовчуванням), Розподілити між словами, Самий початок або Самий кінець.
  5. Натисніть Приховати повідомлення, а потім скопіюйте Текст із прихованим повідомленням кнопкою копіювання. Відкрийте Показати, де розташовані приховані символи, щоб побачити їх у вигляді символів ◆.

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

  1. Вставте текст у поле Текст для перевірки. Кількість символів нульової ширини з’явиться під полем.
  2. Натисніть Розкрити повідомлення. Якщо повідомлення зашифровано, введіть Парольну фразу (якщо повідомлення зашифровано) і натисніть ще раз.
  3. Щоб очистити текст, натисніть Видалити приховані символи: ви отримаєте той самий текст без прихованих даних. Емодзі на кшталт 👨‍👩‍👧, які правомірно використовують невидимі з’єднувачі, залишаються недоторканими.

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

Як це працює

В Unicode є символи, які не займають місця на екрані. Цей інструмент використовує чотири з них як цифри: ZERO WIDTH SPACE (U+200B) = 00, ZERO WIDTH NON-JOINER (U+200C) = 01, ZERO WIDTH JOINER (U+200D) = 10 і WORD JOINER (U+2060) = 11. Ваше повідомлення перетворюється на байти UTF-8, і кожен байт стає чотирма невидимими символами. Блок починається й закінчується символом ZERO WIDTH NO-BREAK SPACE (U+FEFF) та містить однобайтовий заголовок, який указує, чи є вміст звичайним текстом, чи зашифрованим.

Тому прихована частина швидко росте: повідомлення з 20 літер додає близько 90 невидимих символів, а шифрування додає 49 байтів заголовка й тега автентифікації (приблизно ще 200 символів). Кирилиця в UTF-8 займає по 2 байти на літеру, тож українське повідомлення виходить ще довшим. У UTF-8 кожен із цих невидимих символів займає 3 байти, що має значення для полів з обмеженням у байтах. Розмір у UTF-8 у результатах показує реальний розмір усього тексту.

З парольною фразою інструмент використовує той самий формат, що й інструмент шифрування тексту: ключ виводиться за допомогою PBKDF2-SHA-256 із 600 000 ітерацій, шифрує AES-256-GCM, а неправильна парольна фраза чи один змінений символ призводять до помилки розшифрування замість сміття.

Обмеження: хитрість, а не захист

  • Багато платформ видаляють символи нульової ширини. Деякі месенджери, соціальні мережі, поля форм і текстові редактори прибирають або нормалізують їх. Спершу перевірте місце призначення: вставте туди результат, скопіюйте назад і натисніть Розкрити повідомлення.
  • Часткове копіювання руйнує повідомлення. Якщо читач скопіює лише частину тексту, блок буде неповним, і інструмент зазвичай повідомить, що його пошкоджено.
  • Його легко виявити. Будь-яка програма перевірки невидимих символів, шістнадцятковий редактор чи простий підрахунок покажуть, що там щось є. Приховати саму наявність повідомлення від наполегливого спостерігача таким способом неможливо.
  • Без парольної фрази це лише маскування. Будь-хто, хто знає цю поширену техніку, зможе її розшифрувати. Для чутливої інформації використовуйте надійну парольну фразу й передавайте її іншим каналом.

Щоб видалити всі види невидимих символів (нерозривні пробіли, двонапрямні керувальні символи, м’які переноси тощо), скористайтеся інструментом видалення невидимих символів.

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

Чи збережеться приховане повідомлення під час надсилання електронною поштою чи в чаті?

Іноді. Електронна пошта у вигляді простого тексту та багато чатів зберігають символи нульової ширини, але деякі сервіси видаляють їх, а деякі клавіатури чи редактори змінюють. Завжди робіть перевірку «туди й назад».

Чи можуть інші інструменти читати повідомлення, приховані тут?

Лише ті, що використовують те саме кодування. Стандарту для стеганографії на символах нульової ширини немає, тому різні інструменти загалом несумісні.

Чи допомагає розподіл символів між словами?

Це не збирає довгі послідовності невидимих символів в одному місці, тож деякі редактори їх краще зберігають, а в інспекторі символів це виглядає менш підозріло. Але програмі знайти повідомлення це не ускладнює.

Чому інструмент знаходить символи нульової ширини, але не знаходить повідомлення?

Текст містить невидимі символи, записані не у форматі цього інструмента: скопійовані з вебсторінки, вставлені редактором або водяний знак іншого інструмента. Інструмент видалення невидимих символів може показати їх.

Що станеться, якщо приховати нове повідомлення в тексті, де вже є одне?

Старий прихований блок спершу видаляється, тож результат містить лише нове повідомлення.