Если криптография – это наука о методах сокрытия информации путем её шифрования, то стеганография изучает методы, связанные с сокрытием самого факта передачи информации1.
Актуальность данной темы обусловлена широким распространением в последние десятилетия мультимедийных технологий. Методы стеганографии позволяют также решать проблемы помехоустойчивой аутентификации, защиты информации от несанкционированного копирования, отслеживания перемещения информации по сетям связи.
Преимущество стеганографии над криптографией состоит в том, что сообщения не привлекают к себе внимания. Сообщения, факт шифрования которых не скрыт, вызывают подозрение. Таким образом, криптография защищает содержание сообщения, а стеганография защищает сам факт наличия каких-либо скрытых посланий2.
Так же популярности стеганографии способствует ограничение использования криптографии в ряде стран мира и появление проблемы защиты прав собственности на информацию, представленную в цифровом виде (цифровой водяной знак).
Один из алгоритмов встраивания скрытой информации - метод LSB. Суть этого метода заключается в замене последних значащих битов в контейнере (изображения, аудио или видеозаписи) на биты скрываемого сообщения. Разница между пустым и заполненным контейнерами должна быть не ощутима для органов восприятия человека.
Метод LSB является неустойчивым ко всем видам атак и может быть использован только при отсутствии шума в канале передачи данных.
На практике стеганографический алгоритм должен быть намного сложнее простой линейной (потоковой) кодировки следующего бита. Здесь приходит на помощь алгоритм случайного секретного распределения (ССР).
Метод LSB был реализован при создании сайта www.dostego.16mb.com.
Для встраивания информации необходимо заменить младший бит каждого пикселя изображения на бит скрываемого сообщения.
Для этого первоначально требуется получить цвет точки (x, y):
$rgbXY = imagecolorat($image->image, $x, $y);
Функция imagecolorat() возвращает индекс цвета данной точки. Для получения и замены младшего бита, например, красного компонента цвета необходимо использовать следующий код:
$rgb['r'] = bindec(substr(decbin(($rgbXY >> 16) & 0xFF), 0, -1) . $bin[$i]);
где $bin[$i] - бит скрываемого сообщения, представленного в двоичном виде.
Далее необходимо получить синий и зеленый компоненты цвета:
$rgb['g'] = ($rgbXY >> 8) & 0xFF;
$rgb['b'] = $rgbXY & 0xFF;
и заменить пиксель в изображении:
$color = imagecolorallocate($image->image, $rgb['r'], $rgb['g'], $rgb['b']);
imagesetpixel($image->image, $x, $y, $color);
imagecolordeallocate($image->image, $color);
Таким образом заменяются и остальные пиксели изображения.
Для извлечения сообщения необходимо получить значение младшего бита каждого компонента цвета точки:
$rgbXY = imagecolorat($this->image->image, $x, $y);
$code .= substr(decbin(($rgbXY >> 16) & 0xFF), -1, 1);
$code .= substr(decbin(($rgbXY >> 8) & 0xFF), -1, 1);
$code .= substr(decbin($rgbXY & 0xFF), -1, 1);
Затем полученное сообщение из двоичного вида преобразуется в символьный вид в соответствии с ASCII-таблицей:
for ($i = 0; $i < $length; $i++) {
if (($i % 8 != 0)) {
$bin .= $code[$i];
} elseif ($i != 0) {
$message .= chr(bindec($bin));
$bin = '';
}
}
$message .= chr(bindec($bin));
Значение $length - длина сообщения. Оно хранится в первых нескольких пикселях изображения.
Так сообщение может быть скрыто в изображении и извлечено из него.
Данный метод можно использовать для организации идентификации пользователя на веб-сайте.
Таким образом, стеганография – это эффективный метод сокрытия данных. Рассмотренного метод LSB отличается простотой реализации, однако неустойчив ко всем видам атак. Существует множество других методов скрытой передачи информации, более устойчивых к атакам.
Список литературы
Грибунин В. Г. Цифровая стеганография/ В. Г. Грибунин, И. Н. Оков, И. В. Туринцев - М.: СОЛОН-Пресс, 2002. - 272 с.
Конахович Г. Ф. Компьютерная стеганография. Теория и практика. – Киев: МК-Пресс, 2006 – 286с.
Wikipedia.org
Habrahabr.ru
Статья публикуется впервые.
18.02.15
Аннотация на английском языке
Tushieva S.Y. Applying steganography method of information protection LSB
This article is a headnote of steganography, and it answers such questions as: the meaning of steganography, how we can use it, and it’s value for information protection.
Keywords: steganography, cryptography, information protection.
Сведения об авторе
Тушиева Сабина Юсуфовна – студентка 3 курса факультета информатики и информационных технологий Дагестанского государственного университета.
1 Грибунин В. Г. Цифровая стеганография/ В. Г. Грибунин, И. Н. Оков, И. В. Туринцев - М.: СОЛОН-Пресс, 2002. - 272 с.
2 Wikipedia.org