![]() ![]() Тайнопись
Разумеется, в этот тайный архив мы можем поместить что угодно, вплоть до копии самих обоев — даже примитивным Zip’ом они сжимаются достаточно, чтобы спрятаться самим в себя. Этот, в общем, бессмысленный трюк хорошо демонстрирует силу новой программы. Если же мы возьмем более мощный компрессор, например WinRar 3, то сможем спрятать и другие фотографии, по размеру больше, чем видимая картинка! У вас на экране висит изображение, внутри которой есть другое изображение — тайное. Можно ли в то, тайное, вставить еще одно, так сказать, «более тайное»? Стеганография действительно позволяет создавать многослойные файлы-матрешки, но раньше они должны были многократно отличаться размером. Сейчас же мы можем взять какой-нибудь пейзаж, сжать его посильнее и с помощью BMP Secrets вставить в собственную копию. Эту копию опять сжать посильнее (без потерь!) и опять вставить в свою копию — получится тройная «матрешка». Если бы мы могли повторять эти операции бесконечно7, то у нас получился бы информационный аналог вечного двигателя — файл с бесконечной емкостью каждого из своих битов. Но реальность грубее, и я, применяя самый мощный известный мне «безпотерьный» компрессор графики8, смог сделать «матрешку» лишь из четырех копий одной картинки, вложенных друг в друга. Внешний файл-контейнер моей четвертой матрешки уже практически не поддавался сжатию без потерь — так туго он был набит данными9. Тайнопись японская В справке BMP Secrets нет даже намека на суть ее алгоритмов, как и в файле readme.txt. В разделе «О программе» с достоинством сказано: «Идея Виктора Чеха. Разработка и программирование Александра Грушецкого». Я решил изучить сетевые стегано-ресурсы повнимательнее. На Stegoarchive.com меня ждала аннотация (перевожу дословно): «Программа Digital Picture Envelop использует в своей работе принципы BPCS-стеганографии, изобретенные Eiji Kawaguchi в 1997 г. Эта программа, работая с bmp-файлами, может скрывать в них огромные объемы информации, составляющие до 50–100% от размера файла-контейнера, не увеличивая его размера и не внося заметных искажений». Далее шли подробности и давалась ссылка10. Ссылка привела меня на сайт японского
университета, к счастью, англоязычный. Кроме самой программы,
на сайте были подробные описания ее алгоритмов, и уже через
полчаса я был уверен, что новое слово в стеганографии довелось
сказать не двум украинским программистам, а одному японскому
профессору — Эйджи Кавагучи из Kyushu Institute of
Technology. Наше восприятие устроено так, что все хаотичное мы незаметно для себя игнорируем. Даже оказавшись в густом лесу и разглядывая беспорядочное переплетение веток, мы стараемся в первую очередь увидеть в них знакомые образы и закономерности — например, силуэт хищника. Фильтрация шумов, выделение образов из хаоса — важная, если не важнейшая, особенность нашего восприятия. И, как доказал Кавагучи, из-за этой особенности в графических файлах можно заменять целые куски изображения. Мы не заметим подмены, если вставляемые фрагменты будут (как и оригинальные) состоять из хаотично перемешанных пикселей.
Эта эволюция хорошо видна на примере разложения любой фотографии (рис. 2–6). Если первый битовый слой картинки является почти точной ее копией, то в шестом мы уже ничего не можем разобрать. Наиболее любопытны промежуточные слои — 3, 4 и 5-й, в которых информативные сегменты причудливо сочетаются с шумовыми. Очевидно, научиться обнаруживать в картинке местоположение шумов такого рода было, как минимум, интересной научной задачей. В процессе ее решения Кавагучи создал эффективный алгоритм, способный быстро сегментировать любую картинку. Полагаю, читатели уже догадались, какие возможности дает этот алгоритм для стеганографии. Если прежде мы могли добавлять информацию только в последний битовый слой, то сейчас можем использовать все шумовые сегменты, то есть более половины изображения. Новизну метода хорошо понимал и его создатель, опубликовавший в том же году статью «Principle and applications of BPCS-Steganography»12. BPCS означает Bit-Plane Complexity Segmentation, что можно перевести как «разделение битовых слоев на сегменты по уровню сложности». Это официальное название нового метода, который активно развивается японским профессором: так, на нескольких научных симпозиумах Кавагучи уже демонстрировал применение своих алгоритмов в файлах типа GIF и JP2. Программа, демонстрирующая BPCS-алгоритмы, выложена в Сеть, но в какой-то момент ее автор пожадничал и заблокировал функцию вставки сообщений. Сейчас публика может лишь извлекать «закладки» из набора фотографий, выставленных профессором на своем сайте. Это позволяет убедиться в эффективности технологии, но использовать ее в своих целях увы, невозможно. Кстати, способность BPCS-алгоритмов скрывать информацию того же объема, что и файл-контейнер, — сильное преувеличение. Перед вставкой данных программа делает их шумоподобными (проводит рандомизацию), а проще говоря — сжимает данные простейшим архиватором. В результате некоторые файлы (например, тексты) уменьшаются в несколько раз, из-за чего и возникает иллюзия, что в картинку влезает больше килобайт, чем сама картинка занимает на диске. С готовыми архивами такой трюк, естественно, не проходит, и в действительности «закладка» может составлять около 60% от размера контейнера. 7(назад) С
разными картинками это возможно: взять тысячу файлов,
рассортировать по увеличению размера и вставлять (сжимая)
маленькие в большие.
МАТЕРИАЛЫ ПО ТЕМЕ
![]() |