Разработка алгоритма стеганографического встраивания в контейнеры-изображения

Анализ стеганографических систем для выявления их особенностей. Определение целей программного средства встраивания данных в контейнеры-изображения. Рассмотрение результатов экспериментальных исследований встраивания данных в контейнеры-изображения.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 23.02.2018
Размер файла 3,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Курсовая работа

Разработка алгоритма стеганографического встраивания в контейнеры-изображения

Оглавление

Введение

1. Анализ предметной области

1.1 Терминология предметной области на основе библиографического поиска

1.2 Анализ стеганографических систем для выявления их особенностей

1.3 Анализ стегоконтейнеров для выявления наиболее распространенного

1.4 Анализ злоумышленных воздействий на стеганографические системы для выявления их особенностей

1.5 Анализ алгоритмов стеганографического встраивания для определения наилучшего

1.6 Определение целей и задач программного средства встраивания данных в контейнеры-изображения

2. Разработка программного средства встраивания данных в контейнеры-изображения

2.1 Разработка математической модели программного средства

2.2 Разработка архитектуры программного средства

2.3 Разработка алгоритмов модулей программного средства

2.4 Разработка методики работы с программным средством

3. Проведение экспериментальных исследований встраивания данных в контейнеры-изображения с помощью разработанного программного средства

3.1 Постановка задачи на экспериментальные исследования

3.2 Проведение экспериментальных исследований

3.3 Анализ результатов экспериментальных исследований

Заключение

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

Приложение

Введение

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

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

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

Целью данной работы является встраивание данных в контейнеры-изображения с помощью разработанного программного средства

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

1. Терминология предметной области на основе библиографического поиска

2. Анализ стеганографических систем для выявления их особенностей

3. Анализ стеганоконтейнеров для выявления наиболее распространенного

4. Анализ злоумышленных воздействий на стеганографические системы для выявления их особенностей

5. Анализ алгоритмов стеганографического встраивания для определения наилучшего

6. Определение целей и задач программного средства встраивания данных в контейнеры-изображения

7. Разработка проекта программного средства

8. Разработка архитектуры программного средства

9. Разработка алгоритмов модулей программного средства

10. Разработка методики работы с программным средством

11. Постановка задачи на экспериментальные исследования

12. Проведение экспериментальных исследований

13. Анализ результатов экспериментальных исследований

1. Анализ предметной области

1.1 Терминология предметной области на основе библиографического поиска

Стеганограафия (буквально с греческого «тайнопись») -- способ передачи или хранения информации с учётом сохранения в тайне самого факта такой передачи (хранения).

Цифровая стеганография -- направление классической стеганографии, основанное на сокрытии или внедрении дополнительной информации в цифровые объекты, вызывая при этом некоторые искажения этих объектов.

Стеганографическая система (стегосистема) -- объединение методов и средств, используемых для создания скрытого канала для передачи информации

Сообщение -- это термин, используемый для общего названия передаваемой скрытой информации

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

Пустой контейнер -- контейнер, не содержащий секретного послания.

Заполненный контейнер (стегоконтейнер) -- контейнер, содержащий секретное послание.

Стеганографический канал (стегоканал) -- канал передачи стегоконтейнера.

Ключ (стегоключ) -- секретный ключ, нужный для сокрытия стегоконтейнера.

Информация - сведения (сообщения, данные) независимо от формы их представления.

Нарушитель - физическое лицо или логический объект, случайно или преднамеренно совершивший действие, следствием которого является нарушение информационной безопасности.

1.2 Анализ стеганографических систем для выявления их особенностей

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

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

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

3) Противник не имеет технических и прочих преимуществ.

Схема стегосистемы представлена на рисунке 1.

Рисунок 1 - Стеганографическая система

Основными элементами стегосистемы являются:

1. контейнер:

а) пустой;

б) заполненный (стегоконтейнер);

2. ключ;

3. алгоритм встраивания;

4. алгоритм извлечения.

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

ѕ потоковый;

ѕ фиксированный.

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

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

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

Алгоритмы стеганографического встраивания информации. Теперь более подробно рассмотрим алгоритмы встраивания скрытой информации. Их можно разделить на несколько подгрупп:

ѕ Работающие с самим цифровым сигналом. Например, метод LSB.

ѕ «Впаивание» скрытой информации. В данном случае происходит наложение скрываемого изображения (звука, иногда текста) поверх оригинала. Часто используется для встраивания цифровых водяных знаков (ЦВЗ).

ѕ Использование особенностей форматов файлов. Сюда можно отнести запись информации в метаданные или в различные другие не используемые зарезервированные поля файла.

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

ѕ линейные (аддитивные);

ѕ нелинейные;

ѕ другие.

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

В нелинейных методах встраивания информации используется скалярное либо векторное квантование.

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

Таким образом, наиболее значимой частью стегосистемы является алгоритм встраивания.

1.3 Анализ стегоконтейнеров для выявления наиболее распространенного

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

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

Существует множество форматов изображений, но большинство из них достаточно узконаправленные и служат для определенных целей. Вместе с тем существуют и более универсальные форматы, которые используются повсеместно и в больше или меньшей степени удовлетворяют нуждам пользователей. Среди таких форматов можно выделить JPEG, GIF и PNG, т.к. являются на данный момент наиболее распространенными. Ниже более подробно рассмотрим каждый из этих форматов.

JPEG. Это формат растровых изображений, используемый в для хранения фотоизображений и подобных им изображений. В JPEG используется сжатие с потерями, что и определяет его назначение. Алгоритм JPEG наиболее пригоден для сжатия фотографий и подобных изображений с плавными перехода цвета и яркости. Также JPEG широко используется для хранения и передачи изображений в сети Интернет. Из-за своей специфики JPEG не подходит для сжатия знаковой, текстовой графики и чертежей, вследствие резкого контраста между соседними пикселями, что приводит к появлению заметных артефактов. JPEG непригоден для сжатия изображений при многоэтапной обработке (т.к. искажения изображения будет вноситься при сохранении промежуточных результатов обработки), а также для любых случаев, где недопустимы даже минимальные потери.

Формат JPEG отлично сжимает изображения, уменьшая тем самым их размер, но закономерно ухудшая качество. При сжатии изображение из цветового пространства RGB преобразуется в цветовое пространство YCbCr, после чего для каналов Cb и Cr может выполняться прореживание для блоков из 4 пикселей (обычно используются блоки 2х2, но также в редких случаях могут использоваться и 1х4, и 4х1). Далее каждый компонент (Y, Cb и Cr) разбивается на блоки 8х8 пикселей, после чгео каждый из таких блоков подвергается ДКП. Полученные коэффициенты ДКП квантуются (в общем случае для каждого компонента используется своя матрица квантования, которая хранится в заголовке JPEG-файла) и пакуются с использованием кодирования серий и кодов Хаффмана.

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

GIF. Является растровым форматом графических изображений, способный хранить данные без потери качества в формате не более 256 цветов. GIF использует сжатие без потерь по алгоритму LZW, что позволяет эффективно сжимать файлы с множеством однородных заливок.

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

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

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

PNG. Это растровый формат хранения изображений, использующий сжатие без потерь по алгоритму Deflate. Он был создан для замены устаревшего GIF. На настоящий момент PNG является один из основных форматов веб-графики.

PNG поддерживает три основных типа изображений:

· Полутоновое изображение. Каждый пиксель представлен одним сэмплом, который представляет собой шкалу уровня серого, где 0 - черный цвет, а максимальное значение, в зависимости от битовой глубины - белый цвет;

· Цветное индексированное изображение. Пиксель также представлен одни сэмплом, который является индексом в предоставляемой палитре, которая хранится в данных изображения. Здесь битовая глубина определяет максимальное количество цветов в палитре;

· Полноцветное изображение. Пиксель представлен тремя сэмплами: красный, где 0 - черный цвет, максимальное значение - красный цвет, зеленый, где 0 - черный цвет, максимальное значение - зеленый цвет, синий, где 0 - черный цвет, а максимальное значение - синий цвет. Здесь битовая глубина определяет количество бит на каждый сэмпл, а не пиксель.

В соответствии со спецификацией PNG имеет значительные преимущества перед GIF:

· Во-первых, в отличие от GIF, он поддерживает практически неограниченное количество цветов.

· Во-вторых, PNG поддерживает альфа-канал, что позволяет делать изображения полупрозрачными, что невозможно было сделать в GIF. Альфа-канал доступен для полутоновых и полноцветных изображений и определяет прозрачность пикселей изображения (0 - полностью непрозрачный пиксель, промежуточные значения - полупрозрачность и максимальное значение - полностью прозрачный пиксель). Альфа-канал доступен только для изображений, имеющих 8 или 16 бит на сэмпл, и не доступен для изображений, имеющих меньше 8 бит на сэмпл.

· В-третьих, он поддерживает гамма-коррекцию. В-четвертых, двумерную чресстрочную развертку. Однако в отличие от своего предшественника формат PNG не поддерживает анимацию, вследствие чего не способен полностью заменить данный формат.

В общем виде структура PNG может быть представлена как подпись и некоторое количество блоков (чанков) (Рисунок 2).

Рисунок 2- структура PNG в общем виде

Подпись файла (PNG Signature) всегда одинаковая, состоит из 8 байт в hex-записи представляет собой последовательность 89 50 4E 47 0D 0A 1A 0A (Рисунок 3).

Рисунок 3 - подпись PNG-файла

Блоки (чанки) - это блоки данных из которых состоит файл. Сами чанки делятся на 4 секции (Рисунок 4).

Рисунок 4 - Строение чанков

Длина - это поле размером 4 бит которое определяет размер чанка.

Тип - 4 ASCII-символа, чувствительных к регистру:

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

· Регистр второго символа определяет его «публичность». Если регистр верхний, то чанк «публичный», если нижний, то чанк «приватный». Публичные чанки являются официальными и распознаются большинством декодером, приватные чанки используются для кодирования специфической информации.

· Регистр третьего символа зарезервирован и предполагается, что он будет использован для различных версий стандарта. Для версий 1.0 и 1.1 регистр этого символа всегда должен быть верхним.

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

Минимальный PNG-файл должен содержать 4 обязательных чанка (Рисунок 5).

Рисунок 5 - минимальный PNG-файл

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

1) ширина (размер - 4 байта);

2) высота (размер - 4 байта);

3) битовая глубина (размер - 1 байт);

4) тип цвета, содержащий 3 флага: 1 - используется палитра, 2 - используется цвет, т.е. изображение не монохромное (размер - 1 байт);

5) метод сжатия, значение всегда 0 означает сжатие по алгоритму deflate, другие значения не применяются (размер - 1 байт);

6) метод фильтрации, значение всегда 0 (размер - 1 байт);

7) чресстрочный метод, который определяет порядок передачи данных и на данный момент имеет два значения: 0 - не чресстрочный метод, 1 - чресстрочный метод по алгоритму Adam7 (размер - 1 байт).

IDAT - чанк, который непосредственно содержит данные, которые закодированы в соответствие с значением поля метод сжатия (на данный момент только по алгоритму deflate). Изображение может быть разбито на несколько IDAT чанков для поточной передачи.

IEND - чанк конца файла, всегда идет последним. Поле данных этого чанка пустое.

Также к критическим чанкам относится PLTE. Данный чанк определяет палитру, список цветов изображения и используется в цветных индексированных изображениях.

К вспомогательным чанкам относятся:

· tRNS - содержит информацию о прозрачности;

· gAMA - чанк, служащий для определения гаммы;

· cHRM - чанк, использующийся для задания XYZ цветового пространства;

· sRGB - присутствие данного чанка означает использование стандартного цветового пространства RGB;

· iCCP - присутствие данного чанка означает использование цветового профиля ICC;

· iTXt - содержит текст в UTF-8;

· tEXt - может содержать текст в формате ISO/IEC 8859-1;

· zTXt - сжатый текст с ограничениям tEXt;

· bKGD - чанк, который задает фоновый цвет;

· pHYs - определяет предполагаем размер пикселя или соотношение сторон изображения;

· sBIT - определяет цветовую точность изображения;

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

· hIST - содержит приблизительную частоту использования каждого цвета в палитре;

· tIME - содержит время последней модификации изображения.

Таким образом, вследствие широкой распространенности формата PNG как в сети Интернет, так и для хранения изображений не допускающих потерь качества (что положительно сказывается на встраивании скрытой информации), в данной работе будет разработан алгоритм встраивания в контейнеры изображения формата PNG.

1.4 Анализ злоумышленных воздействий на стеганографические системы для выявления их особенностей

Применительно к стегосистемам выделяют 3 типа нарушителей:

1. Пассивный нарушитель. Такой нарушитель может обнаружить факт наличия скрытой информации и, возможно, прочитать сообщение.

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

3. Злоумышленный нарушитель. Это самый опасный тип нарушителя. Такой нарушитель способен не только разрушать, но и создавать ложные скрытые сообщения.

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

В общем случае выделяют следующие виды атак на стеганосистемы:

ѕ Обнаружение факта присутствия скрытой информации.

ѕ Извлечение скрытого сообщения.

ѕ Видоизменение (модификация) скрытой информации.

ѕ Запрет на выполнение любой пересылки информации, в том числе скрытой.

Первые два типа относятся к пассивным атакам на стеганосистему, а последние - к активным (или злонамеренным) атакам.

Для проведения атак нарушитель в большинстве случаев для начала проводит первичный анализ, который включает в себя:

1. Первичная сортировка стего по внешним признакам.

2. Выделение стего с известным алгоритмом встраивания.

3. Определение использованных стегоалгоритмов.

4. Проверка достаточности объема материала для стегоанализа.

5. Проверка возможности проведения анализа по частным случаям.

6. Аналитическая разработка стегоматериалов. Разработка методов вскрытия стегосистемы.

7. Выделение стего с известными алгоритмами встраивания, но неизвестными ключами и т. д.

1.5 Анализ алгоритмов стеганографического встраивания для определения наилучшего

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

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

Высокоуровневые свойства СЧЗ пока редко учитываются при построении стегоалгоритмов. Их отличием от низкоуровневых является то, что эти свойства проявляются «вторично», обработавший первичную информацию от СЧЗ мозг выдает команды на ее «подстройку» под изображение. Основные высокоуровневые свойства:

1. Чувствительность к контрасту. Высококонтрастные участки изображения, перепады яркости обращают на себя значительное внимание.

2. Чувствительность к размеру. Большие участки изображения «заметнее» меньших размером. Причем существует порог насыщения, когда дальнейшее увеличение размера не существенно.

3. Чувствительность к форме. Длинные и тонкие объекты вызывают большее внимание, чем круглые однородные.

4. Чувствительность к цвету. Некоторые цвета (например, красный) «заметнее» других. Этот эффект усиливается, если фон заднего плана отличается от цвета фигур на нем.

5. Чувствительность к местоположению. Человек склонен в первую очередь рассматривать центр изображения.

6. Люди обычно внимательнее к изображениям переднего плана, чем заднего.

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

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

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

ѕ Метод замены наименее значащего бита;

ѕ Метод псевдослучайного интервала;

ѕ Метод псевдослучайной перестановки;

ѕ Метод замены палитры;

ѕ Метод блочного скрытия;

ѕ Метод Куттера-Джордана-Боссена;

ѕ Метод Дармстедтера-Делейгла-Квисквотера-Макка;

ѕ Метод Коха и Жао;

ѕ Метод Бенгама-Мемона-Эо-Юнга;

Рассмотрим более подробно каждый из представленных выше методов.

Метод замены наименее значащего бита.

Наиболее распространенным методом встраивания скрытой информации в изображения является метод замены наименьшего значащего бита или метод LSB (LSB - Least Significant Bit).

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

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

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

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

Преимущества данного метода:

1) размер файла-контейнера остается неизменным;

2) при замене одного бита в канале синего цвета внедрение невозможно заметить визуально;

3) возможность варьировать пропускную способность, изменяя количество заменяемых бит.

Недостатки:

1) неустойчив к обработке файла-контейнера;

2) легкость обнаружения и удаления.

Метод псевдослучайного интервала.

Метод псевдослучайного интервала (ПСИ) является дальнейшим развитием метода LSB. В основе данного метода лежит использование набора псевдослучайных чисел (задаваемых секретным ключом), которые определяют псевдослучайный интервал между отдельными пикселями изображения, в которые методом LSB встраиваются информационные биты.

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

Достоинства метода:

1) высокая скорость преобразования;

2) устойчивость к детектированию и извлечению сообщения. Недостатки метода:

1) Метод уязвим к разрушению сообщения посредством обнуления или псевдослучайного заполнения всех LSB контейнеров.

Метод псевдослучайной перестановки.

Данный метод также является дальнейшим развитием метода LSB. Смысл метода псевдослучайной перестановки заключается в том, что генератор псевдослучайных числе образует последовательность индексов j1, j2,…,jm и сохраняет k- й бит сообщения в пикселе с индексом jk.

Функция перестановки должна быть псевдослучайной, иными словами, она должна обеспечивать выбор бит контейнера приблизительно случайным образом. Таким образом, секретные биты будут равномерно распределены по всему битовому пространству контейнера. Однако при этом индекс определенного бита контейнера может появиться в последовательности более одного раза и в этом случае может произойти "пересечение" - искажение уже встроенного бита. Если количество бит сообщения намного меньше количества младших бит изображения, то вероятность пересечения является незначительной, и искаженные биты в дальнейшем могут быть восстановлены с помощью корректирующих кодов.

Вероятность, по крайней мере, одного пересечения оценивается как (1)

(1)

lm - размер встраиваемого сообщения,

lc - размер контейнера.

Достоинства метода:

1) Высокая пропускная способность (такая же, как и у метода LSB). ПСП является лишь предварительным кодированием перед реализацией встраивания данных. То есть сохраняет все достоинства метода-прототипа.

2) Для больших n (~1000) существенно возрастает устойчивость к детектированию, в первую очередь, статистическими методами. Однако повышение n ведет к резкому повышению сложности реализации.

Недостатки:

1) Сильная чувствительность к малейшим искажениям стегоконтейнера.

Метод замены палитры.

Данный метод основан на использовании специфических особенностей формата файла-контейнера и предназначен для скрытия текстовой информации в графических файлах, использующих цветовые палитры. Такими файлами являются, например, файлы BMP, PCX и GIF.

Палитра представляет собой некоторое число триад байт (не более 256), которые описывают цвет точки по тому же принципу, что и в файлах True Color.

Палитра из N цветов определяется как список пар индексов (i, ci), который определяет соответствие между индексом i и его вектором цветности ci. В изображении каждому пикселю присваивается индекс в палитре. Так как цвета в палитре не всегда упорядочены, то скрываемую информацию можно кодировать последовательностью хранения цветов в палитре. Существует N! различных способов перестановки N-цветной палитры, что вполне достаточно для сокрытия небольшого сообщения.

Достоинства:

1) Метод является достаточно ёмким для скрытия информации в графических файлах и позволяет оставлять изображение без изменений.

Недостатки:

1) Информация, скрытая этим методом, легко выявляется статистическим анализом.

Метод блочного скрытия.

Данный метод представляет собой еще один подход к реализации метода замены. Суть этого метода заключается в следующем: изображение-оригинал разбивается на lM непересекающихся блоков ?i (1 ? i ? lM ) произвольной конфигурации, для каждого из которых вычисляется бит четности b(?i) (2).

(2)

В каждом блоке производится скрытие одного секретного бита Mi. Если бит четности b(?i) ? Mi, то происходит инвертирование одного НЗБ из блока ?i, в результате чего b(?i) = Mi.

Достоинства метода:

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

2) влияние последствий встраивания секретных данных в контейнер можно уменьшить за счет увеличения размера блока.

Недостатки:

1) низкая устойчивость к искажениям

Метод Куттера-Джордана-Боссена.

Для встраивания информации в контейнер согласно данному методу используется одно из свойств зрительной системы человека. Это свойство заключается в том, что восприимчивость человека к изменениям яркости синего цвета по сравнению с красным и зелёным -- меньше всего.
И так, для встраивания информации будет использоваться синий цвет заданного контейнера-изображения.

Пусть mi - бит, подлежащий встраиванию, Bx,y - яркость синего цвета пикселя с координатами (x, y), Bx,y - измененная яркость, Yx,y - яркость пикселя, л - коэффициент, задающий энергию встраиваемого бита данных, у -- размер области, по которой будет прогнозироваться яркость.

Скрытие информации производится путем встраивания 1 бита сообщения в 1 пиксель контейнера. Секретный ключ задаёт координаты пикселей, в которые будет производиться встраивание.

При встраивании яркости красного и зелёного цветов остаются без изменений, а яркость синего -- изменяется по формуле (3).

(3)

.

Так как на принимающей стороне нет оригинального изображения, то и нет возможность гарантированно узнать в какую сторону изменилась яркость синего цвета. Поэтому для извлечения прогнозируется значение яркости синего цвета (4).

(4)

где

Для непосредственно извлечения скрытого сообщения используется формула (5).

(5)

Достоинства данного метода:

1) Высокая пропускная способность;

2) Устойчивость к сжатию;

3) Устойчивость к разрушению младших бит контейнера;

Недостатки:

1) Извлечение носит вероятностный характер.

Метод Дармстедтера-Делейгла-Квисквотера-Макка.

Согласно данному методу процесс встраивания бит сообщения выполняется в четыре этапа:

1) Разбиение массива изображения-контейнера на блоки 8x8 пискселей.

2) Классификация пикселей отдельного блока на зоны с приблизительно одинаковыми значениями яркости.

3) Разбиение каждой зоны на категории в соответствии с индивидуальной (псевдослучайной) маской.

4) Встраивание бита в зависимости от соотношения между средними значениями категорий каждой зоны путем модификации значений яркости каждой категории в каждой зоне.

Метод Коха и Жао.

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

Далее выбирается любой блок (в каждый блок записывается 1 бит информации). Псевдослучайно выбираются два коэффициента ДКП в каждом блоке из среднечастотных коэффициентов.

Для передачи бита «0» необходимо, чтобы разница модулей коэффициентов ДКП превышала некоторую положительную величину; для передачи бита «1» разница должна быть меньшей по сравнению с некоторой отрицательной величиной.

Таким образом, при передаче «0» увеличивают модуль первого коэффициента и уменьшают модуль второго коэффициента. При передаче «1» уменьшают модуль первого коэффициента и увеличивают модуль второго (6).

(6)

где ?b - матрица 8х8 коэффициентов ДКП блока;

b - номер блока;

(u1 , v1) и (u2 , v2) - координаты.

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

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

Для извлечения данных выполняется аналогичная процедура выбора коэффициентов, а решение о переданном бите принимается в соответствии с формулой (7).

(7)

Метод Бенгама-Мемона-Эо-Юнга.

Данный метод является оптимизацией метода Коха и Жао. Оптимизация заключается в том, что:

1. Для встраивания используются не все блоки, а только наиболее подходящие для встраивания.

Подходящими для встраивания является блоки, которые одновременно удовлетворяют двум требованиям:

ѕ Блок не должен иметь резких переходов яркости;

ѕ Блок не должен быть слишком монотонным.

2. В частотной области блока для встраивания выбираются 3 (вместо 2 в методе Коха и Жао) коэффициента ДКП, что приводит к значительному уменьшению искажения контейнера.

При встраивании изображение также разбивается на блоки 8х8 пикселей. Для встраивание в блок бита сообщения выбираются три коэффициента ДКП блока из среднечастотной области: (u1,v1), (u2,v2), (u3,v3).

При встраивании бита «0», эти коэффициенты изменяются таким образом (при необходимости), чтобы третий коэффициент стал меньше любого из первых двух (8). При встраивании «1», третий коэффициент делается большим по сравнению с первым и вторым коэффициентами (9).

(8)

(9)

Для принятия решения о достаточности различения указанных коэффициентов ДКП, вводится значение порога различения Р (10).

(10)

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

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

Для анализа алгоритмов стеганографического встраивания использовались следующие критерии:

1. Скорость преобразования (К1). Данный критерий отражает, с какой скоростью осуществляется преобразования пустого контейнера и скрытого сообщения в заполненный стегоконтейнер.

2. Возможность встраивания сообщений больших объемов (К2). Данный критерий отражает, возможно ли с помощью данного метода встроить скрытое сообщение относительно большого объема.

3. Устойчивость к обнаружению факта присутствия скрытой информации (К3).

4. Устойчивость к извлечению скрытого сообщения (К4);

5. Устойчивость к видоизменению скрытой информации (К5).

6. Возможность работы с наиболее популярными форматами изображений (К4), к которым на данный момент относятся: JPEG (К6.1), PNG (К6.2) и GIF (К6.3).

В таблице 1 представлено сравнение методов стеганографического встраивания.

Таблица 1 - Методы стеганографического встраивания

Название метода

Критерии оценки

К1

К2

К3

К4

К5

К6.1

К6.2

К6.3

Метод замены наименее значащего бита

Высокая

Да

Низкая

Низкая

Отсутствует

Нет

Да

Да

Метод псевдослучайного интервала

Высокая

Да

Низкая

Низкая

Отсутствует

Нет

Да

Да

Метод псевдослучайной перестановки

Высокая

Да

Ниже среднего

Низкая

Отсутствует

Нет

Да

Да

Метод замены палитры

Высокая

Нет

Низкая

Низкая

Низкая

Нет

Да

Да

Метод блочного скрытия

Средняя

Да

Ниже среднего

Низкая

Отсутствует

Нет

Да

Да

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

Средняя

Да

Средняя

Низкая

Низкая

Да

Да

Да

Метод Куттера-Джордана-Боссена

Средняя

Да

Выше среднего

Средняя

Низкая

Нет

Да

Да

Метод Дармстедтера-Делейгла-Квисквотера-Макка

Низкая

Да

Выше среднего

Средняя

Средняя

Да

Да

Да

Метод Коха и Жао

Низкая

Да

Выше среднего

Высокая

Высокая

Да

Да

Да

Метод Бенгама-Мемона-Эо-Юнга

Низкая

Да

Высокая

Высокая

Высокая

Да

Да

Да

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

1.6 Определение целей и задач программного средства встраивания данных в контейнеры-изображения

Цель программного средства: реализация алгоритма Куттера-Джордана-Боссена для контейнеров-изображений формата PNG.

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

1. Преобразование встраиваемого сообщения в двоичный код.

2. Получение битовой карты изображения.

3. Определение количества доступных для встраивания пикселей и их координат с учетом количества пикселей для прогноза.

4. Изменение яркости синего цвета при встраивании в соответствии с формулой (3).

5. Встраивание скрытого сообщения.

6. Прогноз яркости синего цвета в соответствии с формулой (4).

7. Извлечение скрытого сообщения в соответствии с формулой (5).

8. Преобразование извлеченного двоичного кода в сообщение.

2. Разработка программного средства встраивания данных в контейнеры-изображения

2.1 Разработка математической модели программного средства

Встраивание одного бита сообщения осуществляется в один пиксель изображения, при это изменяется яркость синего цвета, а яркость красного и зеленого остаются без изменений.

Пусть:

ѕ R - яркость красного цвета;

ѕ G - яркость зеленого цвета;

ѕ B - яркость синего цвета;

ѕ m - встраиваемый бит (`1' или `0');

ѕ x,y - координаты пикселя.

Тогда - измененная в зависимости от встраиваемого бита яркость синего цвета, вычисляется по формуле (11).

(11)

При извлечении прогнозируется яркость синего цвета по соседним пикселям (12).

(12)

где

Для непосредственно извлечения скрытого сообщения используется формула (13).

(13)

2.2 Разработка архитектуры программного средства

Архитектура программного средства состоит из следующих модулей:

ѕ Пользовательский интерфейс;

ѕ Модуль получения данных;

ѕ Модуль встраивания скрытого сообщения в изображение;

ѕ Модуль извлечения скрытого сообщения.

Пользовательский интерфейс предназначен для взаимодействия пользователя с программой. Он отображает формы для ввода данных пользователем и отображения результатов работы. Пользовательский интерфейс представлен на рисунках 7, 8.

Модуль получения данных отвечает за обработку введенных данных и передачу их в следующие модули для выполнения необходимых расчетов.

В модуле встраивания скрытого сообщения в изображения происходит встраивание последовательности бит скрытого сообщения в изображение по формуле (3).

В модуле извлечения скрытого сообщения выполняется прогноз яркости синего цвета по формуле (4), а затем извлечение последовательности бит встроенного скрытого сообщения по формуле (5).

Архитектура программы представлена на рисунке 6.

Рисунок 6 - Архитектура программы

Рисунок 7 - Интерфейс программы (встраивание)

Рисунок 8 - Интерфейс программы (извлечение)

2.3 Разработка алгоритмов модулей программного средства

Блок-схема алгоритма разрабатываемой программы представлена на рисунке 9. Алгоритм работы программы состоит из следующих шагов:

Шаг 2: на этом шаге происходит выбор действия, если выбрано «Встраивание», то переходим на Шаг 3, если «Извлечение» - на Шаг 12.

Шаг 3: на этом шаге происходит задание начальных значений.

Шаг 4: на этом шаге происходит преобразование введенного пользователем текста в двоичный код.

Шаг 5: на этом шаге происходит получение битовой карты изображения.

Шаг 6: запуск подпроцесса «Вычисление координат доступных пикселей».

Шаг 7: на этом шаге происходит вычисление количества доступных для встраивания бит.

Шаг 8: на этом шаге происходит вычисление количества бит встраиваемого сообщения.

Шаг 9: на этом шаге происходи сравнение количества доступных для встраивания бит и количества бит встраиваемого сообщения, если число бит сообщения превышает числа доступных для встраивания бит, то переходим на Шаг 10, если не превышает - на Шаг11.

Шаг 10: завершение программы с ошибкой «Недостаточно места».

Шаг 11: запуск подпроцесса «Встраивание сообщения в изображение».

Шаг 12: на этом шаге происходит задание начальных значений.

Шаг 13: на этом шаге происходит получение битовой карты изображения.

Шаг 14: запуск подпроцесса «Вычисление координат доступных пикселей».

Шаг 15: запуск подпроцесса «Извлечение двоичного кода сообщения из изображения».

Шаг 16: на этом шаге извлеченная последовательность бит переводится в текст.

Блок-схема алгоритма работы подпроцесса «Вычисление координат доступных пикселей» представлена на рисунке 10. Алгоритм работы подпроцесса состоит из следующих шагов:

Шаг 2: на этом шаге происходит задание начальных значений.

Шаг 3: на этом шаге происходит выбор количества пикселей для прогноза яркости, если 1 пиксель, то переходим на Шаг 4, если 2 - на шаг 10, если 3 - на Шаг 16.

Шаг 4: начало цикла по y, присвоение y значения 1.

Рисунок 9 - Блок-схема алгоритма работы программы

Шаг 5: начало цикла по x, присвоение x значения 1.

Шаг 6: на этом шаге происходит проверка условия, если остаток от деления y на 2 и x на 2 равен 0 или 1, то переходим на Шаг 7, если нет - на Шаг 8.

Шаг 7: на этом шаге происходит добавление в массив пары координат (x, y).

Шаг 8: конец цикла по x, на этом шаге происходит увеличение значения x на 1, если x меньше ширины изображения-1, то переходим на Шаг 5, иначе - на Шаг 9.

Шаг 9: конец цикла по y, на этом шаге происходит увеличение значения y на 1, если y меньше высоты изображения-1, то переходим на Шаг 4, иначе - завершение работы подпроцесса.

Шаг 10: начало цикла по y, присвоение y значения 2.

Шаг 11: начало цикла по x, присвоение x значения 2.

Шаг 12: на этом шаге происходит проверка условия, если остаток от деления y на 3 и x на 3 равен 0, 1 или 2, то переходим на Шаг 13, иначе - на Шаг 14.

Шаг 13: на этом шаге происходит добавление в массив пары координат (x, y).

Шаг 14: конец цикла по x, на этом шаге происходит увеличение значения x на 1, если x меньше ширины изображения-2, то переходим на Шаг 11, иначе - на Шаг 15.

Шаг 15: конец цикла по y, на этом шаге происходит увеличение значения y на 1, если y меньше высоты изображения-2, то переходим на Шаг 10, иначе - завершение работы подпроцесса.

Шаг 16: начало цикла по y, присвоение y значения 3.

Шаг 17: начало цикла по x, присвоение x значения 3.

Шаг 18: на этом шаге происходит проверка условия, если остаток от деления y на 4 и x на 4 равен 0, 1, 2 или 3, то переходим на Шаг 19, иначе - на Шаг 20.

Шаг 19: на этом шаге происходит добавление в массив пары координат (x, y).

Шаг 20: конец цикла по x, на этом шаге происходит увеличение значения x на 1, если x меньше ширины изображения-3, то переходим на Шаг 17, иначе - на Шаг 21.

Шаг 21: конец цикла по y, на этом шаге происходит увеличение значения y на 1, если y меньше высоты изображения-3, то переходим на Шаг 16, иначе - завершение работы подпроцесса.

Рисунок 10 - Блок-схема работы подпроцесса «Вычисление координат доступных пикселей»

Блок-схема алгоритма работы подпроцесса «Встраивание сообщения в изображение» представлена на рисунке 11. Алгоритм работы подпроцесса состоит из следующих шагов:

Шаг 2: на этом шаге происходит задание начальных значений.

Шаг 3: начало цикла по i, присвоение i значения 0.

Шаг 4: на данном шаге проверяется значение встраиваемого бита, если бит «1», то переходим на Шаг 5, если бит «0» - на Шаг 8.

Шаг 5: на данном шаге происходит вычисление значения измененной яркости синего цвета по формуле (11).

Шаг 6: на данном шаге осуществляется проверка условия, если измененная яркость больше 255, то переходим на Шаг 7, иначе - на Шаг 11.

Шаг 7: присвоение измененной яркости синего цвета значения 255.

Шаг 8: на данном шаге происходит вычисление значения измененной яркости синего цвета по формуле (11).

Шаг 9: на данном шаге осуществляется проверка условия, если измененная яркость меньше 0, то переходим на Шаг 10, иначе - на Шаг 11.

Шаг 10: присвоение измененной яркости синего цвета значения 0.

Шаг 11: на этом шаге происходит встраивание измененного значения яркости синего цвета в i-ый доступный пиксель изображения.

Шаг 12: конец цикла по i, на этом шаге происходит увеличение значения i на 1, если i меньше размера встраиваемого текста в битах, то переходим на Шаг 3, иначе - завершение работы подпроцесса.

Блок-схема алгоритма работы подпроцесса «Извлечение двоичного кода изображения из сообщения» представлена на рисунке 12. Алгоритм работы подпроцесса состоит из следующих шагов:

Шаг 2: на этом шаге происходит задание начальных значений.

Шаг 3: начало цикла по i, присвоение i значения 0.

Шаг 4: начало цикла по j, присвоение j значения 0.

Рисунок 11 - Блок-схема алгоритма работы подпроцесса «Встраивание сообщения в изображение»

Шаг 5: на этом шаге происходит промежуточное вычисление прогноза яркости синего цвета по соседним пикселям по формуле (12).

Шаг 6: конец цикла по j, увеличение значения j на 1, если j меньше количества пикселей для прогноза яркости, то переходим на Шаг 4, иначе - на Шаг 7.

Шаг 7: на этом шаге происходит вычисление прогнозируемой яркости синего цвета путем деления промежуточного прогноза яркости на количество пикселей для прогноза яркости.

Шаг 8: на этом шаге происходит проверка условия, если значение яркости синего цвета изображения больше значения прогноза, то переходим на Шаг 10, иначе - на Шаг 9.

Шаг 9: присвоение биту сообщения значения «1».

Шаг 10: присвоение биту сообщения значения «0».

Шаг 11: добавление бита к массиву бит извлекаемого сообщения.

Шаг 12: конец цикла по i, на этом шаге происходит увеличение значения i на 1, если i меньше размера извлекаемого текста в битах, то переходим на Шаг 3, иначе - завершение работы подпроцесса.

2.4 Разработка методики работы с программным средством

Приступая к работе с программным средством, пользователю необходимо выбрать одну из двух вкладок «Встраивание» или «Извлечение» в зависимости от целей работы с программным средством.

При выборе вкладки «Встраивание» пользователь должен указать:

ѕ путь к исходному файлу (изображению в формате PNG), в которое будет производится встраивание, в поле «Путь к исходному файлу»;

ѕ путь к новому файлу (изображение в формате PNG), в котором сохранится изображение с встроенным в него сообщением, в поле «Путь к новому файлу»;

ѕ сообщение, которое будет встроено в изображение, в поле «Встраиваемое сообщения»;

ѕ количество пикселей для прогноза яркости (от 1 до 3) в выпадающем списке «Количество пикселей для прогноза яркости».

Рисунок 12 - Блок-схема алгоритма работы подпроцесса «Извлечение двоичного кода изображения из сообщения»

Для встраивания сообщения в изображение необходимо нажать на кнопку «Выполнить».

При выборе вкладки «Извлечение», пользователь должен указать:

ѕ путь к файлу (изображению в формате PNG), из которого будет производится извлечение, в поле «Путь к файлу»;

ѕ длину сообщения, которое ранее было встроено в изображение, в поле «Длина сообщения»;

ѕ количество пикселей для прогноза яркости (от 1 до 3), используемое при встраивании сообщения в изображение, в выпадающем списке «Количество пикселей для прогноза яркости».

Для выполнения извлечения необходимо нажать на кнопку «Выполнить», после чего в поле «Сообщение» отобразится извлеченное сообщение.

3. Проведение экспериментальных исследований встраивания данных в контейнеры-изображения с помощью разработанного программного средства

3.1 Постановка задачи на экспериментальные исследования

Задачей экспериментального исследования данной научно-исследовательской работы является определение наиболее подходящих изображений для работы с методом Куттера-Джордана-Боссена при помощи программы, разработанной и описанной ранее (листинг программы приведен в Приложении).

3.2 Проведение экспериментальных исследований

В ходе экспериментальных исследований было проведено 10 экспериментов. В каждом эксперименте в изображение производилось встраивание строки «Съешь же еще этих мягких французских булок да выпей чаю» длиной 55 символов (440 бит) при 2 пикселях для прогноза яркости синего цвета. программный стеганографический контейнер изображение

В ходе одного из экспериментов был получен наихудший результат извлечения, в котором количество битовых ошибок достигло 73 (рисунок 13, 14, 15).


Подобные документы

  • Основные понятия стеганографии. Атаки на стегосистемы, стегосистемы водяных знаков. Применение дискретных вейвлет преобразований в кодировании цифровых зображений. Алгоритмы стеганографического встраивания информации в изображения формата JPEG2000.

    дипломная работа [3,5 M], добавлен 09.06.2013

  • Информация о графических форматах. Хранение изображения в программе. Очередь как вспомогательная структура данных. Загрузка изображения из двоичного файла. Операции с изображением. Уменьшение разрешающей способности. Увеличение размера изображения.

    курсовая работа [1,1 M], добавлен 29.06.2013

  • Алгоритмы задач об упаковке в контейнеры: "Следующий подходящий" (NF), "Первый подходящий" (FF), "Наилучший подходящий" (BF), On-line, с ограниченным доступом к контейнерам, первый подходящий с упорядочиванием (FFD). Релаксация линейного программирования.

    реферат [673,7 K], добавлен 22.05.2014

  • Анализ методов, основанных на использовании преобразования во временной области и добавления эхо-сигналов для стеганографической защиты аудио файлов. Метод встраивания с расширением спектра. Эффективность стеганографической защиты. Техника безопасности.

    дипломная работа [2,9 M], добавлен 14.11.2011

  • Классическое, компьютерное и цифровое направления стенографии. Использование зарезервированных полей компьютерных форматов файлов. Алгоритмы встраивания скрытой информации. Стеганография и цифровые водяные знаки. Документация программного продукта.

    курсовая работа [37,7 K], добавлен 22.06.2011

  • Разработка программы, предназначенной для сжатия или компрессии полутонового изображения международным стандартом JPEG. Описание метода JPEG, выдача результатов в виде декодированного изображения. Обзор методов компрессии полутонового изображения.

    курсовая работа [43,5 K], добавлен 14.10.2012

  • Методы кодирования изображения: кодированием длины серии, частотно-зависимое кодирование, метод Лемпеля-Зива. Размер строки при 16-битном цвете. Расчет размера всего исходного изображения. Примеры качественного и некачественного сжатия изображения.

    презентация [2,0 M], добавлен 22.10.2013

  • Описание алгоритма поворота изображения. Вычисление синуса и косинуса угла поворота изображения. Алгоритм и реализация функции поворота изображения вокруг центра на заданный пользователем угол. Проверка на соответствие диапазону допустимых значений.

    курсовая работа [1,3 M], добавлен 23.01.2015

  • Оснащение робототехнических комплексов систем технического зрения. Математическая модель и векторная диаграмма дисторсии изображения. Создание эталонного изображения тестового объекта. Определение основных погрешностей формирования изображения.

    курсовая работа [1,4 M], добавлен 14.06.2014

  • Теоретические и практические основы Web-программирования. Проблемы и перспективы Интернет-магазинов. Типы данных, используемые в PHP. Работа с базой данных. Особенности встраивания РНР кода. Схема работы Интернет-магазина. Язык Web-программирования РНР.

    курсовая работа [3,8 M], добавлен 27.12.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.