Применение комбинированных биоинспирированных стратегий (генетический алгоритм и алгоритм пчелиных колоний) для реализации криптоанализа классических шифров перестановок

Применение комбинированных биоинспирированных стратегий (генетический алгоритм и алгоритм пчелиных колоний) для реализации криптоанализа классических шифров перестановок

Ю.О. Чернышев, А. С. Сергеев Донской государственный технический университет, Ростов-на-Дону

Аннотация: Рассматривается задача криптоанализа с использованием новой модели оптимизационных стратегий - комбинированного биоинспирированного алгоритма. Описано применение комбинированного биоинспирированного алгоритма (генетический алгоритм и алгоритм муравьиных колоний) для реализации криптоанализа шифров перестановок. Приводится описание комбинированного алгоритма, отмечены его отличительные особенности, описан демонстрационный пример реализации криптоанализа строки шифртекста данным алгоритмом. Применительно к данному алгоритму показано также, что вероятность получения оптимального варианта решения при реализации комбинированных алгоритмов криптоанализа не может быть меньше вероятности получения оптимального решения при использовании классических биоинспирированных алгоритмов.

Ключевые слова: криптоанализ, биоинспирированный алгоритм, генетический алгоритм, алгоритм пчелиных колоний, кроссинговер, мутация, шифр перестановок.

Введение

В настоящее время научное направление «природные вычисления», объединяющее математические методы, в которых заложен принцип природных механизмов принятия решений, получает все более широкое распространение для решения различного круга оптимизационных задач, в том числе задач криптоанализа. В данных методах и моделях основным определяющим элементом является построение начальной модели и правил, по которым она может изменяться (эволюционировать). В [1] авторами рассматривались методы решения задачи криптоанализа, относящейся к переборным задачам с экспоненциальной временной сложностью, на традиционные симметричные криптосистемы,

использующие шифры перестановки и замены, а также на шифры гаммирования с использованием генетических алгоритмов, в [2] - на симметричные и ассиметричные криптосистемы с использованием биоинспирированных методов (алгоритмов муравьиных и пчелиных

колоний). В [3] исследована возможность применения методов

генетического поиска для реализации криптоанализа блочных криптосистем. Поскольку данные задачи в большинстве своем являются КР-полными (имеют комбинаторную сложность), то, как отмечено в [4], основным мотивом для разработок новых алгоритмов решения комбинаторных задач являются возникшие потребности в решении задач большой и очень большой размерности. Отметим также, что разработке новых моделей биоинспирированных методов глобальной оптимизации посвящена работа [5], где рассмотрены новые биоинспирированные технологии, имитирующие поведение лягушек, кукушек, светлячков, и распространения сорняков. Основная отличительная особенность всех четырех методов состоит в возможности поиска глобального экстремума многоэкстремальных целевых функций с большим числом переменных. В этом плане можно отметить также новые подходы, связанные с применением биоинспирированных алгоритмов (алгоритмы пчелиных колоний) для криптоанализа блочных методов шифрования [18], а также подход, связанный с применением биоинспирированных методов для решения проблемы моделирования процессов распределения потока ресурсов [27].

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

отметить работы [2,3,7,8], в которых рассматривалось применение алгоритмов муравьиных и пчелиных колоний для криптоанализа классических симметричных, асимметричных и блочных криптосистем. В данной работе мы рассмотрим возможность разработки и применения комбинированного биоинспирированного метода (комбинирование генетического метода и алгоритма пчелиных колоний) для криптоанализа классических шифров перестановок. Отметим также, что в [9,10] приводится обзор авторских работ, посвященных решению задачи криптоанализа классических криптографических методов, а также исследованию возможности применения «алгоритма муравья» и алгоритма «колонии пчел» для реализации криптоанализа перестановочных шифров, а также асимметричных алгоритмов шифрования на основе решения теоретико-числовых задач криптографии. В [11] приводится обзор авторских работ, посвященных решению задачи криптоанализа блочных криптографических методов на основе новых моделей искусственного интеллекта - генетических алгоритмов, методов муравьиных и пчелиных колоний.

Постановка задачи. Генетические алгоритмы и алгоритмы пчелиных

колоний.

Следует заметить, что в качестве первичного признака, по которому производится классификация шифров, используется тип преобразования, осуществляемого с открытым текстом при шифровании. Если буквы открытого текста при шифровании только меняются местами друг с другом, то данный шифр относится к классу шифров перестановок [1,2,7], основные виды которых описаны, например, в [12,13]. В результате применения данных шифров полученная криптограмма включает только те символы, которые составляют открытый текст, то есть задача определения открытого текста заключается в определении позиций для назначения символов

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

Отметим, что описание возможного применения алгоритма муравьиных колоний для задач криптоанализа (на основе сведения ее к квадратичной задаче о назначениях, описанной в [14]) приведено в [2,7]. Описание применения генетического алгоритма для реализации криптоанализа классических шифров перестановок наряду с экспериментальными результатами приведено в [1]. В соответствии с [1,3] можно выделить следующие этапы простого генетического алгоритма, впервые описанного Гольдбергом на основе работ Холланда [15,16].

1. Инициализировать и оценить популяцию.

2. Повторять пункты 2.1-2.5, пока не выполнится условие останова.

2.1. Отбор (селекция). Отобрать часть популяции для воспроизводства.

2.2. Скрещивание. Выполнить скрещивание «генов» отобранных родителей.

2.3. Мутация. Случайным образом осуществить мутацию полученной популяции.

2.4. Оценивание. Оценить пригодность популяции (функцияfitness).

2.5. На основе полученных значений функции fitness выбрать выживших индивидов.

Отметим, что основные модели, отличительные черты генетических алгоритмов, а также способы реализации их основных этапов описаны, например, в [1,3,17]. Тем не менее, несмотря на имеющую место за последние годы широкую область применимости эволюционных методов, они обладают рядом недостатков, отмеченных выше (наличие «слепого»

J

поиска, приводящего к попаданию в локальный оптимум). Одной из последних разработок в области искусственного интеллекта является алгоритм пчел, который в последнее время используется для нахождения экстремумов сложных многомерных функций [8]. Отметим, что обзор некоторых публикаций, посвященных применению алгоритмов пчелиных колоний для решения комбинаторных теоретико-графовых задач (задача разбиения графа, раскраска графа, сравнение с другими «биоинспирированными» методами), решению задачи размещения, задачи разложения составных чисел на простые сомножители, используемой при криптоанализе асимметричных алгоритмов, приводится в [8].

Как и ранее в [2,7,8], для решения задачи криптоанализа определим целевую функцию вида

n n

R = X X QC..X..->max

1=1 j=1l lj lj

где Xj=1, если символ i назначен в позицию j, и Xj=0 в противном случае, Cj — вероятность того, что за символом в позиции i должен следовать символ в позиции i+1. Кроме этого, вводится параметр Q, показывающий, насколько фрагмент текста из i символов носит осмысленный характер, то есть совпадает со словарным запасом языка.

Как отмечено в [8], при реализации алгоритма пчелиных колоний каждое решение представляет собой позицию в пространстве поиска, содержащую определенное количество нектара. При этом данное количество нектара определяет значение целевой функции в этой точке. Решение задачи криптоанализа представляет собой последовательность символов алфавита Хрл^,...,x^, пройденных при перемещении агента-пчелы в пространстве

поиска. Целью поиска является определение оптимальной комбинации (последовательности прохождения) символов с максимальным значением

целевой функции Я, которая определяется комбинациями символов, пройденных агентами-пчелами.

Комбинированный алгоритм пчелиных колоний.

Далее при описании алгоритма будем использовать методику и терминологию, используемую в [4,8,18]. Как отмечено в [8,18], итерационный процесс поиска решений при реализации алгоритма криптоанализа заключается в последовательном перемещении агентов-пчел в новые позиции в пространстве поиска и формировании соответствующих вариантов текста с последующей проверкой их оптимальности, а также выборе соответствующего оптимального (или квазиоптимального) варианта ключа.

В соответствии с [4,8,19] алгоритм колонии пчел включает следующие основные операции.

1. Формирование пространства поиска и создание популяции пчел.

2. Оценка целевой функции (ЦФ) пчел в популяции путем определения ЦФ, определяющей оптимальность исходного текста.

3. Формирование перспективных участков для поиска в их окрестности.

4. Отправка пчел-разведчиков и поиск агентами-разведчиками перспективных позиций для поиска в их окрестности.

5. Выбор пчел с лучшими значениями ЦФ с каждого участка.

6. Отправка рабочих пчел (пчел-фуражиров) для случайного поиска и оценка их ЦФ.

7. Формирование новой популяции пчел.

8. Проверка условия остановки алгоритма. Если они выполняются, переход к 9, иначе к 2.

9. Конец работы алгоритма.

Структурная схема алгоритма колонии пчел приведена в [19]. В соответствии с [19] в лучшем случае временная сложность пчелиных

алгоритмов Т составляет О ~ 1 (п^п), в худшем случае О ~ 1 (п3).

Отметим, что пример реализации алгоритма пчелиных колоний для криптоанализа шифров перестановок (на основе модели, описанной в [14]) приведен в [2,8], для криптоанализа блочных криптосистем на основе определения секретного ключа - в [18]. В связи с этим возникает актуальный вопрос о возможности применения комбинированных биоинспирированных методов для реализации криптоанализа, в том числе, о возможности разработки методов, сочетающих основные черты генетических и пчелиных алгоритмов. Очевидно, что при реализации криптоанализа текстов значительной длины применение генетических операций, производимых над полученными частичными решениями, может существенно сократить временные затраты, а также повысить разнообразие генетического материала популяции, ускоряя процесс сходимости к глобальному оптимуму.

Как отмечено в [26], в гибридных алгоритмах, объединяющих различные либо однотипные алгоритмы, но с различными значениями параметров, преимущества одного алгоритма могут компенсировать недостатки другого. Поэтому одним из основных путей повышения эффективности решения задач глобального поиска в настоящее время является разработка гибридных популяционных алгоритмов. Отметим, что в настоящее время существует значительное число способов гибридизации оптимизационных алгоритмов, некоторые разновидности классификаций данных алгоритмов приведены в [26] (одноуровневая классификация Ванга, двухуровневая классификация Эль-Абда и Камэла, четырехуровневая классификация Рейдла).

В соответствии с классификацией Ванга выделяют три категории гибридных алгоритмов, рассмотренных в [26]: вложенные алгоритмы, алгоритмы типа препроцессор/постпроцессор, коалгоритмы.

В категории методов гибридизации вложением выделяют высокоуровневую и низкоуровневую гибридизации.

Высокоуровневая гибридизация вложением предполагает слабую связь объединяемых алгоритмов, обычно при этом данные алгоритмы сохраняют значительную независимость.

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

Отметим, что в [26] приведена общая схема последовательной высокоуровневой гибридизации вложением, которая представлена в следующем виде.

1. Инициализация агентов Sj популяционного алгоритма.

2. Выполнение заданного числа итераций популяционного алгоритма.

3. При полученных координатах агентов Sj выполнение локального

поиска с помощью второго вложенного комбинируемого алгоритма. Координаты лучших найденных точек х1 полагаются равными текущим

координатам агентов ^.

4. Проверка выполнения условия окончания выполнения итераций. Если это условие выполнено, завершение вычислений, в противном случае переход к 2.

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

Таким образом, используя терминологию и обозначения, введенные в [4,8,18,], комбинированный алгоритм криптоанализа сформулируем в следующей форме. Как и ранее, будем предполагать, что пространство поиска, в котором размещены символы алфавита шифртекста, представляет собой прямоугольную матрицу А заданного размера т] х т2.

1. Определить начальные параметры алгоритма: количество пчел-агентов Ы; размер популяции пчел М; количество итераций Ь; количество агентов-разведчиков пг; количество агентов-фуражиров п; значение максимального размера окрестности Хмшкс; количество базовых позиций пь; пЬ] — количество базовых позиций, формируемых из лучших позиций а, найденных на /-] итерации; пГ1 — количество агентов-разведчиков, выбирающих случайным образом новые позиции на итерациях 2,3,..,Ь; пЬ2 — количество базовых позиций, формируемых из пГ1 новых лучших позиций, найденных агентами-разведчиками на / итерации.

2. Задать номер итерации /=1.

3. Разместить пг агентов-разведчиков случайным образом в пространстве поиска, то есть выбрать произвольным образом пг символов в матрице А. Определить значение ЦФ Я равным малому положительному числу.

4. Сформировать множество пь базовых решений и соответствующее множество базовых позиций Аь=(аы} с лучшими значениями ЦФ Я.

5. ^=1 (задание номера агента-фуражира).

6. Выбор базовой позиции Аь.

7. Выбор позиции а3(/), расположенной в окрестности базовой позиции аи не совпадающей с ранее выбранными на данной итерации позициями, и соответствующего решения (списка Е5).

8. Для всех вновь включенных позиций рассчитать и поставить им в соответствие списки (частичные решения) Es и соответствующие значения ЦФ R.

9. f=f+1, если/>п^ переход к п. 10, иначе к п. 6.

10. Провести операцию кроссинговера (скрещивания) полученных индивидуумов (частичных решений в виде списков Е, содержащих более двух символов) на основе заданной нормы, получение заданного количества потомков (формирование расширенной популяции).

11. Провести операцию мутации индивидуумов популяции на основе заданной нормы мутации, получение заданного количества мутированных потомков.

12. Подсчитать целевые функции R вновь полученных индивидуумов и умножить на весовой коэффициент Q.

13. Провести селекцию индивидуумов расширенной популяции родителей и потомков для сокращения популяции до размера М.

*

14. Среди всех значений выбрать лучшее значение R и

*

соответствующее решение (список Е ).

**

15. Если значение Я (¡) предпочтительней значения Я (1-1), то

*

сохранить значение Я (I), в противном случае сохраненным остается

*

значение Я (1-1).

16. Если ¡<Ь (не все итерации пройдены), 1=1+1 (переход к следующей итерации), переход к п. 17, иначе к п. 21.

17. Начать формирование множества базовых позиций для следующей итерации. Во множество АЬ1 включается пЬ1 лучших позиций, найденных агентами на итерации ¡-1.

18. Разместить пг1 агентов-разведчиков случайным образом в пространстве поиска для выбора пг1 позиций в пространстве поиска, осуществить выбор этих позиций.

19. Включить в множество Ab2 nb2 позиций из множества nrl новых позиций, найденных агентами-разведчиками на итерации l. (nb2+nb¡ = nb).

20. Определить множество базовых позиций на итерации l как Ab= Ab1 U Ab2, перейти к п. 5.

*

21. Конец работы алгоритма, список Е — вариант исходного текста с

*

лучшим значением ЦФ R .

Таким образом, в данном алгоритме операторы 1-9, 17-21 соответствуют операторам пчелиного алгоритма, обеспечивая формирование пространства решений и глобальный поиск, операторы 10-16 соответствуют операторам генетического алгоритма и обеспечивают локальный поиск в пространстве решений.

Таким образом, применение эволюционных операторов, обеспечивающих повышение разнообразия частичных решений для получения оптимального варианта текста, может оказаться целесообразным при значительном объеме текста и может увеличить скорость схождения к глобальному оптимуму. В этом плане также может оказаться целесообразным применение некоторых модифицированных генетических операторов, описанных, например, в [20,21] (транслокация, сегрегация, рекомбинация), применение моделей параллельных эволюционных стратегий, таких как глобальный параллельный гибридный алгоритм, распределенный параллельный гибридный алгоритм (островная модель) [1,3,22,23], а также некоторые специальные модели генетических алгоритмов (hybrid а1^огИкш8, CHC, Genitor, клеточная модель), описанных в [1,3,22],

Демонстрационный пример

Как и ранее в [7,8], рассмотрим реализацию представленного алгоритма на демонстрационном примере. Пусть задана строка из 12 символов ДИАИОБСУРНЯЦ, требуется определить возможную перестановку

символов, входящую в словарный состав языка. Как и ранее в [7,8], составим матрицу Су, показывающую вероятность того, что за символом { может следовать символ Матрица Су составлена на основе данных, приведенных в [13,24], и показана в табл. 1. Значения, приведенные в [13], промасштабированы и округлены до десятых долей.

Таблица № 1 Вероятность появления биграмм в тексте

Д И А О Б С У Р Н Я Ц

Д

И А О Б С У Р Н

Я Ц

0.1 0.8 0.9 0.8 0.1 0.7 0.8 0.6 0.5 0.2 0.1

0.7 0.8 0.4 0.5 0.6 0.8 0.1 0.7 0.8 0.5 0.1

0.8 0.7 0.2 0.4 0.8 0.7 0.2 0.7 0.8 0.5 0.4

0.8 0.5 0.2 0.2 0.9 0.9 0.1 0.9 0.8 0.1 0.1

0.1 0.6 0.7 0.8 0.1 0.1 0.5 0.5 0.2 0.1 0.1

0.3 0.7 0.8 0.9 0.1 0.1 0.6 0.4 0.7 0.1 0.1

0.3 0.1 0.1 0.1 0.4 0.3 0.1 0.7 0.5 0.1 0.1

0.3 0.7 0.9 0.9 0.1 0.3 0.4 0.1 0.3 0.2 0.1

0.2 0.8 0.9 0.9 0.1 0.2 0.4 0.1 0.2 0.3 0.1

0.2 0.1 0.1 0.1 0.1 0.2 0.1 0.2 0.3 0.1 0.1

0.1 0.5 0.4 0.2 0.1 0.1 0.2 0.1 0.1 0.1 0.1

Пространство поиска, как и ранее в [8], определим в виде матрицы А размером 21 х24 заполненной символами из алфавита шифртекста, размещенными случайным образом в ячейках с соответствующими координатами (табл. 2).

Будем предполагать, что весовой коэффициент Q используется для списков длиной более 2 символов, используется также операция универсального кроссинговера по маске. Если скрещиваются хромосомы

разной длины, то случайным образом выбирается номер позиции начала скрещивания.

Таблица 2

Пространство поиска для комбинированного алгоритма

24 и р б я и у н и с р ц о а с и р б я б р У

23 д и н я о р д С я и р н б о а с и р б я и

22 р д с я и р н б у с а и я б р у и а ц о а

21 б б д и н я ц а с у с а и ц и Р б я и у н

20 о а с и р б я и у н и с р я и б а р с у ц

19 б я и у н и с р а и ц с у ц б р я д с у ц

18 б р у и а ц О а с и р б я И д я о р и р н

17 с а и ц и р б я и у н б я и у н и с р ц о

16 р д с я и р н б у с а и ц с у ц д и ц я б

15 у б б д и н я о р Д с я и о у р н с у б б

14 р д с я и р н б о а с и а с у с а и ц с у

13 с а и я б р у и а ц о с и р б я и у н и о

12 д и н я о р д с я и р н Б д с я и р н б у

11 а р с у Ц д н я б с у с а и ц с у ц б р я

10 а р с у ц д н я б с у о д ц я б р у и а ц

9 д и ц я б р у и а ц о а с у с а и ц с у ц

8 у о д а с ц о у Р н с у б б д и н я ц ц я

7 о р н с у б б д и н я о р д с я и р н б у

6 б я и у н б я и у н с а и ц и р б я и у д

5 д с р у а о и ц н р д я о р и р н б у с а

4 а д и ц я б р у и а ц о а с и р б я и у н

3 и ц б о р д с я и р н б у с а и ц с у ц б

2 н у ц я и б а р с у ц д н я б с у о д а с

1 д с р у а о и ц н р д я о р н С у б б д и

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Итерация ].

1. В соответствии с этапами 1-3 алгоритма определим количество агентов-разведчиков пг=10 и разместим их случайным образом в

пространстве поиска, то есть выберем произвольным образом пг символов в матрице А. Пусть это будут символы С(16,1), Р(9,8), Ц(5,11), Д(10,15), Б(13,12), И(14,18), О(7,18), Р(16,21), С(8,23), У(21,24), выделенные в табл. 2 жирным курсивом. Положим значение ЦФ Я для всех позиций равным малому положительному числу Я=0.001. Определим размер популяции пчел М=10.

2. В соответствии с шагом 4 алгоритма определим множество базовых решений пь=6 и соответствующие базовые позиции с лучшими значениями ЦФ (на этом этапе, как и в [8], их выберем произвольно). Пусть это будут позиции Аь={С(16,1), Ц(5,11), И(14,18), Д(10,15), Р(16,21), Б(13,12)}.

3. В соответствие с этапами 5-9 алгоритма определим количество агентов-фуражиров п=8, размер максимальной окрестности Хмакс=20. Пусть базовые позиции выбираются восемью агентами-фуражирами в следующем порядке а1=Ц(5,11), а2=И(14,18), аз=С(16,1), а4=И(14,18), а5=С(16,1), а^=Д(10,15), а7=Б(13,12), а^=Р(16,21). Пусть базовым позициям ставятся в соответствие следующие позиции а3: Ц(5,11)—^У(4,11); И(14,18)—И(12,16); С(16,1)—У(13,3); И(14,18)—С(14,16); С(16,1)—Я(16,7); Д(10,15)—И(10,12); Б(13,12)—Д(13,10); Р(16,21)—О(17,18).

Таким образом, в соответствии с шагом 8 будем иметь перечень позиций, списков и значений функции Я, определенных в соответствии с табл. 1. Для позиций Ц(5,11), И(14,18), С(16,1), Д(10,15), Б(13,12), Р(16,21) Я=0,001, списки Е1-Е6 состоят из одного символа, Я=0.001. Для позиций: У(4,11) Еу={ЦУ}, Я=0.2; И(12,16) Е8={ИИ}, Я=0.8; У(13,3) Е9={СУ}, Я=0.6; С(14,16) Ею={ИС}, Я=0.8; Я(16,7) ЕП={СЯ}, Я=0.1; И(10,12) Е12={ДИ}, Я=0.8; Д(13,10) Е13={БД}, Я=0.1; О(17,18) Е14={РО}, Я=0.9.

4. В соответствии с шагом 10 алгоритма проведем операцию универсального кроссинговера для списков Е7 -Е14, выбрав норму 75%. Пусть для получения 6 потомков Е15 -Е20 выбраны списки Е7-Е10, Е13-Е14, Е10-

Е11, и сформированы следующие маски: 10; 01; 01. В этом случае получим следующих потомков: Е^={ИУ}, Я=0.1; Е16={ЦС}, Я=0.1; ЕП={БО}, Я=0.8; Е18={РД}, Я=0.3; Е19={ИЯ}, Я=0.5; Е20={СС}, Я=0.1.

5. В соответствии с шагом 11 алгоритма проведем операцию точечной мутации. Будем предполагать далее, что мутация проводится путем случайного выбора хромосом популяции, случайного выбора количества генов и произвольной замены значений выбранных генов на допустимые из произвольно выбранных позиций. Пусть после выбора хромосомы (списка) Е13 меняется значение гена Б на Р(16,21), после выбора хромосомы Е15 меняется значение У на Н(11,17), после выбора хромосомы Е16 меняется значение гена С на А(4,8). В этом случае потомки будут иметь вид: Е13={РД(13,10)}, Я=0,3; Е15={ИН(11,17)}, Я=0,8; Е16={ЦА(4,8)}, Я=0,4.

Таким образом, на итерации 1 мы будем иметь следующий перечень списков (хромосом), координат и значений функции Я: {Ц(5,11)}, {И(14,18)}, {С(16,1)}, {Д(10,15)}, {Б(13,12)}, {Р(16,21)}, Я=0.001; {ЦУ(4,11)}, Я=0.2; {ЦА(4,8)}, Я=0.4; {ИИ(12,16)}, Я=0.8; {ИС(14,16)}, Я=0.8; {ИН(11,17)}, Я=0.8; {ИЯ(16,7)}, Я=0.5; {СУ(13,3)}, Я=0.6; {СЯ(16,7)}, Я=0.1 {СС(14,16)}, Я=0.1; {ДИ(10,12)}, Я=0.8; {БО(17,18)}, Я=0.8; {РО(17,18)}, Я=0.9; РД(13,10)}, Я=0.3; {РД(13,10)}, Я=0,3.

6. Проводя в соответствии с шагом 13 элитную селекцию, удалим индивидуумы популяции с наименьшим значением Я до сокращения размера популяции до размера М=10. Это индивидуумы {Ц(5,11)}, {И(14,18)}, {С(16,1)}, {Д(10,15)}, {Б(13,12)}, {Р(16,21)}, {СС(14,16)}, {СЯ(16,7)}, {ЦУ(4,11)}, РД{(13,10)}.

7. Выбирая среди всех значений лучшее значение, получим, что Я =0,9; Е ={РО}.

8. Полагаем ¡=2.

Итерация 2.

1. В соответствии с шагом 17 алгоритма определим число пЬ]= 3; включим во множество АЬ] позиции АЬ]={РО(17,18), Я=0.9; ИН(11,17), Я=0.8; ДИ(10,12), Я=0.8}.

2. В соответствии с шагом 18 определим количество агентов-разведчиков пг/=6 и разместим их произвольным образом в пространстве поиска. Пусть произвольным образом выбираются символы СУ(13,3), РД(13,10), Н(19,7), А(10,4), Ц(17,3), И(9,4).

3. В соответствии с шагом 19 включим во множество АЬ2 пЬ2=3 позиции из множества пг/=6 позиций, найденных агентами-разведчиками на итерации 2. Пусть это будут позиции Ль2={СУ(13,3), Я=0.6; РД(13,10), Я=0.3; А(10,4), Я=0.001}.

4. Таким образом, на итерации /=2 пЬ]+ пЬ2=6 и множество базовых позиций Аь={РО(17,18), ИН(11,17), ДИ(10,12), СУ(13,3), РД(13,10), А(10,4)}. Пространство поиска показано в табл. 3, базовые позиции отмечены прямым жирным шрифтом.

5. В соответствие с этапами 5-9 алгоритма определим количество агентов-фуражиров и^8, размер максимальной окрестности Хмакс=20. Пусть базовые позиции выбираются в следующем порядке:

а]=РО(17,18), а2=А(10,4), а5=ИН(11,17), а4=А(10,4), а5=РД(13,10), аб=РД(13,10), а7=СУ(13,3), а,=ДИ(10,12).

Пусть базовым позициям ставятся в соответствие следующие позиции а,: РО(17,18)^Ц(19,16); А(10,4)^Ц(8,5); ИН(11,17)^ИИ(12,16); А(10,4)^Ц(4,4); РД(13,10)^ИЯ(16,7); РД(13,10)^ИИ(12,16);

СУ(13,3)^БО(17,18); ДИ(10,12)^ЦА(4,8).

Таким образом, на данном шаге мы будем иметь следующий список позиций, решений и соответствующих значений функции Я.

Таблица 3

Пространство поиска для комбинированного алгоритма после 1 итерации

24 и р б я и у н и с р ц о а с и р б я б р у

23 д и н я о р д с я и р н б о а с и р б я и

22 р д с я и р н б у с а и я б р у и а ц о а

21 б б д и н я ц а с у с а и ц и р б я и у н

20 о а с и р б я и у н и с р я и б а р с у ц

19 б я и у н и с р а и ц с у ц б р я д с у ц

18 б р у и а ц о а с и р б я и д я РО БО р и р н

17 с а и ц и р б я и у ИН б я и у н и с р ц о

16 р д с я и р н б у с а ИИ ц ИС у ц д и ц я б

15 у б б д и н я о р д с я и о у р н с у б б

14 р д с я и р н б о а с и а с у с а и ц с у

13 с а и я б р у и а ц о с и р б я и у н и о

12 д и н я о р д с я ДИ р н б д с я и р н б у

11 а р с у ц д н я б с у с а и ц с у ц б р я

10 а р с у ц д н я б с у о РД ц я б р у и а ц

9 д и ц я б р у и а ц о а с у с а и ц с у ц

8 у о д ЦА с ц о у р н с у б б д и н я ц ц я

7 о р н с у б б д и н я о р д с ИЯ и р н б у

6 б я и у н б я и у н с а и ц и р б я и у д

5 д с р у а о и ц н р д я о р и р н б у с а

4 а д и ц я б р у и А ц о а с и р б я и у н

3 и ц б о р д с я и р н б СУ с а и ц с у ц б

2 н у ц я и б а р с у ц д н я б с у о д а с

1 д с р у а о и ц н р д я о р н с у б б д и

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

О(17,18), Е1={СУБО}, Я=1.8; А(10,4), Е2={А}, Я=0.001; Н(11,17), Е3={ИН}, Я=0.8; Д(13,10), Е4={РД}, Я=0.3; У(13,3), Е5={СУ}, Я=0.6; И(10,12), Е6={ДИ}, Я=0.8; Ц(19,16), Е7={РОЦ}, Я=1; Ц(8,5), Е8={АЦ}, Я=0.4; И(12,16), Е9={ИНИИ}, Я=2.4; Ц(4,4), Ею={АЦ}, Я=0.4; Я(16,7), Еп={РДИЯ}, Я=1.6; И(12,16), Е12={РДИИ}, Я=1.9; А(4,8), Е13={ДИЦА}, Я=1.3; О(17,18), Е14={РО}, Я=0.9.

6. В соответствии с шагом 10 алгоритма проведем операцию универсального кроссинговера по норме 75%, при этом для получения 9 потомков Е15-Е23 выбраны следующие списки: Е9-Е10 (с позиции 3, потомки Е15, Е16), Е8 -Е12 (с позиции 2, потомки Е17, Е18), Е3-Е11 (с позиции 3, потомки Е19, Е20), Е10-Е11 (с позиции 1, потомки Е21, Е22), Е4-Е6 (потомок Е23). Пусть сформированы следующие маски: 00, 01, 10, 11, 01. В этом случае получим потомков: Е15={ИНИИ}, Я=2.4, Е16={ИНАЦ}, Я=2.1, Е17={РАИИ}, Я=2.4, Е18={РДЦИ}, Я=0.9, Е19={РДИН}, Я=1.9, Е20={РДИЯ}, Я=1.6, Е21={РДИЯ}, Я=1.6, Е22={АЦИЯ}, Я=1.4, Е23={РИ}, Я=0.7.

7. В соответствии с шагом 11 алгоритма проведем операцию точечной мутации. Пусть после выбора списка Е11 в нем меняется ген Я на Н(11,17), после выбора списка Е15 ген Н меняется на Ц, после выбора списка Е17 ген А меняется на Я, в списке Е23 ген И меняется на Д(13,10). В этом случае получим потомков: Е11={РДИН}, Я=1.9, Е15={ИЦИИ}, Я=1.4, Е17={РЯИИ}, Я=1.1, Е23={РД}, Я=0.3.

8. Таким образом, на итерации 2 мы будем иметь следующий перечень списков (хромосом), координат и значений функции Я. {СУБО(17,18)}, Я]=1.8; {А(10,4)}, Я2=0.001; {ИН(11,17)}, Яз=0.8; {РД(13,10)}, Я4=0.3; {СУ(13,3)}, Я5=0.6; {ДИ(10,12)}, Я,=0.8; {РОЦ(19,16)}, Я7=1; {АЦ(8,5)}, Я,=0.4; {ИНИИ(12,16)}, Я,=2.4; {АЦ(4,4)}, Я]0=0.4; {РДИН(11,17)}, Я]]=1.9; {РДИИ(12,16)}, Я]2=1.9; {ДИЦА(4,8)}, Я]з=1.3; {РО(17,18)}, Я]4=0.9; {ИЦИИ(12,16)}, Я]5=1.4; {ИНАЦ(4,4)}, Я]6=2.1; {РЯИИ(12,16)}, Я]7=2.4; {РДЦИ(12,16)}, Я],=0.9; {РДИН(11,17)}, Я],=1.9; {РДИЯ(16,7)}, Я20=1.6; {РДИЯ(16,7)}, Я2]=1.6; {АЦИЯ(16,7)}, Я22=1.4; {РД(13,10)}, Я2З=0.3.

Для списков, состоящих из 3 и более символов, применим весовой коэффициент Q. Определим для списка Е1 Q=1 и Я]=1.8; для списка Е7 Q=0.8 и Я7=0.8; для списка Е9 Q=0.6 и Я9=1.44; для списка Е11 Q=1 и Я]]=1.9; для

списка Е12 Q=0.7 и Я]2=1.33; для списка Е13 Q=0.7, Я]3=0.91; для списка Е15 Q=0.9, Я]5=1.26; для списка Е16 Q=0.8, Я]6=1.68; для списка Е17 Q=0.5, Я]7=1.2; для списка Е18 Q=0.4, Я],=0.36; для списка Е19 Q=1, Я]9=1.9; для списка Е20 Q=0.85, Я20=1.36; для списка Е21 Q=0.85, Я2]=1.36; для списка Е22 Q=1, Я22=1.4.

В этом случае перечень списков будет следующий: {СУБО(17,18)}, Я]=1.8; {А(10,4)}, Я2=0.001; {ИН(11,17)}, Яз=0.8; {РД(13,10)}, Я4=0.3; {СУ(13,3)}, Я5=0.6; {ДИ(10,12)}, Яб=0.8; {РОЦ(19,16)}, Я7=0.8; {АЦ(8,5)}, Я,=0.4; {ИНИИ(12,16)}, Я,=1.44; {АЦ(4,4)}, Я]0=0.4; {РДИН(11,17)}, Я]]=1.9; {РДИИ(12,16)}, Я]2=1.33; {ДИЦА(4,8)}, Я]з=0.91; {РО(17,18), Я]4=0.9}; {ИЦИИ(12,16)}, Я]5=1.26; {ИНАЦ(4,4)}, Ям=1.68; {РЯИИ(12,16)}, Я]7=1.2; {РДЦИ(12,16)}, Я,=0.36; {РДИН(11,17)}, Я],=1.9; {РДИЯ(16,7)}, Я20=1.36; {РДИЯ(16,7)}, Я2]=1.36; {АЦИЯ(16,7)}, Я22=1.4; {РД(13,10)}, Я23=0.3.

9. Проводя элитную селекцию (в соответствии с шагом 12 алгоритма), удалим индивидуумы популяции с наименьшим значением Я до сокращения размеров популяции до размеров М=10. Это индивидуумы {А(10,4)}, {РД(13,10)}, {РД(13,10)}, {СУ(13,3)}, {ДИ(10,12)}, {ИН(11,17)}, {АЦ(8,5)}, {АЦ(4,4)}, {РДЦИ(12,16)}, {РОЦ(19,16)}, {РО(17,18)}, {ДИЦА(4,8)}, {РЯИИ(12,16)}.

10. Выбирая среди всех значений Я, лучшее значение, получим, что Я]]=Я]9=1.9; Я =1.9; БП={РДИН}.

11. Полагаем / =3.

Итерация 3.

1. В соответствии с шагом 19 алгоритма определим число пь1=3; включим во множество АЬ] лучшие позиции из популяции, определенной на итерации 2. А6] = {РДИН(11,17), Я=1.9; СУБО(17,18), Я=1.8; ИНАЦ(4,4), Я=1.68}.

2. Как и на предыдущей итерации 2, определим количество агентов-разведчиков пг1=6 и разместим их произвольным образом в пространстве поиска. Пусть произвольным образом выбираются символы АЦИЯ(16,7), РДИИ(12,16), У(4,5), Я(4,9), С(16,2), Р(11,18).

3. В соответствии с шагом 19 включим во множество АЬ2 пЬ2=3 позиции из множества пг1=6 позиций, найденных агентами-разведчиками на итерации 2. Пусть это будут позиции АЬ2={У(4,5), Я=1.4; РДИИ(12,16), Я=1.14; С(16,2), Я=0.001}.

4. Таким образом, на итерации ¡=3, пы+ пЬ2=6 и множество базовых позиций Аь={РДИН(11,17), СУБО(17,18), ИНАЦ(4,4), У(4,5), РДИИ(12,16), С(16,2)}. Пространство поиска показано в табл. 4, базовые позиции отмечены прямым жирным шрифтом.

5. Определим количество агентов-фуражиров, как и ранее, п=8, размер максимальной окрестности Хмакс=20. Пусть базовые позиции выбираются в следующем порядке: а1=РДИН(11,17), а2=ИНАЦ(4,4), а3=РДИИ(12,16), а4=С(16,2), а5=СУБО(17,18), а6=У(4,5), ау=С(16,2), а8=ИНАЦ(4,4).

6. Пусть базовым позициям ставятся в соответствие следующие позиции а8: РДИН(11,17)^ИЦИИ(12,16); ИНАЦ(4,4)^И(7,5); РДИИ(12,16)^РДИЯ(16,7); С(16,2)^У(10,2); СУБО(17,18)^РДИЯ(16,7); У(4,5)^А(12,9); С(16,2)^АЦИЯ(16,7); ИНАЦ(4,4)^И(9,4).

Таким образом, на данном шаге мы будем иметь следующий список позиций, решений и соответствующих значений функции Я. Н(11,17), Е1={РДИН}, Я=1.9; Ц(4,4), Е2={ИНАЦ}, Я=2.1; И(12,16), Е3={РДИИ}, Я=1.9; С(16,2), Е4={С}, Я=0.001; О(17,18), Е5={СУБО}, Я=1.8; У(4,5), Е6={У}, Я=0.001; И(12,16), Еу={РДИНИЦИИ}, Я=4.1; И(7,5), Е8={ИНАЦИ}, Я=2.6; Я(16,7), Е9={РДИИРДИЯ}, Я=4.2; У(10,2), Ею={СУ}, Я=0.6; Я(16,7), ЕП={СУБОРДИЯ}, Я=4.3; А(12,9), Е12={УА}, Я=0.1; Я(16,7),

Е13={САЦИЯ}, Я=2.2; И(9,4), Е14={ИНАЦИ}, Я=2.6, И(12,16), Е15={ИНИИ}, Я=2.4.

Таблица 4

Пространство поиска комбинированного алгоритма после 2 итерации

24 и р б я и у н и с р ц о а с и р б я б р у

23 д и н я о р д с я и р н б о а с и р б я и

22 р д с я и р н б у с а и я б р у и а ц о а

21 б б д и н я ц а с у с а и ц и р б я и у н

20 о а с и р б я и у н и с р я и б а р с у ц

19 б я и у н и с р а и ц с у ц б р я д с у ц

18 б р у и а ц о а с и р б я и д я СУБО р и р н

17 с а и ц и р б я и у РДИН б я и у н и с р ц о

16 р д с я и р н б у с а ИНИИ РДИИ ИЦИИ ц с у ц д и ц я б

15 у б б д и н я о р д с я и о у р н с у б б

14 р д с я и р н б о а с и а с у с а и ц с у

13 с а и я б р у и а ц о с и р б я и у н и о

12 д и н я о р д с я и р н б д с я и р н б у

11 а р с у ц д н я б с у с а и ц с у ц б р я

10 а р с у ц д н я б с у о д ц я б р у и а ц

9 д и ц я б р у и а ц о а с у с а и ц с у ц

8 у о д а с ц о у р н с у б б д и н я ц ц я

7 о р н с у б б д и н я о р д с РДИЯ АЦИЯ и р н б у

6 б я и у н б я и у н с а и ц и р б я и у д

5 д с р У а о и ц н р д я о р и р н б у с а

4 а д и ИНАЦ я б р у и а ц о а с и р б я и у н

3 и ц б о р д с я и р н б у с а и ц с у ц б

2 н у ц я и б а р с у ц д н я б С у о д а с

1 д с р у а о и ц н р д я о р н с у б б д и

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

7. Проведем операцию универсального кроссинговера по норме 70%, при этом для получения 10 потомков Е16-Е25 выбраны следующие индивидуумы: Е1-Е3 (потомки Е16, Е17, маска 0100), Е7 -Е9 (потомки Е18, Е19, маска 00110100), Е6-Е14 (потомки Е2о, Е21 с позиции 1, маска 1), Е13-Е14 (потомки Е22, Е23, маска 00110), Е10-Е13 (потомки Е24, Е25 с позиции 1, маска 01). В этом случае получим потомков: Е16={РДИН}, Я=1.9; Е17={РДИИ},

Я=1.9; Е18={РДИИИДИИ}, Я=5; Е19={РДИНРЦИЯ}, Я=3.1; Е20={ИНАЦИ}, Я=2.6; Е21={УНАЦИ}, Я=2.3; Е22={СААЦЯ}, Я=1.5; Е23={ИНЦИИ}, Я=2.2; Е24={САЦИЯ}, Я=2.2; Е25={СУЦИЯ}, Я=1.7.

8. В соответствии с шагом 11 алгоритма проведем операцию точечной мутации. Пусть после выбора списка Е7 в нем меняется 5 и 8 гены И на А и Я, после выбора списка Е9 4 ген И меняется на Н, после выбора списка Е19 5 ген Р меняется на А. В этом случае получим потомков: Е7={РДИНЛЦИЯ}, Я=4.2; Е9={РДИНРДИЯ}, Я=3.6; Е19={РДИНАЦИЯ}, Я=4.2.

9. Таким образом, на итерации 3 мы будем иметь следующий перечень списков (хромосом), координат и значений функции Я.

Е1={РДИН}, Я=1.9; Е2={ИНАЦ}, Я=2.1; Е3={РДИИ}, Я=1.9; Е4={С}, Я=0.001; Е5={СУБО}, Я=1.8; Е6={У}, Я=0.001; Е7={РДИНЛЦИЯ}, Я=4.2; Е8={ИНАЦИ}, Я=2.6; Е9={РДИНРДИЯ}, Я=3.6; Ею={СУ}, Я=0.6;

ЕП={СУБОРДИЯ}, Я=4.3; Е12={УА}, Я=0.1; Е13={САЦИЯ}, Я=2.2; Е14={ИНАЦИ}, Я=2.6, Е15=={ИНИИ}, Я=2.4; Е16={РДИН}, Я=1.9; Е17={РДИИ}, Я=1.9; Е18={РДИИИДИИ}, Я=5; Е19={РДИНАЦИЯ}, Я=4.2; Е20={ИНАЦИ}, Я=2.6; Е21={УНАЦИ}, Я=2.3; Е22={СААЦЯ}, Я=1.5; Е23={ИНЦИИ}, Я=2.2; Е24={САЦИЯ}, Я=2.2; Е25={СУЦИЯ}, Я=1.7.

10. Для списков, состоящих из 3 и более символов, применим весовой коэффициент Q. Определим для списка Е1 Q=1 и Я^=1.9; для списка Е2 Q=0.7 и Я2=1.47; для списка Е3 Q=0.6 и Я3=1.14; для списка Е5 Q=1 и Я5=1.8; для списка Е7 Q=1 и Я7=4.2; для списка Е8 Q=0.8, Я8=2.08; для списка Е9 Q=0.4, Я9=1.44; для списка Е11 Q=0.9, Я11=3.87; для списка Е13 Q=0.7, Я13=1.54; для списка Е14 Q=0.8, Я14=2.08; для списка Е15 Q=0.6, Я15=1.44; для списка Е16 Q=1, Я16=1.9; для списка Е17 Q=0.6, Я17=1.14; для списка Е18 Q=0.3, Я17=1.5; для списка Е19 Q=1, Я19=4.2; для списка Е20 Q=0.8, Я20=2.08; для списка Е21 Q=0.4, Я21=0.92; для списка Е22 Q=0.3, Я22=0.45; для списка Е23 Q=0.5, Я23=1.1; для списка Е24 Q=0.7, Я24=1.54; для списка Е25 Q=0.3, Я25=0.51.

В этом случае перечень списков будет следующий: Е1={РДИН}, Я=1.9; Е2={ИНАЦ}, Я=1.47; Е3={РДИИ}, Я=1.14; Е4={С}, Я=0.001; Е5={СУБО}, Я=1.8; Е6={У}, Я=0.001; Е7={РДИНЛЦИЯ}, Я=4.2; Е8={ИНАЦИ}, Я=2.08; Е9={РДИНРДИЯ}, Я=1.44; Ею={СУ}, Я=0.6; ЕП={СУБОРДИЯ}, Я=3.87; Е12={УА}, Я=0.1; Е13={САЦИЯ}, Я=1.54; Е14={ИНАЦИ}, Я=2.08; Е15={ИНИИ}, Я=1.44; Е16={РДИН}, Я=1.9; Е17={РДИИ}, Я=1.14; Е18={РДИИИДИИ}, Я=1.5; Е19={РДИНАЦИЯ}, Я=4.2; Е20={ИНАЦИ}, Я=2.08; Е21={УНАЦИ}, Я=0.92; Е22={СААЦЯ}, Я=0.45; Е23={ИНЦИИ}, Я=1.1; Е24={САЦИЯ}, Я=1.54; Е25={СУЦИЯ}, Я=0.51.

11. Проводя элитную селекцию, удалим индивидуумы популяции с наименьшим значением Я до сокращения размеров популяции до размеров М=10. Это индивидуумы {С(16,2)}, {У(4,5), Я=0.001}, {УА(12,9)}, Я=0.1, {СУ(10,2)}, Я=0.6, {СУЦИЯ(16,7)}, Я=0.51, {СААЦЯ(16,7) , Я=0.45}, {ИНИИ(12,16), Я=1.44}, {САЦИЯ(16,7) , Я=1.54}, {ИНЦИИ(9,4) , Я=1.1}, {РДИИ(12,16) , Я=1.14}, {РДИИ(12,16) , Я=1.14}, {РДИНРДИЯ(16,7), Я=1.44}, {РДИИИДИИ(12,16), Я=1.5}, {ИНАЦ(4,4), Я=1.47}, {УНАЦИ(9,4), Я=0.92}.

12. Выбирая лучшее значение среди всех значений Я, получим, что Я7=Я19=4,2; Е7={РДИНАЦИЯ}.

13. Полагаем I =4.

Итерация 4.

1. Как и ранее, определим число пЬ1=3; включим во множество АЬ1 лучшие позиции из популяции, определенной на итерации 3. АЫ={РДИНАЦИЯ(16,7), Я=4.2; СУБОРДИЯ(16,7), Я=3.87; ИНАЦИ(7,5), Я=2.08}.

2. Как и на ранее, определим количество агентов-разведчиков пг1=6 и разместим их произвольным образом в пространстве поиска. Пусть

произвольным образом выбираются символы СЛЦИЯ(16,7), РДИН(11,17), СУБО(17,18), Р(16,24), И(17,23), У(4,5).

3. Включим во множество АЬ2 пЬ2=3 позиции из множества пг1=6 позиций, найденных агентами-разведчиками на итерации 4. Пусть это будут позиции Аь2={РДИН(11,17), Я=1.9; САЦИЯ(16,7), Я=1.54; СУБО(17,18), Я=1.8}.

4. Таким образом, на итерации ¡=4 множество базовых позиций Аь={РДИНАЦИЯ(16,7), СУБОРДИЯ(16,7), ИНАЦИ(7,5), САЦИЯ(16,7), РДИН(11,17), СУБО(17,18)}.

5. После определения количества агентов-фуражиров п=8, размера максимальной окрестности кмакс=20 выберем базовые позиции в следующем порядке:

а1=САЦИЯ(16,7), а2=ИНАЦИ(7,5), а3=СУБО(17,18), а4=СУБОРДИЯ(16,7), а5=СУБО(17,18), а6=РДИН(11,17), ау=РДИН(11,17), а8=РДИНАЦИЯ(16,7).

Таким образом, если базовой позиции О(17,18) (список СУБО) ставится в соответствие позиция Я(16,7) (список РДИНАЦИЯ), то на данной итерации возможно получение оптимального варианта текста с максимальным значением целевой функции Я=6.9. Такой же потомок может быть получен в случае, если базовой позиции Я(16,7) (список СУБОРДИЯ) ставится в соответствие позиция Н(11,17) (список РДИН), полученный потомок СУБОРДИЯРДИН подвергается скрещиванию со списком САЦИЯ (с позиции 8 по маске 01101), и в полученном потомке СУБОРДИНАЦИЯ 8 ген Я заменяется на Н. Следует заметить, что при реализации криптоанализа текстовых фрагментов значительной длины применение комбинированных биоинспирированных стратегий может существенно повысить разнообразие генетического материала популяции, увеличивая скорость схождения к глобальному оптимуму. В общем случае, как и при реализации классических эволюционных методов, размер популяции, нормы реализации генетических

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

Ранее в [25] было показано, что при использовании комбинированных биоинспирированных алгоритмов вероятность улучшения частичного решения на каждой итерации не может быть меньше вероятности улучшения частичного решения при использовании каждого классического биоинспирированного алгоритма. Отметим здесь еще раз этот существенный момент. Пусть I - группа операторов комбинированного алгоритма, соответствующая операторам алгоритма пчелиных колоний (операторы 1-9, 17-21), А - группа операторов, соответствующая операторам генетического алгоритма (операторы 10-16). Пусть щ)- вероятность того, что при реализации пчелиного алгоритма на итерации г получено решение, лучшее, чем на итерации г -1. Аналогично, пусть В(А) - вероятность того, что реализации генетического алгоритма на итерации г получено решение, лучшее, чем на итерации г -1. Поскольку эти события совместны (улучшение частичного решения может иметь место одновременно при реализации обоих групп операторов), то, используя аппарат теории вероятностей, получим, что при реализации комбинированного алгоритма вероятность в получения на г итерации частичного решения, лучшего, чем на г -1 итерации, составит р = р( I) + в а ) - Р( I) * Р(А). Поскольку все значения р, Р( I), В(А) удовлетворяют условию о < Р < ], 0 < Р(1) < ], 0 < Р(А) < ], то, очевидно, произведение Р(1) * Р(А) будет удовлетворять условию щ )* £>(А) < тгп(Р(I), Р(А)). В то же время имеет

место очевидное соотношение вм) + в(А) > тао(Р(м), Р(А)). Отсюда следует, что будет иметь место соотношение Р = Р(1) + В(А) - Р(1) * Р(А) > тах(Р(I), Р(А)).

Таким образом, мы еще раз показали (аналогично [25]) применительно к комбинированному алгоритму пчелиных колоний), что при реализации комбинированного биоинспирированного алгоритма вероятность в улучшения частичного решения на г итерации по сравнению с г -1 итерацией удовлетворяет условию Р > тах(Р1, Р2), где Р, Р2 - вероятности улучшения частичного решения при использовании классических биоинспирированных алгоритмов. При этом увеличение вероятности может быть определено из соотношения Р = Р + в2 - Р * Р2. Данные расчеты показывают, что при использовании комбинированных биоинспирированных алгоритмов вероятность улучшения частичного решения на каждой итерации не может быть меньше вероятности улучшения частичного решения при использовании каждого классического биоинспирированного алгоритма, что подтверждает целесообразность разработки и использования комбинированных биоинспирированных стратегий и их применения для решения оптимизационных одно- и многоэкстремальных задач. Очевидно, что данные рассуждения справедливы для любого числа п биоинспирированных алгоритмов и вероятностей Рр Р2,..., Рп .

Основные выводы

Таким образом, основные результаты работы заключаются в следующем:

- исследована возможность применения комбинированного биоинспирированного алгоритма (генетический алгоритм и алгоритм пчелиных колоний) для реализации задачи криптоанализа систем шифрования; представлены описания основных операций

комбинированного биоинспирированного алгоритма;

- представлен демонстрационный пример реализации комбинированного алгоритма криптоанализа, показана возможность получения оптимального варианта решения за конечное число итераций;

- применительно к данному алгоритму показано, что вероятность получения оптимального варианта решения при реализации комбинированных алгоритмов криптоанализа не может быть меньше вероятности получения оптимального решения при использовании классических биоинспирированных алгоритмов, что подтверждает целесообразность использования комбинированных биоинспирированных методов для решения оптимизационных задач.

Работа выполнена при финансовой поддержке РФФИ (проекты 1701-00375, 15-01-05129).

Литература

1. Чернышев Ю.О., Сергеев А.С., Дубров Е.О., Крупенин А.В., Третьяков О.П. Криптографические методы и генетические алгоритмы решения задач криптоанализа: монография. - Краснодар: ФВАС, 2013. - 138 с.

2. Чернышев Ю.О., А.С. Сергеев, Дубров Е.О., Крупенин А.В., Капустин С. А., Рязанов А.Н. Биоинспирированные алгоритмы решения задач криптоанализа классических и асимметричных криптосистем: монография. -Краснодар: КВВУ, 2015. - 132 с.

3. Чернышев Ю.О., Сергеев А.С., Дубров Е.О., Рязанов А.Н. Применение биоинспирированных методов оптимизации для реализации криптоанализа блочных методов шифрования: монография. - Ростов-на-Дону: издательство ДГТУ, 2016. - 177 с.

4. Лебедев В. Б. Модели адаптивного поведения колонии пчел для решения задач на графах // Известия ЮФУ, 2012, № 7, С. 42-49.

5. Орловская Н.М. Анализ эффективности биоинспирированных методов глобальной оптимизации // Труды МАИ: электронный научный журнал, 2014, № 73, С. 4.

6. Лебедев О. Б. Трассировка в канале методом муравьиной колонии // Известия ЮФУ, 2009, № 4, С. 46-52.

7. Фатхи В.А., Сергеев А.С. Исследование возможности применения алгоритма муравьиных колоний для реализации криптоанализа шифров перестановок // Вестник ДГТУ, том 11, № 1(52), 2011, с. 10-20.

8. Чернышев Ю.О., Сергеев А.С., Дубров Е.О., Рязанов А.Н. Исследование возможности применения бионических методов пчелиных колоний для реализации криптоанализа классических шифров перестановок // Вестник ДГТУ. - 2014.- Т. 14. - № 1(76). - с. 62-75.

9. Чернышев Ю.О., Сергеев А.С. Дубров Е.О. Обзор алгоритмов решения задач криптоанализа на основе биоинспирированных технологий искусственного интеллекта. - Вестник Воронежского государственного университета, № 2, сер. «Системный анализ и информационные технологии», Воронеж, 2014, с. 83-89.

10. Чернышев Ю.О., Сергеев А.С., Дубров Е.О. Информационная безопасность и биоинспирированные алгоритмы решения задач криптоанализа. - Труды Международного симпозиума «Надежность и качество - 2014». -Пенза: ПГУ, 2014, с. 342-346.

11. Чернышев Ю. О., Сергеев А.С., Рязанов А.Н., Дубров Е.О. Обзор авторских методов решения задач криптоанализа блочных криптосистем на основе биоинспирированных технологий искусственного интеллекта // Наука и образование - 2016: материалы всероссийской научно-практической конференции. - Мурманск: Изд-во МГТУ, 2016, С. 184-190.

12. Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. - М.: Радио и связь, 2001, 376 с.

13. Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии. - М.: Гелиос АРВ, 2002, 480 с.

14. Васильев Е.М., Свистунов А.А. Решение комбинаторных задач моделированием поведения муравьиных колоний // Электротехнические комплексы и системы управления: научно-технический журнал, 2008, № 1, С. 54-55.

15. Holland J. H. Adaptation in natural and artificial systems. An introductory analysis with application to biology, control, and artificial intelligence. University of Michigan, 1975, 183 p.

16. Goldberd David E. Genetic Algorithms in Search, Optimization and Machine Learning. Addision-Wesley Publishing Company, Inc. 1989, 432 p.

17. Сергеев А. С. Методы оптимизации: учебное пособие. - Ростов н/Д: Издательский центр ДГТУ, 2005, 113 С.

18. Сергеев A.C., Рязанов A.H., Дубров E.O. Применение алгоритмов пчелиных колоний для реализации криптоанализа блочных методов шифрования. // Инженерный вестник Дона, 2016, №2 URL: ivdon.ru/ru/magazine/archive/n2y2016/3621.

19. Курейчик В. В., Жиленков М.А. Пчелиный алгоритм для решения оптимизационных задач с явно выраженной целевой функцией //Информатика, вычислительная техника и инженерное образование, 2015, № 1(21), С. 1-8.

20. Гладков Л. А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы: учебное пособие. - М: Физматлит, 2006. - 320 с.

21. Курейчик В.М. Модифицированные генетические операторы // Известия ЮФУ, сер. «Технические науки», тем. выпуск «Интеллектуальные САПР», 2009, № 12, С. 7-14.

22. Дискретная математика: алгоритмы. URL: rain.ifmo.ru/cat/view.php/theory/unsorted/genetic-2005 (дата обращения: 09.12.2017).

23. Тимченко С.В. Сравнение трех подходов к построению параллельных генетических алгоритмов на примере некоторых задач функциональной оптимизации и генетического программирования. URL: botik.ru/PSI/RCMS/publications/publ-texts/2005/grishagine.pdf (дата обращения 09.12.2017).

24. Вероятности биграмм в тексте. URL: hakinfo.narod.ru/cripto/kr8.html (дата обращения: 09.12.2017).

25. Чернышев Ю.О., Сергеев А.С. Применение комбинированных биоинспирированных алгоритмов для реализации криптоанализа симметричных алгоритмов шифрования // ХХ международная конференция по мягким вычислениям и измерениям: сборник научных трудов. - С-Пб.: Изд-во СПбГЭТУ «ЛЭТИ», 2017, С. 497-500.

26. Карпенко А.П. Современные алгоритмы поисковой оптимизации. Алгоритмы вдохновленные природой. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2017, 446 с.

27. Венцов Н.Н. Эволюционный подход к моделированию распределительных процессов // Инженерный вестник Дона, 2013, № 4 URL: ivdon.ru/ru/magazine/archive/n4y2013/1886.

References

1. Chernyshev Ju.O., Sergeev A.S., Dubrov E.O., Krupenin A.V., Tret'jakov O.P. Kriptograficheskie metody i geneticheskie algoritmy reshenija zadach kriptoanaliza: monografija [Cryptographic methods and genetic algorithms of the solution of problems of cryptanalysis: monograph.]. Krasnodar: FVAS, 2013, 138 р.

2. Chernyshev Ju.O., Sergeev A.S., Dubrov E.O., Krupenin A.V., Kapustin S.A., Rjazanov A.N. Bioinspirirovannye algoritmy reshenija zadach kriptoanaliza klassicheskih i asimmetrichnyh kriptosistem: monografija [The bioinspired algorithms of the solution of problems of cryptanalysis of classical and asymmetric cryptosystems: monograph.]. Krasnodar: KVVU, 2015, 132 p.

3. Chernyshev Ju.O., Sergeev A.S., Dubrov E.O., Rjazanov A.N. Primenenie bioinspirirovannyh metodov optimizacii dlja realizacii kriptoanaliza blochnyh metodov shifrovanija: monografija [The application of bioinspired optimization techniques for the implementation of the cryptanalysis of block encryption methods: monograph]. Rostov-na-Donu, DGTU, 2016, 177 p.

4. Lebedev V. B. Izvestija JuFU. 2012. № 7. pp. 42-49.

5. Orlovskaja N. M. Trudy MAI: jelektronnyj nauchnyj zhurnal, 2014, № 73,

p. 4.

6. Lebedev O. B. Izvestija JuFU. 2009. № 4. pp. 46-52.

7. Fathi V.A., Sergeev A.S. Vestnik DGTU, T. 11, № 1(52), 2011, pp. 1020.

8. Chernyshev Ju.O., Sergeev A.S., Dubrov E.O., Rjazanov A.N. Vestnik DGTU, T. 14, № 1(76), 2014, pp. 62-75.

9. Chernyshev Ju.O., Sergeev A.S. Dubrov E.O. Vestnik Voronezhskogo gosudarstvennogo universiteta, № 2, 2014, pp. 83-89.

10. Chernyshev Ju.O., Sergeev A.S. Dubrov E.O. Informacionnaja bezopasnost' i bioinspirirovannye algoritmy reshenija zadach kriptoanaliza [Information security and bioinspired algorithms for solving problems of cryptanalysis]. Trudy Mezhdunarodnogo simpoziuma «Nadezhnost' i kachestvo -2014». Penza: PGU, 2014, pp. 342-346.

11. Chernyshev Ju. O., Sergeev A.S., Rjazanov A.N., Dubrov E.O. Obzor avtorskih metodov reshenija zadach kriptoanaliza blochnyh kriptosistem na osnove bioinspirirovannyh tehnologij iskusstvennogo intellekta [Review of author's

methods for solving problems of cryptanalysis of block cryptosystems based on bioinspired artificial intelligence technologies]. Nauka i obrazovanie - 2016: materialy vserossijskoj nauchno-prakticheskoj konferencii. Murmansk: Izd-vo MGTU, 2016, pp. 184-190.

12. Romanec Ju.V., Timofeev P.A., Shan'gin V.F. Zashhita informacii v komp'juternyh sistemah i setjah [Protection of information in computer systems and networks]. M.: Radio i svjaz', 2001, 376 p.

13. Alferov A.P., Zubov A.Ju., Kuz'min A.S., Cheremushkin A.V. Osnovy kriptografii [The basics of cryptography.]. M.: Gelios ARV, 2002, 480 p.

14. Vasil'ev E.M., Svistunov A.A. Jelektrotehnicheskie kompleksy i sistemy upravlenija: nauchno-tehnicheskij zhurnal, 2008, № 1, pp. 54-55.

15. Holland J. H. Adaptation in natural and artificial systems. An introductory analysis with application to biology, control, and artificial intelligence. University of Michigan, 1975, 183 p.

16. Goldberg David E. Genetic Algorithms in Search, Optimization and Machine Learning. Addision-Wesley Publishing Company, Inc. 1989, 432 p.

17. Sergeev A.S. Metody optimizacii: uchebnoe posobie [Optimization techniques: a tutorial]. Rostov n/D: Izdatel'skij centr DGTU, 2005. 113 p.

18. Sergeev A.C., Rjazanov A.H., Dubrov E.O. Inzenernyj vestnik Dona (Rus), 2016, № 2, URL: ivdon.ru/ru/magazine/archive/n2y2016/3621.

19. Kurejchik V. V., Zhilenkov M.A. Informatika, vychislitel'naja tehnika i inzhenernoe obrazovanie, 2015, № 1(21), pp. 1-8.

20. Gladkov L. A., Kurejchik V.V., Kurejchik V.M. Geneticheskie algoritmy: uchebnoe posobie [Genetic algorithms: a tutorial.]. M: Fizmatlit, 2006. 320 p.

21. Kurejchik V.M. Izvestija JuFU, ser. «Tehnicheskie nauki», tem. vypusk «Intellektual'nye SAPR», 2009, № 12, pp. 7-14.

22. Diskretnaja matematika: algoritmy [Discrete mathematics: algorithms]. URL: rain.ifmo.ru/cat/view.php/theory/unsorted/genetic-2005 (accessed 09.12.2017).

23. Timchenko S.V. Sravnenie treh podhodov k postroeniju parallel'nyh geneticheskih algoritmov na primere nekotoryh zadach funkcional'noj optimizacii i geneticheskogo programmirovanija [Comparison of three approaches to parallel genetic algorithms on the example of some problems of functional optimization and genetic programming]. URL: www.botik.ru/PSI/RCMS/publications/publ-texts/2005/grishagine.pdf (accessed 09.12.2017).

24. Verojatnosti bigramm v tekste [The probability of bigrams in the text]. URL: hakinfo.narod.ru/cripto/kr8.html (accessed 09.12.2017).

25. Chernyshev Ju.O., Sergeev A.S. Primenenie kombinirovannyh bioinspirirovannyh algoritmov dlja realizacii kriptoanaliza simmetrichnyh algoritmov shifrovanija [The use of combined bioinspired algorithms for the implementation of the cryptanalysis of symmetric encryption algorithms]. XX mezhdunarodnaja konferencija po mjagkim vychislenijam i izmerenijam: sbornik nauchnyh trudov. S-Pb.: Izd-vo SPbGJeTU «LJeTI», 2017, pp. 497-500.

26. Karpenko A.P. Sovremennye algoritmy poiskovoj optimizacii. Algoritmy vdohnovlennye prirodoj [Modern algorithms of search engine optimization. Algorithms inspired by nature]. M.: Izd-vo MGTU im. N.Je. Baumana, 2017, 446 p.

27. Vencov N.N. Inzenernyj vestnik Dona (Rus), 2013, № 4. URL: ivdon.ru/ru/magazine/archive/n4y2013/1886.