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