В Сети рассказали, как спрятать любую информацию в JPEG-картинки
Изображения JPEG могут хранить скрытые данные, изменяя их коэффициенты DCT (дискретного косинусного преобразования). JPEG использует цветовое пространство YCbCr, где Y представляет яркость, а Cb и Cr — разницу цветов. Изображения делятся на блоки 8×8 пикселей, преобразуются в частотные матрицы с помощью DCT и сжимаются путем уменьшения высокочастотных данных. А как можно зашифровать данные — рассказывает In4in на Хабре.
Для встраивания данных мы изменяем наименее значимый бит в среднечастотных коэффициентах. Это позволяет избежать заметных изменений изображения, поскольку средние частоты менее заметны для человеческого глаза и меньше подвержены сжатию. Низкие частоты влияют на яркость, а высокие частоты могут быть потеряны при сжатии.
Метод предполагает кодирование сообщения в биты, изменение определенных элементов матрицы и сохранение измененного изображения. При декодировании происходит обратный процесс: биты извлекаются из матрицы DCT.
Объем памяти зависит от размера изображения и степени сжатия. Например, изображение размером 100×100 может хранить до 1,18 КБ данных, а изображение размером 5000×5000 — до 3 МБ.
Подробнее вы можете прочитать в источнике.