Научная статья на тему 'ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ОБРАТИМОГО АЛГОРИТМА СОКРЫТИЯ ДАННЫХ В ЗАШИФРОВАННЫХ ИЗОБРАЖЕНИЯХ, ИСПОЛЬЗУЮЩЕГО КОД ХЭММИНГА (7, 4) И MSB-ПРОГНОЗИРОВАНИЕ'

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ОБРАТИМОГО АЛГОРИТМА СОКРЫТИЯ ДАННЫХ В ЗАШИФРОВАННЫХ ИЗОБРАЖЕНИЯХ, ИСПОЛЬЗУЮЩЕГО КОД ХЭММИНГА (7, 4) И MSB-ПРОГНОЗИРОВАНИЕ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
0
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
полутоновое изображение / сокрытие данных / кодирование по Хэммингу / зашифрованное изображение / наименее значимый бит (LSB) / наиболее значимый бит (MSB) / ошибка предсказания / MSB-прогнозирование / пиковое отношение сигнала к шуму / нормализованный коэффициент корреляции / обратимый алгоритм / greyscale image / data hiding / Hamming Code / encrypted image / least significant bit (LSB) / most significant bit (MSB) / prediction error / MSB-prediction / peak signal to noise ratio (PSNR) / normalized correlation ratio (NC) / reversible algorithm

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бахрушина Г. И., Жукова Т. В., Утюпин А. Е.

В статье приводится описание программы, реализующей предложенный китайскими исследователями обратимый алгоритм сокрытия данных в зашифрованных изображениях, использующий кодирование по Хэммингу (7, 4) и MSB-прогнозирование. Рассматриваются результаты работы программы для случаев встраивания короткого и длинного сообщений.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бахрушина Г. И., Жукова Т. В., Утюпин А. Е.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Software Implementation of the Reversible Algorithm for Data Hiding in Encrypted Images Using (7, 4) Hamming Code and MSB Prediction

The article describes software implementing a reversible algorithm proposed by Chinese researchers for hiding data in encrypted images using (7, 4) Hamming coding and MSB prediction. The results of the software for embedding short and long messages are considered.

Текст научной работы на тему «ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ОБРАТИМОГО АЛГОРИТМА СОКРЫТИЯ ДАННЫХ В ЗАШИФРОВАННЫХ ИЗОБРАЖЕНИЯХ, ИСПОЛЬЗУЮЩЕГО КОД ХЭММИНГА (7, 4) И MSB-ПРОГНОЗИРОВАНИЕ»

ПРИБОРОСТРОЕНИЕ, МЕТРОЛОГИЯ И ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНЫЕ ПРИБОРЫ И СИСТЕМЫ

УДК 004.056.53

Г. И. Бахрушина, Т. В. Жукова, А. Е. Утюпин

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ОБРАТИМОГО АЛГОРИТМА СОКРЫТИЯ ДАННЫХ В ЗАШИФРОВАННЫХ ИЗОБРАЖЕНИЯХ, ИСПОЛЬЗУЮЩЕГО КОД ХЭММИНГА (7, 4) И М8Б-ПРОГНОЗИРОВАНИЕ

Бахрушина Г. И. - канд. физ.-мат. наук, доцент, доцент кафедры «Программное обеспечение вычислительной техники и автоматизированных систем», тел:. (4212)37-51-96, e-mail: gal_bah@mail.ru (ТОГУ); Жукова Т. В. - старший преподаватель кафедры «Программное обеспечение вычислительной техники и автоматизированных систем», тел.: (4212)37-51-96, e-mail: 000521@pnu.edu.ru (ТОГУ); Утюпин А. Е. - студент гр. ПО(м)-11, тел.: 8-914-402-77-40, e-mail: 201710356@pnu.edu.ru (ТОГУ).

В статье приводится описание программы, реализующей предложенный китайскими исследователями обратимый алгоритм сокрытия данных в зашифрованных изображениях, использующий кодирование по Хэммингу (7, 4) и MSB-прогнозирование. Рассматриваются результаты работы программы для случаев встраивания короткого и длинного сообщений.

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

Введение

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

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

© Бахрушина Г. И., Жукова Т. В., Утюпин А. Е., 2022

ВЕСТНИК ТОГУ. 2022 № 3 (66)

ВЕСТНИК ТОГУ. 2022. № 3 (66)

Укрупненная схема реализуемого алгоритма

Алгоритм, рассматриваемый в данной работе, был представлен китайскими исследователями Kaimeng Chen (Каймен Чен), Chin-Chen Chang (Чин-Чен Чанг) в статье [1].

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

Владелец контента

Оригинальное изображение

Генерация карты прогнозирования ошибок

Ключ шифрования

Шифрование изображения

Ключ шифрования

Шифрование карты прогнозирования ошибок и замена MSB

зашифрованное изображение

Сокрытие данных

Ключ сокрытия данных

Встраивание данных

маркированное зашифрованное изображение

Получатель

Получение маркированного Ключ шифрования

расшифрованного изображения

Извлечение встроенных данных

Ключ сокрытия данных

Ключ шифрования и ключ сокрытия данных

В Извлечение встроенных данных и восстановление исходного изображения

Рис. 1. Укрупненная схема алгоритма

Целью данной работы была программная реализация вышеуказанного алгоритма. Для реализации использовался язык программирования C# [2], среда разработки - Microsoft Visual Studio 2019.

Описание программы

Для реализации поставленной задачи используются следующие встроенные классы [3]:

- Bitmap. Класс, содержащий методы для работы (загрузка, сохранение, изменение) с растровыми изображениями (точечными рисунками);

- MessageBox. Отображает окно сообщения (диалоговое окно) с текстом для пользователя. Это модальное окно, блокирующее другие действия в приложении, пока пользователь не закроет его;

- Convert. Используется для преобразования одного базового типа данных в другой базовый тип данных;

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ОБРАТИМОГО АЛГОРИТМА СОКРЫТИЯ ДАННЫХ В ЗАШИФРОВАННЫХ ИЗОБРАЖЕНИЯХ, ИСПОЛЬЗУЮЩЕГО КОД ХЭМ-МИНГА (7, 4) И М8Б-ПРОГНОЗИРОВАНИЕ

- Math. Предоставляет константы и статические методы для тригонометрических, логарифмических и иных математических функций;

- Random. Предоставляет генератор псевдослучайных чисел;

- List <T>. Предоставляет строго типизированный список объектов, доступных по индексу. Содержит основные методы для работы со списком (T - тип элемента в списке);

- Enumerable. Предоставляет набор методов для выполнения запросов к объектам;

- Array. Определяет ряд свойств и методов, которые можно использовать при работе с массивами;

- File. Предоставляет методы для создания, копирования, удаления, перемещения и открытия файла;

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

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

- GetPixelData(string filePath, Bitmap file) - получение значения пикселей изображения. Входные параметры: filePath - путь к изображению, file - изображение;

- GetBit(int num, int Size = 8) - перевод числа в массив битов. Входные параметры: num - число, Size - размер возвращаемого массива;

- XOR(int [] b1, int [] b2, bool fullXOR = true) - битовая операция сложение по модулю два (исключающее «или»). Входные параметры: Ь1 и Ь2 - массивы битов, между которыми надо выполнить операцию, fullXOR - флаг, где true означает, что операцию нужно выполнить для всех битов в массиве, а false - для определенных битов в массиве;

- GetNum(int [] bits, int Size = 8, bool invertMSB = false) - получение числа из массива битов. Входные параметры: bits - массив битов, Size - размер передаваемого массива, invertMSB - флаг, где true - инвертировать MSB, а false - не инвертировать MSB.

- InvertBit(int bit) - инвертирование бита. Входной параметр bit - исходное значение бита;

- FindHammingWordType(string Bits) - определение типа кодового слова Хэм-минга. Входной параметр Bits - кодовое слово;

- ConvertStringToBitString(string str, int Size) - перевод строки в битовую строку. Входные параметры: str - строка, Size - размер возвращаемой строки;

- GenErrorMap() - функция генерирования карты прогнозирования ошибок;

- StreamCiphertImage(Random rnd) - функция шифрования изображения потоковым шифром. Входной параметр rnd - генератор псевдослучайных чисел;

- CryptImage_button_Click(object sender, EventArgs e) - функция встраивания карты прогнозирования ошибок в MSB пикселей изображения;

ВЕСТНИК ТОГУ. 2022 № 3 (66)

ВЕСТНИК ТОГУ. 2022. № 3 (66)

- CreatePixelGroup(Random rnd) - функция создания групп модифицированных пикселей. Входной параметр rnd - генератор псевдослучайных чисел;

- EmbedData_button_Click(object sender, EventArgs e) - функция внедрения сообщения в LSB пикселей изображения;

- GetLengthMapBits() - функция определения размера карты;

- GenMarkDecryptImage_button_Click(object sender, EventArgs e) - функция получения маркированного изображения путем восстановления MSB пикселей изображения;

- ExstractTheEmbedData_button_Click(object sender, EventArgs e) - функция извлечения внедренного сообщения из LSB;

- ExstractAndRestore_button_Click(object sender, EventArgs e) - функция восстановления изображения до исходного состояния;

- CalcPSNR_button_Click(object sender, EventArgs e) - функция расчета метрики PSNR;

- CalcNC_button_Click(object sender, EventArgs e) - функция расчета метрики NC;

- VerifyText() - функция сравнения внедренного и извлеченного текста;

- GenSaltAndPepperNoise_button_Click(object sender, EventArgs e) - функция моделирования атаки «шум соли и перца».

Результаты работы программы

Для демонстрации результатов работы программы было выбрано изображение «Бабуин» в оттенках серого размером 512^512 (рис. 2) и два сообщения: короткое и длинное. Короткое сообщение задаётся в программе ("Hello, World!"), а длинное представлено в текстовом файле test_text.txt (рис. 3).

Рис. 2. Тестовое изображение «Бабуин» в оттенках серого Для сравнения исходного, маркированного и восстановленного изображений использовались известные метрики - PSNR и N0.

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ОБРАТИМОГО АЛГОРИТМА СОКРЫТИЯ ДАННЫХ В ЗАШИФРОВАННЫХ ЖСГНЖ ТОГУ. 2)22 № 3 (66) ИЗОБРАЖЕНИЯХ, ИСПОЛЬЗУЮЩЕГО КОД ХЭМ-МИНГА (7, 4) И М8Б-ПРОГНОЗИРОВАНИЕ

И testtext.trt - Блокнот

Файл Правка Формат Вид Справка

Dis consectetur eu mi faucibus laoreet accumsan arcu dignissim ron, lectus penatibus elit tellus in ante maximus <

Dui eu leo at lectus ullamcorper libero ac, facilisis himenaeos sodales tristique litora tortor molestie odio, pi

Ridiculus dictumst faucibus vestibulum consequat torquent tortor lacinia, ligula mauris bibendum nisi purus enim

Mollis bibendum rutrum fusee ut hendrerit vestibulum tellus fames orci, sit elit sagittis iaculis mattis aenean I dignissim velit conubia elementum placerai sociosqu sodales tempus libero. Netus porta maecenas ipsum sit sociosc

Lorem ipsum dolor sit amet consectetur adipiscing elit commodo hendrerit mus mattis primis litora, himenaeos dui eleifend, nisi пес per augue praesent blandit pretium ante suspendisse habitant ex, dui nulla sollicitudin trist:

Facilisis tortor pretium ipsum ullamcorper dapibus, véhicula eras nisi vel facilisi netus, dictum nisi justo tur|

Dictumst facilisis suspendisse placerai dictum facilisi vitae magna, commodo aenean justo fames vivamus sagittis.

Dis taciti aliquet lacus auctor pellentesque primis ornare nibh id, orci faucibus blandit eget lacinia elit turp: us habitasse eu eras.

Feugiat dui varius nostra iaculis accumsan, ultrices semper molestie sapien, parturient etiam a placerai. Lacinii itur nostra lacus пес elementum dolor, posuere ut lobortis maximus per. Litora platea dapibus libero habitant im|

Curabitur pellentesque in pharetra vivamus mollis class eget netus ultricies eleifend per véhicula odio posuere i

Potenti feugiat ac tempus dolor finibus senectus augue luctus sapien mattis dis, habitasse vivamus viverra variu: • < >

Стр 2, етлб 11 100% Windows (CRLF) UTF-8

Рис. 3. Текстовый файл test_text.txt с длинным сообщением

Результаты внедрения короткого сообщения приведены в табл. 1.

Таблица 1

Значения метрик при внедрении короткого сообщения

Параметр Значение

Внедренное короткое сообщение "HeUo,World!"

Извлеченное сообщение "Hello, World!"

PSNR для маркированного изображения 60,19

NC для маркированного изображения 0,99

PSNR для восстановленного изображения œ

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

NC для восстановленного изображения 1,0

Как показывают результаты, совпадение внедренного и извлеченного сообщения составляет 100%. Значения показателей PSNR и NC для маркированного изображения говорят о том, что полученное маркированное изображение имеет довольно хорошее качество и визуально очень похоже на исходное изображение. Показатели восстановленного изображения подтверждают обратимость алгоритма.

На рис. 4-8 представлены результаты обработки того же изображения, но с длинным внедряемым сообщением.

ВЕСТНИК ТОГУ. 2022. № 3 (66)

Рис.4. Шифрование изображения и внедрение длинного сообщения

Рис. 5. Дешифрование данных и получение маркированного изображения

Рис. 6. Извлечение данных и получение восстановленного изображения

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ОБРАТИМОГО АЛГОРИТМА СОКРЫТИЯ ДАННЫХ В ЗАШИФРОВАННЫХ ИЗОБРАЖЕНИЯХ, ИСПОЛЬЗУЮЩЕГО КОД ХЭМ-МИНГА (7, 4) И М8Б-ПРОГНОЗИРОВАНИЕ

ВЕСТНИК ТОГУ. 2022 № 3 (66)

Рис. 7. Значения метрик для исходного и маркированного изображений

Рис. 8. Значения метрик для исходного и восстановленного изображений

Результаты работы программы при внедрении длинного сообщения представлены в табл. 2.

Таблица 2

Значения метрик при внедрении длинного сообщения

Параметр Значение

PSNR для маркированного изображения 48,86

NC для маркированного изображения 0,99

PSNR для восстановленного изображения да

NC для восстановленного изображения 1,0

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

ВЕСТНИК ТОГУ. 2022. № 3 (66)

Показатели восстановленного изображения подтверждают обратимость алгоритма и при большом размере внедряемого текста.

Заключение

В результате исследования алгоритма можно сделать следующие выводы:

- При увеличении объема секретного сообщения значения метрик между исходным и маркированным изображениями несколько ухудшились.

- Значения показателей PSNR и NC для маркированного изображения говорят о том, что полученное маркированное изображение имеет довольно хорошее качество и визуально практически не отличается от исходного изображения.

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

- Сообщения в обоих случаях извлечены корректно без потерь.

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

Библиографические ссылки

1. Kaimeng Chen, Chin-Chen Chang. Real-Time Error-Free Reversible Data Hiding in Encrypted Images Using (7, 4) Hamming Code and Most Significant Bit Prediction // Symmetry. 2019. Vol. 11. URL: https://doi.org/10.3390/sym11010051 (дата обращения: 28.09.2021).

2. Скит Д. C# для профессионалов. Тонкости программирования. 3-e изд. М. : Ви-льямс, 2017. 608 c.

3. Троелсен Э., Джепикс Ф. Язык программирования C# 7 и платформы .NET и .NET Core. 8-e изд. М. : Вильямс, 2018. 1328 c.

Title: Software Implementation of the Reversible Algorithm for Data Hiding in Encrypted Images Using (7, 4) Hamming Code and MSB Prediction

Authors' affiliation:

Bakhrushina G. I. - Pacific National University, Khabarovsk, Russian Federation Zhukova T. V. - Pacific National University, Khabarovsk, Russian Federation Utyupin A. E. - Pacific National University, Khabarovsk, Russian Federation.

Abstract: The article describes software implementing a reversible algorithm proposed by Chinese researchers for hiding data in encrypted images using (7, 4) Hamming coding and MSB prediction. The results of the software for embedding short and long messages are considered.

Keywords: greyscale image, data hiding, Hamming Code, encrypted image, least significant bit (LSB), most significant bit (MSB), prediction error, MSB-prediction, peak signal to noise ratio (PSNR), normalized correlation ratio (NC), reversible algorithm.

i Надоели баннеры? Вы всегда можете отключить рекламу.