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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



СТЕГАНОГРАФИЧЕСКИЕ МЕТОДЫ ПЕРЕДАЧИ КОНФИДЕНЦИАЛЬНОЙ ИНФОРМАЦИИ ЧЕРЕЗ ИЗОБРАЖЕНИЯ

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

 

Дисциплина: Криптографические методы защиты информации

Студент: ИТ-20919 группы……………………………………/Гаврилов А.Д./

 

Специальность: 10.05.03 – Информационная безопасность автоматизированных систем

Специализация: Обеспечение информационной безопасности распределенных информационных систем

Руководитель: к.п.н, доцент…………………………………/Никифорова Т. А./

 

Комиссия:………………………….…………………………….…/                   /

        …...…………………….………………………………/                    /

 

 

Дата защиты: 04.06.2021

Оценка: ………

Курган, 202


СОДЕРДАНИЕ

 

ВВЕДЕНИЕ3

1 Разработка эскизного и технического проектов программы «Методы шифрования информации» 5

1.1 Назначение и область применения приложения 5

1.2 Системные требования 5

1.3 Постановка задачи 5

1.4 Описание графического формата BMP 7

1.5 Метод наименьшего значащего бита (LSB) 13

1.6 Организация входных и выходных данных 14

1.7 Выбор состава технических и программных средств 14

2 РАЗРАБОТКА ПРИЛОЖЕНИЯ СОКРЫТИЯ ТЕКСТОВОЙ ИНФОРМАЦИИ В ИЗОБРАЖЕНИИ 1 6

2.1 Конструкция оконного приложения 16

2.2 Структура приложения 17

2.2.1 Файл form.py 18

2.2.2 Файл stego_bmp.py 21

2.3 Спецификация приложения 26

2.4 Тестирование приложения 27

2.4.1 Тестирование при корректной подаче данных. 27

2.4.2 Тестирование при данных, выходящих за границы корректности. 29

2.4.3 Тестирование при не корректных данных. 30

 

ЗАКЛБЧЕНИЕ 32

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33

ПРИЛОЖЕНИЕ 34

 


ВВЕДЕНИЕ

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

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

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

Исходя из цели можно предложить следующие задачи:

1. Проанализировать структуру формата BMP-файлов.

2. Спроектировать интерфейс приложения.

3. Спроектировать приложение.

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

5. Протестировать работу приложения.

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

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

Во второй главе рассмотрена разработка приложения: внешний вид приложения, описание кода приложения, тестирование приложения.


 

Разработка эскизного и технического проектов приложения «СТЕГАНОГРАФИЯ В изображении»

 

Назначение и область применения приложения

 

Разрабатываемое приложение предназначено для сокрытия конфиденциальной информации в графических изображениях формата BMP и глубиной в 24 бита. Сокрытие информации в изображениях осуществляется методом наименее значимого бита (LSB).

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

 

1.2 Системные требования

 

1. Операционная система: Windows 10

2. Процессор: x64 или x86

3. Оперативная память: 4 Гб

4. Место на жестком диске: 20 Кб

 

Постановка задачи

 

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

Опишем с помощью use case диаграммы основные функции разрабатываемого приложения (см. рис. 1).


рисунок 1 – use case диаграмма


 Опишем с помощью диаграммы активности принцип работы разрабатываемого приложения (см. рис. 2).

Рисунок 2 – диаграмма активности приложения


Продолжение рисунка 2 – диаграмма активности приложения

 

Метод наименьшего значащего бита (LSB)

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

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

Как описано ранее, в формате BMP изображение сохраняется как матрица значений цветового тона для каждой точки захваченного изображения. Если каждый компонент пространства RGB (также называемый цветовыми каналами) хранится в одном байте, он может принимать значения от 0 до 255 включительно, что соответствует 24-битной глубине цвета.

Допустим, имеется 24-битное изображение. Пиксель кодируется 3 байтами и содержит значения канала RGB. Изменяя младший бит, мы меняем значение байта на единицу. Особенность человеческого зрения в том, что оно плохо распознает мелкие цветовые колебания. В случае 24-битного цвета изменение в каждом из трех каналов наименее значимого бита (то есть самого правого бита) приводит к изменению менее чем на 1% интенсивности этой точки[2].

 

Структура приложения.

Варианты использования приложения приведены в use case диаграмме, приведенной ниже (см. рисунок 1).

Приложение состоит из двух файлов: form.py и stego_bmp.py.

Файл form.py

Файл form.py содержит в себе функции реализации создания и отображения интерфейса, а также функции вызова основных функций алгоритма.

При работе приложения вызываются следующие функции:

Таблица 3

Используемые функции главного файла приложения

№ п/п Функции Назначение
1 __init__ Инициализация основных функций
2 show_menu Отображение элементов меню
3 initUI Создание заголовка и текстового блока
4 Open_file Открытие текстового файла для прочтения
5 show_img Открытие изображения для просмотра
6 ENCRIPT Выбор текстового файла, выбор файла контейнера, выбор итогового файла контейнера, подача указанных файлов на вход функции сокрытия.    
7 DECRIPT Выбор файла контейнера и подача данного файла на функцию извлечения текста.

 

Ниже предоставлен код функций класса Form:

def __init__(self):

super().__init__() # Конструктор виджет фрейма с родительским #MASTER.

self.initUI() # Инициализация функции создания текстового блока

self.show_menu() # Инициализация функции создания меню

def initUI(self):

self.master.title("Stego") # заголовок формы

self.pack(fill=BOTH, expand=1) # Упакуйте виджет в родительский #виджет.

self.txt = Text(self) # Атрибут экземпляра txt формы

self.txt.pack(fill=BOTH, expand=1)

def show_menu(self):

menu_bar = Menu(self.master) # Создайте виджет меню с родительским #MASTER.

self.master.config(menu=menu_bar)

fileMenu = Menu(menu_bar, tearoff=0) # Создание менюбаров

Work = Menu(menu_bar, tearoff=0)

Help = Menu(menu_bar, tearoff=0)

menu_bar.add_cascade(label="Файл", menu=fileMenu) #Добавление элемента иерархического меню “Файл”.

fileMenu.add_command(label="Открыть текстовый файл", command=self.Open_file)

# Добавление команды открытия текстового файла принадлежащему #элементу меню “Файл”

fileMenu.add_command(label="Открыть изображение", command=self.new_window) # Добавление команды открытия файла изображения принадлежащему элементу меню “Файл”

menu_bar.add_command(label="Help", command=self.Open_file) #Добавление команды Help

menu_bar.add_cascade(label="Функционал", menu=Work) #Добавление элемента иерархического меню “Функционал”.

Work.add_command(label="Сокрыть", command=self.ENCRIPT) #Добавление команды сокрытия принадлежащему элементу меню #“Функционал”

Work.add_command(label="Извлеч", command=self.DECRIPT) #Добавление команды изображения принадлежащему элементу меню #“Функционал”

def Open_file(self):

ftypes = [('Текстовые файлы', '*.txt'), ('Все файлы', '*')] # кортеж отображаемых файлов

dlg = filedialog.Open(self, filetypes=ftypes) #диалоговое окно выбора текстового файла

fl = dlg.show() #запись имени выбранного файла

if fl!= '':

   text = self.readFile(fl) # чтение файла

     self.txt.delete("1.0", "end") # очистка текстового блока

   self.txt.insert(END, text) # запись файла в текстовый блок

def ENCRIPT(self):

messagebox.askokcancel() # отображение сообщения о необходимости #выбора текстового файла для сокрытия

ftypes = [('Текстовые файлы', '*.txt'), ('Все файлы', '*')] # кортеж #отображаемых файлов

dlg = filedialog.Open(self, filetypes=ftypes) # диалоговое окно выбора #текстового файла

fltxt = dlg.show() # запись имени выбранного файла

messagebox.askokcancel() # отображение сообщения о необходимости #выбора контейнера изображения для сокрытия

ftypes = [('Графический контейнер', '*.bmp'), ('Все файлы', '*')] #кортеж #отображаемых файлов

dlg = filedialog.Open(self, filetypes=ftypes) # диалоговое окно выбора #файла контейнера

flbmp = dlg.show() #запись имени выбранного файла

messagebox.askokcancel() #отображение сообщения о необходимости #выбора контейнера изображения для сохранения нового контейнера

flnewbmp = filedialog.asksaveasfilename() # запись имени файла нового #контейнера, полученного из диалогового окна сохранения файла

encode_image(flbmp,flnewbmp,fltxt,1) # подача данных на вход #функции сокрытия (класс Stego)

def DECRIPT(self):

ftypes = [('Графический контейнер', '*.bmp'), ('Все файлы', '*')]

#кортеж отображаемых файлов

dlg = filedialog.Open(self, filetypes=ftypes) # диалоговое окно выбора #файла контейнера с сокрыты текстом

flbmp = dlg.show() # запись имени выбранного файла

decode_image(flbmp, "t.txt", 1) # подача данных на вход функции #извлечения (класс Stego)

fl = "t.txt" # имя файла, созданного в ходе выполнения функции #извлечения

text = self.readFile(fl) # прочтение созданного файла

self.txt.delete("1.0", "end") # очистка текстового блока

self.txt.insert(END, text) # заполнение текстового блока содержимым созданного файла

2.2.2 Файл stego_bmp.py.

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

Таблица 4

Функции файла stego _ bmp. py

№ п/п Функции Назначение
1 encode_image Функция сокрытия текста в изображении
2 decode_image Функция извлечения текста из изображения
3 create_masks Функция создания маски

 

Ниже предоставлен код функций файла stego_bmp.py

Функция создания маски

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

Функция возвращает 2 битовые последовательности:

img_mask – маска изображения

text_mask – текстовая маска

 

def create_masks(degree):

text_mask = 0b11111111 # создание двух заполненных масок

img_mask = 0b11111111

text_mask <<= (8 - degree) # логический сдвиг маски в лево на 8-degree #бит

text_mask %= 256 # нахождение остатка от деления на 256 для #сохранности длины маски в 8 бит

img_mask >>= degree # логические сдвиги на degree для отбрасывания #лишних бит

img_mask <<= degree

return text_mask, img_mask

 

Спецификация приложения

Таблица 5

Состав приложения

Наименование Обозначение
form.py Исполняемый файл (Оконный интерфейс)
stego_bmp.py Файл, вызываемый при сокрытии информации в изображении / извлечении информации из изображения

 

Тестирование приложения

 

ЗАКЛЮЧЕНИЕ

 

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

При написании курсовой работы были выполнены следующие задачи:

1. Проанализированы структуру формата BMP файлов.

2. Спроектирован интерфейс приложения.

3.Спроектировано приложение.

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

5. Протестирована работа приложения.

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

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


ПРИЛОЖЕНИЕ

Содержание диска

СТЕГАНОГРАФИЧЕСКИЕ МЕТОДЫ ПЕРЕДАЧИ КОНФИДЕНЦИАЛЬНОЙ ИНФОРМАЦИИ ЧЕРЕЗ ИЗОБРАЖЕНИЯ

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

 

Дисциплина: Криптографические методы защиты информации

Студент: ИТ-20919 группы……………………………………/Гаврилов А.Д./

 

Специальность: 10.05.03 – Информационная безопасность автоматизированных систем

Специализация: Обеспечение информационной безопасности распределенных информационных систем

Руководитель: к.п.н, доцент…………………………………/Никифорова Т. А./

 

Комиссия:………………………….…………………………….…/                   /

        …...…………………….………………………………/                    /

 

 

Дата защиты: 04.06.2021

Оценка: ………

Курган, 202


СОДЕРДАНИЕ

 

ВВЕДЕНИЕ3

1 Разработка эскизного и технического проектов программы «Методы шифрования информации» 5

1.1 Назначение и область применения приложения 5

1.2 Системные требования 5

1.3 Постановка задачи 5

1.4 Описание графического формата BMP 7

1.5 Метод наименьшего значащего бита (LSB) 13

1.6 Организация входных и выходных данных 14

1.7 Выбор состава технических и программных средств 14

2 РАЗРАБОТКА ПРИЛОЖЕНИЯ СОКРЫТИЯ ТЕКСТОВОЙ ИНФОРМАЦИИ В ИЗОБРАЖЕНИИ 1 6

2.1 Конструкция оконного приложения 16

2.2 Структура приложения 17

2.2.1 Файл form.py 18

2.2.2 Файл stego_bmp.py 21

2.3 Спецификация приложения 26

2.4 Тестирование приложения 27

2.4.1 Тестирование при корректной подаче данных. 27

2.4.2 Тестирование при данных, выходящих за границы корректности. 29

2.4.3 Тестирование при не корректных данных. 30

 

ЗАКЛБЧЕНИЕ 32

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33

ПРИЛОЖЕНИЕ 34

 


ВВЕДЕНИЕ

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

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

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

Исходя из цели можно предложить следующие задачи:

1. Проанализировать структуру формата BMP-файлов.

2. Спроектировать интерфейс приложения.

3. Спроектировать приложение.

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

5. Протестировать работу приложения.

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

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

Во второй главе рассмотрена разработка приложения: внешний вид приложения, описание кода приложения, тестирование приложения.


 



Поделиться:


Последнее изменение этой страницы: 2021-07-19; просмотров: 50; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.174.156 (0.09 с.)