
- •Компьютерная стеганография
- •Глава 1. Место стеганографических систем в сфере
- •Глава 2. Особенности построения стеганографических систем 18
- •Глава 3. Принципы стеганографического анализа 33
- •Глава 4. Пропускная способность каналов передачи
- •Глава 5 Стеганографические методы скрытия данных и их реализация в системе МathCad 70
- •Перечень условных сокращений
- •Вступление
- •Глава 1 Место стеганографических систем в сфере информационной безопасности
- •1.1. Атаки на информацию, обрабатываемую в автоматизированных системах
- •1.2. Категории информационной безопасности
- •1.3. Возможные варианты защиты информации в автоматизированных системах
- •Глава 2 Особенности построения стеганографических систем
- •2.1. Предмет, терминология и сферы применения стеганографии
- •2.2. Проблема устойчивости стеганографических систем
- •2.3. Структурная схема и математическая модель типичной стеганосистемы
- •2.4. Протоколы стеганографических систем
- •2.4.1. Бесключевые стеганосистемы
- •2.4.2. Стеганосистемы с секретным ключом
- •2.4.3. Стеганосистемы с открытым ключом .
- •2.4.4. Смешанные стеганосистемы
- •2.5. Выводы
- •Глава 3 Принципы стеганографического анализа
- •3.1. Вступительные положения
- •3.2. Виды атак на стеганографическую систему
- •3.3. Основные этапы практического стеганоанализа
- •3.4. Оценка качества стеганоситемы
- •3.5. Абсолютно надежная стеганосистема
- •3.6. Устойчивость стеганосистем к пассивным атакам
- •3.7. Активные и злонамеренные атаки
- •3.8. Устойчивость стеганографической системы к активным атакам
- •3.9. Сознательно открытый стеганографических канал
- •3.10. Выводы
- •Глава 4 Пропускная способность каналов передачи скрываемых данных
- •4.1. Понятие пропускной способности
- •4.2. Информационное скрытие при активном противодействии нарушителя
- •4.2.1. Формулировка задачи информационного скрытия при активном противодействии нарушителя
- •4.2.2. Скрывающее преобразование
- •4.2.3. Атакующее воздействие
- •4.3. Скрытая пропускная способность при активном противодействии нарушителя
- •4.3.1. Основная теорема информационного скрытия при активном противодействии нарушителя
- •4.3.2. Свойства скрытой пропускной способности стеганоканала
- •4.3.3. Комментарии полученных результатов
- •4.4. Двоичная стеганосистема передачи скрываемых сообщений
- •4.5. Выводы
- •Глава 5 Стеганографические методы скрытия данных и их реализация в системе MathCad
- •5.1. Вступительные положения
- •5.2. Классификация методов скрытия данных
- •5.3. Скрытие данных в неподвижных изображениях
- •5.3.1. Основные свойства 3сч, которые необходимо учитывать при построении стеганоалгоритмов
- •5.3.2. Скрытие данных в пространственной области
- •5.3.2.1. Метод замены наименее значащего бита
- •5.3.2.2. Метод псевдослучайного интервала
- •5.3.2.3. Метод псевдослучайной перестановки
- •5.3.2.4. Метод блочного скрытия
- •5.3.2.5. Методы замены палитры
- •5.3.2.6. Метод квантования изображения
- •5.3.2.7. Метод Куттера-Джордана-Боссена
- •5.3.2.8. Метод Дармстедтера-Делейгла-Квисквотера-Макка
- •Разбиение зон на категории
- •Правила встраивания бит сообщения
- •Извлечение встроенной информации
- •5.3.2.9. Другие методы скрытия данных в пространственной области
- •5.3.3. Скрытие данных в частотной области изображения
- •5.3.3.1. Метод относительной замены величин коэффициентов дкп (метод Коха и Жао)
- •5.3.3.2. Метод Бенгама-Мемона-Эо-Юнг
- •5.3.3.3. Метод Хсу и By
- •5.3.3.4. Метод Фридрих
- •5.3.4. Методы расширения спектра
- •5.3.5. Другие методы скрытия данных в неподвижных изображениях.
- •5.3.6.1. Статистические методы
- •5.3.5.2. Структурные методы
- •5.4. Скрытие данных в аудиосигналах
- •5.4.1. Кодирование наименее значащих бит (временная область)
- •5.4.2. Метод фазового кодирования (частотная область)
- •5.4.3. Метод расширения спектра (временная область)
- •5.4.4. Скрытие данных с использованием эхо-сигнала
- •5.5. Скрытие данных в тексте
- •5.5.1. Методы произвольного интервала
- •5.5.1.1. Метод изменения интервала между предложениями
- •5.5.1.2. Метод изменения количества пробелов в конце текстовых строк
- •5.5.1.3. Метод изменения количества пробелов между словами выровненного по ширине текста
- •5.5.2. Синтаксические и семантические методы
- •5.6. Системные требования
- •5.7. Выводы
- •Заключение
5.3.2.6. Метод квантования изображения
К методам скрытия
в пространственной области можно также
отнести метод квантования
изображения
[3, 82], основанный на межпиксельной
зависимости, которую можно описать
некоторой функцией
.
В простейшем случае можно вычислить
разницу
между
смежными пикселями
;
и
(или
и
)
и задать ее как параметр функции
:
,
где
— дискретная аппроксимация разницы
сигналов
.
Поскольку
—
целое число, а реальная разница
—
действительное число, то возникают
ошибки квантования
.
Для сильно коррелированных сигналов
эта ошибка близка к нулю:
.
При данном методе
скрытие информации производится путем
корректировки разностного сигнала
.
Стеганоключ представляет собой таблицу,
которая каждому возможному значению
ставит в соответствие определенный
бит, например:
|
-4 |
-3 |
-2 |
-1 |
0 |
1 |
2 |
3 |
4 |
bi |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
Для скрытия i-го
бита сообщения вычисляется разница
.
Если при этом bi,
не соответствует секретному биту,
который необходимо скрыть, то значение
заменяется ближайшим
,
для которого такое
условие выполняется. При этом
соответствующим образом корректируются
значения интенсивностей пикселей, между
которыми вычислялась разница
Извлечение секретного сообщения
осуществляется согласно значению
,
соответствующему разнице
.
Рассмотрим пример программы, реализующей метод квантования изображения
Шаг1
Исходные данные — стандартные.
Шаг 2
Стеганоключ вычисляем по модулям (М.28) и (М.29). При этом модуль (М.28) возвращает все возможные разницы сигналов (от -255 до +255), а модуль (М 29) — значения бит, соответствующие этим разницам.
Значения bi
в данном случае рассчитываются на
основании массива красной цветовой
составляющей. При этом для каждой колонки
массива R
рассчитывается сумма по модулю 2
составляющих ее элементов с булевым
прибавлением к результату суммирования
единицы при каждом третьем элементе. В
конце модуля полученной вектор b
расширяется на длину вектора
.
Таким образом, элементы массива b
носят псевдослучайный характер. Фрагменты
сформированного стеганоключа показаны
на рис. 5.15.
|
|
|
|
|
|
|
|
1 |
b= |
|
1 |
|
1 |
-255 |
|
1 |
1 |
|
2 |
-254 |
|
2 |
0 |
|
3 |
-253 |
|
3 |
1 |
|
4 |
-252 |
|
4 |
0 |
|
|
|
|
|
|
|
254 |
-2 |
|
254 |
0 |
|
255 |
-1 |
|
255 |
1 |
|
256 |
0 |
|
256 |
0 |
|
257 |
1 |
|
257 |
1 |
|
258 |
2 |
|
258 |
0 |
|
|
|
|
|
|
|
508 |
252 |
|
508 |
0 |
|
509 |
253 |
|
509 |
0 |
|
510 |
254 |
|
510 |
0 |
|
511 |
255 |
|
511 |
1 |
Рис. 6.15. Фрагменты стеганоключа
Шаг3
Выполним развертывание
массива контейнера С
(массив синей цветовой составляющей) в
вектор, используя модуль (М.16). Зададим
стартовый индекс элемента полученного
вектора, начиная с которого будет
производиться встраивание бит , сообщения
(например,).
Для расчета величины шага (псевдослучайного интервала) используем модуль (М.15). Пусть при этом К := 8.
Шаг 4
Алгоритм встраивания
реализует модуль (М.30). Формирование
вектора двоичных данных из строки
символов аналогично представленному
в (М.21) (при этом, однако,
необходимо
заменить на
).
Для каждого
-го
бита сообщения выполняется вычисление
индекса z
элемента вектора контейнера Cv.
Рассчитывается разница
между соседними пикселями Cvz
и Cvz-1
Внутренним
циклом
производится
поиск соответствующего значения разницы
в векторе
.
В случае обнаружения, переменной
присваивается значение индекса i,
который соответствует данной разнице
в
.
Если значение
не
соответствует текущему биту скрываемого
сообщения, то выполняется поиск ближайшего
индекса, при котором bi
равняется
биту сообщения. Поиск производится вниз
(L)
и вверх (Н)
от индекса
.
Предварительное
присвоение переменным
и
значения ±1000 обеспечивает невозможность
дублирования предыдущих значений
,
если движение вниз или вверх от
не привело к выполнению поставленного
условия (последнее возможно при нахождении
индекса
слишком близко к нижней или верхней
границе вектора b).
После того как значения
и
найдены, выбирается то из них, которое
ближе к начальному значению
.
Интенсивность
пикселя контейнера Svz
равна увеличенной на величину
интенсивности
смежного пикселя Svz-1.
Если данное увеличение приводит к выходу
значения интенсивности цвета за пределы
диапазона [0; 255], то, наоборот, интенсивности
смежного пикселя Svz-1
присваивается
значение интенсивности пикселя Svz,
уменьшенной на величину
).
После встраивания последнего бита
сообщения внешний цикл прерывается.
Проводим обратное свертывание вектора Sv в матрицу, имеющую размерность первичного массива С (М.7). Получаем массив S.
Шаг 5
При извлечении
сообщения предварительно формируется
стеганоключ — векторы
и
b*.
Программные модули при этом .идентичны
(М.28) и (М.29). Массив контейнера S*
развертывается в лектор Sv*
(подобно (М. 16)).
Шаг 6
Модуль извлечения
(М.31) вычисляет разницу интенсивностей
смежных пикселей Sv*z
и Sv*z-1
и выполняет поиск соответствующей
разницы в кодовой таблице
.
Значение бита
,
соответствующее данной разнице,
присваивается текущему элементу вектора
М*.
В конце модуля вектор двоичных данных
преобразуется к символьную строку.
Полученные при вычислении визуального
искажения результаты сведены в табл.
5.1 (стр. 125).