Как реализована стеганография в php

Где-то я узнал о стеганографии.. способ хранения или сокрытия информации в другой информации.. иногда определенные изображения также используются для сокрытия информации.. Могу ли я получить пример или что-то еще, чтобы узнать больше о том, как это реализовано. .. или вообще возможно ли использовать это в php


person Sachindra    schedule 09.12.2009    source источник
comment
Это один очень широкий вопрос, и он плохо классифицирован. Пожалуйста, добавьте соответствующие теги (PHP и т. д.).   -  person Kenaniah    schedule 09.12.2009
comment
Можете ли вы пояснить, почему вы хотите скрыть информацию в своих изображениях. Если вы хотите защитить свои изображения, вам придется использовать методы, которые в некоторой степени устойчивы к преобразованию изображений. Многие наивные методы стега можно легко сломать с помощью базовых преобразований изображения.   -  person Tom Duckering    schedule 09.12.2009
comment
На самом деле вы прямо не заявляете, что хотите скрыть информацию в изображениях. Мы все предполагаем, что это так до сих пор.   -  person Tom Duckering    schedule 09.12.2009
comment
мне немного любопытно узнать, как это делается..   -  person Sachindra    schedule 09.12.2009


Ответы (4)


Вы хотите, чтобы библиотека GD в PHP управляла изображениями JPG: http://php.net/manual/en/book.image.php

Для понимания стеганографии и стегоанализа прочитайте эту статью: http://www.securityfocus.com/infocus/1684

person KJ Saxena    schedule 09.12.2009

Как правило, если вы говорите о стеганографии, то в основном вы вбиваете информацию в закоулки файла изображения. Вы можете использовать практически любую библиотеку изображений, если библиотека изображений не проверяет файл изображения строго по схеме. Вы можете использовать практически любой язык программирования, который вам нравится.

Существует множество техник. Вот некоторые из них, которые легко запрограммировать.

  • Используйте формат изображения, в котором изображение хранится фрагментами. Вы можете перемещать фрагменты, чтобы оставить пробелы в файле. Затем вы можете скрыть строки информации в пробелах.
  • Преобразуйте изображение в индексированное изображение. Объявить палитру больше, чем количество цветов. Теперь вы можете скрыть дополнительную информацию в цветах палитры, не используемых в изображении.
  • Если вы используете формат изображения со слоями, вы можете объявить слой, в котором альфа-канал максимален. Это делает слой полностью прозрачным. Вы можете использовать другой цветовой канал, чтобы скрыть свои данные.

Есть еще множество техник. Не забудьте использовать большие степени сжатия и случайные вводящие в заблуждение данные, чтобы файл изображения выглядел законным.

person Andrew Keith    schedule 09.12.2009
comment
Благодарность :). В моем словаре проверки орфографии браузера нет стеганографии (опера 10 английский). Ответ исправлен - person Andrew Keith; 30.12.2009

Один из распространенных способов стеганографии:

Представьте изображение с разрешением 1024 x 768, 24-битным цветом (т. е. 8 бит красного, 8 бит желтого, 8 бит синего). Теперь наименее значимая часть цвета в изображении не имеет большого значения. Следовательно, в каждом пикселе можно скрыть три бита информации.

Это составляет 1024 * 768 * 3/8, или 294 912 байт информации, которую можно скрыть в большом изображении без значительного ухудшения качества изображения.

person Chip Uni    schedule 09.12.2009
comment
Однако растровые изображения с 24-битным цветом не очень распространены в Интернете. - person Tom Duckering; 09.12.2009
comment
@Том. PNG использует сжатие без потерь, поэтому я бы предположил, что 24-битный PNG, что не редкость, можно использовать таким образом? - person Atli; 09.12.2009
comment
Да, это правда. Спасибо за разъяснения. Это верно для любого сжатого растрового изображения без потерь. - person Tom Duckering; 09.12.2009

Вот класс с phpclasses.org для

Скрыть зашифрованные данные в изображениях с помощью стеганографии

Несколько полезных ссылок на странице стеганографии в Википедии

Наконец, еще одна демонстрация и исходный код здесь

person Ahmet Kakıcı    schedule 30.12.2009