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