Страница 1 из 1
цифровые водяные знаки(watermark)
Добавлено: 27 фев 2007, 21:56
gluk
Срочно нужен текст программы (на С или др языке) цифрового водяного знака заключенного в bmp файл (или другой) ,его обнаружение и извлечение из файла.Желательно watermark невидимую. Спасибо большое за помощь.
Re: цифровые водяные знаки(watermark)
Добавлено: 28 фев 2007, 23:42
Хыиуду
Это в каком, простите, смысле? Что значит "Водяные знаки в файле bmp"? Имеется в виду стеганография, т.е. скрытие тайной информации среди открытой (как дедушка Ленин из тюрьмы письма писал молоком)?
Re: цифровые водяные знаки(watermark)
Добавлено: 01 мар 2007, 00:08
gluk
Не знаю чем или кем писал Ленин письма но вы правы это про стеганографию Если вы знаете какие-нибудь ссылки в которых есть код программ сообщите плиз
Re: цифровые водяные знаки(watermark)
Добавлено: 01 мар 2007, 10:43
Хыиуду
Если в bmp - алгоритм, в общем-то, банальный. Пропускаем все байты заголовка, потом разбиваем шифруемую информацию на группы по 1 или 2 бита, далее считываем байты из bmp-файла и младшие 1 или 2 бита меняем на 1 или 2 бита шифруемой информации. Больше 2 бит в одном байте прятать нет смысла - если взять 4 бита, это уже заметно изменит цвет пикселя.
Если startbyte - изменяемый байт, а x - число, в котором записаны эти два бита, то операция примерно такая:
resultbyte:=startbyte and 252 {11111100} or x; - сначала обнуляем два младших бита, потом переносим их из x.
Re: цифровые водяные знаки(watermark)
Добавлено: 01 мар 2007, 13:26
Absurd
gluk писал(а):Срочно нужен текст программы (на С или др языке) цифрового водяного знака заключенного в bmp файл (или другой) ,его обнаружение и извлечение из файла.Желательно watermark невидимую. Спасибо большое за помощь.
Если это BMP файл типа 8 бит на пиксель, то 256 байт можно спрятать в палитре, поскольку базовых цветов всего 3, а элементы в палитре выровнены по границе в 4 байта и следовательно каждый четвертый байт в палитре не используется. В режиме 8 бит на пиксель лишних байт в палитре 256 штук. Маловероятно, что какой-либо параноик проверяет их.
PS: Водяные знаки, которые наносит фотошоп, остаются на картинке после распечатывания на принтере с повторным сканированием. Там технология, конечно, посложней.
Re: цифровые водяные знаки(watermark)
Добавлено: 01 мар 2007, 13:40
somewhere
Способов скрытия информации неизмеримо много - все зависит от фантазии. Зачастую используют Alpha-канал - если BMP 32-bit. А можно и вовсе записать это все в конец файла BMP не трогая заголовок. В результате программа из заголовка загрузит фактически используемые байты изображения - все, что находится после обычному BMP-loader'у абсолютно до фанаря. Та же ситуация с EXE-шниками, AVI, WAV - короче там где в заголовке есть поле длины потока. Этим фактом охотно пользуются вирусы. Некоторые умудряются пихать свой код в MP3 файл, заменяя 288-байтный сжатый блок на свой код. MP3 декодер такие косяки в данных пропускает. Люди не всегда замечают, что 0.02 сек. звука пропущены, а вот процессу, сидящему в памяти и сканирущему текущие открытые файлы MP3 только этого и надо...
Re: цифровые водяные знаки(watermark)
Добавлено: 11 мар 2007, 17:14
gluk
Спасибо за попощь.Может вы знаеете какме-нибудь книжки о watemark где все подробно обьяснено на примерах (т е показаны тексты программ разных алгоритмов и написано подробно о watermaK) Может есть какие-нибудь кижки на заказ.Сообщите плиз или дайте ссылку