Дипломx

реклама
ВРБ–40461806–10.27–08–10.81
Аннотация
Данный документ представляет собой пояснительную записку к
выпускной работе бакалавра. Данная дипломная работа посвящена анализу
стеганографических методов скрытия данных в растровых изображениях и
разработке собственного стеганографического метода.
В
первой
главе
данного
документа
производится
анализ
стеганографических методов скрытия данных в растровых изображениях и
анализ стеганографического программного обеспечения.
Во второй главе описываются особенности разработанного метода
скрытия информации в изображениях формата BMP и JPEG на основе метода
Коха-Жао, использующего дискретное косинусное преобразование.
В третьей главе представлена функциональная структура разработанной
программы и произведена оценка визуальных искажений изображений при
занесении в них данных с помощью разработанного метода.
В четвертой главе произведен экономический анализ возможностей
коммерциализации разработанного программного продукта.
3
ВРБ–40461806–10.27–08–10.81
Annotation
This document is an explanatory note to the final work of bachelor. This
thesis analyzes the steganographic techniques to hide data in bitmap images and to
develop own steganographic method.
The first chapter of this document has an analysis of steganographic techniques
to hide data in bitmap images and an analysis of steganographic software.
The second chapter describes the features of the developed method to hide
information in BMP and JPEG images based on Koch-Zhao method, uses a discrete
cosine transform.
The third chapter presents the functional structure of the developed program
and evaluated the visual distortion of images when entering data into them using the
developed method.
The fourth chapter produced an economic analysis of the possibilities of
commercialization of the developed software product.
4
ВРБ–40461806–10.27–08–10.81
Содержание
Введение ....................................................................................................................... 7
1 Анализ предметной области ................................................................................. 11
1.1 Основные понятия и определения стеганографии .......................................... 11
1.2 Свойства системы человеческого зрения (СЧЗ), используемые для
построения стегоалгоритмов.................................................................................... 14
1.3 Обзор методов встраивания информации в растровые изображения ........... 18
1.3.1 Методы замены................................................................................................. 19
1.3.2 Методы скрытия в частотной области изображения .................................... 23
1.3.3 Широкополосные методы ............................................................................... 26
1.3.4 Статистические методы ................................................................................... 27
1.3.5 Методы искажения ........................................................................................... 28
1.3.6 Структурные методы ....................................................................................... 29
1.4 Анализ программного обеспечения для встраивания данных в растровые
изображения ............................................................................................................... 34
1.4.1 Программа Steganos Privacy Suite 11 .............................................................. 34
1.4.2 Программа S-Tools 4 ........................................................................................ 34
1.4.3 Программа ImageSpyer 2009 ........................................................................... 34
1.4.4 Программа JSTEG ............................................................................................ 35
1.4.5 Программа Gifshuffle ....................................................................................... 35
2 Разработка алгоритма скрытия данных в изображениях ................................... 37
2.1 Алгоритм сжатия JPEG ....................................................................................... 37
2.2 Описание алгоритма встраивания информации в изображения .................... 42
2.3 Обоснование выбора инструментальной среды .............................................. 44
5
ВРБ–40461806–10.27–08–10.81
3 Разработка модулей встраивания и извлечения данных .................................... 47
3.1 Структура приложения ....................................................................................... 47
3.2 Описание интерфейса программы ..................................................................... 51
3.3 Испытание и оценка качества системы............................................................. 53
4 Экономический раздел .......................................................................................... 56
4.1 Обоснование стратегии коммерциализации..................................................... 56
4.2 Анализ альтернативных продуктов ................................................................... 56
4.3 Перспективы развития ........................................................................................ 57
4.4 Организация и планирование процесса исследования и разработки ............ 57
4.5 Расчет затрат на создание системы ................................................................... 60
4.6 Расчет окупаемости ............................................................................................. 62
Заключение ................................................................................................................ 63
Список использованных источников ...................................................................... 64
Приложение А Техническое задание ...................................................................... 66
6
ВРБ–40461806–10.27–08–10.81
Введение
В настоящее время информация представляет огромную ценность. С
появлением
глобальных
компьютерных
сетей
доступ
к
информации
значительно упростился, что привело к повышению угрозы нарушения
безопасности данных при отсутствии мер их защиты, а именно угрозу
несанкционированного доступа к информации.
Задача защиты информации от несанкционированного доступа является
одной из старейших задач, решаемых человечеством. В связи с широким
распространением мультимедийных технологий вопрос защиты информации,
представленной в цифровом виде, является чрезвычайно актуальным.
Разработки методов и мер по защите информации ведутся с древнейших
времен. Среди них выделяется два основных направления – криптография и
стеганография.
Целью криптографии является скрытие содержимого сообщений за счет
их шифрования. Целью стеганографии является скрытие самого факта
существования секретных данных при их передаче, хранении или обработке.
Слово «стеганография» имеет греческие корни и буквально означает
«тайнопись». Исторически это направление появилось первым, но затем во
многом было вытеснено криптографией. Тайнопись осуществляется самыми
различными способами. Общей чертой этих способов является то, что
скрываемое
сообщение
встраивается
в
некоторый
безобидный,
не
привлекающий внимание объект. Затем этот объект открыто транспортируется
адресату. При криптографии наличие шифрованного сообщения само по себе
привлекает внимание злоумышленников, при стеганографии же наличие
скрытой связи остается незаметным.
Интерес к стеганографии возродился в последние 15 лет, что
объясняется широким распространением мультимедийных технологий и
появлением новых типов каналов связи. Два этих фактора в совокупности
7
ВРБ–40461806–10.27–08–10.81
способствовали
возникновению
новых
стеганографических
методов,
основанных на особенностях представления информации в компьютерных
файлах и вычислительных сетях. Данное направление в сфере защиты
информации было названо компьютерной стеганографией.
Основной областью применения компьютерной стеганографии является
скрытие сообщений в цифровых данных, как правило, имеющих аналоговую
природу (изображения, аудио- и видеозаписи). Также в качестве контейнеров
используют текстовые и исполняемые файлы.
Кроме скрытой передачи сообщений, стеганография является одним из
самых перспективных направлений для аутентификации и маркировки
авторской продукции с целью защиты авторских прав на цифровые объекты от
пиратского копирования. На компьютерные графические изображения, аудио
продукцию, литературные произведения (программы в том числе) наносится
специальная метка, которая остается невидимой для глаз, но распознается
специальным
программным
обеспечением.
Метка
содержит
скрытую
информацию, подтверждающую авторство. Скрытая информация призвана
обеспечить защиту интеллектуальной собственности. В качестве внедряемой
информации можно использовать данные об авторе, дату и место создания
произведения,
номера
документов,
подтверждающих
авторство.
Такие
специальные сведения могут рассматриваться в качестве доказательств при
рассмотрении споров об авторстве или для доказательства нелегального
копирования.
Большинство исследований посвящено использованию в качестве
стегоконтейнеров изображений [1]. Это обусловлено следующими причинами:
–
существованием практически значимой задачи защиты фотографий,
картин, видео от незаконного тиражирования и распространения;
–
относительно
большим
объемом
цифрового
представления
изображений, что позволяет внедрять ЦВЗ большого объема либо повышать
робастность внедрения;
8
ВРБ–40461806–10.27–08–10.81
–
заранее известным размером контейнера, отсутствием ограничений,
накладываемых требованиями реального времени;
–
областей,
наличием в большинстве реальных изображений текстурных
имеющих
шумовую
структуру
и
хорошо
подходящих
для
встраивания информации;
–
слабой чувствительностью человеческого глаза к незначительным
изменениям цветов изображения, его яркости, контрастности, содержанию в
нем шума, искажениям вблизи контуров;
–
хорошо разработанными в последнее время методами цифровой
обработки изображений.
Также стеганографические методы скрытия данных в растровых
изображениях
в ряде случаев
могут
служить базой
для
разработки
стеганографических методов скрытия данных в видеофайлах.
В основе многих подходов к решению задач стеганографии лежит общая
с криптографией методическая база, заложенная Шенноном (C. E. Shannon) в
теории тайнописи. Однако до сих пор теоретические основы стеганографии
остаются практически неразработанными.
Задачу стеганографического скрытия данных и разработку эффективных
стеганографических алгоритмов в своих работах рассматривали Симмонс (G. J.
Simmons), Фридрих (J. Fridrich), Андерсон (R. J. Anderson), Бендер (W. Bender),
Моримото (N. Morimoto), Качин (C. Cachin) и другие [2].
Таким образом на сегодняшний день наиболее актуальна научнотехническая
проблема
стеганографического
усовершенствования
скрытия
алгоритмов
конфиденциальных
данных
и
методов
или
защиты
авторских прав в растровых изображениях.
В связи с этим целью данной работы являлось минимизация визуальных
искажений растрового изображения при занесении в него идентифицирующей
информации.
Для достижения поставленной цели решались следующие задачи:
9
ВРБ–40461806–10.27–08–10.81
1)
анализ предметной области;
2)
обзор методов встраивания данных в растровые изображения;
3)
обзор программного обеспечения для встраивания данных в
растровые изображения;
4)
разработка метода занесения идентифицирующей информации в
растровые изображения;
5)
реализация программного модуля занесения идентифицирующей
информации в растровые изображения;
6)
реализация программного модуля извлечения идентифицирующей
информации из растровых изображений;
7)
оценка визуальных искажений, вносимых разработанным методом
встраивания данных в растровые изображения.
10
ВРБ–40461806–10.27–08–10.81
1 Анализ предметной области
1.1 Основные понятия и определения стеганографии
Несмотря на то, что стеганография как способ сокрытия секретных
данных
известна
уже
на
протяжении
тысячелетий,
компьютерная
стеганография - молодое и развивающееся направление.
Как и любое новое направление, компьютерная стеганография, несмотря
на большое количество открытых публикаций и ежегодные конференции,
долгое время не имела единой терминологии.
До недавнего времени для описания модели стеганографической
системы использовалась предложенная 1983 году Симмонсом так называемая
"проблема заключенных". Она состоит в том, что два индивидуума (Алиса и
Боб) хотят обмениваться секретными сообщениями без вмешательства
охранника (Вилли), контролирующего коммуникационный канал. При этом
имеется ряд допущений, которые делают эту проблему более или менее
решаемой. Первое допущение облегчает решение проблемы и состоит в том,
что участники информационного обмена могут разделять секретное сообщение
(например,
используя
кодовую
клавишу)
перед
заключением.
Другое
допущение, наоборот, затрудняет решение проблемы, так как охранник имеет
право не только читать сообщения, но и модифицировать (изменять) их.
Позднее, на конференции Information Hiding: First Information Workshop
в 1996 году было предложено использовать единую терминологию и
обговорены основные термины.
Стеганографическая система или стегосистема - совокупность средств и
методов, которые используются для формирования скрытого канала передачи
информации.
При
построении
стегосистемы
положения:
11
должны
учитываться
следующие
ВРБ–40461806–10.27–08–10.81
– противник имеет полное представление о стеганографической системе
и деталях ее реализации. Единственной информацией, которая остается
неизвестной потенциальному противнику, является ключ, с помощью которого
только его держатель может установить факт присутствия и содержание
скрытого сообщения;
– если противник каким-то образом узнает о факте существования
скрытого сообщения, это не должно позволить ему извлечь подобные
сообщения в других данных до тех пор, пока ключ хранится в тайне;
– потенциальный
противник
должен
быть
лишен
каких-либо
технических и иных преимуществ в распознавании или раскрытии содержания
тайных сообщений.
Обобщенная модель стегосистемы представлена на рисунке 1.
Рисунок 1 - Обобщенная модель стегосистемы
В качестве данных может использоваться любая информация: текст,
сообщение, изображение и т. п.
В общем же случае целесообразно использовать слово "сообщение", так
как сообщением может быть как текст или изображение, так и, например,
аудиоданные. Далее для обозначения скрываемой информации, будем
использовать именно термин сообщение.
Контейнер - любая информация, предназначенная для сокрытия тайных
сообщений.
12
ВРБ–40461806–10.27–08–10.81
Пустой контейнер - контейнер без встроенного сообщения; заполненный
контейнер или стегоконтейнер, содержащий встроенную информацию.
Встроенное (скрытое) сообщение
-
сообщение, встраиваемое в
контейнер.
Стеганографический канал или просто стегоканал - канал передачи
стего.
Стегоключ или просто ключ - секретный ключ, необходимый для
сокрытия информации. В зависимости от количества уровней защиты
(например, встраивание предварительно зашифрованного сообщения) в
стегосистеме может быть один или несколько стегоключей.
По аналогии с криптографией, по типу стегоключа стегосистемы можно
подразделить на два типа:
– с секретным ключом;
– с открытым ключом.
В стегосистеме с секретным ключом используется один ключ, который
должен быть определен либо до начала обмена секретными сообщениями, либо
передан по защищенному каналу.
В стегосистеме с открытым ключом для встраивания и извлечения
сообщения используются разные ключи, которые различаются таким образом,
что с помощью вычислений невозможно вывести один ключ из другого.
Поэтому
один
ключ
(открытый)
может
передаваться
свободно
по
незащищенному каналу связи. Кроме того, данная схема хорошо работает и при
взаимном недоверии отправителя и получателя.
Также существуют бесключевые стегосистемы – стегосистемы, для
функционирования которых кроме алгоритма стегопреобразований отсутствует
необходимость в дополнительных данных [4].
Следует
отметить,
что
в
большинстве
предпочтительными являются бесключевые стегосистемы.
13
приложений
более
ВРБ–40461806–10.27–08–10.81
1.2 Свойства системы человеческого зрения (СЧЗ), используемые для
построения стегоалгоритмов
Свойства СЧЗ можно разделить на две группы: низкоуровневые
(«физиологические») и высокоуровневые («психофизиологические»). Вплоть
до середины 90-х годов исследователи принимали во внимание, главным
образом, низкоуровневые свойства зрения. В последние годы наметилась
тенденция
построения
стегоалгоритмов
с
учетом
и
высокоуровневых
характеристик СЧЗ.
Выделим три наиболее важных низкоуровневых свойства, влияющих на
заметность постороннего шума в изображении: чувствительность к изменению
яркости изображения, частотная чувствительность и эффект маскирования.
Чувствительность к изменению яркости можно определить следующим
образом [8]. Испытуемому показывают некоторую однотонную картинку
(рисунок 2). После того, как глаз адаптировался к ее освещенности I,
«настроился на нее», постепенно изменяют яркость вокруг центрального пятна.
Изменение освещенности ΔI продолжают до тех пор, пока оно не будет
обнаружено. На рисунке 3 показана зависимость минимального контраста от
яркости I / ΔI. Как видно из рисунка, для среднего диапазона изменения
яркости, контраст примерно постоянен, тогда как для малых и больших
яркостей значение порога неразличимости возрастает. Было установлено, что
ΔI ≈ 0.01 − 0.03I для средних значений яркости.
14
ВРБ–40461806–10.27–08–10.81
Рисунок 2 – Чувствительность к контрасту и порог неразличимости ΔI
Рисунок 3 – Чувствительность к контрасту и порог неразличимости ΔI
Интересно
заметить,
что
результаты
новейших
исследований
противоречат «классической» точке зрения и показывают, что при малых
значениях яркости СЧЗ порог неразличимости уменьшается, то есть СЧЗ более
чувствительна к шуму в этом диапазоне.
Частотная чувствительность СЧЗ проявляется в том, что человек гораздо
более восприимчив к низкочастотному (НЧ), чем к высокочастотному (ВЧ)
шуму. Это связано с неравномерностью амплитудно-частотной характеристики
15
ВРБ–40461806–10.27–08–10.81
системы зрения человека. Экспериментально ее можно определить при помощи
того же опыта, что и при яркостной чувствительности. Но на этот раз в
центральном квадрате изменяются пространственные частоты до тех пор, пока
изменения не станут заметными.
Элементы СЧЗ разделяют поступающий видеосигнал на отдельные
компоненты. Каждая составляющая возбуждает нервные окончания глаза через
ряд
подканалов.
Выделяемые
глазом
компоненты
имеют
различные
пространственные и частотные характеристики, а также различную ориентацию
(горизонтальную, вертикальную, диагональную) [11]. В случае одновременного
воздействия на глаз двух компонентов со сходными характеристиками
возбуждаются одни и те же подканалы. Это приводит к эффекту маскирования,
заключающегося
в
увеличении
порога
обнаружения
видеосигнала
в
присутствии другого сигнала, обладающего аналогичными характеристиками.
Поэтому, аддитивный шум гораздо заметнее на гладких участках изображения,
чем
на высокочастотных, то
есть в последнем случае
наблюдается
маскирование. Наиболее сильно эффект маскирования проявляется, когда оба
сигнала имеют одинаковую ориентацию и местоположение.
Можно показать, что частотная чувствительность тесно связана с
яркостной. Известно также и выражение для определения порога маскирования
на основе известной яркостной чувствительности, что позволяет найти метрику
искажения
изображения,
математические
модели
учитывающую
хорошо
свойства
разработаны
для
СЧЗ.
случая
Такого
типа
квантования
коэффициентов дискретного косинусного преобразования изображения, так как
именно оно применяется в стандарте JPEG.
Эффект маскирования в пространственной области может быть
объяснен путем построения стохастических моделей изображения. При этом
изображение
представляется
в
виде
марковского
случайного
поля,
распределение вероятностей которого подчиняется, например, обобщенному
гауссовскому закону.
16
ВРБ–40461806–10.27–08–10.81
Таким образом, можно предложить следующую обобщенную схему
внедрения данных в изображение:
1)
Выполнить
фильтрацию
изображения
при
помощи
ориентированных полосовых фильтров. При этом получим распределение
энергии по частотно-пространственным компонентам.
2)
Вычислить порог маскирования на основе знания локальной
величины энергии.
3)
Масштабировать значение энергии внедряемого ЦВЗ в каждом
компоненте так, чтобы оно было меньше порога маскирования.
Многие алгоритмы встраивания информации так или иначе используют
эту схему.
Высокоуровневые
свойства
СЧЗ
пока
редко
учитываются
при
построении стегоалгоритмов. Их отличием от низкоуровневых является то, что
эти свойства проявляются «вторично», обработавший первичную информацию
от СЧЗ мозг выдает команды на ее «подстройку» под изображение. Перечислим
основные из этих свойств.
1)
Чувствительность
к
контрасту.
Высококонтрастные
участки
изображения, перепады яркости обращают на себя значительное внимание.
2)
Чувствительность к размеру. Большие участки изображения
«заметнее» меньших размером. Причем существует порог насыщения, когда
дальнейшее увеличение размера не существенно.
3)
Чувствительность к форме. Длинные и тонкие объекты вызывают
большее внимание, чем круглые однородные.
4)
Чувствительность к цвету. Некоторые цвета (например, красный)
«заметнее» других. Этот эффект усиливается, если фон заднего плана
отличается от цвета фигур на нем.
5)
Чувствительность к местоположению. Человек склонен в первую
очередь рассматривать центр изображения.
17
ВРБ–40461806–10.27–08–10.81
6)
Люди обычно внимательнее к изображениям переднего плана, чем
заднего.
7)
Если на изображении есть люди, в первую очередь человек обратит
свое внимание на них. На фотографии человек обращает первоочередное
внимание на лицо, глаза, рот, руки.
8)
Чувствительность к внешним раздражителям. Движение глаз
наблюдателя зависит от конкретной обстановки, от полученных им перед
просмотром или во время него инструкций, дополнительной информации.
1.3 Обзор методов встраивания информации в растровые изображения
Развитие мультимедийных средств сопровождается большим потоком
графической
изображения,
информации
как
в
правило,
вычислительных
используются
сетях.
При
значительное
генерации
количество
элементарных графических примитивов, что представляет особый интерес для
стеганографических
методов
защиты.
Визуальная
среда
(цифровые
изображения и видео) обладают большой избыточностью различной природы:
–
кодовой
избыточностью,
возникающей
при
неоптимальном
описании изображения;
–
сильной
межпиксельной избыточностью, которая обусловлена наличием
корреляционной
зависимостью
между
пикселями
реального
изображения;
–
психовизуальной зависимостью, возникающей из-за того, что орган
зрения человека не адаптирован для точного восприятия изображения пиксель
за пикселем и воспринимает каждый участок с различной чувствительностью.
В последнее время создано достаточное количество методов сокрытия
информации в цифровых изображениях, однако анализ литературы показал, что
основными и наиболее востребованными на практике являются следующие [5]:
– методы замены в пространственной области;
18
ВРБ–40461806–10.27–08–10.81
– методы скрытия в частотной области изображения;
– широкополосные методы;
– статистические методы;
– методы искажения;
– структурные методы.
Рассмотрим некоторые особенности, которые характерны для каждой из
выделенных групп стеганометодов.
1.3.1 Методы замены
Общий принцип данных методов заключается в замене избыточной,
малозначимой части изображения битами секретного сообщения. Для
извлечения сообщения необходимо знать алгоритм, по которому размещалась в
контейнере скрываемая информация [12].
Наиболее распространенным методом этого класса является метод
замены наименьшего значащего бита (НЗБ). Суть метода НЗБ заключается в
замене наименее значащих битов пикселей изображения битами секретного
сообщения. В простейшем случае проводится замена НЗБ всех последовательно
расположенных пикселей изображения. Однако, так как длина секретного
сообщения обычно меньше количества пикселей изображения, то после его
внедрения в контейнере будут присутствовать две области с различными
статистическими свойствами (область, в которой незначащие биты были
изменены, и область, в которой они не менялись). Это может быть легко
обнаружено с помощью статистических тестов. Для создания эквивалентного
изменения вероятности всего контейнера секретное сообщение обычно
дополняют случайными битами так, чтобы его длина в битах была равна
количеству пикселей в исходном изображении.
19
ВРБ–40461806–10.27–08–10.81
Другой подход, метод случайного интервала, заключается в случайном
распределении битов секретного сообщения по контейнеру, в результате чего
расстояние между двумя встроенными битами определяется псевдослучайно.
Для
контейнеров
произвольного
доступа
(изображений)
может
использоваться метод псевдослучайной перестановки. Его суть заключается в
том, что генератор псевдослучайных чисел производит последовательность
индексов j1 ,..., j1 (m) и сохраняет k -й бит сообщения в пикселе с индексом j k .
Однако в этом случае один индекс может появиться в последовательности
более одного раза, т.е. может произойти “пересечение” — искажение уже
встроенного бита. Если число битов сообщения намного меньше размера
изображения, то вероятность пересечения незначительна, и поврежденные биты
могут
быть
восстановлены
предотвращения
с
пересечений
помощью
корректирующих
необходимо
сохранять
кодов.
все
Для
индексы
использованных элементов ji и перед сокрытием нового пикселя проводить
проверку его на повторяемость.
Достоинства:
–
позволяют скрывать в относительно небольших файлах довольно
большие объемы информации;
–
простота реализации.
Недостатки:
–
сильная чувствительность к малейшим искажениям контейнера.
Метод блочного скрытия – еще один подход к реализации метода
замены. Суть этого метода заключается в следующем: изображение-оригинал
разбивается на l M непересекающихся блоков  i (1  i  l M ) произвольной
конфигурации, для каждого из которых вычисляется бит четности b(  i ) :
b(  i ) 
mod 2
LSB(C j ),

j
i
20
(1)
ВРБ–40461806–10.27–08–10.81
В каждом блоке производится скрытие одного секретного бита M i . Если
бит четности b( i )  M i , то происходит инвертирование одного НЗБ из блока
 i , в результате чего b( i )  M i .
Достоинства:
–
возможность модифицировать значение такого пикселя в блоке,
изменение которого приведет к минимальному изменению статистики
контейнера;
–
влияние последствий встраивания секретных данных в контейнер
можно уменьшить за счет увеличения размера блока.
Недостатки:
–
низкая устойчивость к искажениям.
Методы замены палитры. Для сокрытия данных можно также
воспользоваться
палитрой
цветов,
которая
присутствует
в
формате
изображения.
Палитра из N цветов определяется как список пар индексов (i, c i ) ,
который определяет соответствие между индексом i и его вектором цветности
c i . В изображении каждому пикселю присваивается индекс в палитре. Так как
цвета в палитре не всегда упорядочены, то скрываемую информацию можно
кодировать последовательностью хранения цветов в палитре. Существует N!
различных способов перестановки N-цветной палитры, что вполне достаточно
для сокрытия небольшого сообщения.
Достоинства:
– простота реализации.
Недостатки:
– неустойчивость к атакам, связанным с изменением палитры.
К
методам
замены
можно
также
отнести
метод
квантования
изображений. Данный метод основан на межпиксельной зависимости, которую
можно описать некоторой функцией Q. В простейшем случае, можно
21
ВРБ–40461806–10.27–08–10.81
рассчитать разность e i между смежными пикселями x i и x i 1 и задать ее в
качестве параметра для функции Q:  i  Q( x i  x i 1 ) , где  i — дискретная
аппроксимация разности сигналов x i  x i 1 . Так как  i является целым числом,
а реальная разность x i  x i 1 — вещественным, то появляется ошибка
квантования  i   i  e i . Для сильно коррелированных сигналов эта ошибка
близка к нулю:  i  0 . В данном методе сокрытие информации проводится
путем корректирования разностного сигнала  i . Стегоключ представляет собой
таблицу, которая каждому возможному значению  i ставит в соответствие
определенный бит.
Для сокрытия i-го бита сообщения вычисляется  i . Если  i не
соответствует секретному биту, который необходимо скрыть, то его значение
i
заменяется ближайшим  j , для которого это условие выполняется.
Извлечение секретного сообщения проводится в соответствии с разностью
между  i и стегоключом.
Метод изменения яркости состоит в следующем:
Изображение-контейнер делится на блоки 8 8 пикселей. Создается маска
( x, y) , размерность которой совпадает с размерностью контейнера, а
элементами являются псевдослучайно распределенные 0 и 1: ( x, y)  {0;1} .
Каждый блок Б в зависимости от значений элементов маски делится на два
подмассива Б1 и Б 2 , для каждого из которых вычисляются средние значения
яркости -  1 и  2 . Бит скрываемого сообщения встраивается следующим
образом:
 1, при  1   2  E
s ( x , y)  
,
0
,
при





E

1
2
(2)
где E – некоторое значение порога (необходимая разница между
указанными средними значениями яркости).
22
ВРБ–40461806–10.27–08–10.81
В тех случаях, когда условие (2) не выполняется, соответствующим
образом модифицируют значение яркости пикселей одного из подмассивов ( Б1
или Б 2 ). Для извлечения бита скрытого сообщения производят вычисление
соответствующих средних значений яркости подмассивов -  1 * и  2 * . Разница
между ними позволяет определить значение скрытого бита:
1, при  1 *  2 *  0

b i  0, при  1 *  2 *  0.
?, при  *  *  0
1
2

(3)
Более сложные методы встраивания данных в изображение за счет
изменения значений яркости рассмотрены в работах Куттера (M. Kutter),
Джордана (F. Jordan), Боссена (F. Bossen) [10] и Дармстедтера (V. Darmstaedter),
Делейгла (J. – F. Delaigle), Квисквотера (J. J. Quisquater), Макка (B. Macq) [6].
Достоинства:
–
устойчивость к JPEG-компрессии с малым коэффициентом сжатия.
Недостатки:
–
заметное визуальное искажение изображения-контейнера при
большом пороговом значении разницы между средними значениями яркости
блоков;
–
малый объем сообщения, который можно встроить.
1.3.2 Методы скрытия в частотной области изображения
Стеганографические методы замены неустойчивы к любым искажениям,
а применение операции сжатия с потерями приводит к полному уничтожению
всей секретной информации, скрытой методом НЗБ в изображении. Более
устойчивыми к различным искажениям, в том числе сжатию, являются методы,
которые используют для сокрытия данных не временную область, а частотную.
Существуют
несколько
способов
представления
изображения
в
частотной области. Например, с использованием дискретного косинусного
23
ВРБ–40461806–10.27–08–10.81
преобразования
(ДКП), быстрого преобразования
Фурье или
вейвлет-
преобразования.
Данные преобразования могут применяться как ко всему изображению,
так и к некоторым его частям. При цифровой обработке изображения часто
используется двумерная версия дискретного косинусного преобразования:
( u , v ) 
 (u )   ( v) N 1 N 1
   u  (2x  1) 
   v  (2 y  1) 
  C( x, y)  cos

cos
;



2
N
2
N
2N




x 0 y 0
(4
)
1 N 1 N 1
   u  (2x  1) 
   v  (2 y  1)  (5
S( x, y) 
  (u )  ( v)  (u, v)  cos

cos


,
2N
2N
2 N u 0 v 0

)
где C(x,y) и S(x,y) – соответственно, элементы оригинального и
восстановленного по коэффициентам ДКП изображения размерностью NxN;
x,y – пространственные координаты пикселей изображения;
Ω(u,v) – массив коэффициентов ДКП; u,v – координаты в частотной
области;
ζ(u)=1/ 2 , если u=0, и ζ(u)=1, если u>0;
ζ(v)=1/ 2 , если v=0, и ζ(v)=1, если v>0.
Один из наиболее популярных методов сокрытия секретной информации
в частотной области изображения основан на относительном изменении
величин коэффициентов ДКП и был описан в работе Коха (E. Koch) и Жао (J.
Zhao). На начальном этапе первичное изображение разбивается на блоки
размерностью 8х8 пикселей. ДКП применяется к каждому блоку – формула (4),
в результате чего получают матрицы 8х8 коэффициентов ДКП, которые
зачастую обозначают Ωb(u,v), где b – номер блока контейнера C, а (u,v) позиция коэффициента в этом блоке. Каждый блок при этом предназначен для
скрытия одного бита данных.
Выбираются два конкретных коэффициента ДКП из каждого блока,
которые будут использоваться для скрытия данных. Данные коэффициенты
задаются их координатами в массивах коэффициентов ДКП: (u1, v1) и (u2, v2).
24
ВРБ–40461806–10.27–08–10.81
Кроме этого, указанные коэффициенты должны отвечать косинус-функциям со
средними частотами, что обеспечит скрытность информации в существенных
для зрительной системы человека областях сигнала, к тому же информация не
будет искажаться при JPEG-компрессии с малым коэффициентом сжатия.
Непосредственно процесс скрытия начинается с выбора блока Cb
изображения, предназначенного для кодирования b-го бита сообщения.
Встраивание информации осуществляется таким образом: для передачи бита
«0» стремятся, чтобы разница абсолютных значений коэффициентов ДКП
превышала некоторую положительную величину, а для передачи бита «1» эта
разница делается меньшей по сравнению с некоторой отрицательной
величиной:
  b (u 1 , v1 )   b (u 2 , v 2 )  P, при m b  0
.


(
u
,
v
)


(
u
,
v
)


P
,
при
m

1
b
2
2
b
 b 1 1
(6)
Таким образом, первичное изображение искажается за счет внесения
изменений в коэффициенты ДКП, если их относительная величина не отвечает
скрываемому биту. Чем больше значение P, тем стеганосистема, созданная на
основе данного метода, является более стойкой к компрессии, однако качество
изображения при этом значительно ухудшается.
После
соответствующего
внесения
коррекции
в
значения
коэффициентов, которые должны удовлетворять неравенству (6), проводится
обратное ДКП.
Для извлечения данных в декодере выполняется аналогичная процедура
выбора коэффициентов, а решение о переданном бите принимается в
соответствии со следующим правилом:
*
*

m b *  0, при  b (u 1 , v1 )   b (u 2 , v 2 )
.

*
*
m
*

1
,
при

(
u
,
v
)


(
u
,
v
)

b
1
1
b
2
2
 b
(7)
Достоинства:
–
устойчивость к JPEG-компрессии с малым коэффициентом сжатия.
25
ВРБ–40461806–10.27–08–10.81
Недостатки:
–
заметное визуальное искажение изображения-контейнера при
большом пороговом значении разницы между коэффициентами ДКП блоков;
–
малый объем сообщения, который можно встроить.
Различные варианты стегоалгоритмов, использующих ДКП были
предложены в работах Бенгама (D. Benham), Мемона (N. Memon), Эо (B. – L.
Yeo), Юнг (M. Yeung); Хсу (C. – T. Hsu), Ву (J. – L. Wu) [9]; Фридрих (J.
Fridrich) [7].
1.3.3 Широкополосные методы
Широкополосные методы передачи применяются в технике связи для
обеспечения высокой помехоустойчивости и затруднения процесса перехвата.
Суть широкополосных методов состоит в значительном расширении полосы
частот сигнала, более чем это необходимо для передачи реальной информации.
Расширение диапазона выполняется в основном посредством кода, который не
зависит от передаваемых данных. Полезная информация распределяется по
всему диапазону, поэтому при потере сигнала в некоторых полосах частот в
других полосах присутствует достаточно информации для ее восстановления.
Таким образом, применение широкополосных методов в стеганографии
затрудняет
обнаружение
скрытых
данных
и
их
удаление.
Цель
широкополосных методов подобна задачам, которые решает стегосистема:
попытаться “растворить” секретное сообщение в контейнере и сделать
невозможным его обнаружение. Поскольку сигналы, распределенные по всей
полосе спектра, трудно удалить, стеганографические методы, построенные на
основе широкополосных методов, являются устойчивыми к случайным и
преднамеренным искажениям.
Для
сокрытия
информации
применяют
расширения спектра:
26
два
основных
способа
ВРБ–40461806–10.27–08–10.81
–
сигнал,
с помощью псевдослучайной последовательности, когда секретный
отличающийся
на
константу,
модулируется
псевдослучайным
сигналом;
–
с помощью прыгающих частот, когда частота несущего сигнала
изменяется по некоторому псевдослучайному закону.
Достоинства:
–
сравнительно высокая устойчивость к искажениям изображения и
разного вида атакам.
Недостатки:
–
неустойчивость к сжатию.
1.3.4 Статистические методы
Статистические методы скрывают информацию путем изменения
некоторых статистических свойств изображения. Они основаны на проверке
статистических гипотез. Суть метода заключается в таком изменении
некоторых статистических характеристик контейнера, при котором получатель
сможет отличить модифицированное изображение от не модифицированного.
Данные методы относятся к “однобитовым” схемам, т.е. ориентированы
на сокрытие одного бита секретной информации. l(m)-разрядная статистическая
стегосистема образуется из множества одноразрядных путем разбиения
изображения на l(m) непересекающихся блоков
B1 , ..., B l ( m ) . При этом
секретный бит сообщения m i встраивается в i-й блок контейнера. Обнаружение
спрятанного бита в блоке производится с помощью проверочной функции,
которая отличает модифицированный блок от не модифицированного:
1, если блок Bi был модифицирован
f ( Bi )  
.
0
,
в
противном
случае

(8)
Зачастую статистические методы стеганографии сложно применять на
практике. Во-первых, необходимо иметь хорошую статистику h ( B i ) , на основе
27
ВРБ–40461806–10.27–08–10.81
которой принимается решение о том, является ли анализируемый блок
изображения измененным или нет. Во-вторых, распределение h ( B i ) для
“нормального” контейнера должно быть заранее известно, что в большинстве
случаев является довольно сложной задачей.
Недостатки:
– невозможность извлечения встроенной информации;
– возможность ложного обнаружения ЦВЗ при его отсутствии;
– возможность не обнаружения ЦВЗ при его присутствии.
1.3.5 Методы искажения
Методы искажения, в отличие от предыдущих методов, требуют знания
о
первоначальном
последовательном
виде
контейнера.
проведении
ряда
Схема
сокрытия
модификаций
заключается
контейнера,
в
которые
выбираются в соответствии с секретным сообщением. Для извлечения скрытых
данных необходимо определить все различия между стеганограммой и
исходным
контейнером.
По
этим
различиям
восстанавливается
последовательность модификаций, которые выполнялись при сокрытии
секретной информации.
Для сокрытия данных выбирается l(m) различных пикселей контейнера,
которые используются для сокрытия информации. Такой выбор можно
произвести, используя датчик случайных чисел (или перестановок). При
сокрытии бита 0 значение пикселя не изменяется, а при сокрытии 1 к цвету
пикселя прибавляется случайное значение x . Для извлечения скрытых данных
необходимо провести сравнение всех l(m) выбранных пикселей стеганограммы
с соответствующими пикселями исходного контейнера. Если i-й пиксель будет
отличаться, то это свидетельствует о том, что в скрытом сообщении был
единичный бит, иначе — нулевой.
Достоинства:
28
ВРБ–40461806–10.27–08–10.81
– простота реализации;
– большой объем информации, которую можно встроить.
Недостатки:
– требуется знание о первоначальном виде изображения-контейнера;
– сильная чувствительность к малейшим искажениям контейнера.
1.3.6 Структурные методы
Рассмотренные
выше
методы
в
основном
использовали
информационную избыточность на уровне пикселей или же проводили
преобразования в частотной области изображения. Ниже рассматривается
метод, в котором сокрытие информации проводится на содержательном уровне
с использованием структурных и информационных параметров изображения.
По существу, он является развитием известной стеганографической технологии
— семаграмм. Суть метода заключается в проведении последовательных
преобразований фрагментов графического изображения, которые в конечном
итоге приводят к формированию скрываемого текста.
В настоящее время появилось множество графических пакетов программ
и баз данных, с помощью которых можно создавать различные графические
изображения, презентации, мультипликацию и пр. В каждом графическом
изображении можно выделить отдельные компоненты, которые в соответствии
с его областью интерпретации имеют свою информационную нагрузку.
Визуальный образ S можно представить в виде цифровой последовательности,
которая затем легко преобразуется в текстовое сообщение. Это возможно,
например, в процессе покрытия образа некоторым графом, используя
информационную интерпретацию его отдельных компонентов. В первом
приближении вершинами такого графа могут служить отдельные компоненты
рисунка, а ребрами — их соединения. При кодировании скрываемой
информации полученный граф можно преобразовывать достаточно широким
29
ВРБ–40461806–10.27–08–10.81
спектром известных в теории графов преобразованиями. В конечном итоге
такой граф может быть размечен в соответствии с определенным алгоритмом и
представлен в виде его числового инварианта. Простейшим инвариантом
является матрица смежности графа (последовательность нумерации вершин).
Можно использовать несколько инвариантов, которые описываются в виде
многочлена. Секретный ключ при таком подходе — это способ нумерации
графа. Известно, что возможное количество перенумерованных графов для
произвольного графа достаточно большое. Это обстоятельство делает
предложенный способ сокрытия сообщений достаточно устойчивым против
атак вскрытия.
В
структурных
методах
можно
выделить
отдельные
этапы
стеганографического преобразования.
Первым этапом является преобразование защищаемого секретного
сообщения m в цифровую форму CH. Это преобразование может быть,
например, любым криптографическим преобразованием.
Второй этап представляет собой преобразование последовательности
чисел CH в графическую структуру GS. В качестве графических структур чаще
всего используются графы. Кроме графов, можно использовать различные
пиктограммы или другие структуры, которые поддаются формальному
описанию тем или иным способом.
На
третьем
этапе
осуществляется
преобразование
графической
структуры GS в визуальную информационную среду WS. В общем случае в
качестве такой среды может использоваться, например, любая мультимедийная
или программная среда.
Четвертый
этап
представляет
собой
совокупность
методов
и
соответствующих процедур, с помощью которых формируется сюжет из
визуальных образов с внедренными в них тайными сообщениями.
В рамках данного подхода визуальный образ состоит из графических
элементов, которые идентифицируются с элементами GS. Данные элементы
30
ВРБ–40461806–10.27–08–10.81
представляют собой помеченные вершины, помеченные или непомеченные
ребра
и
другие
Необходимым
элементы,
этапом
идентифицирующие
функционирования
такой
компоненты
стегосистемы
из
CH.
является
формирование некоторого сюжета для фрагмента информационной среды из
отдельных графических образов.
Таким образом, вся цепочка преобразований, которая реализуется
стегосистемой на уровне отдельных этапов преобразования, может быть
записана в виде: S⇒CH⇒GS⇒WS⇒SJ, где SJ — описание сюжета, которое
составляется из отдельных графических образов. Следует отметить, что
рассмотренный подход применим как для преобразования изображения с целью
размещения в нем скрываемого сообщения, так и для генерирования
визуального изображения по секретному сообщению.
Недостатки:
–
необходимость
наличия
специальной
мультимедийной
или
программной среды.
Критерии оценки методов встраивания данных в изображения их
степень значимости по десятибалльной шкале (от 1 до 10) приведены в таблице
1.
Для оценки визуальных искажений изображения при занесении в него
секретных
данных
используется
выражение,
называемое
максимальное
отношение «сигнал/шум» (PSNR):
PSNR  10 log 2
X  Y  255 2
,
2
(
C

S
)
 x ,y x ,y
(9)
x ,y
где X – ширина изображения; Y – высота изображения;
C x , y - пиксель пустого изображения-контейнера с координатами (x, y);
S x , y - пиксель заполненного изображения-контейнера с координатами (x,
y).
31
ВРБ–40461806–10.27–08–10.81
Таблица 1 – Значимость критериев оценки аналогов
Критерий
Степень значимости
Объем информации, который можно
7
встроить
Устойчивость к сжатию по алгоритму
10
JPEG
Максимальное отношение
9
«сигнал/шум», PSNR
Вычислительная сложность
5
Аналоги пронумерованы следующим образом:
1) метод НЗБ;
2) метод случайного интервала;
3) метод псевдослучайной перестановки;
4) метод блочного скрытия;
5) метод замены палитры;
6) метод квантования;
7) метод изменения яркости;
8) метод Коха-Жао;
9) метод расширения спектра.
Значения максимального отношения «сигнал/шум» для выбранных
методов занесения данных в изображения приведены в таблице 2.
Таблица 2 - Сравнение методов занесения данных в изображения по
значениям максимального отношения «сигнал/шум»
Максимальное отношение
Методы
«сигнал/шум» (PSNR), дБ
1
170
2
230
3
233
4
233
32
ВРБ–40461806–10.27–08–10.81
Продолжение таблицы 2
5
218
6
227
7
90
8
90
9
110
Изображение-оригинал
∞
Сравнение методов занесения данных в изображения по выделенным
критериям по десятибалльной шкале (от 1 до 10) приведено в таблице 3.
Таблица 3 - Сравнение аналогов по выделенным критериям
Критерии
Аналоги
1
2
3
4
5
6
7
8
9
10
10
10
8
5
10
7
7
8
1
1
1
1
3
1
5
8
3
7
9
10
10
8
9
5
5
6
10
8
6
7
8
7
5
7
5
193
201
200
191
177
205
169
209
165
Объем
информации,
который можно
встроить
Устойчивость к
сжатию по
алгоритму JPEG
Максимальное
отношение
«сигнал/шум»,
PSNR
Вычислительная
сложность
Суммарный
балл
33
ВРБ–40461806–10.27–08–10.81
1.4 Анализ программного обеспечения для встраивания данных в
растровые изображения
1.4.1 Программа Steganos Privacy Suite 11
Программа Steganos Privacy Suite 11 разработана Steganos Software.
Стоимость 69,95$. Позволяет скрывать данные в растровых изображениях
формата *.bmp и *.jpg. Для скрытия данных использует метод НЗБ.
Достоинства:
– позволяет скрывать файлы любого формата;
– большой объем информации, которую можно скрыть;
– поддерживает сохранение в формате JPEG.
Недостатки:
– не выдерживает повторное JPEG-сжатие файла со встроенными данными.
1.4.2 Программа S-Tools 4
Программа S-Toolsразработана Анди Брайном (AndyBrown). Позволяет
скрывать данные в изображениях формата *.bmp и *.gif. Для скрытия данных
использует метод НЗБ. Распространяется бесплатно.
Достоинства:
– позволяет скрывать файлы любого формата;
– большой объем информации, которую можно скрыть.
Недостатки:
– нет возможности сохранения изображения в формате *.jpg;
– не выдерживает JPEG-сжатие файла со встроенными данными.
1.4.3 Программа ImageSpyer 2009
Программа ImageSpyer 2009 позволяет скрывать данные в изображениях
34
ВРБ–40461806–10.27–08–10.81
формата *.bmp и *.tiff. Для скрытия данных использует собственную
реализацию метода НЗБ. Распространяется бесплатно.
Достоинства:
– позволяет скрывать файлы любого формата;
– большой объем информации, которую можно скрыть.
Недостатки:
– нет возможности сохранения изображения в формате *.jpg;
– не выдерживает JPEG-сжатие файла со встроенными данными.
1.4.4 Программа JSTEG
Программа JSTEG позволяет скрывать данные в файлах формата *.jpg.
Скрывает данные в младших битах, отличных от нуля квантованных
коэффициентов блоков изображения. Распространяется бесплатно.
Достоинства:
– поддерживает сохранение файлов в формате *.jpg;
– полученные файлы выдерживают JPEG-компрессию, но только с
таблицей квантования аналогичной используемой в программе JSTEG.
Недостатки:
– ориентирована на работы в MS-DOS;
– зависимость от таблицы квантования.
1.4.5 Программа Gifshuffle
Программа Gifshuffle позволяет скрывать данные в файлах формата
*.gif. Скрытие информации производится посредством изменения порядка
цветов в палитре. Распространяется бесплатно.
Достоинства:
– возможность предварительного сжатия встраиваемых данных.
35
ВРБ–40461806–10.27–08–10.81
Недостатки:
–
малый объем скрываемого сообщения, не зависящий от размера
контейнера;
–
не поддерживает сохранение изображений в формате *.jpg.
Сравнение рассмотренных стеганографических программ приведено в
таблице 4.
Таблица 4 – Сравнение стеганографического ПО
Поддерживаемые
Название
форматы файлов
Используемый
Цена
метод скрытия
изображений
Steganos Privacy
*.bmp
69,95$
НЗБ
S-Tools 4
*.bmp, *.gif
бесплатно
НЗБ
ImageSpyer 2009
*.bmp, *.tiff
бесплатно
Suite 11
Собственная
реализация НЗБ
НЗБ в отличных
от нуля
JSTEG
квантованных
бесплатно
*.jpg
коэффициентах
блоков
изображения
Gifshuffle
Метод замены
бесплатно
*.gif
палитры
В результате анализа стеганографических программ для скрытия данных
в
растровых
изображениях
был
выявлен
недостаток
как
свободно
распространяемых, так и коммерческих разработок, поддерживающих работу с
форматом
*.jpg
и
использующих
стеганографические методы.
36
устойчивые
к
JPEG-компрессии
ВРБ–40461806–10.27–08–10.81
2 Разработка алгоритма скрытия данных в изображениях
2.1 Алгоритм сжатия JPEG
Большинство растровых изображений, хранящихся на компьютерах,
являются изображениями в формате JPG, поэтому необходимо, чтобы метод
занесения информации в изображения был устойчив к JPEG-компрессии. При
разработке стегоалгоритма целесообразно использовать особенности алгоритма
сжатия JPEG.
Алгоритм разработан группой экспертов в области фотографии (Joint
Photographic Expert Group) специально для сжатия 24-битных и полутоновых
изображений в 1991 году. Этот алгоритм не очень хорошо сжимает
двухуровневые изображении, но он прекрасно обрабатывает изображения с
непрерывными тонами, в которых близкие пикселы обычно имеют схожие
цвета. Обычно глаз не в состоянии заметить какой-либо разницы при сжатии
этим методом в 10 или 20 раз [3].
Алгоритм основан на дискретном косинусном преобразовании (ДКП),
применяемом к матрице непересекающихся блоков изображения, размером 8х8
пикселей. ДКП раскладывает эти блоки по амплитудам некоторых частот. В
результате, получается матрица, в которой многие коэффициенты, как правило,
близки к нулю, которые можно представить в грубой числовой форме, т.е. в
квантованном виде без существенной потери в качестве восстановления.
Рассмотрим работу алгоритма подробнее. Предположим, что сжимается
полноцветное 24-битное изображение. В этом случае получаем следующие
этапы работы.
Шаг 1. Переводим изображение из пространства RGB в пространство
YCbCr с помощью следующих выражений:
Y = 0,299 R + 0,587 G + 0,114 B
Cb = - 0,1687 R - 0,3313 G + 0.5 B + 128
Cr = 0,5 R - 0,4187 G - 0,0813 B + 128
37
ВРБ–40461806–10.27–08–10.81
Обратное преобразование модели YCbCr в модель RGB осуществляется
с помощью подобных соотношений:
R = Y + 1,402 (Cr-128)
G = Y - 0,34414 (Cb-128) - 0,71414 (Cr-128)
B = Y + 1,772 (Cb-128)
Шаг 2. Разбиваем исходное изображение на матрицы 8х8. Формируем из
каждой три рабочие матрицы ДКП – по 8 бит отдельно для каждой
компоненты. При больших степенях сжатия блок 8х8 раскладывается на
компоненты YCbCr в формате 4:2:0, т.е. компоненты для Cb и Cr берутся через
точку по строкам и столбцам.
Шаг 3. Применение ДКП к блокам изображения 8х8 пикселей.
Формально прямое ДКП для блока 8х8 можно записать в виде [13]
(10)
(11)
Так как ДКП является «сердцем» алгоритма JPEG, то желательно на
практике вычислять его как можно быстрее. Простым подходом для ускорения
вычислений является заблаговременное вычисление функций косинуса и
сведения
результатов
вычисления
в
таблицу.
Мало
того,
учитывая
ортогональность функций косинусов с разными частотами, вышеприведенную
формулу можно записать в виде
(12)
Здесь
является матрицей, размером 8х8 элементов, описывающая 8-ми
мерное пространство, для представления столбцов блока
пространстве. Матрица
в этом
является транспонированной матрицей и делает то
38
ВРБ–40461806–10.27–08–10.81
же самое, но для строк блока
. В результате получается разделимое
преобразование, которое в матричном виде записывается как
В результате ДКП получаем матрицу
левом
верхнем
углу
соответствуют
.
, в которой коэффициенты в
низкочастотной
составляющей
изображения, а в правом нижнем – высокочастотной.
Шаг 4. Квантование. На этом шаге происходит отбрасывание части
информации. Здесь каждое число из матрицы
делится на специальное число
из «таблицы квантования», а результат округляется до ближайшего целого:
(13)
Причем для каждой матрицы Y, Cb и Cr можно задавать свои таблицы
квантования. Стандарт JPEG даже допускает использование собственных
таблиц квантования, которые, однако, необходимо будет передавать декодеру
вместе со сжатыми данными, что увеличит общий размер файла. Понятно, что
пользователю сложно самостоятельно подобрать 64 коэффициента, поэтому
стандарт JPEG использует два подхода для матриц квантования. Первый
заключается в том, что в стандарт JPEG включены две рекомендуемые таблицы
квантования: одна для яркости, вторая для цветности. Эти таблицы
представлены ниже. Второй подход заключается в синтезе (вычислении на
лету) таблицы квантовании, зависящей от одного параметра , который задается
пользователем. Сама таблица строится по формуле
.
Рисунок 4 - Рекомендуемая таблица квантования для яркости
39
ВРБ–40461806–10.27–08–10.81
Рисунок 5 - Рекомендуемая таблица квантования для цветности
На этапе квантования осуществляется управление степенью сжатия, и
происходят самые большие потери. Понятно, что задавая таблицы квантования
с большими коэффициентами, мы получим больше нулей и, следовательно,
большую степень сжатия.
С квантованием связаны и специфические эффекты алгоритма. При
больших значениях шага квантования потери могут быть настолько велики, что
изображение распадется на однотонные квадраты 8х8. В свою очередь потери в
высоких частотах могут проявиться в так называемом «эффекте Гиббса», когда
вокруг контуров с резким переходом цвета образуется волнообразный «нимб».
Шаг 5. Переводим матрицу 8х8 в 64-элементный вектор при помощи
«зигзаг»-сканирования (рисунок6).
Рисунок 6 - «Зигзаг»-сканирование
В результате в начале вектора, как правило, будут записываться
ненулевые коэффициенты, а в конце образовываться цепочки из нулей.
40
ВРБ–40461806–10.27–08–10.81
Шаг 6. Преобразовываем вектор с помощью модифицированного
алгоритма RLE, на выходе которого получаем пары типа (пропустить, число),
где «пропустить» является счетчиком пропускаемых нулей, а «число» значение, которое необходимо поставить в следующую ячейку. Например,
вектор 1118 3 0 0 0 -2 0 0 0 0 1 … будет свернут в пары (0, 1118) (0, 3) (3, -2) (4,
1) … .
Следует отметить, что первое число преобразованной компоненты , по
существу, равно средней яркости блока 8х8 и носит название DCкоэффициента. Аналогично для всех блоков изображения. Это обстоятельство
наводит на мысль, что коэффициенты DC можно эффективно сжать, если
запоминать не их абсолютные значения, а относительные в виде разности
между DC коэффициентом текущего блока и DC коэффициентом предыдущего
блока, а первый коэффициент запомнить так, как он есть. При этом
упорядочение коэффициентов DC можно сделать, например, так (рисунок7).
Остальные
коэффициенты,
которые
называются
AC-коэффициентами
сохраняются без изменений.
Рисунок 7 - Схема упорядочения DC коэффициентов
Шаг 7. Свертываем получившиеся пары с помощью неравномерных
кодов Хаффмана с фиксированной таблицей. Причем для DC и
AC
коэффициентов используются разные коды, т.е. разные таблицы с кодами
Хаффмана.
41
ВРБ–40461806–10.27–08–10.81
Рисунок 8 - Структурная схема алгоритма JPEG
Процесс восстановления изображения в этом алгоритме полностью
симметричен. Метод позволяет сжимать изображения в 10-15 раз без заметных
визуальных потерь.
Хотя алгоритм JPEG и является стандартом ISO, формат его файлов не
был
зафиксирован.
Пользуясь
этим,
производители
создают
свои,
несовместимые между собой форматы, и, следовательно, могут изменить
алгоритм. Так, внутренние таблицы алгоритма, рекомендованные ISO,
заменяются ими на свои собственные. Встречаются также варианты JPEG для
специфических приложений.
2.2 Описание алгоритма встраивания информации в изображения
Алгоритм
встраивания
информации
в
изображения
должен
удовлетворять следующим требованиям:
– вносить минимальные искажения в изображения;
– быть устойчивым к JPEG-компрессии.
Так как в алгоритме сжатия JPEG используется математический аппарат
дискретного косинусного преобразования (ДКП) целесообразно применить этот
42
ВРБ–40461806–10.27–08–10.81
аппарат в стегоалгоритме.
Алгоритм занесения информации в изображение-контейнер
Шаг 1. Перевод изображения-контейнера из цветовой модели RGB в
модель YCbCr.
Шаг 2. Разбиение матрицы яркости Y цветовой модели YCbCr на блоки
8 8 пикселей.
Шаг 3. Выполнение ДКП над каждым блоком.
Шаг 4. Выбор в каждом блоке двух пар коэффициентов ДКП из
низкочастотной или среднечастотной области w 1   b (u 1 , v1 ) , w 2   b (u 2 , v 2 ) ,
w 3   b (u 3 , v 3 ) , w 4   b (u 4 , v 4 ) ,
где  b - матрица 8 8 коэффициентов ДКП блока;
b – номер блока;
u 1 , v1 , u 2 , v 2 , u 3 , v 3 , u 4 , v 4 - координаты выбранных коэффициентов
ДКП в блоке.
Шаг 5. В каждый блок происходит встраивание двух битов секретных
данных m i и m i 1 , где i – номер встраиваемого бита сообщения определяется по
формуле i  2  b .Встраивание информации осуществляется таким образом: для
передачи
бита
«0»
стремятся,
чтобы
разница
абсолютных
значений
коэффициентов ДКП превышала некоторую положительную величину, а для
передачи бита «1» эта разница делается меньшей по сравнению с некоторой
отрицательной величиной:
  b (u1 , v1 )   b (u 2 , v 2 )  P, при m i  0
;

  b (u1 , v1 )   b (u 2 , v 2 )  P, при m i  1
(14)
  b (u 3 , v 3 )   b (u 4 , v 4 )  P, при m i1  0
.


(
u
,
v
)


(
u
,
v
)


P
,
при
m

1
b
3
3
b
4
4
i

1

(15)
Шаг 6. Над каждым блоком производится обратное ДКП.
Шаг 7. Перевод изображения-контейнера из цветовой модели YCbCr в
модель RGB.
43
ВРБ–40461806–10.27–08–10.81
В основе разработанного стегоалгоритма лежит метод Коха-Жао,
модифицированный по нескольким направлениям:
–
увеличен
объем
сообщения,
который
можно
встроить
в
изображение-контейнер за счет использования четырех коэффициентов ДКП
вместо двух;
–
увеличена устойчивость к JPEG-компрессии за счет перевода
изображения в цветовую модель YCbCr;
–
снижен уровень вносимых визуальных искажений за счет перевода
изображения в цветовую модель YCbCr.
2.3 Обоснование выбора инструментальной среды
1) Язык программирования С++.
C++ — чрезвычайно мощный язык, содержащий средства создания
эффективных программ практически любого назначения, от низкоуровневых
утилит и драйверов до сложных программных комплексов самого различного
назначения.
Несомненным достоинством С++ является поддержка различных стилей
и
технологий
программирования,
программирование,
ООП,
включая
традиционное
обобщённое
директивное
программирование,
метапрограммирование.
Еще одно достоинство языка C++ - расширяемость. Существует
множество библиотек, расширяющих возможности языка.
Немаловажным достоинством является кроссплатформенность: стандарт
языка
накладывает
скомпилированных
минимальные
программ.
требования
Доступны
на
ЭВМ
компиляторы
для
для
запуска
большого
количества платформ, на языке C++ разрабатывают программы для самых
различных платформ и систем.
Язык С++ спроектирован так, чтобы дать программисту максимальный
44
ВРБ–40461806–10.27–08–10.81
контроль над всеми аспектами структуры и порядка исполнения программы. Ни
одна из языковых возможностей, приводящая к дополнительным накладным
расходам, не является обязательной для использования — при необходимости
язык позволяет обеспечить максимальную эффективность программы.
Также следует отметить, что в C++ имеется возможность работы на
низком уровне с памятью, адресами.
2) Библиотека Qt.
Qt - кроссплатформенный инструментарий разработки ПО на языке
программирования C++.
Позволяет запускать написанное с его помощью ПО в большинстве
современных операционных систем путём простой компиляции программы для
каждой ОС без изменения исходного кода. Включает в себя все основные
классы,
которые
могут
потребоваться
при
разработке
прикладного
программного обеспечения, начиная от элементов графического интерфейса и
заканчивая классами для работы с сетью, базами данных и XML. Qt является
полностью
объектно-ориентированным,
легко
расширяемым
и
поддерживающим технику компонентного программирования.
Достоинством Qt является то, что с версии 4.5 она распространяется в 2
редакциях:
– Qt Commercial — для разработки коммерческих приложений.
– Qt Open Source — под лицензией GNU GPL и GNU LGPL.
Qt позволяет создавать собственные плагины и размещать их
непосредственно
в
панели
визуального
редактора.
Также
существует
возможность расширения привычной функциональности виджетов, связанной с
размещением их на экране, отображением, перерисовкой при изменении
размеров окна.
Qt
комплектуется
визуальной
средой
разработки
графического
интерфейса «Qt Designer», позволяющей создавать диалоги и формы «мышью»
(в режиме WYSIWYG). В поставке Qt есть «Qt Linguist» — графическая
45
ВРБ–40461806–10.27–08–10.81
утилита, позволяющая упростить локализацию и перевод программы на многие
языки; и «Qt Assistant» — справочная система Qt, упрощающая работу с
документацией
по
библиотеке,
а
также
позволяющая
создавать
кроссплатформенную справку для разрабатываемого на основе Qt ПО.
Для
Windows
версий
существует
Qt
возможность
интеграции
библиотеки в среду программирования Microsoft Visual Studio.
3) IDE Microsoft Visual Studio.
Microsoft Visual Studio — линейка продуктов компании Майкрософт,
включающих интегрированную среду разработки программного обеспечения и
ряд других инструментальных средств.
Достоинством Microsoft Visual Studio является возможность создания
программ на разных языках программирования (VisualBasic.NET, C++, C#).
Visual Studio построена в архитектуре, поддерживающей возможность
использования дополнений (Add-Ins) — плагинов от сторонних разработчиков,
что позволяет расширять возможности среды разработки.
В Visual Studio имеется возможность создания инсталляторов для
написанных программ, что обеспечивает мобильность разработок.
Таким образом приложение будет написано в среде Microsoft Visual
Studio с интегрированной библиотекой Qt на языке C++. Это позволит
сократить время на разработку, избежать написания большого количества кода,
посредством использования готовых библиотек. Использование библиотеки Qt
также поможет создать удобный интерфейс, отличный от стандартного.
46
ВРБ–40461806–10.27–08–10.81
3 Разработка модулей встраивания и извлечения данных
3.1 Структура приложения
Проанализировав аналоги проектируемой стегопрограммы, можно
выделить основные требования к модулю встраивания данных в изображения:
1) Модуль должен обеспечивать скрытие данных в изображение:
– скрытие текста;
– скрытие файла;
– подпись изображения с помощью значения криптографической хэшфункции.
2) Модуль должен производить расчет объема данных, который можно
скрыть:
– расчет количества символов текста, которое можно скрыть;
– расчет размера файла в байтах, который можно скрыть;
– расчет достаточности размера изображения-контейнера для его подписи.
3) Модуль
должен
обеспечивать
возможность
оценки
визуальных
искажений изображения-контейнера при занесении в него секретных данных.
4) Модуль должен обеспечивать возможность изменения параметров
стегоалгоритма, влияющих на визуальное искажение изображения-контейнера
и безопасность встроенных данных:
– изменение
порогового
значения
разности
коэффициентов
ДКП,
используемых для скрытия;
– изменение уровня безопасности, который определяет координаты
коэффициентов ДКП, используемых для скрытия.
5) Модуль должен обеспечивать загрузку изображения-контейнера:
– в формате *.bmp и *.jpg для скрытия текста;
– в формате *.bmp и *.jpg для скрытия файла;
– в формате *.bmp и *.jpg для подписи изображения.
6) Модуль должен обеспечивать загрузку данных для скрытия:
47
ВРБ–40461806–10.27–08–10.81
– ввод текста для скрытия текста;
– загрузку файла для скрытия файла;
– ввод текста и загрузку файла для подписи изображения.
7) Модуль должен обеспечивать сохранение изображения со скрытыми
данными:
– в формате *.bmp и *.jpg для изображения со скрытым текстом;
– в формате *.bmp для изображения со скрытым файлом;
– в формате *.bmp и *.jpg для подписанного изображения.
Основные требования к модулю извлечения данных из изображения:
1) Модуль должен обеспечивать извлечение данных из изображения:
– извлечение текста;
– извлечение файла с расширением;
– извлечение подписи изображения.
2) Модуль должен обеспечивать возможность изменения параметров
стегоалгоритма, влияющих на визуальное искажение изображения-контейнера
и безопасность встроенных данных:
– изменение
порогового
значения
разности
коэффициентов
ДКП,
используемых для скрытия;
– изменение уровня безопасности, который определяет координаты
коэффициентов ДКП, используемых для скрытия.
3) Модуль должен обеспечивать загрузку изображения со скрытыми
данными:
– в формате *.bmp и *.jpg для изображения со скрытым текстом;
– в формате *.bmp и *.jpg для изображения со скрытым файлом;
– в формате *.bmp и *.jpg для подписанного изображения.
4) Модуль должен обеспечивать отображение извлеченных данных:
– вывод извлеченного текста на экран;
– вывод расширения извлеченного файла на экран и предоставление
возможности сохранить файл на жестком диске;
48
ВРБ–40461806–10.27–08–10.81
– вывод сообщения о правильности подписи изображения.
Таким образом, исходя из требований к описанным модулям,
представлена следующая функциональная структура (рисунок 9).
49
ВРБ–40461806–10.27–08–10.81
Проведение
стегопреобразований над
изображением
Занесение данных в
изображение
Скрытие данных
в изображение
Загрузка данных
для скрытия
Извлечение
данных из
изображения
Сохранение
изображения со
скрытыми
данными
Ввод текста
В формате *.bmp и
*.jpg для
изображения со
скрытым текстом
Скрытие
файла
Загрузка файла
В формате *.bmp
для изображения со
скрытым файлом
Подпись
изображения
Ввод текста или
загрузка файла
для подписи
В формате *.bmp и
*.jpg для
подписанного
изображения
Скрытие
текста
Расчет объема
данных,
который можно
скрыть
Загрузка
изображенияконтейнера
Расчет
количества
символов текста
В формате
*.bmp и *.jpg для
текста
Рачета размера
файла в байтах
В формате
*.bmp и *.jpg для
файла
Расчет достаточности
размеров
изображения для его
подписи
Обеспечение
взаимодействия
пользователя и программы
Извлечение данных из
изображения
Загрузка
изображения со
скрытыми данными
Отображение
извлеченным
данных
Извлечение
текста
В формате *.bmp и
*.jpg для
изображения со
скрытым текстом
Вывод текста на
экран
Извлечение
файла
В формате *.bmp и
*.jpg для
изображения со
скрытым файлом
Вывод расширения
файла на экран
Извлечение
подписи
В формате *.bmp и
*.jpg для
подписанного
изображения
Вывод сообщения о
правильности
подписи
Сохранение
извлеченного
файла
Изменение
параметров
стегоалгоритма
Изменение
порогового
значения
разности
коэффициентов
ДКП
Изменение
уровня
безопасности
В формате
*.bmp и *.jpg для
подписи
Оценка
визуальных
искажений
Рисунок 9 – Функциональная структура программы
50
Выполнение
выбранных
команд
панели
управления
Отображение
статуса
операций
ВРБ–40461806–10.27–08–10.81
3.2 Описание интерфейса программы
Рисунок 10 – Главное окно программы с активной вкладкой работы с текстом
«1» – область ввода текста для скрытия;
«2» – область отображения загруженного изображения-контейнера;
«3» – кнопка загрузки изображения;
«4» – кнопка сохранения изображения со скрытыми данными;
«5» – кнопка запуска процесса скрытия данных;
«6» – кнопка запуска процесса извлечения данных;
«7» – кнопка подписи изображения с помощью криптографической хэшфункции;
«8» – кнопка проверки подписи изображения;
«9» – кнопка очистки областей ввода текста и вывода загруженного
51
ВРБ–40461806–10.27–08–10.81
изображения;
«10» – строка прогресса выполнения операций;
«11» – строка статуса операции;
«12» – вызов диалога настройки программы;
«13» – отображение количества символов текста, которое можно скрыть в
выбранном изображении.
Рисунок 11 – Главное окно программы с активной вкладкой работы с файлом
«1» – отображение размера файла в байтах, который можно скрыть в
выбранном изображении;
«2» – путь к выбранному для скрытия файлу;
«3» – кнопка вызова диалога выбора файла для скрытия.
52
ВРБ–40461806–10.27–08–10.81
3.3 Испытание и оценка качества системы
Рисунок 12 – Пустой изображение-контейнер (разрешение 1280x1024)
Рисунок 13 – Процесс скрытия файла в изображении
53
ВРБ–40461806–10.27–08–10.81
Рисунок 14 – изображение со скрытым файлом (разрешение 1280x1024,
встроено 774 байта)
Для оценки качества системы будет использоваться ранее введенный
показатель максимальное отношение «сигнал/шум» (PSNR).
Таблица 5 – Оценка визуального искажения изображения
Пороговое значение
разности
PSNR, дБ
коэффициентов ДКП
Пустое изображениеконтейнер
5
∞
5
110
5
90
Изображение со скрытым
файлом по разработанному
стегоалгоритму
Изображение со скрытым
файлом по методу КохаЖао
54
ВРБ–40461806–10.27–08–10.81
Таблица 6 – Оценка устойчивости к JPEG-компрессии
Минимальное пороговое значение
разности коэффициентов ДКП, при
котором сохраняются данные при
JPEG-компрессии
Разработанный стегоалгоритм
5
Метод Коха-Жао
50
Из таблиц 5 и 6 видно, что разработанный алгоритм превосходит метод
Коха-Жао по качеству встраивания данных.
55
ВРБ–40461806–10.27–08–10.81
4 Экономический раздел
4.1 Обоснование стратегии коммерциализации
Разработанный продукт является программой встраивания информации,
подлежащей сокрытию, в растровые изображения формата *.bmpи *.jpg с
возможностью ее последующего извлечения. Программа предназначена для
обеспечения защиты авторских прав на растровые изображения указанных
форматов.
В связи с повсеместным внедрением мультимедийных технологий
вопрос защиты информации, представленной в цифровом виде является
чрезвычайно актуальным.
Основными преимуществами разработанного продукта являются:
–
устойчивость файлов изображений со скрытыми данными к JPEG-
компрессии;
–
возможность скрытия как текста, так и файлов любого расширения,
подходящего размера;
–
внедрение скрытой информации не влечет визуального искажения
изображения;
–
внедрение скрытой информации не влечет увеличения размеров
файла изображения;
–
возможность подписи файлов изображений с помощью стойкой
криптографической функции.
4.2 Анализ альтернативных продуктов
Проведенный
во
второй
главе
данной
работы
анализ
стеганографического программного обеспечения выявил недостаток на рынке
программных продуктов, поддерживающих работу с форматом *.jpg и
использующих устойчивые к JPEG-компрессии стеганографические методы.
56
ВРБ–40461806–10.27–08–10.81
Патентный поиск в реестре программ для ЭВМ РФ [14] выявил только
одну
программу,
использующую
стеганографические
методы
скрытия
информации, однако она представляет собой программный продукт скрытия
информации в тексте, поэтому прямым конкурентом не является. Патентный
поиск патентных документов в БД Патентного ведомства США [15] также не
выявил зарегистрированных конкурентных разработок.
По
результатом
патентного
поиска
целесообразным
является
регистрация разработанного продукта в реестре программ для ЭВМ РФ.
4.3 Перспективы развития
Для увеличения привлекательности разработанного программного
продукта, необходимо расширить сферу его возможного применения за счет
добавления возможностей занесения секретных данных в текстовые, аудио- и
видеофайлы.
4.4 Организация и планирование процесса исследования и разработки
Чтобы обосновать экономическую эффективность проекта, необходимо
охарактеризовать объект и методы исследования, определить состав этапов
(работ), продолжительность исследования и разработки.
Перечень,
последовательность,
содержание
и
соотношение
трудоемкости различных этапов для прикладных исследований и опытноконструкторских работ при разработке проекта приведены в таблице 7.
57
ВРБ–40461806–10.27–08–10.81
Таблица 7 – Структура трудоемкости этапов разработки программной
продукции
Доля этапа в
Этапы
общей
Содержание этапов
трудоемкости
темы, %
Анализ
предметной Постановка
задачи.
Сбор
области и разработка исходных данных. Обоснование
требований
критериев
эффективности
разрабатываемых
программных
средств.
программного
Выбор
обеспечения.
Согласование
15
и
утверждение технического задания
Проектирование
Предварительная
разработка
структуры входных и выходных
данных.
Разработка
общего
описания
алгоритма
решения
20
задачи
Разработка модели
Уточнение структуры входных и
выходных
данных.
Разработка
алгоритма
решения
Определение
конфигурации
шения
структуры
задачи.
модели.
задачи.
ре-
Разработка
Реализация
модели с использованием готового
ПО.
58
25
ВРБ–40461806–10.27–08–10.81
Продолжение таблицы 7
Отладка,
Тестирование
тестирование
испытаний.
и
проведение
Корректировка
30
модели.
Составление
Опытная
эксплуатация
документации
Корректировка документации по
результатам
задач.
опытной
10
эксплуатации.
ИТОГО:
100 %
Трудоемкость исследований и разработок зависит от условий их
проведения: в инженерной группе, на промышленном предприятии, в
лаборатории университета. Она измеряется в чел-днях или чел-часах.
Ожидаемое время выполнения работ или этапов можно определить по
формуле:
Тож 
3tmin  2tmax
,
5
(12)
где tmin – минимально возможная продолжительность работы, при
которой
понимается
предполагаемая
ее
длительность
при
наиболее
благоприятных условиях;
tmax
–
максимальная
продолжительность работы, при
которой
понимается ее предполагаемая длительность при самых неблагоприятных
условиях.
tmax=(сентябрь(30)+окт(31)+ноя(30)+дек.(31)+янв(30)+фев(28)+март(31)
+апрель(30)+май(31))=272 дня;
tmin = янв(30)+фев(28)+март(31)+апрель(30)+май(31)=142 дня;
Tож.=(3*142 + 2*272)/5=194 дня;
Тож.=194 дней * 8 час.=1552 час.
59
ВРБ–40461806–10.27–08–10.81
Проектирование,
разработка
и
выполнение
дипломной
работы
производилась в течении 9 месяцев: сентябрь, октябрь, ноябрь, декабрь, январь,
февраль, март, апрель, май – всего 194 дня.
Состав и трудоемкость работ приведены в таблице 8.
Таблица 8 – Состав и трудоемкость работ
Этапы работ
tmin, чел-дн.
tmax, чел-дн
Тож, чел-дн.
30
60
40
Проектирование
25
50
35
Разработка модели
30
65
45
Отладка, тестирование
35
60
45
Составление документации
22
37
25
Итого:
142
272
194
Анализ предметной области и
разработка требований
4.5 Расчет затрат на создание системы
Затраты на создание системы включают в себя затраты на проведение
исследования и затраты на реализацию системы с использованием готового ПО.
Затраты на создание системы Зс.с. включают в себя:
Зз.п. – затраты на оплату труда разработчика за
время
создания
системы;
Зм.в. – затраты на оплату машинного времени, используемого при
разработке системы;
Здоп. – дополнительные затраты на создание системы.
Затраты на оплату труда разработчиков:
Зз.п. = Кр.*Чр.ч.*Со.т.,
(13)
где Кр. – количество разработчиков;
Чр.ч. – количество рабочих часов, затраченных
создание системы;
60
разработчиками
на
ВРБ–40461806–10.27–08–10.81
Со.т. – часовая ставка оплаты труда разработчика.
Затраты предприятия на оплату машинного времени, использованного
для создания системы:
Зм.в. – Кэвм*Чр.ч.*См.ч.,
(14)
где Кэвм – количество ЭВМ, используемых при создании системы;
Чр.ч. – количество часов машинного времени, затраченного на создание
системы;
См.ч. – стоимость машинного часа.
Стоимость одного машинного часа:
См.ч. = (Сам.+Сэ.э.+Ст.р.)/Чр.ч.,
(15)
где Сам. – годовая сумма амортизационных отчислений;
Сэ.э. – стоимость электроэнергии.
Годовая сумма амортизационных отчислений определяется по формуле:
Сам = Кэвм*Цэвм*Нам/100%,
(16)
где Цэвм – цена единицы ЭВМ;
Нам. – норма амортизационных отчислений по вычислительной технике.
Кэвм = 1; Цэвм = 20000 руб.; Нам = 20%.
Сам = (1*20000*20/100) руб. = 4000 руб.
Стоимость электроэнергии Сэ.э. определяется по формуле:
Сэ.э. = Чр.ч.*Pпотр.*Тэ.э.,
(17)
где Pпотр. – потребляемая мощность;
Тэ.э. - тариф на электроэнергию.
В нашем случае: Чр.ч. = 1552 ч.; Pпотр.= 0.3 кВт*час; Тэ.э. = 1.46
руб/кВт*час.
Сэ.э. = (1556*1,46*0.3) руб. ≈ 682 руб.
Затраты на техническое обслуживание и ремонт Ст.р. – 1% от Цэвм.
В нашем случае Ст.р. = (0.01*20000) руб. = 200 руб.
Дополнительные затраты приведены в таблице 9.
61
ВРБ–40461806–10.27–08–10.81
Таблица 9 - Дополнительные затраты
Наименование
Количество,
Цена за единицу,
шт.
руб.
1
20
20
500
0,2
100
1
100
100
материалов
CD-R
Бумага
Чернила для принтера
Затраты, руб.
Итого:
220
Здоп. = 220 руб.
Расчет стоимости одного машинного часа:
Сам = 4000 руб.; Сэ.э.= 682 руб.; Ст.р.= 200 руб; Чр.ч.= 1552 ч.
См.ч. = ((4000+682+200) /1552) руб. = 3,15 руб.
Расчет
затрат
предприятия
на
оплату
машинного
времени,
использованного для создания инструмента исследования:
Кэвм = 1; Чр.ч. = 1552 ч.; См.ч. = 3,15 руб.
Зм.в. = (1*1552*3,15) руб. = 4889 руб.
Затраты на оплату труда разработчика:
Кр. = 1; Чраб. = 1552 ч; Сз.п. = 100 руб.
Зз.п. = (1*1552*100) руб. = 155200 руб.
Общая сумма затрат на создание инструмента исследования:
Зз.п. = 155200 руб.; Зм.в. = 4889 руб.; Здоп. = 220 руб.
Зс.с. = (155200 +4889+220) руб. = 160309 руб.
4.6 Расчет окупаемости
Предполагаемая цена одного диска программного продукта на рынке
Цд. = 500 руб.
Количество дисков Кд.= Зс.с/ Цд= 160309/500=321
Вывод: при выпуске 321 диска разработка системы полностью окупится.
62
ВРБ–40461806–10.27–08–10.81
Заключение
Основные результаты и выводы.
1) Произведен
анализ
методов
встраивания
данных
в
растровые
изображения.
2) Произведен обзор программного обеспечения встраивания данных в
растровые изображения. Выявлен недостаток коммерческих продуктов с
устойчивыми к JPEG сжатию алгоритмами работы.
3) Разработан метод встраивания данных в растровые изображения,
минимизирующий визуальные искажения.
4) Реализован и апробирован программный модуль встраивания данных в
изображения.
Реализован
и
апробирован
программный
модуль
извлечения данных из изображения.
5) Проведена оценка визуальных искажений изображения, вносимых
разработанным методом.
Перспективы развития
1) Разработка алгоритма встраивания данных в видеофайлы на основе
разработанной методики.
2) Разработка алгоритмов занесения информации в аудиофайлы.
3) Создание единой системы занесения данных в мультимедийные файлы.
63
ВРБ–40461806–10.27–08–10.81
Список использованных источников
1 Грибунин, В. Г. Цифровая стеганография / В. Г. Грибунин. – М. :
СОЛОН-Пресс, 2002. – 272 с.
2 Конахович, Г. Ф. Компьютерная стеганография. Теория и практика /
Г.Ф. Конахович, А. Ю. Пузыренко. – К. : “МК-Пресс”, 2006. – 288 с.
3 Миано, Дж. Форматы и алгоритмы сжатия изображений в действии /
Дж.Миано. – М. : Триумф, 2003. – 336 с.
4 Основы компьютерной стеганографии / А.В. Аграновский [и др.]. – М. :
Радио и связь, 2003. – 152 с.
5 Хорошко, В. А. Методы и средства защиты информации /В. А.
Хорошко, А. А. Чекатков. – К. : Юниор, 2003. – 504 с.
6 Darmstaedter, V. Low Cost Spatial Watermaking / V. Darmstaedter, J.
Delaigle, J. J. Quisquater // Computers and Graphics. – 1998. – Vol. 5. – P. 417-423.
7 Fridrich, J. Combining Low-Frequency and Spread Spectrum Watermaking /
J. Fridrich // Proc. of the SPIE Conference on Mathematics of Data/Image Coding,
Compression and Encryption. – 1998. – Vol. 3456. – P. 2-12.
8 Girod, B. The information theoretical significance of spatial and temporal
masking in video signals / B. Girod // Proc. of the SPIE Symposium on Electronic
Imaging. – 1989. – Vol. 1077. – P. 178-187.
9 Hsu, C. DCT-based Watermaking for Video / C. Hsu, J. Wu // IEEE
Transactions on Consumer Electronics. – 1998. – Vol. 44, No. 1. – P. 417-423.
10 Kutter, M. Digital Signature Of Color Images Using Amplitude Modulation /
M. Kutter, F. Jordan, F. Bossen // Proc. of the SPIE Storage Retrieval for Image and
Video Databases. – 1997. – Vol. 3022. – P. 518-526.
11 Watson, A. The cortex transform: rapid computation of simulated neural
images / A. Watson // Computer Vision, Graphics, and Image Processing. – 1987. –
Vol. 39, No. 3. – P. 311-327.
12 Генне, О. В. Основные положения стеганографии [Электронный ресурс]
64
ВРБ–40461806–10.27–08–10.81
/ О. В. Генне. – 2006. – Режим доступа : http://www.citforum.ru/internet/securities/
stegano.shtml.
13 Иванов, Д. В. Алгоритмические основы растровой графики
[Электронный ресурс] / Д. В. Иванов. – 2007. – Режим доступа :
http://www.intuit.ru/department/graphics/rastrgraph/14/1.html.
14 Программы, зарегистрированные в реестре программ для ЭВМ
Российской Федерации [Электронный ресурс] / Роспатент. – М. : ФИПС, 2010.
– Режим доступа : http://www1.fips.ru/Electronic_bulletin/Programs_db_topology/
01_PR.pdf.
15 United States Patent and Trademark Office [Electronic resource] / USPTO. –
Alexandria, 2010. – Access mode : http://www.uspto.gov/about/contacts/locations/
index.jsp.
65
ВРБ–40461806–10.27–08–10.81
Приложение А
Техническое задание
66
Похожие документы
Скачать