вторник, 31 июля 2012 г.

Игры с цветами: Метод замены цветовой палитры

Метод основан на использовании специфических особенностей формата файла-контейнера и предназначен для скрытия текстовой информации в графических файлах, использующих цветовые палитры. Такими файлами являются, например, файлы BMP, PCX и GIF.
Палитра представляет собой некоторое число триад байт (не более 256), которые описывают цвет точки по тому же принципу, что и в файлах True Color. За палитрой следует массив байт, каждый из которых описывает одну точку изображения и содержит в себе номер цвета в палитре.
При использовании этого метода в качестве контейнера следует выбирать файлы, содержащие некоторый цвет в избытке. Например, это могут быть схемы, рисунки, текст чёрного цвета на белом фоне. Такое сочетание цветов является оптимальным для реализации данного метода, однако можно использовать и другие цвета.

Принцип работы

В качестве примера возьмём изображение, содержащее чёрный рисунок на белом фоне. Фон занимает большую часть изображения, т. е. имеется избыток белого цвета.
Вначале создаётся алфавит, содержащий символы, которые используются в файле сообщения, например все 33 буквы русского алфавита от А до Я, цифры от 0 до 9, специальные знаки и знаки пунктуации – всего 51 символ:

Код    0  1  2  3  4  …  49  50
Символ А  Б  В  Г  Д  …   %   ;

Далее проводится замена цветов палитры. Для этого первому 51 цвету палитры назначается черный цвет (цвет рисунка). Следующему 51 цвету палитры назначается белый цвет (цвет фона). Если рисунок содержит 3…5 цветов, то можно переназначить следующие группы по 51 цвету в соответствующие цвета. Тогда в нашем случае изменённая палитра цветов будет иметь в шестнадцатеричном представлении следующий вид:

Черный цвет
Код      0          1          2     …     49         50
Цвет 00 00 00   00 00 00   00 00 00  …  00 00 00   00 00 00


Белый цвет
Код     51         52         53     …     100        101
Цвет FF FF FF   FF FF FF   FF FF FF  …  FF FF FF   FF FF  FF

Черный цвет в данном случае имеет нулевой уровень, что для одного байта соответствует 0 в десятичной системе счисления, 0000 0000 в двоичной и 00 в шестнадцатеричной, а белый цвет имеет уровень 255, что соответствует 255 в десятичной, 1111 1111 в двоичной и FF в шестнадцатеричной системе счисления.
Для скрытия информации берётся первая точка изображения, анализируется её принадлежность к определённой цветовой группе, например к группе чёрного цвета, затем этой точке присваивается код текущего символа из файла-сообщения с учётом выбранной цветовой группы. Например, для символа Б чёрной точке будет назначен цвет с кодом 1, а белой точке – цвет с кодом 52.

Достоинства и недостатки метода

Метод является самым ёмким для скрытия информации в графических файлах и позволяет оставлять изображение без изменений. Его можно использовать для любого алфавита с числом
символов не более 128.
Однако информация, скрытая этим методом, легко выявляется статистическим анализом, например просмотром гистограммы графического файла в редакторе Photoshop.

Программы для реализации метода

Данная методика почему-то не пользуется популярностью в интернетах, тем не менее такие программы есть.

Комментариев нет:

Отправить комментарий