Алгоритм шифрования монохромных изображений
Секция: Технические науки
XL Студенческая международная заочная научно-практическая конференция «Молодежный научный форум: технические и математические науки»
Алгоритм шифрования монохромных изображений
Задача защиты информации от несанкционированного доступа решалась на протяжении всей истории человечества. Она имеет широкий спектр применения – от промышленности до спецслужб. В наш информационный век шифрование всех типов данных является актуальной задачей, в том числе для широкого круга пользователей, для сокрытия личной информации от нежелательного просмотра. В качестве такой информации могут выступать самые разнообразные виды документов, в том числе графические изображения. Например, существует целая группа монохромных изображений таких как, отсканированные документы, чертежи, графики, медицинские данные и т.п., которые в случае передачи по сети интернет или хранения в системе с множественным доступом, целесообразно, по мнению пользователя, шифровать [2, c. 31].
В данной работе представлен алгоритм шифрования графических изображений на основе криптографического метода сдвига.
Шифр сдвига – один из самых простых и наиболее широко известных методов шифрования текста. Это вид шифра подстановки, в котором каждый символ в открытом тексте заменяется символом, находящимся на некотором постоянном числе позиций левее или правее него в алфавите. Если сопоставить каждому символу алфавита его порядковый номер (нумеруя с 0), то шифрование и дешифрование можно выразить формулами:
(1)
(2)
где: x – символ открытого текста, y – символ шифрованного текста, n – мощность алфавита, а k – ключ.
Данный принцип можно применить и к шифрованию изображений. В качестве данных использовались монохромные изображения [4, c. 479].
При шифровании изображения методом сдвига в качестве данных подлежащих шифрованию (то есть смещению) можно использовать как значение пикселя, так и его координаты. В случае монохромного изображения изменение значения пикселя на постоянную величину задаваемую ключом, приведет всего лишь к изменению цвета, что не повлияет на «читаемость» изображения, например, черно-белое изображение станет сине-коричневым [1, c. 460].
При шифровании значения координат пикселя, в случае использования одинакового ключа (смещения) для значений координат всех пикселей, все изображение «смещается» на эту величину, при этом не вызывает больших затруднений «прочитать» изображение.
Для шифрования изображения таким образом, чтобы невозможно было его «прочитать», матрица изображения разбивается на определённое количество секторов, так как показано на рисунке 1.
Рисунок 1. Разбиение изображения на сектора
Здесь - количество столбцов в секторе, - количество строк в секторе, N и М – количество строк и столбцов матрицы изображения, соответственно, ss – количество секторов.
Для каждого из секторов задаётся ключ шифрования с помощью генератора случайных чисел. При этом значение ключа ограничивается размерностью секторов, то есть ключ задается в диапазоне от 0 до min (Ns, Ms), что позволяет осуществить циклический сдвиг пикселя в пределах сектора [3, c. 37].
Далее вычисляются значения координат пикселя по выражению (1), где x – координата пикселя исходного изображения, y – координата пикселя зашифрованного изображения, а k – ключ.
На рисунке 2 приведены результаты работы алгоритма, примененного к отсканированному текстовому документу при следующих значениях входных параметров:
N = 314 (количество строк в секторе)
M = 344 (количество столбцов в секторе)
ss = 4, 32, 128 (количество секторов)
k = 1024 (длина ключа)
Размер шрифта на изображении соответствует значению 14 пт.
а) б)
в) г)
Рисунок 2. Пример шифрования отсканированного документа: а) исходное изображение; б) зашифрованное изображение при ss = 4; в) зашифрованное изображение при ss = 32; г) зашифрованное изображение при ss = 128
Результаты шифрования были продемонстрированы нескольким лицам, которые не были ознакомлены с исходным изображением. В результате было определено, что текст «читается» сравнительно легко при количестве секторов в матрице ss=4, текст «читается» со значительным затруднением при ss=128, и текст не «читается» при ss=32. Оптимальное количество секторов зависит в основном от значения размера шрифта текстового документа.
Приведённый метод шифрования можно использовать не только для монохромных изображений, но и для других видов изображений, например, «оттенки серого». На рисунке 3 приведены результаты выполнения шифрования изображения снимка рентгена с оптимальным значением секторов для него (ss=32).
а) б)
в)
Рисунок 3. Пример шифрования снимка рентгена: а) исходное изображение; б) зашифрованное изображение css=32; в) восстановленное изображение
Данный алгоритм может быть использован для шифрования изображений содержащих как текстовую, так и графическую информацию. Он является простым для реализации и в использовании. Недостатком алгоритма является необходимость хранения ключа, что делает его уязвимым для злонамеренного пользователя при взломе компьютерной системы. К его достоинствам можно отнести длину ключа, которая может быть задана пользователем и то, что значения ключа генерируются случайным образом, что снижает вероятность его подбора злоумышленником за короткое время.