ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ СЛОЖНЫХ СИСТЕМ
УДК 004.056.55
БИОИНСПИРИРОВАННЫЕ АЛГОРИТМЫ РЕШЕНИЯ ЗАДАЧ КРИПТОАНАЛИЗА*
Ю. О. Чернышев, А. С. Сергеев, Е. О. Дубров
Введение. В настоящее время при разработке компьютерных технологий, обеспечивающих информационную безопасность и защиту информации, широкое применение находят криптографические методы защиты. Для решения этой задачи, относящейся к классу КР-полных, в последние годы применяются алгоритмы, основанные на природных системах. К ним относятся методы моделирования отжига, генетические алгоритмы (ГА), эволюционные методы, алгоритмы роевого интеллекта и т.д. [1-3].
В моделях и алгоритмах эволюционных вычислений ключевым элементом является построение начальной модели и правил, по которым она может изменяться (эволюционировать). В течение последних лет были предложены разнообразные схемы эволюционных вычислений, в том числе генетический алгоритм, генетическое программирование, эволюционные стратегии, эволюционное программирование.
Реализация криптоанализа симметричных алгоритмов шифрования. Ранее в [1, 4] рассматривалась задача криптоанализа и приведены результаты криптоанализа классических криптографических алгоритмов с использованием методов эволюционной оптимизации и генетического поиска для симметричных шифров перестановок. Различают следующие шифры перестановок: простые шифрующие таблицы; шифрующие таблицы с одиночной перестановкой по ключу; шифрующие таблицы с двойной перестановкой по ключу; магические квадраты. Отметим, что методы шифрования с помощью простых шифрующих таблиц, с помощью одиночной перестановки по ключу, двойной перестановки описаны, например, в [1].
При использовании шифрующих таблиц ключом является перестановка (р1, р2, ...,рп), поэтому хромосома в ГА должна также задавать перестановку. Основной вопрос при этом - как осуществить представление отдельных генов особи. В простейшем случае шифрование осуществляется путем присвоения отдельным генам соответствующих элементов ключа, т.е. 7-м геном хромосомы Р считать элемент р7. Несмотря на недостатки такого подхода, отмеченные в [5], (например, гены получаются зависимыми друг от друга, что приводит к возможности получения нелегальных решений), такое определение генов интуитивно понятно и не требует дополнительных затрат на их формирование (вычисление).
Альтернативным подходом, отмеченным в [1, 5], является использование некоторого промежуточного представления, при котором набор генов задает некоторое правило или объект, из
* Работа выполнена при финансовой поддержке РФФИ (проекты № 14-01-00634 и № 12-01-00474).
которого формируется ключ. При этом основной задачей является нахождение промежуточного решения, задаваемого в виде битовой строки для применения стандартных генетических операторов. Отметим, что при реализации ГА криптоанализа использовался первый подход, т.е. в качестве генов особи рассматриваются элементы ключа. Для предотвращения получения нелегальных решений при десятичном кодировании хромосом используется правило: при появлении в хромосоме одинаковых генов второй повторяющийся ген заменяется на отсутствующий. В качестве функции приспособленности особей использовался факт совпадения открытого текста и шифр-текста при реализации криптоанализа 2-го типа для определения секретного ключа. В [5, 7] в качестве целевой функции предлагается использовать функцию Якобсена о распределении частот биграмм в открытых текстах. Отметим, что результаты эксперимента при реализации криптоанализа 2-го типа при бинарном и десятичном кодировании хромосом методов одиночной и двойной перестановки по ключу, а также простой перестановки, в котором ключом служит размер таблицы, приведены в [1, 3]. Результаты эксперимента свидетельствуют о возможности применения эволюционных методов для криптоанализа шифров, использующих шифрующие таблицы для столбцовых и строчных перестановок.
Наряду с использованием шифрующих таблиц широкое распространение для шифрования получили шифры маршрутной перестановки. В [1, 6] рассматриваются методы шифрования перестановками, использующие магические квадраты. Приводится ГА их построения и результаты эксперимента, которые свидетельствуют о возможности применения ГА для решения задач криптоанализа данных шифров перестановки при разработке систем обеспечения информационной безопасности и защиты информации. Отмечается, что существенным отличительным моментом является наличие случайного поиска, позволяющего получать новые результаты при каждой реализации ГА.
В [1, 6, 8] рассматривается применение данных подходов для реализации шифров простой и многоалфавитной замены. Сущность методов простой замены сводится к замене символов шифруемого текста символами того же или другого алфавита с заранее установленным правилом замены. В [1, 6, 8] рассматривается реализация криптоанализа шифров одноалфавитной замены на примере аффинного шифра Цезаря и системы Цезаря с ключевым словом при известной и неизвестной длине ключа, шифров блочной замены на примере шифра Плейфейра и шифра «двойной квадрат» Уитстона при известной и неизвестной длине кодового слова, а также шифра многоалфавитной замены на примере шифра Вижинера. В [1, 6, 8] приводятся описание ГА для реализации криптоанализа данных методов шифрования, результаты эксперимента, свидетельствующие об области применимости данных методов криптоанализа.
Однако, как отмечено в ряде работ, например в [9], структуры генетических алгоритмов являются «слепыми» поисковыми структурами с присущим им рядом недостатков. Поэтому представляет интерес применение эвристических методов, идеи которых заимствованы у живой природы или физических процессов, в которых решение задачи строится поэтапно путем добавления нового компонента к частично построенному решению. К методам данного вида относят и муравьиные алгоритмы. Отметим, что муравьиные алгоритмы исследуются с середины 90-х гг. и на сегодняшний день известны их применения к задаче о коммивояжере, квадратичной задаче о назначениях, задаче о раскраске графа, задаче маршрутизации в коммутационных сетях. Отметим, что в [9] приводится описание алгоритма «муравьиных колоний» для реализации криптоанализа шифров перестановки, и показано, как эта проблема может быть сведена к классической задаче о назначениях, решаемой с помощью алгоритма муравьиных колоний. Важно отметить, что отличительной особенностью применения алгоритмов «муравьиных колоний» является необходимость представления задачи в виде графовой модели, на которой муравьи могут строить решения.
Одной из последних разработок в области роевого интеллекта является алгоритм пчел, который довольно успешно используется для нахождения экстремумов сложных многомерных функций. Алгоритм криптоанализа шифров перестановок на основе пчелиного алгоритма рассматривается в [10]. Структура его включает следующие основные этапы:
1) формирование пространства поиска;
2) оценка целевой функции (ЦФ) пчел в популяции;
3) поиск агентами-разведчиками перспективных позиций для поиска в их окрестности;
4) выбор пчел с лучшими значениями ЦФ с каждого участка;
5) отправка пчел-фуражиров для случайного поиска и оценка их ЦФ;
6) формирование новой популяции пчел;
7) если условия окончания работы алгоритма выполняются, переход к 8, иначе к 2;
8) конец.
В [10] предлагается реализация основных этапов пчелиного алгоритма, а также приводится демонстрационный пример реализации алгоритма криптоанализа.
Криптоанализ асимметричных алгоритмов шифрования. Наряду с классическими симметричными алгоритмами шифрования сравнительно молодой областью является асимметричная криптография, которая включает криптосистемы с открытым ключом (для шифрования данных используется один ключ (открытый), а для расшифрования - другой (секретный)). Представителем ее является алгоритм Я8Л, криптостойкость которого определяется трудоемкостью факторизации больших чисел. Для проведения криптоанализа и определения секретного ключа необходимо разложение модуля N на простые множители Р и Q (определение функции Эйлера /(№) = (Р -1) • (@ -1)), а также определение секретного ключа Ксек из уравнения Коткр • Ксек = 1шо<! /(Щ), где Коткр - известный открытый ключ (число, взаимно простое с числом /(Щ)), Ксек - секретный ключ, подлежащий определению. Отметим, что ГА для решения задачи определения вариантов разложения заданного числа N на множители (нахождения делителей большого целого числа N) описан в [11], где рассматривается процедура инициализации создания элемента популяции, применение основных генетических операций. Отметим, что ГА разложения заданного числа на множители рассмотрен в [12], экспериментальные результаты, представлены в табл. 1, 2.
Таблица 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
Таблица 2
Экспериментальные результаты применения генетического алгоритма для нахождения простого делителя числа
Длина ключа Размер начальной популяции (в парах) Количество итераций
32 2 000 84 315
3 000 80 448
8 000 77 304
48 8 000 247 558
10 000 210 589
20 000 209 557
64 20 000 1 014 899
24 000 1 144 346
48 000 987 467
Алгоритм разложения числа на два взаимно простых сомножителя сформулируем в следующем виде:
1) задается число в десятичной форме;
2) задается популяция хромосом 10000х2, где первая часть соответствует первому сомножителю, вторая часть - второму (в двоичной форме);
3) выполняются генетические операции (кроссинговер, мутация, инверсия, элитная селекция). Применялся 4-х точечный кроссинговер между хромосомами, принадлежащими одной части (норма мутации 5 %, норма инверсии 10 %, количество потомков варьировалось в пределах 40-60 %);
4) подсчитывается целевая функция путем умножения соответствующих хромосом в двоичной форме с идентичными номерами из каждой части;
5) конец.
При криптоанализе асимметричных алгоритмов шифрования актуальной также является задача нахождения простого делителя заданного числа. Для проверки, является ли число простым, использовался тест Миллера-Рабина. Алгоритм нахождения простого делителя числа сформулируем следующим образом:
1) задается число в десятичной форме (32, 48 или 64 бита), переводится в двоичную форму;
2) случайным образом генерируется начальная популяция двоичных хромосом;
3) вычисляется целевая функция путем деления заданного числа на хромосому (деление производится в десятичной форме). В качестве целевой функции принимается остаток от деления;
4) в случае, если после деления получено целое число, переход к 6, иначе к 5;
5) выполняются генетические операции: 4-точечный кроссинговер случайно сформированных пар родителей, инверсия (норма - 10 %), мутация (норма - 5 %). Выполняется селекция для перехода к следующей генерации;
6) по алгоритму Миллера-Рабина проверяется, является ли число с высокой степенью вероятностью простым; если нет, то осуществляется переход к выполнению генетических операций (пункт 5);
7) конец.
Таким образом, представленные результаты свидетельствуют о возможности применения генетических алгоритмов для решения основных теоретико-числовых задач криптографии: факторизации числа и нахождения простого делителя числа.
Следует заметить, что в плане ликвидации отмеченных выше недостатков ГА актуальной является задача разработки биоинспирированных алгоритмов криптоанализа данных методов шифрования, ликвидирующих отмеченные выше недостатки ГА. В то же время основной проблемой при реализации ГА, описанного в [11], является проблема нахождения экстремума немонотонной функции, т.е. функции, значение / (х) которой в каждой точке х является, по сути, случайной величиной и не дает информации о приближении к глобальному экстремуму. В этом плане отметим работы [3, 13], в которых приводится описание применения биоинспирированных методов для решения задачи криптоанализа асимметричных алгоритмов шифрования на основе факторизации составных чисел. Представлены алгоритмы муравьиных и пчелиных колоний для разложения составных чисел на множители путем определения делителя числа с заданной точностью в заданном интервале. Показано, как эта проблема может быть сведена к классической задаче нахождения кратчайшего пути в графе, решаемой с помощью алгоритма муравьиных колоний. Приводится алгоритм решения, а также пример работы муравьиного и пчелиного алгоритма. Экспериментальные результаты факторизации чисел с использованием алгоритма муравьиных колоний приведены в табл. 3. В данной таблице показаны начальные параметры, собственно само число, количество итераций, необходимых для получения сомножителей, и эти сомножители. Здесь [х, у] - координаты отрезка; М- количество муравьев; т - число вершин в маршруте; Q - параметр порядка длины оптимального пути.
Таблица 3
Экспериментальные результаты применения муравьиного алгоритма для факторизации числа
Число для разложения (N0 Полученные сомножители Начальные параметры Количество итераций
15 238 657 7 ■ 7 ■ 353 ■ 881 [5,2000], М = 4, т = 4, Q = 4 568
[5,1000], М = 5, т = 5, Q = 4 550
[5,1000], М = 6, т = 6, Q = 4 543
16 123 897 23 ■ 37 ■ 18947 [5,30000], М = 4, т = 4, Q = 4 611
[5,20000], М = 5, т = 5, Q = 4 638
[5,20000], М = 6, т = 6, Q = 4 599
Оба числа являются 24-битными. Простота числа проверялась с помощью алгоритма Мил-лера-Рабина.
При реализации пчелиного алгоритма проводилось разложение 32-битного числа. Результаты эксперимента представлены в табл. 4. Простота чисел также была проверена с помощью теста Миллера-Рабина.
Таблица 4
Экспериментальные результаты применения пчелиного алгоритма для факторизации числа.
Число для разложения (Ы) Интервалы для проведения поиска Полученные сомножители
4 154 963 851 [1, 250000], [250001, 500000], [500001, 750000], [750001, 1000000], [1000001,1250000], [1250001, 1500000], [1500001, 1750000], [1750001,2000000] 3943, 1053757
Отметим также, что в [1] описаны отличительные особенности методов шифрования, для которых доказана абсолютная криптографическая стойкость (например, метод Вернама и шифр гаммирования). Рассмотрены также методы генерации псевдослучайных чисел (метод фон Неймана, линейный конгруэнтный метод, методы золотого сечения и Фибоначчи). Отмечается также, что метод шифрования однократной случайной гаммой является, с одной стороны, нераскрывае-мым, но, с другой стороны, практическое использование данного метода сопряжено с рядом недостатков, связанных с необходимостью иметь огромные объемы данных, которые можно было бы использовать в качестве гаммы и их передачи по секретному каналу. Отмечается возможность атак на данные шифры, основанных в большинстве своем либо на факте значительного отклонения статистических характеристик гаммы от действительно случайного потока или на повторном использовании некоторых частей гаммы в процессе шифрования, а также на фальсификации шифров гаммирования в каналах с возможностью модификации (инвертирование бита в передаваемой последовательности приводит к инвертированию бита в декодированном тексте).
В заключение отметим некоторые новые оригинальные методы, используемые для криптоанализа и описанные в научных публикациях и в сети Интернет за последнее время. В этом плане можно отметить работы [5, 7, 14], посвященные применению ГА для криптоанализа шифров перестановок, шифров многоалфавитной замены, а также оригинального метода, опубликованного в [15] и отличающегося, по мнению авторов, «бесконечным» периодом гаммирования [16]. Следует заметить, что в данных публикациях наряду с описанием алгоритмов криптоанализа (способов кодирования решения, описания используемых генетических операций и демонстрационных примеров) приведены экспериментальные результаты криптоанализа, подтверждающие достоверность представленных подходов решения задачи криптоанализа.
Отметим также, что в ряде работ (в том числе в [5, 7, 14]) приводится описание нового подхода к решению задачи определения целевой функции приспособленности особей при решении задачи криптоанализа. В качестве фитнесс-функции предлагается использовать функцию Якобсена Е (к) о распределении частот биграмм в открытых текстах. Эта функция в общем случае вычисляется как: Е (к) = !| $ - Е,\ • гд' 4 - частота встречаемости биграммы аiаj в тексте, полу-
и
ченном при расшифровании с помощью ключа к, Е ^ - среднестатистическая частота встречаемости этой биграммы. Среднестатистические частоты встречаемости биграмм являются заранее известными, и, как показывают приведенные в [5, 7, 14] примеры, применение целевой функции данного типа при криптоанализе дает результаты, достаточно близкие к оптимальным.
Заключение. Таким образом, в данной статье был проведен обзор авторских работ, посвященных решению задачи криптоанализа классических и асимметричных алгоритмов шифрования на основе новых технологий искусственного интеллекта - биоинспирированных методов, имитирующих процессы эволюции живой природы. Описаны основные отличительные особенности применения данных методов, приведены экспериментальные результаты, свидетельствующие о возможности применения данных методов для решения задач криптоанализа.
Список литературы
1. Криптографические методы и генетические алгоритмы решения задач криптоанализа : моногр. / Ю. О. Чернышев, А. С. Сергеев, Е. О. Дубров, А. В. Крупенин, О. П. Третьяков. - Краснодар : ФВАС, 2013. - 138 с.
2. Батаева, И. П. Защита информации и информационная безопасность / И. П. Батаева // Надежность и
качество : тр. Междунар. симп. : в 2 т. / под ред. Н. К. Юркова. - Пенза : Изд-во ПГУ, 2012. - Т. 1. -
С. 116-118.
3. Зияутдинов, В. С. Эволюционные методы в решении задачи планирования расписаний / В. С. Зияутди-нов, Н. В. Слепцов, Ю. А. Романенко // Надежность и качество : тр. Междунар. симп. : в 2 т. / под ред. Н. К. Юркова. - Пенза : Изд-во ПГУ, 2012. - Т. 1. - С. 235-236.
4. Чернышев, Ю. О. Применение биоинспирированных методов оптимизации для реализации криптоанализа классических симметричных и асимметричных криптосистем / Ю. О. Чернышев, А. С. Сергеев, Е. О. Дубров // Системный анализ в проектировании и управлении : сб. науч. тр. 16-й Междунар. науч.-практ. конф. - СПб. : Изд-во Политехн. ун-та, 2012. - С. 112-122.
5. Городилов, А. Ю. Криптоанализ перестановочного шифра с помощью генетического алгоритма /
А. Ю. Городилов // Вестник Пермского университета. Серия «Математика, механика, информатика». -
2007. - № 7. - С. 44-49.
6. Разработка методов криптоанализа шифров перестановок и замены в системах защиты информации на основе эволюционно-оптимизационных методов / Е. О. Дубров, А. Н. Рязанов, А. С. Сергеев, Ю. О. Чернышев // Радиоэлектронные устройства и системы для инфокоммуникационных технологий : материалы науч. конф., посвящ. Дню радио. - М., 2013. - С. 220-224.
7. Морозенко, В. В. Генетический алгоритм для криптоанализа шифра Вижинера / В. В. Морозенко, Г. О. Елисеев // Вестник пермского университета. Серия «Математика, механика, информатика». -2010. - № 1. - С. 75-80.
8. Применение эволюционных методов оптимизации для реализации криптоанализа классических шифров замены / Ю. О. Чернышев, А. С. Сергеев, Е. О. Дубров, А. Н. Рязанов // Информатика: проблемы, методология, технологии : материалы XIII Междунар. науч.-метод. конф. ВГУ. - Воронеж : Изд. дом ВГУ, 2013. - С. 415-418.
9. Фатхи, В. А. Исследование возможности применения алгоритма муравьиных колоний для реализации криптоанализа шифров перестановок / В. А. Фатхи, А. С. Сергеев // Вестник ДГТУ. - 2011. - Т. 11, № 1 (52). - С. 10-20.
10. Исследование возможности применения бионических методов пчелиных колоний для реализации криптоанализа классических шифров перестановок / Ю. О. Чернышев, А. С. Сергеев, Е. О. Дубров, А. Н. Рязанов // Вестник ДГТУ. - 2014. - Т. 14, № 1 (76). - С. 62-75.
11. Сергеев, А. С. О возможности применения методов генетического поиска для реализации криптоанализа асимметричного алгоритма шифрования данных Я8Л / А. С. Сергеев // Известия вузов. СевероКавказский регион. Технические науки. - 2008. - № 3. - С. 48-52.
12. Чернышев, Ю. О. Применение биоинспирированных алгоритмов оптимизации для реализации криптоанализа классических и асимметричных криптосистем / Ю. О. Чернышев, А. С. Сергеев, Е. О. Дубров // Информатика: проблемы, методология, технологии : материалы XIV Междунар. науч.-метод. конф. ВГУ. - Воронеж : Изд. дом ВГУ, 2014. - С. 206-210.
13. Биоинспирированные методы криптоанализа асимметричных алгоритмов шифрования на основе факторизации составных чисел / А. С. Сергеев, О. П. Третьяков, А. Е. Васильев, Ю. О. Чернышев // Вестник ДГТУ. - 2011. - Т. 11, № 9 (60). - С. 1544-1554.
14. Городилов, А. Ю. Криптоанализ тригонометрического шифра с помощью генетического алгоритма / А. Ю. Городилов, А. А. Митраков // Вестник Пермского университета. Серия «Математика, механика, информатика». - 2011. - № 4. - С. 75-82.
15. Сизов, В. П. Пример попытки разработки криптоалгоритма / В. П. Сизов // Новый алгоритм шифрования. - иКЬ: http://mp.fizteh.urfu.ru.
16. Грущанский, В. А. О формализации показателей эффективности и безопасности комплексных программ в условиях неопределенности и риска / В. А. Грущанский, Н. К. Юрков // Надежность и качество сложных систем. - 2013. - № 2. - С. 3-9.
УДК 004.056.55
Чернышев, Ю. О.
Биоинспирированные алгоритмы решения задач криптоанализа / Ю. О. Чернышев, А. С. Сергеев, Е. О. Дубров // Надежность и качество сложных систем. - 2014. - № 2(6). - С. 27-33.
Чернышев Юрий Олегович
доктор технических наук, профессор,
заслуженный деятель науки РФ,
кафедра автоматизации производственных процессов,
Донской государственный технический университет
(344000, Россия, г. Ростов-на-Дону, пл. Гагарина, 1)
79185991645
E-mail: [email protected]
Сергеев Александр Сергеевич кандидат технических наук, доцент, докторант, Донской государственный технический университет (344000, Россия, г. Ростов-на-Дону, пл. Гагарина, 1) 79287585719
E-mail: [email protected]
Дубров Евгений Олегович аспирант,
кафедра автоматизации производственных процессов, Донской государственный технический университет (344000, г. Ростов-на-Дону, пл. Гагарина, 1) 79185063103
E-mail: [email protected]
Аннотация. Рассматривается задача криптоанализа на основе новых моделей искусственного интеллекта - биоинспирированных методов. Приводится обзор авторских работ, посвященных решению задачи криптоанализа классических криптографических методов, в том числе методов криптоанализа симметричных шифров перестановок, классических и блочных шифров замены, приводятся методика представления особи, предотвращения нелегальных решений, а также описание функции приспособленности (функция Якобсена). Также исследуются «алгоритм муравья» и алгоритм «колонии пчел» для реализации криптоанализа перестановочных шифров, а также для реализации криптоанализа асимметричных алгоритмов шифрования на основе решения теоретико-числовых задач криптографии наряду с экспериментальными результатами. Полученные экспериментальные результаты свидетельствуют о возможности применения биоинспирированных методов для реализации криптоанализа.
Ключевые слова: криптоанализ, биоинспирирован-ные методы, генетический алгоритм, муравьиные алгоритмы, пчелиные алгоритмы, шифры перестановок, шифры замены.
Chernyshov Yuriy Olegovich
doctor of technical sciences, professor,
honoured science worker of RF,
sub-department of manufacturing processes automation,
Don state technical university
(344000, 1 Gagarin square, Rostov-on-Don, Russia)
Sergeev Aleksandr Sergeevich
candidate of technical sciences, associate professor,
Don state technical university
(344000, 1 Gagarin square, Rostov-on-Don, Russia)
Dubrov Evgeniy Olegovich
postgraduate student,
sub-department of manufacturing processes automation, Don state technical university,
(344000, 1 Gagarin square, Rostov-on-Don, Russia)
Abstract. The problem is considered of cryptanalysis based on new models of artificial intelligence - bioinspired methods. The review of the handiworks devoted to the solution of a problem of cryptanalysis of classical cryptographic methods, including methods of cryptanalysis of symmetric codes of shifts, classical and block codes of replacement is provided, the technique of representation of an individual, prevention of illegal decisions, and also the description of function of fitness (Jacobsen's function) are given. Also «the algorithm of an ant» and algorithm of «a colony of bees» for realization of cryptanalysis of permutable codes, and also for realization of cryptanalysis of asymmetric algorithms of enciphering on the basis of the solution of number-theoretic problems of cryptography along with experimental results are investigated. The received experimental results testify to possibility of application of the bioinspired methods for cryptanalysis realization.
Key words: the cryptanalysis, the bioinspired methods, genetic algorithm, ant algorithms, bee algorithms, codes of shifts, replacement codes.