УДК 004.056.55
Чернышев Ю.О, Сергеев А. С., Дубров Е.О.
ГОУ ВПО «Донской государственный технический университет», Ростов-на-Дону, Россия
ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ И БИОИНСПИРИРОВАННЫЕ АЛГОРИТМЫ РЕШЕНИЯ ЗАДАЧ КРИПТОАНАЛИЗА*
Введение. В настоящее время при разработке компьютерных технологий, обеспечивающих информационную безопасность и защиту информации, широкое применение находят криптографические методы защиты. Для решения этой задачи, относящейся к классу NP- полных, в последние годы применяются алгоритмы, основанные на природных системах. К ним относятся методы моделирования отжига, генетические алгоритмы (ГА), эволюционные методы, алгоритмы роевого интеллекта и т.д.[1,2,4]
В моделях и алгоритмах эволюционных вычислений ключевым элементом является построение начальной модели и правил, по которым она может изменяться (эволюционировать). В течение последних лет были предложены разнообразные схемы эволюционных вычислений, в т. ч. генетический алгоритм, генетическое программирование, эволюционные стратегии, эволюционное программирование.
Реализация криптоанализа симметричных алгоритмов шифрования. Ранее в [1,3] рассматривалась задача криптоанализа и приведены результаты криптоанализа классических криптографических алгоритмов с использованием методов эволюционной оптимизации и генетического поиска для симметричных шифров перестановок. Различают следующие шифры перестановок: простые шифрующие таблицы; шифрующие таблицы с одиночной перестановкой по ключу; шифрующие таблицы с двойной перестановкой по ключу; магические квадраты. Отметим, что методы шифрования с помощью простых шифрующих таблиц, с помощью одиночной перестановки по ключу, двойной перестановки описаны, например, в [1].
При использовании шифрующих таблиц ключом является перестановка (рі, р2,...рп), поэтому хромосома в ГА должна также задавать перестановку. Основной вопрос при этом - как осуществить представление отдельных генов особи. В простейшем случае шифрование осуществляется путем присвоения отдельным генам соответствующих элементов ключа, т.е. i -м геном хромосомы Р считать элемент pi. Несмотря на недостатки такого подхода, отмеченные в [5], (например, гены получаются зависимыми друг от друга, что приводит к возможности получения нелегальных решений), такое определение генов интуитивно понятно и не требует дополнительных затрат на их формирование (вычисление).
Альтернативным подходом, отмеченным в [1,5] является использование некоторого промежуточного представления, при котором набор генов задает некоторое правило или объект, из которого формируется ключ. При этом основной задачей является нахождение промежуточного решения, задаваемого в виде битовой строки для применения стандартных генетических операторов. Отметим, что при реализации ГА криптоанализа использовался первый подход, т. е. в качестве генов особи рассматриваются элементы ключа. Для предотвращения получения нелегальных решений при десятичном кодировании хромосом используется правило: при появлении в хромосоме одинаковых генов второй повторяющийся ген заменяется на отсутствующий. В качестве функции приспособленности особей использовался факт совпадения открытого текста и шифртекста при реализации криптоанализа 2 типа для определения секретного ключа. В [5,7] в качестве целевой функции предлагается использовать функцию Якобсена о распределении частот биграмм в открытых текстах. Отметим, что результаты эксперимента при реализации криптоанализа 2 типа при бинарном и десятичном кодировании хромосом методов одиночной и двойной перестановки по ключу, а также простой перестановки, в котором ключом служит размер таблицы, приведены в [1,3] . Результаты эксперимента свидетельствуют о возможности применения эволюционных методов для криптоанализа шифров, использующих шифрующие таблицы для столбцовых и строчных перестановок.
Наряду с использованием шифрующих таблиц, широкое распространение для шифрования получили шифры маршрутной перестановки. В [1,6] рассматриваются методы шифрования перестановками, использующие магические квадраты. Приводится ГА их построения и результаты эксперимента, которые свидетельствуют о возможности применения ГА для решения задач криптоанализа данных шифров перестановки при разработке систем обеспечения информационной безопасности и защиты информации. Отмечается, что существенным отличительным моментом является наличие случайного поиска, позволяющего получать новые результаты при каждой реализации ГА.
В [1,6,8] рассматривается применение данных подходов для реализации шифров простой и многоалфавитной замены. Сущность методов простой замены сводится к замене символов шифруемого текста символами того же или другого алфавита с заранее установленным правилом замены. В [1,6,8] рассматривается реализация криптоанализа шифров одноалфавитной замены на примере аффинного шифра Цезаря и системы Цезаря с ключевым словом при известной и неизвестной длине ключа, шифров блочной замены на примере шифра Плейфейра и шифра «двойной квадрат» Уитстона при известной и неизвестной длине кодового слова, а также шифра многоалфавитной замены на примере шифра Вижинера. В [1,6,8] приводятся описание ГА для реализации криптоанализа данных методов шифрования, результаты эксперимента, свидетельствующие об области применимости данных методов криптоанализа.
Однако, как отмечено в ряде работ, например, в [9], структуры генетических алгоритмов являются «слепыми» поисковыми структурами с присущим им рядом недостатков. Поэтому представляет интерес применение эвристических методов, идеи которых заимствованы у живой природы или физических процессов и в которых решение задачи строится поэтапно путем добавления нового компонента к частично построенному решению. К методам данного вида относят и муравьиные алгоритмы. Отметим, что муравьиные алгоритмы исследуются с середины 90-х годов, и на сегодняшний день известны их применения к задаче о коммивояжере, квадратичной задаче о назначениях, задаче о раскраске графа, задаче маршрутизации в коммутационных сетях. Отметим, что в [9] приводится описание алгоритма «муравьиных колоний» для реализации криптоанализа шифров перестановки, и показано, как эта проблема может быть сведена к классической задаче о назначениях, решаемой с помощью алгоритма муравьиных колоний. Важно отметить, что отличительной особенностью применения алгоритмов «муравьиных колоний» является необходимость представления задачи в виде графовой модели, на которой муравьи могут строить решения.
Одной из последних разработок в области роевого интеллекта является алгоритм пчел, который довольно успешно используется для нахождения экстремумов сложных многомерных функций. Алгоритм криптоанализа шифров перестановок на основе пчелиного алгоритма рассматривается в [10]. Структура его включает следующие основные этапы:
Формирование пространства поиска.
Оценка целевой функции (ЦФ) пчел в популяции.
Поиск агентами-разведчиками перспективных позиций для поиска в их окрестности.
Выбор пчел с лучшими значениями ЦФ с каждого участка.
Отправка пчел-фуражиров для случайного поиска и оценка их ЦФ.
Формирование новой популяции пчел.
Если условия окончания работы алгоритма выполняются, переход к 8, иначе к 2.
Конец.
В [10] предлагается реализация основных этапов пчелиного алгоритма, а также приводится демонстрационный пример реализации алгоритма криптоанализа.
Криптоанализ асимметричных алгоритмов шифрования. Наряду с классическими симметричными алгоритмами шифрования сравнительно молодой областью является асимметричная криптография, которая включает криптосистемы с открытым ключом (для шифрования данных используется один ключ (открытый) , а для расшифрования другой (секретный)). Представителем ее является алгоритм RSA, криптостойкость которого определяется трудоемкостью факторизации больших чисел. Для проведения криптоанализа и определения секретного ключа необходимо разложение модуля N на простые множители P и Q (определение функции Эйлера f (N) = (P — 1)*(Q — 1) ), а также определение секретного ключа Ксек из уравнения Коткр *Ксек = 1mod f (N) , где КотКр - известный открытый ключ (число, взаимно простое с числом f (N) ) , Ксек - секретный ключ, подлежащий определению. Отметим, что ГА для решения задачи определения вариантов разложения заданного числа N на множители (нахождения делителей большого целого числа N ) описан в [11], где рассматривается процедура инициализации создания элемента популяции, применение основных генетических операций. Отметим, что ГА разложения заданного числа на множители рассмотрен в [12], экспериментальные результаты, представлены в таблицах 1,2.
Алгоритм разложения числа на два взаимно простых сомножителя сформулируем в следующем виде.
1. Задается число в десятичной форме.
2. Задается популяция хромосом 10000х2, где первая часть соответствует первому сомножителю, вторая часть - второму (в двоичной форме).
3. Выполняются генетические операции (кроссинговер, мутация, инверсия, элитная селекция). Применялся 4-х точечный кроссинговер между хромосомами, принадлежащими одной части (норма мутации 5%, норма инверсии 10%, количество потомков варьировалось в пределах 40-60%).
4. Подсчитывается целевая функция путем умножения соответствующих хромосом в двоичной форме с идентичными номерами из каждой части.
5. Конец.
При криптоанализе асимметричных алгоритмов шифрования актуальной также является задача нахождения простого делителя заданного числа. Для проверки, является ли число простым, использовался тест Миллера-Рабина. Алгоритм нахождения простого делителя числа сформулируем следующим образом.
Задается число в десятичной форме (32, 48 или 64 бита), переводится в двоичную форму.
Случайным образом генерируется начальная популяция двоичных хромосом.
Вычисляется целевая функция путем деления заданного числа на хромосому (деление производится в десятичной форме). В качестве целевой функции принимается остаток от деления.
В случае, если после деления получено целое число, переход к 6, иначе к 5.
Выполняются генетические операции: 4-х точечный кроссинговер случайно сформированных пар родителей, инверсия (норма 10%), мутация (норма 5 %). Выполняется селекция для перехода к следующей генерации.
По алгоритму Миллера-Рабина проверяется, является ли число с высокой степенью вероятностью простым; если нет, то осуществляется переход к выполнению генетических операций (пункт 5).
Конец.
Таким образом, представленные результаты свидетельствуют о возможности применения генетических алгоритмов для решения основных теоретико-числовых задач криптографии: факторизации числа и нахождения простого делителя числа.
Таблица 1. Экспериментальные результаты применения генетического алгоритма для факторизации числа
Длина ключа Размер начальной популяции (в парах) Количество итераций
32 2 000 134 664
3 000 122 537
8 000 99 571
48 8 000 3 400 274
10 000 3 259 667
20 000 2 564 448
64 20 000 84 092 423
24 000 79 549 001
48 000 81 663 284
Следует заметить, что в плане ликвидации отмеченных выше недостатков ГА актуальной является задача разработки биоинспирированных алгоритмов криптоанализа данных методов шифрования, ликвидирующих отмеченные выше недостатки ГА. В то же время основной проблемой при реализации ГА, описанного в [11], является проблема нахождения экстремума немонотонной функции, то есть функции, значение f(x) которой в каждой точке х является, по сути, случайной величиной и не дает информации о приближении к глобальному экстремуму. В этом плане отметим работы [3,13], в которых приводится описание применения биоинспирированных методов для решения задачи криптоанализа асимметричных алгоритмoв шифрования на основе факторизации составных чисел. Представлены алгоритмы муравьиных и пчелиных колоний для разложения
Таблица 2. Экспериментальные результаты применения генетического алгоритма для нахождения простого делителя числа
Длина Размер началь - Количество
ной популяции
ключа (в парах) итераций
2 000 84 315
32 3 000 80 448
8 000 77 304
8 000 247 558
48 10 000 210 589
20 000 209 557
20 000 1 014 899
64 24 000 1 144 346
48 000 987 467
составных чисел на множители путем определения делителя числа с заданной точностью в заданном интервале. Показано, как эта проблема может быть сведена к классической задаче нахождения кратчайшего пути в графе, решаемой с помощью алгоритма муравьиных колоний. Приводится алгоритм решения, а также пример работы муравьиного и пчелиного алгоритма. Экспериментальные результаты факторизации чисел с использованием алгоритма муравьиных колоний приведены в таблице 3. В данной таблице показаны начальные параметры, собственно само число, количество итераций, необходимых для получения сомножителей, и эти сомножители. Здесь [х,у] - координаты отрезка; М - количество му-
равьев; m - число вершин в маршруте; Q - параметр порядка длины оптимального пути.
Таблица 3. Экспериментальные результаты применения муравьиного алгоритма для факторизации числа
Число для разложения (N) Полученные сомножители Начальные параметры Количество итераций
[5,2000], M=4, m=4, Q=4 568
15238657 7 * 7 * 353 * 881 [5,1000], M=5, m=5, Q=4 550
[5,1000], M=6, m=6, Q=4 543
[5,30000], M=4, m=4, Q=4 611
16123897 23 * 37 * 18947 [5,20000], M=5, m=5, Q=4 638
[5,20000], M=6, m=6, Q=4 599
Оба числа являются 24 битными. Простота числа проверялась с помощью алгоритма Миллера-Рабина. При реализации пчелиного алгоритма проводилось разложение 32-битного числа. Результаты эксперимента представлены в таблице 4. Простота чисел также была проверена с помощью теста Миллера-Рабина .
Отметим также, что в [1] описаны отличительные особенности методов шифрования, для которых доказана абсолютная криптографическая стойкость (например, метод Вернама и шифр гаммирования). Рассмотрены также методы генерации псевдослучайных чисел (метод
Таблица 4. Экспериментальные результаты применения пчелиного алгоритма для факторизации числа.
Число для разложения (N) Интервалы для проведения поиска Полученные сомножители
4154963851 [1, 250000] , [250001, 500000] , [500001, 750000] , [750001, 1000000], [1000001,1250000], [1250001, 1500000], [1500001, 1750000], [1750001,2000000]. 3943 , 1053757
фон Неймана, линейный конгруэнтный метод, методы золотого сечения и Фибоначчи). Отмечается также, что метод шифрования однократной случайной гаммой является, с одной стороны, нераскрываемым, но, с другой стороны, практическое использование данного метода сопряжено с рядом недостатков, связанных с необходимостью иметь огромные объемы данных, которые можно было бы использовать в качестве гаммы и их передачи по секретному каналу. Отмечается возможность атак на данные шифры, основанных в большинстве своем либо на факте значительного отклонения статистических характеристик гаммы от действительно случайного потока или на повторном использовании некоторых частей гаммы в процессе шифрования, а также на фальсификации шифров гаммирования в каналах с возможностью модификации (инвертирование бита в передаваемой последовательности приводит к инвертированию бита в декодированном тексте).
В заключение отметим некоторые новые оригинальные методы, используемые для криптоанализа и описанные в научных публикациях и в сети интернет за последнее время. В этом плане можно отметить работы [5,7,14], посвященные применению ГА для криптоанализа шифров перестановок, шифров многоалфавитной замены, а также оригинального метода, опубликованного в [15] и отличающегося, по мнению авторов, «бесконечным» периодом гаммирования. Следует заметить, что в данных публикациях наряду с описанием алгоритмов криптоанализа (способов кодирования решения, описания используемых генетических операций и демонстрационных примеров) приведены экспериментальные результаты криптоанализа, подтверждающие достоверность представленных подходов решения задачи криптоанализа.
Отметим также, что в ряде работ (в том числе в [5,7,14]) приводится описание нового подхода к решению задачи определения целевой функции приспособленности особей при решении задачи криптоанализа. В качестве фитнесс-функции предлагается использовать функцию Якобсена F (к) о распределении
частот биграмм в открытых текстах. Эта функция в общем случае вычисляется как: F (к) = £|
DV Ei\ ,
j
где D - частота встречаемости биграммы аiаj в тексте, полученном при расшифровании с помощью ключа k, Ej - среднестатистическая частота встречаемости этой биграммы. Среднестатистические частоты
встречаемости биграмм являются заранее известными, и, как показывают приведенные в [5,7,14] примеры, применение целевой функции данного типа при криптоанализе дает результаты, достаточно близкие к оптимальным.
Заключение. Таким образом, в данной статье был проведен обзор авторских работ, посвященных решению задачи криптоанализа классических и асимметричных алгоритмов шифрования на основе новых технологий искусственного интеллекта - биоинспирированных методов, имитирующих процессы эволюции живой природы. Описаны основные отличительные особенности применения данных методов, приведены
экспериментальные результаты, свидетельствующие о возможности применения данных методов для решения задач криптоанализа.
ЛИТЕРАТУРА
1. Чернышев Ю.О, Сергеев А.С., Дубров Е.О., Крупенин А.В., Третьяков О.П. Криптографические методы и генетические алгоритмы решения задач криптоанализа: монография. - Краснодар: ФВАС, 2013.
- 138 с.
2. Батаева И.П. Защита информации и информационная безопасность // Надежность и качество -2012: труды Международного симпозиума. - Пенза: Изд-во ПГУ, 2012. - т. 1. - с. 116-118.
3. Чернышев Ю. О., Сергеев А. С., Дубров Е. О. Применение биоинспирированных методов оптимизации для реализации криптоанализа классических симметричных и асимметричных криптосистем// Системный анализ в проектировании и управлении: Сборник научных трудов 16 Международной научно-практической конференции. С-Пб.: Изд-во Политехн. Ун-та, 2012, с. 112-122.
4. Зияутдинов В.С., Слепцов Н.В., Романенко Ю.А. Эволюционные методы в решении задачи планирование расписаний // Надежность и качество - 2012: труды международного симпозиума. - Пенза: Изд-
во ПГУ, 2012. - т. 1. - с. 235-236.
5. Городилов А.Ю. Криптоанализ перестановочного шифра с помощью генетического алгорит-
ма//Вестник пермского университета. Серия: математика, механика, информатика, 2007, № 7, с. 44-
49.
6. Дубров Е.О., Рязанов А.Н., Сергеев А.С., Чернышев Ю.О. Разработка методов криптоанализа шифров перестановок и замены в системах защиты информации на основе эволюционно-оптимизационных методов // Радиоэлектронные устройства и системы для инфокоммуникационных технологий: научная конференция, посвященная дню радио. - Москва, 2013. - с. 220-224.
7. Морозенко В.В., Елисеев Г.О. Генетический алгоритм для криптоанализа шифра Вижине-
ра//Вестник пермского университета. Серия: математика, механика, информатика, 20010, № 1, с. 7580
8. Чернышев Ю. О., Сергеев А. С., Дубров Е. О., Рязанов А. Н. Применение эволюционных методов оп-
тимизации для реализации криптоанализа классических шифров замены // Информатика: проблемы, методология, технологии: материалы XIII междунар. науч.-метод. конф./ВГУ. - Воронеж, 2013, с. 415-
418 .
9. Фатхи В.А., Сергеев А.С. Исследование возможности применения алгоритма муравьиных колоний для реализации криптоанализа шифров перестановок. - Вестник ДГТУ, том 11, № 1(52), 2011, с. 10-
20.
10. Чернышев Ю.О, Сергеев А.С., Дубров Е.О., Рязанов А.Н. Исследование возможности применения бионических методов пчелиных колоний для реализации криптоанализа классических шифров перестановок// Вестник ДГТУ, том 14, № 1(76), 2014, с. 62-75.
11. Сергеев А.С. О возможности применения методов генетического поиска для реализации криптоанализа асимметричного алгоритма шифрования данных RSA. - Известия ВУЗов. Сев.-Кавк. Регион. Техн. Науки. 2008. № 3, с. 48-52.
12. Чернышев Ю.О, Сергеев А.С., Дубров Е.О. Применение биоинспирированных алгоритмов оптимизации для реализации криптоанализа классических и асимметричных криптосистем // Информатика: про-
блемы, методология, технологии: материалы XIV Международной научно-методической конференции /ВГУ.
- Воронеж: Издательский дом ВГУ, 2014, с. 206-210.
13. Сергеев А.С., Третьяков О.П., Васильев А.Е., Чернышев Ю.О. Биоинспирированные методы криптоанализа асимметричных алгоритмов шифрования на основе факторизации составных чисел. - Вестник
ДГТУ, том 11, № 9(60), 2011, с. 1544-1554.
14. Городилов А.Ю., Митраков А.А. Криптоанализ тригонометрического шифра с помощью генетического алгоритма. //Вестник пермского университета. Серия: математика, механика, информатика,
20011, № 4, с. 75-82 .
15. Материалы сайта http://mp.fizteh.urfu.ru/КМЗИ/Литература/В.П Сизов. Пример попытки разработки криптоалгоритма.doc - Сизов В.П. Новый алгоритм шифрования.