Исследование методов криптоанализа асимметричных шифров с использованием природных алгоритмов

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 29.06.2018
Размер файла 265,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Исследование методов криптоанализа асимметричных шифров с использованием природных алгоритмов

Дианский Антон Валерианович, студент

Лясин Дмитрий Николаевич, кандидат наук, доцент, доцент

Волгоградский государственный технический университет

В данной статье рассмотрены природные методы криптоанализа асимметричного шифра RSA. Описаны математические модели природных алгоритмов криптоанализа и была разработана программная система, реализующая разработанные алгоритмы. Эффективность реализованных алгоритмов была экспериментально проверена.

Криптоанализ -- это наука, изучающая методы взлома криптосистем, позволяющая оценить качество криптосистем. Криптоанализ современных асимметричных криптосистем является трудновыполнимой задачей, затрачивающей катастрофически большое количество времени. Поэтому поиск новых и эффективных методов криптоанализа является актуальной задачей. Безопасность шифра зависит от выбора функции ловушки. Функция ловушка -- это функция, которая позволяет эффективно вычислить значение, но не позволяет легко обратить вычисление без наличия числа подсказки. Пример функции реализован в алгоритме асимметричного шифрования RSA. Базовый принцип алгоритма RSA строится на том, что можно найти такие числа e, d и n, чтобы возведение шифруемого целого числа m в степень e · d по модулю n для всех целых чисел m были равны m:

Экспонента d является закрытым ключом и вычислить его крайне сложно, даже если n, e и m известны. Экспонента e и число n в паре являются открытым ключом. Открытый ключ n состоит из произведения 2-ух простых чисел p и q огромного размера, которые отличаются друг от друга на несколько знаков для усложнения криптоанализа. Если p и q огромные, то процесс разложения произведения p · q является трудновычислимой задачей. Числа p и q используются для вычисления закрытого ключа d. Разложение чисел можно осуществить с использованием метода «Квадратичного решета» или «Ро-алгоритма Полларда». Для факторизации числа n в настоящей работе предлагаются природные алгоритмы криптоанализа: алгоритм муравьиных колоний и алгоритм пчелиной колонии.

Алгоритм муравьиных колоний является вероятностным подходом к решению задач, подражающий поведению муравьёв. Алгоритм заключается в следующем: дан граф G = (E, V), m муравьёв. Муравьи размещаются на вершинах графа G и строят маршруты. Муравьи могут быть размещены случайным образом. Во время построения маршрута, муравьи откладывают феромон на пройденном пути. При выборе следующей вершины для перехода, учитывается уровень феромона, отложенного на переходе из текущей вершины в следующую. Вероятность перехода муравья на доступные ему вершины определяется следующей формулой:

Где фxy -- количество феромона, отложенного муравьём на ребре xy, зxy -- привлекательность маршрута, б, в -- факторы, контролирующие влияние параметров фxy и зxy, Jk -- множество рёбер, доступные муравью k из вершины x. После построения маршрутов, значения феромонов на рёбрах обновляются по следующей формуле

Где фxyk -- количество феромона на ребре xy муравьём k, с -- коэффициент испарения, -- количество феромона, отложенного муравьём на ребре xy во время текущей итерации. Количество отложенного феромона определяется по следующей формуле:

Где Lk -- цена перехода по ребру xy, Q -- константа. Если условия остановки алгоритма не выполнены, процедура повторяется. Условиями остановки могут быть ограничения по времени или достижение оптимального решения. Для нахождения простого делителя составного числа N, примем следующие параметры алгоритма:

Где Sk -- маршрут, построенный муравьём k, F(x) = (N / x) -- (N / x) -- функция, получающая дробную часть от деления на N. Q определяет уменьшение уровня феромона с увеличением длины маршрута, можно принять равным длине маршрута. Целью алгоритма найти маршрут, .

Алгоритм пчелиной колоний -- стохастический бионический алгоритм оптимизации, подражающий поведению пчёл. В этом алгоритме выделяются несколько этапов: начальная разведка и локальная разведка. Во время начальной разведки выбираются C точек. Выбор точек может происходить случайным образом. Далее на выбранных точках происходит локальная разведка, где происходит поиск более оптимального решения в радиусе R на выбранных точках. При улучшении значения, значение целевой функции F и набор аргументов X сохраняются. Для разложения составного числа, целевой функцией примем:

F(x) = (N/x) -- (N/x)

В качестве радиуса поиска примем значение R = c / 1.442685, где c -- количество цифр в двоичной записи искомого числа.

Система реализована в 2 модуля: модуль реализующий алгоритм и графический интерфейс. Такой способ реализации удобен так как позволят легко отделить логику реализации графического интерфейса от алгоритма криптоанализа. При разработке использовались 2 языка программирования: C и C++. C был выбран за счёт популярности и простоты взаимодействия с низким уровнем программирования в результате чего можно просто оптимизировать программу на скорость. C++ выбран из-за зависимости от библиотеки Qt.

Система криптоанализа состоит из следующих компонент:

· Криптографический модуль libsodium

· Библиотека, реализующая алгебру с большими числами GMP

· Графический интерфейс

Рисунок 1. Структурная схема системы криптоанализа

Модуль криптоанализа реализует логику криптоанализа и взаимодействует с криптографическим модулем для проверки промежуточных результатов. Позволяет разложить составное число и тем самым восстановить закрытый ключ, отчитывается о проведённых действиях. Модуль реализован на языке программирования C и использует libsodium и GNU MP.

libsodium предоставляет ряд криптографических функций. Используется для генерации качественных случайных чисел. Библиотека написана на языке C и распространяется под лицензией BSD.

GNU MP реализует работу с большими числами и предоставляет ряд математических функций, включая функции теорий чисел. Библиотека написана с использованием языков C и C++ и распространяется под лицензиями LGPL и GPL.

Графический интерфейс используется для контроля модуля криптоанализа и отображения результатов и его работы. Позволяет настроить модуль криптоанализа, запустить процесс криптоанализа и получить результат криптоанализа. Данный модуль написан на C++ и использует библиотеку Qt5.

Особенности системы:

· Использует оптимизированные алгоритмы (спасибо GNU MP)

· Использует эвристические методы разложения составного числа

· Производит криптоанализ в несколько потоков

Для проверки эффективности системы, был проведён ряд экспериментов: сравнение времени работы алгоритмов от размера ключа и время работы алгоритмов в зависимости от параметров. Каждый опыт был запущен 10 раз и в качестве результата взято среднее время исполнения, так как алгоритмы используют случайные числа для работы и время исполнения каждый раз может отличаться. Для первого эксперимента используются следующие параметры:

· Для алгоритма муравьиных колоний:

o Количество муравьёв: 4

o Длина пути: 64

o Коэффициент испарения феромона: 0.4

· Для алгоритм пчелиной колонии:

o Количество пчёл: 4

o Количество точек для исследования: 4096

Результаты эксперимента приведены на графике:

Рисунок 2. Результаты сравнительного эксперимента

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

· Раскладываемое число: 664543753253

· Диапазон поиска: [903, 815196]

· Для алгоритма муравьиных колоний:

o Количество муравьёв: 4

o Длина пути: 64

o Коэффициент испарения феромона: 0.4

· Для алгоритма пчелиной колонии:

o Количество пчёл: 4

o Количество точек для исследования: 4096

Рисунок 3. Результаты сравнительного эксперимента с варьируемым параметром количества потоков

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

· Раскладываемое число: 664543753253

· Диапазон поиска: [903, 815196]

· Количество пчёл: 4

Рисунок 4. Результаты эксперимента с варьируемым параметром

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

· Раскладываемое число: 664543753253

· Диапазон поиска: [903, 815196]

· Количество муравьёв: 4

· Длина пути: 64

Рисунок 5. Результаты эксперимента с варьируемым параметром

По графику видно, что увеличение коэффициента испарения приводит к увеличению времени на факторизацию. В этом алгоритме также рассмотрим влияние длины маршрута на скорость разложения. Были использованы следующие постоянные параметры:

· Раскладываемое число: 664543753253

· Диапазон поиска: [903, 815196]

· Количество муравьёв: 4

· Коэффициент испарения феромона: 0.4

Рисунок 6. Результаты эксперимента с варьируемым параметром

По графику видно, что оптимальное значение длины маршрута является значение от 16 до 128. Маршруты короче или длиннее приводят к увеличенным временным затратам.

В данной работе были разработаны методики криптоанализа RSA, применяющие природные алгоритмы: муравьиных колоний и пчелиной колонии. Была разработана программная система, реализующая разработанные алгоритмы и эффективность алгоритмов была экспериментально проверена.

интерфейс криптоанализ программный алгоритм

Список литературы

1. Чернышев, Ю.О. Биоинспирированные алгоритмы решения задач криптоанализа / Ю.О. Чернышев, А.С. Сергеев, Е.О. Дубров // Надёжность и качество сложных систем. - 2014. - №2 - С. 27 - 33.

2. Кажаров, А. Биоинспирированные алгоритмы / А. Кажаров, В. Курейчик - LAP Lambert Academic Publishing - 2013. - 80 с.

3. Дианский, А.В. Исследование методов криптоанализа асимметричного шифрования с использованием генетических алгоритмов [Электронный ресурс] / А.В. Дианский, Д.Н. Лясин // Студенческий научный форум - 2018: докл. X междунар. студенч. электрон. науч. конф. Направление «Технические науки» (секция «Проблемы моделирования, проектирования и разработки программных средств») / РАЕ. - Москва, 2018.

Размещено на Allbest.ru


Подобные документы

  • Выбор шифров перестановки для проведения анализа. Анализ алгоритма двух различных шифров, построение блок-схемы алгоритма и программы, разработка общего интерфейса. Сравнение шифров перестановки по результатам шифрования и криптоанализа текстов.

    курсовая работа [2,8 M], добавлен 14.01.2014

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

    курсовая работа [52,3 K], добавлен 13.06.2012

  • История алгоритмов симметричного шифрования (шифрования с закрытым ключом). Стандарты на криптографические алгоритмы. Датчики случайных чисел, создание ключей. Сфера интересов криптоанализа. Системы электронной подписи. Обратное преобразование информации.

    краткое изложение [26,3 K], добавлен 12.06.2013

  • Изучение классических криптографических алгоритмов моноалфавитной подстановки и перестановки для защиты текстовой информации. Анализ частоты встречаемости символов в тексте для криптоанализа классических шифров. Сущность одноалфавитного метода шифрования.

    лабораторная работа [2,8 M], добавлен 25.03.2015

  • Разработка программной реализации решения задачи о минимальном покрывающем дереве графа (построение минимального остова), используя алгоритмы Прима и Крускала. Подсчет времени работы алгоритмов. Их программная реализация на практике с помощью Delphi 7.

    курсовая работа [538,1 K], добавлен 29.08.2010

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

    курсовая работа [57,1 K], добавлен 14.06.2012

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

    курсовая работа [1,0 M], добавлен 02.06.2017

  • Основные определения поиска подстроки в строке. Простейшие алгоритмы поиска подстроки в строке. Алгоритмы последовательного поиска и Рабина-Карпа, создание и описание программы, реализующей их. Порядок работы с приложением. Тестирование алгоритмов.

    курсовая работа [2,7 M], добавлен 24.05.2012

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

    курсовая работа [234,6 K], добавлен 27.12.2014

  • Система электронного голосования (ЭГ). Взлом криптосистем с открытым ключом с помощью криптоанализа. Реализация протокола ЭГ с помощью алгоритма RSA. Использование открепительного талона в протоколе ЭГ. Задача RSA и уязвимость учебного алгоритма RSA.

    курсовая работа [3,5 M], добавлен 20.12.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.