Вы находитесь на странице: 1из 20

Содержание:

Введение…………………………………………………………………………..2

1 Краткий обзор методов стеганографии……………………………………….3


1.1 Основы стеганографии…………………………………………………3
1.2 Методы внедрения текста в изображение…………………………...10
2 Разработка приложения……………………………………………………….12
2.1 Разработка блок-схемы алгоритма…………………………………..12
2.2 Апробация работы алгоритма………………………………………..16
Заключение……………………………………………………………………….20
Список использованных источников…………………………………………...21

2
Введение

Задача защиты информации от несанкционированного доступа решалась во


все времена на протяжении истории человечества. Уже в древнем мире
выделилось два основных направления решения этой задачи, существующие и
по сегодняшний день: криптография и стеганография. Целью криптографии
является скрытие содержимого сообщений за счет их шифрования. Но у этого
направления есть, по меньшей мере, два минуса. Во-первых, в отличие от
теоретических принципов, в конкретные программные реализации могут
закрадываться ошибки, приводящие к расшифровке за меньшее, чем расчётное,
время. Во-вторых, очевидно, что в связи с развитием технологий через
некоторое время перебор, занимающий на современном оборудовании не один
год или даже десятилетие, будет выполняться за разумное время. В отличие от
этого, при стеганографии скрывается сам факт существования тайного
сообщения. Современный прогресс в области глобальных компьютерных сетей
и средств мультимедиа привел к разработке новых методов стеганографии,
предназначенных для обеспечения безопасности передачи данных по каналам
телекоммуникаций и их использования.

Цель данной курсовой работы – обеспечить наиболее эффективную защиту


информации путем сокрытия текста в изображении. Для достижения цели
были поставлены следующие задачи:
1) Исследовать основные понятия и принципы стеганографии;
2) На основе полученных сведений разработать алгоритм зашифровки
текста в изображении;
3) Протестировать разработанный алгоритм в программной среде Matlab;
4) Сравнить результаты для различных размеров изображений.

3
1. КРАТКИЙ ОБЗОР МЕТОДОВ СТЕГАНОГРАФИИ

1.1 Основы стеганографии

Несмотря на то, что стеганография как способ сокрытия секретных данных


известна на протяжении многих лет, компьютерная стеганография - молодое и
развивающееся направление. До недавнего времени для описания модели
стеганографической системы использовалась предложенная 1983 году
Симмонсом так называемая «проблема заключенных», и только в 1996 году на
конференции Information Hiding: First Information Workshop было предложено
использовать единую систему терминов.

Согласно установленной терминологии, стеганографическая система или


стегосистема - совокупность средств и методов, которые используются для
формирования скрытого канала передачи информации. При построении
стегосистемы должны учитываться следующие положения:

· противник имеет полное представление о стеганографической системе и


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

· если противник каким-то образом узнает о факте существования скрытого


сообщения, это не должно позволить ему извлечь подобные сообщения в
других данных до тех пор, пока ключ хранится в тайне;

4
· потенциальный противник должен быть лишен каких-либо технических и
иных преимуществ в распознавании или раскрытии содержания тайных
сообщений.

В качестве исходного сообщения может использоваться текст или


изображение.
Основные определения:
Контейнер - информация, предназначенная для сокрытия тайных
сообщений.
Пустой контейнер - контейнер без встроенного сообщения; заполненный
контейнер или стего - контейнер, содержащий встроенную информацию.
Встроенное (скрытое) сообщение - сообщение, встраиваемое в контейнер.
Стеганографический канал или просто стегоканал - канал передачи стего.
Стегоключ или просто ключ - секретный ключ, необходимый для сокрытия
информации. В зависимости от количества уровней защиты в стегосистеме
может быть один или несколько стегоключей. По типу стегоключа
стегосистемы можно подразделить на два типа: с секретным ключом и с
открытым ключом. В стегосистеме с секретным ключом используется один
ключ, который должен быть определен либо до начала обмена секретными
сообщениями, либо передан по защищенному каналу. В стегосистеме с
открытым ключом для встраивания и извлечения сообщения используются
разные ключи, которые различаются таким образом, что с помощью
вычислений невозможно вывести один ключ из другого. Поэтому один ключ
(открытый) может передаваться свободно по незащищенному каналу связи.
Кроме того, данная схема хорошо работает и при взаимном недоверии
отправителя и получателя.

Классические методы стеганографии можно классифицировать следующим


образом:

5
 Сокрытие в межформатных пространствах файла контейнера – наиболее
простой из перечисленных способов скрытия файла-сообщения. Чаще всего
нужную информацию вписывают в пустые или изначально нечитаемые области
файла-контейнера. Чаще всего сообщение записывается в конец файла или
между его блоками. Так же возможно использование «междустоковых»
областей, файл-сообщение кодируется нуль-символами и располагается их
между маркерами «Конец строки» и «перенос каретки». Данные способы
наиболее просты в реализации, но и наиболее уязвимы. Данный метод
приводит к увеличению объема файла-контейнера, что делает его наиболее
подозрительным.
 Сокрытия-маскировки используют непосредственно служебные области и
специальные блоки файла-контейнера. Основной принцип данного подхода
заключается в том, чтобы «выдать» файл-сообщение за всевозможную
служебную информацию файла-контейнера. Способов создания фальшивых
областей или данных довольно много. Наиболее популярными для большого
числа различных форматов можно считать следующие: сокрытие в полях
спецификаций файла-контейнера, сокрытие в полях, зарезервированных для
расширения, сокрытие с использованием свойств, не отображаемых полей
файла-контейнера.
 Сокрытия с использованием атрибутов и свойств сжимаемых потоков файла-
контейнера. Множество этих методов нельзя назвать универсальным.
Принципы упаковки (сжатия) и хранения цифровых данных в различных
форматах имеют принципиальные организационные и качественные отличия.
Возможности использовать «слабые места» технологии можно найти
практически в каждом формате. (Быков С.Ф. статья)
 Сокрытия с использованием свойств данных изображения файла-
контейнера. Данный метод существенно отличается от вышеперечисленных, в
данном случае работа проводится с самим изображением, а не посредством
возможностей используемой технологии их сжатия и хранения. В целом они

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

В особую группу можно также выделить методы, которые используют


специальные свойства форматов представления файлов:

· зарезервированные для расширения поля компьютерных форматов файлов,


которые обычно заполняются нулями и не учитываются программой;

· использование незадействованных мест на магнитных носителях;

· специальное форматирование данных (смещение слов, предложений, абзацев


или выбор определенных позиций букв);

· удаление идентифицирующих заголовков для файла.

Как правило, для таких методов характерны низкая степень скрытности,


низкая пропускная способность и слабая производительность.

 По предназначению различают стеганографические методы для скрытой


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

В данной работе более подробно будет рассмотрено сокрытие в данных


самого изображения. Иногда сама техника сжатия в файловых форматах
цифрового изображения позволяет говорить о сокрытии информации
непосредственно в данных самого изображения (например, используемый в
форматах jpg и ppm алгоритм «сжатия без потерь», Lossles JPEG). При этом

7
встраивание в изображение-контейнер можно осуществлять при помощи
классических методов компьютерной стеганографии: например, LSB-метода
(Least Significant Bit). Дело в том, что форматы со схемой смешения RGB
кодируют каждую точку рисунка тремя байтами. Каждая такая точка состоит из
аддитивных составляющих: красного, зеленого, синего. Изменение каждого из
трех наименее значимых битов приводит к изменению менее 1% интенсивности
данной точки, что (как правило) не обнаруживается визуально. Получается, что
в этом случае данный метод позволяет скрывать в стандартной графической
картинке объемом 800 Кбайт около 100 Кбайт информации. Тем не менее
автоматически привносится элемент случайности, нарушающий статистику
изображения, что может быть обнаружено во фрагменте однотонной заливки
простой программкой посредством статистического анализа.

1.2 Методы внедрения текста в изображение

Для внедрения текста в изображение существует несколько групп


алгоритмов:
 Работающие с самим цифровым сигналом. Например, метод LSB.
 «Впаивание» скрытой информации. В данном случае происходит
наложение скрываемого изображения (звука, иногда текста) поверх оригинала.
Часто используется для встраивания ЦВЗ.
 Использование особенностей форматов файлов. Сюда можно отнести
запись информации в метаданные или в различные другие не используемые
зарезервированные поля файла.

По способу встраивания информации стегоалгоритмы можно разделить на


линейные (аддитивные), нелинейные и другие. Алгоритмы аддитивного
внедрения информации заключаются в линейной модификации исходного
изображения, а ее извлечение в декодере производится корреляционными
методами. При этом ЦВЗ обычно складывается с изображением-контейнером,

8
либо «вплавляется» в него. В нелинейных методах встраивания информации
используется скалярное либо векторное квантование. Среди других методов
интерес представляют методы, использующие идеи фрактального кодирования
изображений. К аддитивным алгоритмам можно отнести такие, как А17, А18 ,
А21 и другие.

1) Цифровые водяные знаки (ЦВЗ) используются для защиты от копирования,


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

Основные требования, предъявляемые к водяным знакам: надёжность и


устойчивость к искажениям, незаметности, робастности к обработке сигналов
(робастность — способность системы к восстановлению после воздействия на
нее внешних/внутренних искажений, в том числе умышленных). ЦВЗ имеют
небольшой объём, но для выполнения указанных выше требований, при их
встраивании используются более сложные методы, чем для встраивания
обычных заголовков или сообщений. Такие задачи выполняют специальные
стегосистемы.

Перед помещением ЦВЗ в контейнер, водяной знак нужно преобразовать к


подходящему виду. К примеру, если в качестве контейнера используется
изображение, то и ЦВЗ должны быть представлена как двумерный битовый
массив.

Для повышения устойчивости к искажениям часто применяют


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

9
предварительная обработка ЦВЗ — вычисление его обобщенного Фурье-
преобразования. Это повышает помехоустойчивость. Первичную обработку
часто производят с использованием ключа — для повышения секретности.
Потом водяной знак «укладывается» в контейнер (например, путем изменения
младших значащих бит). Здесь используются особенности восприятия
изображений человеком. Широко известно, что изображения имеют огромную
психовизуальную избыточность. Глаза человека подобны низкочастотному
фильтру, который пропускает мелкие элементы изображения. Наименее
заметны искажения в высокочастотной области изображений. Внедрение ЦВЗ
также должно учитывать свойства восприятия человека.

Во многих стегосистемах для записи и считывания ЦВЗ используется ключ.


Он может предназначаться для ограниченного круга пользователей или же быть
секретным. Например, ключ нужен в DVD-плейерах для возможности
прочтения ими содержащихся на дисках ЦВЗ. Как известно, не существует
таких стегосистем, в которых бы при считывании водяного знака требовалась
другая информация, нежели при его записи. В стегодетекторе происходит
обнаружение ЦВЗ в защищённом им файле, который, возможно, мог быть
изменён. Эти изменения могут быть связаны с воздействиями ошибок в канале
связи, либо преднамеренными помехами. В большинстве моделей стегосистем
сигнал-контейнер можно рассмотреть как аддитивный шум. При этом задача
обнаружения и считывания стегосообщения уже не представляет сложности, но
не учитывает двух факторов: неслучайности сигнала контейнера и запросов по
сохранению его качества. Учет этих параметров позволит строить более
качественные стегосистемы. Для обнаружения факта существования водяного
знака и его считывания используются специальные устройства —
стегодетекторы.

10
2) Метод LSB
Суть этого метода заключается в замене последних значащих битов в
контейнере (изображения, аудио или видеозаписи) на биты скрываемого текста.
Разница между пустым и заполненным контейнерами должна быть невидима
человеческому глазу. Методы LSB являются неустойчивыми ко всем видам
атак и могут быть использованы только при отсутствии шума в канале передачи
данных.
Все методы LSB являются аддитивными (A17, L18D).
Другие методы скрытия информации в графических файлах ориентированы
на форматы файлов с потерей, такие, как JPEG. В отличие от LSB они более
устойчивы к геометрическим преобразованиям. Это получается за счёт
варьирования в широком диапазоне качества изображения, что приводит к
невозможности определения источника изображения.

11
2 РАЗРАБОТКА ПРИЛОЖЕНИЯ
2.1 Разработка блок-схемы алгоритма
В качестве исходных данных в алгоритме используется изображение в
формате bmp, размер которого может варьироваться, а также текст, который
необходимо зашифровать. Разрабатываемое приложение состоит из двух
частей: первая часть – собственно зашифровка текста в изображении, вторая –
его декодирование для проверки полученного результата.
Словесное описание алгоритма:
1 часть
1. Начало
2. Загрузить изображение
3. Загрузить текст сообщения в двоичном коде
4. Выбрать матрицу, в которой будет проведена зашифровка текста
5. Рассчитать размер матрицы
6. Если размер изображения превышает размер кодируемого текста, то
перейти к п.7
7. Перевести матрицу из десятичной системы счисления в двоичную
8. В последний бит каждого пикселя рабочей матрицы записать бит
информации из скрываемого сообщения
9. Перевести матрицу с закодированным изображением в десятичную
систему счисления
10. Записать измененное изображение
11. Вывести на экран исходное и полученное в результате зашифровки
изображения сообщение
12. Записать полученное изображение в файл
13. Конец

2 часть
1. Начало

12
2. Загрузить изображение, в котором зашифрован текст
3. Выбрать матрицу, в которой зашифрован текст
4. Создать цикл от первого значения матрицы до последнего бита
закодированного текста
5. Перевести матрицу в двоичный код
6. В новый массив записать все переведенные значения
7. Вывести полученный массив
8. Конец
В качестве кодируемого текста используется слово LISA. После перевода в
двоичный код с помощью таблицы ASCII-кодов слово будет выглядеть
следующим образом: 0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 1. В
двоичном коде текста используется 32 символа.

Блок-схема алгоритма, 1 часть:

начало

Загрузить изображение C:\Users\Лиза\


Desktop\19000-1680x1050.bmp'

загрузить текст сообщения F=[0 1 0 0 1 1 0 0 0 1 0 0 1 0 0


1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 1]

загрузить матрицу
R=X(:,:,1)

Рассчитать размер
матрицы: [a,b]=size(R)

1
13
1

да нет
a>32

for i=1:1:32

A=dec2bin(R(i,1),8)
«ввести изображение
A(8)=dec2bin(F(i),1) большего размера

R(i,1)=bin2dec(A)

X_n=X

X_n(:,:,1)=R

Вывести исходное и преобразованное


изображение

Записать изображение в файл

конец

Описание переменных:
X – загружаемое изображение, представленное в виде матрицы.
F – массив, содержащий биты текста, который будет зашифрован.
R – матрица RED, в которой будет произведена зашифровка текста.
[a, b] – размер матрицы RED.

14
A – матрица R, переведенная в двоичный код и представленная в виде матрицы
с восемью столбцами.
X_n – матрица, полученная в результате кодировки изображения

Блок-схема алгоритма, 2 часть:

начало

Загрузить изображение C:\Users\Лиза\Desktop\rty1.bmp

R=X(:,:,1)

for i=1:1:32

A=dec2bin(R(i,1),8)

F(i)=A(8)

конец

Описание переменных:
X – загружаемое изображение, представленное в виде матрицы.
R – матрица RED.
A – матрица R, переведенная в двоичный код и представленная в виде матрицы
с восемью столбцами.
15
F – массив, представляющий собой двоичный код зашифрованного в
изображении сообщения.

2.2 Апробация работы алгоритма


На основе алгоритма был составлен код в программной среде Matlab 7.0.4.
Ниже приведены листинги программ для первой и второй части приложения.
1 часть:
clear
clc
X=imread('C:\Users\Лиза\Desktop\19000-1680x1050.bmp');
F=[0 1 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 1];
R=X(:,:,1);
[a,b]=size(R);
if a>32
for i=1:1:32
A=dec2bin(R(i,1),8);
A(8)=dec2bin(F(i),1);
R(i,1)=bin2dec(A);
end;
else (‘ввести изображение большего размера’);
end;
X_n=X;
X_n(:,:,1)=R;
figure(1), imshow(X)
figure(2), imshow(X_n)
imwrite(X_n,'C:\Users\Лиза\Desktop\rty1.bmp')

2 часть:
clear

16
clc
X=imread('C:\Users\Лиза\Desktop\rty2.bmp');
R=X(:,:,1);
for i=1:1:32
A=dec2bin(R(i,1),8);
F(i)=A(8);
end;
F

На рисунках 1.1 и 1.2 представлены исходное и полученное после


применения алгоритма изображения в формате bmp размером 2000x1501
пикселя.

Рис.1.1 Исходное изображение Рис.1.2 Преобразованное изображение

Рис.1 Работа с изображением размера 2000x1501

После применения второй части приложения был получен массив F,


содержащий двоичный код зашифрованного сообщения. Рисунок 2 содержит
скриншот выполненной второй части приложения.

17
Рис.2 Скриншот выполненной второй части приложения

Также работоспособность приложения была проверена с использованием


изображений меньшего размера. На рисунках 3.1 и 3.2 представлены исходное
и преобразованное изображения размера 33x33 пикселя.

Рис.3.1 Исходное изображение Рис.3.2 Преобразованное изображение

Рис.3 Работа с изображением размера 33x33

Можно заметить, что искажение изображения-контейнера при


преобразовании остается неразличимым человеческому глазу.
Однако если вместо последнего разряда в коде изображения использовать
старший разряд, изображение небольшого размера исказится в достаточной
степени, чтобы стать очевидным. На рисунке 4 представлено преобразованное с
помощью изменения старшего разряда изображение размером 33x33 пикселя.
Цвета на левом краю изображения значительно изменились.

18
Рис.4 Работа с изображением 33x33 с изменением старшего разряда

19
Заключение
Стеганография, несмотря на свою более чем тысячелетнюю историю,
активно развивающаяся область науки. В настоящее время, когда
компьютеризация приобрела глобальные масштабы, проблема сокрытия
информации от несанкционированного доступа, в частности с помощью
компьютерной стеганографии, становится все более актуальной.
В ходе работы была разработана программа для зашифровки текста в
изображении методом LSB. Поставленная цель была достигнута. Программа
была протестирована с использованием различных размеров изображений, а
также с помощью замены старшего разряда матрицы контейнера. Были
получены следующие результаты:
1. Преобразованное с помощью разработанного приложения
изображение внешне неотличимо от исходного при использовании
изображений как большого, так и достаточно малого размера;
2. При замене старшего разряда вместо последнего изображение-
контейнер искажается достаточно сильно, чтобы стать заметным
человеческому глазу.

20
Список использованных источников:

1) Быков С. Ф. Алгоритм сжатия JPEG с позиции компьютерной


стеганографии // Защита информации. Конфидент. — СПб.: 2000, № 3.

2) Конахович Г. Ф., Пузыренко А. Ю. Компьютерная стеганография. Теория и


практика. — К.: МК-Пресс, 2006. — 288 с, ил. описание

3) Грибунин В. Г., Оков И. Н., Туринцев И. В. Цифровая стеганография. — М.:


Солон-Пресс, 2002. — 272 с, ил.

4) http://www.bestreferat.ru/referat-197156.html. Учебное пособие:


Интеллектуальные компьютерные технологии защиты информации

5) http://ru.wikipedia.org/wiki/%D1%F2%E5%E3%E0%ED%EE%E3%

F0%E0%F4%E8%FF

6) http://revolution.allbest.ru/programming/00218239_0.html

21

Вам также может понравиться