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

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

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

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

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

Рисунок 13 - Встраивание в изображение строки

Рисунок 14 - Результат неудачного извлечения

Рисунок 15 - Изображение, в которое производилось встраивание (3.png)

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

Также в ходе экспериментальных исследований были найдены изображения, для которых извлеченный текст не отличается от встраиваемого (рисунок 16, 17, 18).

Рисунок 16 - Встраивание в изображение строки

Рисунок 17 - Результат успешного извлечения

Рисунок 18 - Изображение, в которое производилось встраивание (5.png)

Как видно из скриншотов работы программы извлеченный текст абсолютно идентичен встроенному ранее.

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

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

Таблица 2 - результаты экспериментов

эксперимента

Количество битовых ошибок

Количество символьных ошибок

1

14

10

2

62

27

3

73

40

4

39

27

5

0

0

6

7

7

7

0

0

8

8

7

9

3

3

10

35

22

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

Заключение

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

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

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

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

В качестве контейнера были выбраны изображения формата PNG.

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

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

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

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

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

5. Был проведен анализ методов стеганографического встраивания, в результате которого был выбран метод Куттера-Джордана-Боссена.

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

7. Была разработана формальная модель работы метода Куттера-Джордана-Боссена.

8. Разработана программная реализация метода Куттера-Джрдана-Боссена, включающая следующие модули:

1) пользовательский интерфейс;

2) модуль получения данных;

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

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

9. Разработаны следующие алгоритмы:

1) алгоритм работы программного средства;

2) алгоритм вычисления координат доступных пикселей;

3) алгоритм встраивания сообщения в изображение;

4) алгоритм извлечения сообщения из изображения.

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

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

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

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

1. Федеральный закон от 27 июля 2006 г. N 149-ФЗ «Об информации, информационных технологиях и о защите информации»

2. ГОСТ Р 53114-2008. Защита информации. Обеспечения информационной безопасности в организации. Основные термины и определения [Текст]. - Введ. 2008-12-18 - М.: Стандартинформ, 2009. - III, 16с.

3. Конахович Г. Ф., Пузыренко А. Ю. Компьютерная стеганография. Теория и практика. -- К.: МК-Пресс, 2006. -- 288 с.

4. Аграновский А.В. Стеганография, цифровые водяные знаки и стеганоанализ. - М.: Вузовская книга, 2009. -220 с.

5. А. В. Аграновский, П. Н. Девянин, Р. А. Хади, А. В. Черемушкин. Основы компьютерной стеганографии: Учебное пособие для вузов - М.: Радио и связь, 2003

6. Грибунин В. Г., Оков И. н., Туринцев И. В. Цифровая стеганография. - М.: СОЛОН-ПРЕСС, 2009-272 с.

7. Рябко Б.Я. Основы современной криптографии и стеганографии. - М.: «Горячая линия-телеком», 2010.

8. Хорошко В. А. Введение в компьютерную стеганографию / В. А. Хорошко, М. Е. Шелест - Киев: Ми-Пресс, 2006.

9. Барсуков B.C., Романцов А.П. Компьютерная стеганография: вчера, сегодня, завтра. -- М.: Солон--Пресс, 2005.

10. К. И. Пономарев, Г. П. Путилов. Стеганография: история и современные тезнологии. - М.: МИЭМ, 2009.

11. Т. Г. Ажбаев, И. М. Ажмухамедов. Анализ стойкости современных стеганографических алгоритмов [Текст] / Т. Г. Ажбаев, И. М. Ажмухамедов // Вестник Астраханского государственного технического университета. - 2008. - №1

12. Е. М. Боброва, С. Н. Борисова. Защита информации с использованием методов стеганографии [Текст] / Е. М. Боброва, С. Н. Борисова // Успехи современного естествознания. - 2011. - №7

13. Gary C. Kessler. An Overview of Steganography for the Computer Forensics Examiner [Текст] / Gary C. Kessler // Forensic Science Communication. - 2004. - №3

14. Д. В. Асотов, Б. В. Матвеев, С. Н. Панычев. Применение стеганографических алгоритмов для повышения степени защиты конфиденциальности данных в цифровых системах передачи информации [Текст] / Д. В. Асотов, Б. В. Матвеев, С. Н. Панычев // Вестник Воронежского государственного технического университета. - 2012. - №12-1

15. Варновский Н. П. О теоретико-сложностном подходе к определению стойкости стеганографических систем. Сб. трудов 4-ой международной конференции //Дискретные модели в теории управляющих систем., 19-25 июля 2000 г. М.: .МАКС Пресс.

16. Швидченко И.В. Анализ криптостеганографических алгоритмов // Проблемы управления и информатики, 2007. -- № 4.

17. Генне О.В. Основные положения стеганографии // Журнал "Защита информации. Конфидент". -- 2000. -- №3.

18. Кустов В.Н., Федчук А.А. Методы встраивания скрытых сообщений // Журнал "Защита информации. Конфидент". 2000. -- №3.

19. Завьялов С. В., Ветров Ю. В. Стеганографические методы защиты информации : учеб.пособие. -- Спб.: Изд-во Политехн. ун-та, 2012.

20. Национальная библиотека им. Н. Э. Баумана. Стеганография. Электронный ресурс. Режим доступа: http://ru.bmstu.wiki/Стеганография, свободный. - Загл. с экрана. - Яз. рус., последнее обращение 10 декабря 2016г.

21. Стеганография. Электронный ресурс. Режим доступа: http://cryptowiki.net/index.php?title=Стеганография, свободный. - Загл. с экрана. - Яз. рус., последнее обращение 15 декабря 2016г.

22. Portable Network Graphics (PNG) Specification (Second Edition). Электронный ресурс. Режим доступа: https://www.w3.org/TR/PNG/, свободный. Загл. - с экрана. - Яз. англ.

23. PNG (Portable Network Graphics) Specification, Version 1.2. Электронный ресурс. Режим доступа: http://www.libpng.org/pub/png/spec/1.2/PNG-Contents.html, свободный. Загл. - с экрана. - Яз. англ.

Приложение

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace StegoPNGForm

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

comboBox1.SelectedIndex = 0;

comboBox2.SelectedIndex = 0;

}

public static int Blue(int x, int y, Bitmap bmp, char bit)

{

int blue = 0;

if (bit == '1')

{

blue = Convert.ToInt32(bmp.GetPixel(x, y).B + 0.1 *

(0.3 * bmp.GetPixel(x, y).R +

0.59 * bmp.GetPixel(x, y).G +

0.11 * bmp.GetPixel(x, y).B));

}

else if (bit == '0')

{

blue = Convert.ToInt32(bmp.GetPixel(x, y).B - 0.1 *

(0.3 * bmp.GetPixel(x, y).R +

0.59 * bmp.GetPixel(x, y).G +

0.11 * bmp.GetPixel(x, y).B));

}

if (blue > 255) blue = 255;

else if (blue < 0) blue = 0;

return blue;

}

public static char Prediction(int x, int y, Bitmap bmp, int pixs)

{

char bit;

int pix = bmp.GetPixel(x, y).B;

int prediction = 0;

for(int i=1; i<= pixs; i++)

{

prediction = prediction + bmp.GetPixel(x + i, y).B + bmp.GetPixel(x - i, y).B + bmp.GetPixel(x, y + i).B + bmp.GetPixel(x, y - i).B;

}

prediction = Convert.ToInt32(prediction / (4.0* pixs));

if (pix > prediction) bit = '1';

else bit = '0';

return bit;

}

public void Coords (int height, int width, int pixs, out List<int> xs, out List<int> ys )

{

xs = new List<int>();

ys = new List<int>();

if (pixs == 1)

{

for (int y = 1; y < height - 1; y++)

{

for (int x = 1; x < width - 1; x++)

{

if ((y % 2 == 0 && x % 2 == 0) || (y % 2 == 1 && x % 2 == 1))

{

xs.Add(x);

ys.Add(y);

}

}

}

}

else if (pixs == 2)

{

for (int y = 2; y < height - 2; y++)

{

for (int x = 2; x < width - 2; x++)

{

if ((y % 3 == 0 && x % 3 == 0) || (y % 3 == 1 && x % 3 == 1) || (y % 3 == 2 && x % 3 == 2))

{

xs.Add(x);

ys.Add(y);

}

}

}

}

else

{

for (int y = 3; y < height - 3; y++)

{

for (int x = 3; x < width - 3; x++)

{

if ((y % 4 == 0 && x % 4 == 0) || (y % 4 == 1 && x % 4 == 1) || (y % 4 == 2 && x % 4 == 2) || (y % 4 == 3 && x % 4 == 3))

{

xs.Add(x);

ys.Add(y);

}

}

}

}

}

private void button1_Click(object sender, EventArgs e)

{

string pathFrom = textBox1.Text;

string pathTo = textBox2.Text;

string embText = textBox3.Text;

byte[] temp = Encoding.Default.GetBytes(embText);

string bitText = "";

for (int i = 0; i < temp.Length; i++)

{

bitText = bitText + Convert.ToString(temp[i], 2).PadLeft(8, '0');

}

var bmp = (Bitmap)Image.FromFile(pathFrom);

int textLen = embText.Length * 8; //bits

//int availBit = 0;

List<int> xs = new List<int>();

List<int> ys = new List<int>();

Coords(bmp.Height, bmp.Width, Convert.ToInt32(comboBox1.SelectedItem), out xs, out ys);

int availBit = xs.Count;

if (availBit < textLen)

{

MessageBox.Show("Недостаточно места");

}

else

{

for (int i = 0; i < textLen; i++)

{

bmp.SetPixel(xs[i], ys[i], Color.FromArgb(bmp.GetPixel(xs[i], ys[i]).R, bmp.GetPixel(xs[i], ys[i]).G, Blue(xs[i], ys[i], bmp, bitText[i])));

}

bmp.Save(pathTo);

MessageBox.Show("Встраивание выполнено успешно");

bmp.Dispose();

}

}

private void button2_Click(object sender, EventArgs e)

{

string path = textBox4.Text;//путь к файлу

int textLen = Convert.ToInt32(textBox6.Text)*8;

var bmp = (Bitmap)Image.FromFile(path);

List<int> xs = new List<int>();

List<int> ys = new List<int>();

Coords(bmp.Height, bmp.Width, Convert.ToInt32(comboBox2.SelectedItem), out xs, out ys);

string message = "";

for (int i = 0; i < textLen; i++)

{

message = message + Prediction(xs[i], ys[i], bmp, Convert.ToInt32(comboBox2.SelectedItem));

}

List<Byte> byteList = new List<Byte>();

for (int i = 0; i < message.Length; i += 8)

{

byteList.Add(Convert.ToByte(message.Substring(i, 8), 2));

}

textBox5.Text = Encoding.Default.GetString(byteList.ToArray());

MessageBox.Show("Извлечение выполнено успешно");

bmp.Dispose();

}

}

}

Размещено на Allbest.ru


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

  • Основные понятия стеганографии. Атаки на стегосистемы, стегосистемы водяных знаков. Применение дискретных вейвлет преобразований в кодировании цифровых зображений. Алгоритмы стеганографического встраивания информации в изображения формата 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-файлы представлены только в архивах.
Рекомендуем скачать работу.