Статья опубликована в рамках: XL Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 29 марта 2016 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
МОДИФИЦИРОВАННЫЙ МНОГОАЛФАВИТНЫЙ МЕТОД ШИФРОВАНИЯ РАСТРОВОГО ИЗОБРАЖЕНИЯ
Решение проблемы информационной безопасности связано с гарантированным обеспечением трех ее главных составляющих: доступности, целостности и конфиденциальности информации.
При обработке любой значимой информации при помощи отдельного компьютера, а тем более в сети, возникает вопрос о ее защите от несанкционированного доступа и использования. Возникающие при этом задачи решает криптография – методологическая основа современных систем обеспечения безопасности информации в компьютерных системах и сетях, одним из направлений которой является анализ и разработка криптографических алгоритмов передачи изображений в компьютерных системах и сетях.
Все базовые специальности нашего университета связаны с получением, обработкой и передачей графической информации, первоначально представляющей собой растровое изображение (аналоговое или цифровое), являющееся первоисточником для создания и обновления многочисленных вариантов векторных карт. В связи с этим, для своих исследований мне как студентке специальности «Информационная безопасность» наиболее интересным является проанализировать алгоритмы шифрования применительно к крупномасштабным графическим изображениям.
Для данных исследований отобраны алгоритмы моноалфавитных подстановок [1] и выполнена попытка их усовершенствования применительно к цифровым растровым изображениям. На языке программирования C# [3,4] разработан комплекс подпрограмм, объединенных в программное приложение "Taina" посредством интерфейсного меню, позволяющего удобно проводить анализ обратного алгоритма – расшифровывания.
Программное приложение "Taina" удовлетворяет следующим общим требованиям:
- парольная защита программного приложения;
- практическая сложность подобрать ключ неосведомленному лицу;
- сохранение доступности изображения осведомленным лицам;
- целостность изображения;
- конфиденциальность.
и предоставляет следующие возможности (опции):
- ввод размера растрового изображения;
- разнообразие ключей к шифрованию/расшифровыванию;
- процесс шифрования изображений (несколько вариантов);
- процесс расшифровывания изображений (несколько вариантов);
- отправка зашифрованного изображения (несколько способов);
- расшифровка полученного изображения (несколько способов).
Результаты расчета по алгоритмам моноалфавитных подстановок анализировались в сравнении с алгоритмами многоалфавитных подстановок и, как результат, был предложен модифицированный многоалфавитный метод с использованием ключа. Ниже представлена пошаговая инструкция работы в программном приложении "Taina".
Пусть нам нужно передать изображение карты получателю, представляющее собой некоторое цифровое растровое изображение размером 170х500 px (рис.1).
Рис. 1. Исходный фрагмент цифровой карты.
После запуска программного приложения вводим обязательный пароль (рис.2а). При неправильном вводе пароля мы увидим всплывающее окно: "Пароль неверный!" (рис.2б).
|
Рис. 2. Интерфейс программы. Начало работы.
При правильном вводе пароля мы переходим в интерфейс программы, где осуществляется процесс шифрования и/или расшифрования изображения при наличии ключа. Для наглядности смещения пикселей добавлены дополнительные кнопки. При желании можно сменить язык на английский.
При шифровании изображения карты, прописываем путь к ней в интерфейсе программы, открывая ее кнопкой "ОТКРЫТЬ" (рис. 3)
Рис. 3. Интерфейс программы.
Исходное состояние растрового изображения.
Программой предусмотрено смещение пикселей изображения в четыре стороны: вверх, вниз, вправо и влево. При смещении пикселей многоалфавитным методом используется алгоритм, заключающейся в том, что каждый пиксель смещается на сумму его номера строки и столбца. И таким образом, исходная растровая карта размером 170х500 px (рис.1) и наш пиксель находящийся, например, на координатах [21;351] сместится на 372 пикселя, а [100;15] на 115, и т.д. В результате реализуется многоалфавитный метод шифрования растрового изображения. На рис. 4 для большей наглядности представлено смещение в 5 раз и вправо. Кнопки «ВЛЕВО» - «ВПРАВО» и «ВВЕРХ» - « -ВНИЗ» взаимоисключают друг друга.
Рис. 4. Интерфейс программы. Вид изображения при многоалфавитном методе шифрования растрового изображения.
В результате изображение исходной карты зашифровалось, однако, если она попадет в руки к злоумышленникам, то методом подбора достаточно легко ее расшифровать. Для усложнения этого алгоритма необходимо составить такой ключ, который будет содержать определенное количество комбинаций влево и вниз для шифрования, и вправо и вверх для расшифрования. Таким образом, для большего разнообразия ключей был разработан модифицированный многоалфавитный метод шифрования растрового изображения. В данном алгоритме разрешается записывать любой символ в любом количестве из диапазона от 0 до 255, где согласно кодировке windows-1251 цифры символов перемножаются, и получается некоторое число. Например, пусть нашим ключом будет слово "криптография" (рис.5). Тогда букве "К" в таблице кодировки соответствует десятичное число 202, букве "р" – 240 и т.д. Далее алгоритм программы предусматривает перемножение данных чисел, получая достаточно большое число, состоящее из цифр от 0 до 9. Алгоритм программы выполняет операции, соответствующие цифре: ВЛЕВО и ВНИЗ для шифрования и ВПРАВО и ВВЕРХ для расшифрования, так как они взаимоисключающие.
Рис. 5. Интерфейс программы. Вид изображения при модифицированном многоалфавитном методе шифрования растрового изображения
Такое изображение практически невозможно расшифровать, не имея ключа. После проделанных действий сохраняем зашифрованное изображение и отправляем его получателю. Получатель должен будет открыть зашифрованное изображение, ввести ключ и нажать кнопку "расшифровать". Алгоритм программы выполнит обратные действия со сдвигами пикселей и изображение примет исходный вид (рис.1).
В поле «ПАРОЛЬ» мы можем использовать абсолютно любой символ из кодировки windows-1251 (256 символов). Отсюда, теоретически возможная сложность пароля это 256L количество комбинаций, где n-длина ключа. Однако, сложные символы (например, иероглифы) мало кто будет использовать, отсюда, практическую сложность пароля H, исходя из того, что H измеряется в битах, можно рассчитать в терминах информационной энтропии [2]:
,
где: N – количество возможных символов:
N = 10 (арабские цифры) + 26 (латинский алфавит без верхнего регистра: a-z) + 26 (латинский алфавит с верхним регистром A-Z) + 33 (русский алфавит без верхнего регистра: а-я) + 33 (русский алфавит с верхним регистром: А-Я) + ~10 (ряд часто используемых символов: . , : % № …) = 138 ≈ 140 возможных символов.
L – длина пароля (количество символов в пароле).
Тогда существует N L = 140L возможных комбинаций и энтропия для пароля из L=6 символов: , что является очень высоким показателем для сложности пароля. Действительно, для расчета времени подбора пароля T, состоящего из L=6 символов с количеством комбинаций 1406, и исходя из того, что на один символ уходит как минимум 1/3 секунды, получаем: T = 1/3*1406 = 2,5098453×1012 сек. = 41830755000 мин. = 697179250 ч. = 29049135 суток = 79587 лет. Поскольку хакеру неизвестно количество символов в пароле, то на его подборку уйдет бесконечно много времени.
Заключение
В данной работе на основе анализа криптографических алгоритмов моноалфавитных подстановок применительно к графическим растровым изображениям предложен модифицированный многоалфавитный метод шифрования растрового изображения с использованием ключа, где для подбора ключа злоумышленником потребуется бесконечно много времени. Для этого разработан комплекс алгоритмов, реализованный в программном приложении «Taina». Программное приложение создано, отлажено и протестировано в среде визуального программирования Visual Studio 2013 на языке C#.
Список литературы:
- Бабаш А.В. Криптографические методы защиты информации. Т.1: Учебно-методическое пособие. – 2 изд. – М.: РИОР: ИНФРА-М, 2013. – 413 с.
- Вентцель Е.С. Теория вероятностей: Учебник для вузов. 6 изд. стер. – М.: Высшая школа, 1999. – 576 c.
- Дейтел П.Дж., Дейтел Х.М. Как программировать на C# 2012. Учебник по программированию на платформе Microsoft. 5 изд. – СПб.: Питер, 2014. – 864 с.
- Павловская Т.А. C#. программирование на языке высокого уровня. Учебник для вузов. – СПб.: Питер, 2015. – 432 с.
дипломов
Оставить комментарий