Найти в Дзене
Векториум

Как прячут секретные данные в JPEG-картинках?

Когда мы сохраняем фото в формате JPEG, компьютер делает три главные вещи: 1. Упрощение чисел (квантование) 2. Замена повторений короткими кодами (RLE + Хаффман)
Теперь представим, что в коробке с тортом: Пример:
Было: "клубника, клубника, клубника, крем, клубника, ананас"
Стало: "3×К, крем, К, А123" — получилось короче, но смысл тот же! Почему это работает в JPEG? Результат: фото занимает в 10-20 раз меньше места, а выглядит почти так же! Как работает: Почему незаметно: Пример:
Сообщение: 010 (3 бита).
Коэффициенты блока: 12, 15, 9.
Меняем последние биты: Итог: в картинке теперь зашифровано 010. Проблема LSB:
Если менять много чисел, статистика блока меняется, и это можно обнаружить. Решение F5: Плюсы: Идея:
Не все части картинки одинаково подходят для скрытия данных. Где лучше прятать: Где хуже: Как компьютер выбирает места: Пример: Стеганография — это как нож: Технология не запрещена, но её нелегальное использование карается законом. ➜ Важно: Если нашли подозрительное фото — провер
Оглавление

Базовый принцип работы JPEG

Когда мы сохраняем фото в формате JPEG, компьютер делает три главные вещи:

  1. Разбивает картинку на блоки 8×8 пикселей
    Каждый блок обрабатывается отдельно.
  2. Превращает цвета в частотные коэффициенты (DCT)
    Это как разложить музыку на ноты разной высоты:
    Низкие частоты = основные цвета и формы
    Высокие частоты = мелкие детали и шум
  3. Сжимает данные
    Давай представим, что твоя фотография — это огромный торт, который нужно упаковать в маленькую коробку.

1. Упрощение чисел (квантование)

  • Это как если бы мы взяли торт и разрезали его на кусочки, а потом сказали: "Вот эти крошечные кусочки сахара наверху не так важны — выбросим их, всё равно никто не заметит".
  • Компьютер делает то же самое с цифрами в фото: убирает мелкие детали, которые глаз почти не видит. Картинка становится чуть менее чёткой, но зато занимает меньше места.

2. Замена повторений короткими кодами (RLE + Хаффман)
Теперь представим, что в коробке с тортом:

  • RLE (кодирование повторов) — это когда мы видим 5 одинаковых конфет подряд и пишем "5×конфета" вместо "конфета, конфета, конфета, конфета, конфета"
  • Алгоритм Хаффмана — это как секретный язык, где:
    Частые слова (например, "клубника") получают короткие коды (например, "К")
    Редкие слова ("ананас") — длинные коды ("А123")

Пример:
Было: "клубника, клубника, клубника, крем, клубника, ананас"
Стало: "3×К, крем, К, А123" — получилось короче, но смысл тот же!

Почему это работает в JPEG?

  1. После упрощения (квантования) в фото появляется МНОГО одинаковых чисел (особенно нулей)
  2. Компьютер заменяет:
    Цепочки нулей на "5 нулей" (RLE)
    Частые числа на короткие коды (Хаффман)

Результат: фото занимает в 10-20 раз меньше места, а выглядит почти так же!

Как прячут секретные сообщения?

Способ A: LSB (Least Significant Bit) — "Последний бит"

Как работает:

  1. Каждый блок 8×8 пикселей превращается в числа (коэффициенты DCT).
  2. У каждого числа есть двоичная запись (например, 13 = 1101).
  3. Меняем последнюю цифру в этом двоичном коде:
    Было:
    1101 (13)
    Стало:
    1100 (12) — если хотим записать 0
    Или оставляем 1101 (13) — если хотим записать 1.

Почему незаметно:

  • Разница между 12 и 13 в цвете пикселя настолько мала, что глаз не видит изменений.
  • В одном блоке таких чисел десятки — можно спрятать целое сообщение!

Пример:
Сообщение:
010 (3 бита).
Коэффициенты блока: 12, 15, 9.
Меняем последние биты:

  • 12 (1100) → 1100 (0)
  • 15 (1111) → 1110 (1)
  • 9 (1001) → 1000 (0)

Итог: в картинке теперь зашифровано 010.

Способ B: Метод F5 — "Умное встраивание"

Проблема LSB:
Если менять много чисел, статистика блока меняется, и это можно обнаружить.

Решение F5:

  1. Использует код Хэмминга (математический трюк для исправления ошибок).
    Позволяет встроить 1 бит, изменив
    только 1 число в блоке.
    Остальные числа корректируются автоматически.
  2. Пример:
    Хотим спрятать бит 1 в блоке из 7 чисел.
    F5 выберет
    одно число, изменит его, а остальные подстроит так, чтобы:
    Сообщение сохранилось.
    Статистика блока почти не изменилась.

Плюсы:

  • Скрывает данные лучше, чем LSB.
  • Даже если кто-то попытается найти изменения, картинка выглядит естественно.

Способ C: Адаптивные методы — "Прячем в шуме"

Идея:
Не все части картинки одинаково подходят для скрытия данных.

Где лучше прятать:

  1. Шумные области (листва, волосы, песок):
    Здесь много мелких деталей, и изменение чисел не заметно.
  2. Текстуры (ткань, кирпичная стена):
    Разнообразие цветов и форм маскирует изменения.

Где хуже:

  1. Гладкие области (небо, одноцветные стены):
    Даже маленькое изменение создаёт видимые артефакты (например, пятно).

Как компьютер выбирает места:

  1. Анализирует фото и находит "шумные" блоки.
  2. Прячет данные только в них, избегая гладких участков.

Пример:

  • На фото пляжа:
    Прячем данные в песке и волнах.
    Не трогаем небо и гладкую воду.

Где используется стеганография в JPEG?

Легальное применение

  1. Цифровые водяные знаки (DRM)
    Как:
    Встраивание невидимых меток в фото/видео.
    Зачем:
    Доказательство авторства (например, для фотографов).
    Защита от копирования (фильмы, музыка).
    Пример:
    Когда студия выпускает фильм, она может добавить скрытый код, чтобы отслеживать пиратские копии.
  2. Медицинские данные
    Как:
    В рентгеновских снимках или МРТ прячут информацию о пациенте.
    Зачем:
    Конфиденциальность (чтобы данные не попали в чужие руки).
    Удобство (всё в одном файле).
  3. Военные и спецслужбы
    Как:
    Передача координат или шифров через "обычные" фото.
    Зачем:
    Чтобы враг не догадался, что в картинке есть сообщение.
    Реальный случай:
    В 2010-х террористы использовали стеганографию в фото на форумах для передачи команд.
  4. Банковская безопасность
    Как:
    В QR-кодах или сканах документов прячут дополнительные данные.
    Зачем:
    Проверка подлинности (например, чтобы отличить настоящую банкноту от подделки).

Нелегальное применение

  1. Передача вирусов
    Как:
    Вредоносный код прячут в пикселях картинки.
    Зачем:
    Обход антивирусов (они не проверяют фото на скрытые программы).
    Пример:
    Вирус Duqu 2.0 (2015) заражал компьютеры через JPEG-файлы.
  2. Кибершпионаж
    Как:
    Шпионы отправляют секретные данные через соцсети (например, "невинные" фото котиков).
    Зачем:
    Чтобы никто не заподозрил передачу информации.
    Реальный случай:
    В 2017 хакеры группы APT29 использовали стеганографию в Twitter для кражи данных.
  3. Тёмный интернет (DarkNet)
    Как:
    Преступники обмениваются инструкциями через фото на форумах.
    Зачем:
    Чтобы полиция не могла отследить сообщения.
  4. Обход цензуры
    Как:
    В странах с жёстким интернет-контролем (например, Китай) люди прячут тексты в картинках.
    Зачем:
    Чтобы обойти блокировку запрещённых тем.

Как борются с нелегальным использованием?

  1. Стегоанализ
    Специальные программы (например, StegExpose) ищут аномалии в JPEG-файлах.
  2. Искусственный интеллект
    Нейросети учатся находить даже самые скрытые изменения.
  3. Запрет на подозрительные файлы
    Некоторые почтовые сервисы (Gmail, Outlook) блокируют JPEG с вложенными данными.

Стеганография — это как нож:

  • Можно резать хлеб (защищать авторские права).
  • Можно навредить (распространять вирусы).

Технология не запрещена, но её нелегальное использование карается законом.

➜ Важно: Если нашли подозрительное фото — проверьте его через AperiSolve или StegOnline.