ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ INFORMATION TECHNOLOGY, COMPUTER SCIENCE, AND MANAGEMENT
УДК 004.056.55 10.23947/1992-5980-2017-17-1-144-159
Разработка и исследование параллельной модели алгоритмов пчелиных колоний для решения задач криптоанализа*
Ю. О. Чернышев1, А. С. Сергеев2, А. Н. Рязанов3, Е. O. Дубров4**
1,2 Донской государственный технический университет, г. Ростов-на-Дону, Российская Федерация
3 Открытое акционерное общество «711 Военпроект», г. Ростов-на-Дону, Российская Федерация
4 Ростовский научно-исследовательский институт радиосвязи, г. Ростов-на-Дону, Российская Федерация
Development and investigation of parallel model of bee colony algorithms for cryptanalysis problem solving*** Y. O. Chernyshev1, A. S. Sergeev2, A. N. Ryazanov3, E. O. Dubrov4**
1,2 Don State Technical University, Rostov-on-Don, Russian Federation
3 "711 Voenproekt" JSC, Rostov-on-Don, Russian Federation
4 Rostov Scientific Research Institute for Radiocommunication, Rostov-on-Don, Russian Federation
Ö О T3
M
'S
M
(U >
Л £ Л
Введение. Научное направление «природные вычисления» в последнее время широко используется для решения оптимизационных №-полных задач, в том числе комбинаторных задач криптоанализа. В статье приводится краткий обзор публикаций, посвященных применению природных (биоинспириро-ванных) методов для криптоанализа. Основной целью работы является исследование возможности применения алгоритмов пчелиных колоний для реализации криптоанализа блочных шифров.
Материалы и методы. Для решения данной оптимизационной задачи применяются известные методы пчелиных колоний, относящиеся к сравнительно новому классу биоинспирирован-ных оптимизационных методов, имитирующих процессы, протекающие в живой природе. Приводится описание и структурная схема алгоритма колонии пчел для решения задачи криптоанализа, отмечаются основные операции, выполняемые параллельно на глобальном уровне. Далее определяется множество независимых операторов, допускающих параллельное выполнение. С этой целью строятся информационно-логические граф-схемы алгоритма с введенными связями по управлению и по информации, а также формируются матрицы следования, логической несовместимости и независимости. По данной матрице независимости возможно определение множества операторов алгоритма, которые допускают параллельное выполнение. При этом размерность максимального внутренне устойчивого множества определяет максимальное число процессоров, используемых для реализации алгоритма.
Результаты исследования. Основными результатами являются теоретические оценки временной сложности алгоритма пчелиных колоний. Кроме того, приводится решение задачи: для алгоритма криптоанализа на основе построенного информационно-логического графа и для заданного времени найти необходимое наименьшее число процессоров однородной вычислительной системы и план выполнения операторов на них. Приводится оценка необходимого минимального числа процессоров для реализации алгоритма криптоанализа, а также оценка
Introduction. The research area of "natural calculation" is now widely used for the solution to optimization NP-complete problems including combinatorial tasks of cryptanalysis. A quick overview of the publications devoted to the application of the natural (bioin-spired) methods for cryptanalysis is provided. The main work objective is to investigate a possibility of applying bee colony algorithms to the realization of block cipher cryptanalysis. Materials and Methods. The known bee colony techniques belonging to a relatively new class of the bioinspired optimization methods that simulate the processes occurring in wildlife are applied to solve this optimization problem. The description and the block diagram of the bee colony algorithm for the solution to a cryptanalysis task are provided; basic operations performed in parallel at the global level are noted. In the following, a set of independent operators allowing for the concurrent execution is defined. For this purpose, information-logical flowgraphs of the algorithm with the input control and information links are built, as well as matrices of succession, logical incompatibility, and independence are formed. This matrix of independence allows the definition of a set of algorithm operators admitting parallel execution. At that, the dimensionality of the maximal internally stable sets defines the maximum number of the processors used for the algorithm implementation. Research Results. Theoretical estimates of time complexity of the bee colony algorithm are given as the key data. Besides, the problem solution is provided: to find the required smallest number of processors of the homogeneous parallel computing systems with distributed memory, and a uniform plan for the implementation of operators for them, for the cryptanalysis algorithm based on the constructed information-logical graph data-logical graph, and for the preset time. The assessment of the wanted smallest number of processors for the cryptanalysis algorithm implementation, and the
'Работа выполнена при финансовой поддержке РФФИ (проект 14-01-00634).
144 ''E-mail: [email protected], [email protected], [email protected], [email protected]
*** The research is done with the financial support from RFFI (project 14-01-00634).
общего
Обсуждение и заключения. Основными результатами исследования являются: разработка алгоритма колонии пчел, используемого для решения задачи криптоанализа; описание его структурной схемы и основных параллельно выполняемых этапов; построение матрицы независимости; оценка числа процессоров для реализации алгоритма. Следует заметить (и это отмечалось в предыдущих работах), что отличительной особенностью применения биоинспирированных методов криптоанализа является возможность использования самого алгоритма шифрования (или расшифрования) в качестве целевой функции для оценки пригодности ключа, определенного с помощью операций биоинспирированного метода. Поэтому можно утверждать, что при использовании биоинспирированных методов процесс определения секретного ключа зависит не столько от сложности шифрующих преобразований, сколько от самого биоинспи-рированного метода, который должен обеспечивать достаточное разнообразие генерации ключей. времени реализации алгоритма
evaluation of the total time of the algorithm realization are given. Discussion and Conclusions. The basic research results are: the development of the bee colony algorithm used for the cryptanalysis task solution; the description of its flowchart and the principal parallel executed stages; the construction of a matrix of independence; the evaluation of the number of processors for the algorithm implementation. It should be noted (and it was observed in the previous works) that the distinctive feature of applying the bioinspired methods of cryptanalysis is the applicability of the encryption-decryption algorithm as a criterion function for the evaluation of the key acceptability defined by the bioinspired method operations. Thus, it can be affirmed that when using the bioinspired methods, the secret key definition process depends not so much on the complexity of the encryption transformations, as on the bioinspired method itself which should provide a sufficient diversity of the key generation.
Ключевые слова: криптоанализ, пчелиный алгоритм, пчелы-фуражиры, пчелы-разведчики, информационно-логический граф, матрица независимости.
Keywords: cryptanalysis, bee colony algorithm, bee foragers, scout bees, information-logical graph, matrix of independence.
Введение. Научное направление «природные вычисления», объединяющее математические методы, в которых заложен принцип природных механизмов принятия решений, в последние годы получает все более широкое распространение при решении оптимизационных задач, в том числе задач криптоанализа. В данных методах и моделях основным определяющим элементом является построение начальной модели и правил, по которым она может изменяться (эволюционировать). В течение последних лет были предложены разнообразные схемы эволюционных вычислений: генетический алгоритм, генетическое программирование, эволюционные стратегии, эволюционное программирование, модели поведения роя пчел, стаи птиц и колонии муравьев, модели отжига или потока и другие конкурирующие эвристические алгоритмы. В [1] рассмотрены методы решения задачи криптоанализа, относящейся к переборным задачам с экспоненциальной временной сложностью, для традиционных симметричных криптосистем, использующих шифры перестановки и замены, а также для шифров гаммирования с использованием генетических алгоритмов. Среди последних разработок эвристических методов, используемых для решения задачи параметрической ^
К
оптимизации технических объектов, можно отметить стохастический алгоритм, основанный на модели поведения роя щ
светлячков, рассмотренный в [2]. В [3] описаны методы криптографических атак на симметричные и ассиметричные ч
криптосистемы с использованием биоинспирированных методов (алгоритмов муравьиных и пчелиных колоний). В [4, ^
5] исследована возможность применения методов генетического поиска для реализации криптоанализа блочных крип- ^
тосистем. Я
ей
Данные задачи криптоанализа в большинстве случаев являются КР-полными и имеют комбинаторную слож- и
к
ность. В связи с этим, как отмечено в [6], основным мотивом для разработок новых алгоритмов решения комбинатор- Я ных задач являются возникшие потребности в решении задач большой размерности. В то же время, как отмечено в [7], недостатком методов эволюционной адаптации и генетических алгоритмов является наличие «слепого» поиска, что в ряде случаев приводит к увеличению времени поиска, генерации большого количества одинаковых и плохо приспо- л собленных решений и увеличивает вероятность попадания в локальный оптимум. В этом плане представляет интерес применение эвристических методов, инспирированных природными системами, в которых осуществляется поэтапное ¡3 построение решения задачи (то есть добавление нового оптимального частичного решения к уже построенному ча- § стичному оптимальному решению). Одной из последних разработок в области роевого интеллекта является алгоритм д пчел, который довольно успешно используется для нахождения экстремумов сложных многомерных функций [8, 9].
ей
Отметим, что в [8] приводится обзор некоторых публикаций, посвященных применению алгоритмов пчелиных коло- и
к
ний для решения комбинаторных теоретико-графовых задач (задача разбиения графа, раскраска графа, сравнение с ^
другими биоинспирированными методами), решению задачи размещения, задачи разложения составных чисел на про- ^
о
стые сомножители, используемой при криптоанализе асимметричных алгоритмов. ^
Материалы и методы. В данной работе исследуется возможность параллельной реализации алгоритма пчелиных колоний, применение которого для реализации методов криптоанализа (симметричных и асимметричных криптосистем) описано ранее в [8-11]. При описании алгоритма криптоанализа воспользуемся методами и терминологией, используемыми в [6, 8]. Как отмечено в [6, 8], поведение пчелиного роя основано на самоорганизации, обеспечиваю- 145
щей достижение общих целей роя при двухуровневой стратегии поиска. На первом уровне с помощью пчел-разведчиков формируется множество перспективных областей-источников. На втором уровне с помощью рабочих пчел-фуражиров исследуются окрестности данных областей. При этом основная цель колонии пчел — найти источник с максимальным количеством нектара.
Таким образом, итерационный процесс поиска решений при реализации алгоритма криптоанализа включает:
— последовательное перемещение агентов-пчел на новые позиции в пространстве поиска;
— формирование соответствующих вариантов текста с последующей проверкой их оптимальности;
— выбор соответствующего оптимального (или квазиоптимального) варианта ключа [8].
В соответствии с [6, 8, 12] алгоритм колонии пчел включает следующие основные операции.
1. Формирование пространства поиска и создание популяции пчел.
2. Оценка целевой функции (ЦФ) пчел в популяции путем определения ЦФ, обусловливающей оптимальность исходного текста.
3. Формирование перспективных участков для поиска в их окрестности.
4. Отправка пчел-разведчиков и поиск агентами-разведчиками перспективных позиций для поиска в их окрестности.
5. Выбор пчел с лучшими значениями ЦФ с каждого участка.
6. Отправка рабочих пчел (пчел-фуражиров) для случайного поиска и оценка их ЦФ.
7. Формирование новой популяции пчел.
8. Проверка условия окончания работы алгоритма. Если они выполняются, переход к 9, иначе — к 2.
9. Конец работы алгоритма.
Структурная схема алгоритма колонии пчел приведена в [12]. Рассмотрим описание данного алгоритма для реализации криптоанализа [8, 9]. На первом этапе пчелиного алгоритма осуществляется формирование пространства поиска. Предположим, что каждая позиция пространства поиска представляет собой размещенный в пространстве символ алфавита текста. При этом каждая пчела-агент содержит в памяти упорядоченный список Ех = {е¡¡, г = 1,2,.. ,,п} посещенных символов. Этот список Ец, поставленный в соответствие каждому символу, посещенному пчелой в пространстве поиска, фактически представляет решение — текст, для которого могут быть определены секретный ключ и ЦФ (например, с помощью функции Якобсена [1, 3, 8]).
Следующим этапом пчелиного алгоритма является формирование перспективных участков и поиск в их окрестности. Как и в [8], будем предполагать, что пространство поиска, в котором размещено т символов алфавита шифртекста, представляет собой квадратную матрицу А размером тхт. Для каждой позиции ах определена окрестность размера X для поиска, то есть множество позиций а¡¡, находящихся на расстоянии (определяемом как количество элементов матрицы), не превышающем X, от позиции ах.
Применительно к решению задачи криптоанализа этапы данного алгоритма реализуются в следующей форме. Начальными параметрами алгоритма являются значение максимального размера окрестности для поиска Хмакс и количество:
— пчел-агентов Ы,
— итераций Ь,
— агентов-разведчиков пг,
— агентов-фуражиров щ.
На 1 = 1 итерации алгоритма пг агентов-разведчиков случайным образом размещаются в пространстве поиска, то есть выбирается произвольным образом пг символов в матрице А. Значение ЦФ Я на начальном этапе полагается равным малому положительному числу.
Далее в соответствии с [6, 12] выбирается пы лучших (базовых) решений, у которых значения ЦФ Я не хуже, 12 чем значения ЦФ у любого другого решения. На начальной итерации этот выбор может быть осуществлен случайным В образом. В пространстве поиска формируется множество базовых позиций Аы = {аы}, соответствующих базовым ре-§ шениям.
На следующем шаге алгоритма в окрестности каждой базовой позиции направляется заданное число рабочих й пчел (фуражиров), имитирующих поиск нектара [8, 9].
<3 После выбора агентом-фуражиром па базовой позиции а г реализуется случайный выбор позиции а¡, располо-
женной в окрестности X в границах 1 < X < Хмакс базовой позиции а.
Таким образом, каждой пчеле-агенту ставится в соответствие упорядоченный список Ец посещенных символов пространства поиска с определенной для этого списка ЦФ. Данная последовательность ставится в соответствие последнему посещенному пчелой-агентом символу пространства поиска.
Аналогично [6, 8] вводится понятие области Б, представляющей собой Бг = аг и О, где Ог — множество пози-
146
ций, выбранных агентами-фуражирами в окрестности позиции аг. В каждой области Бг выбирается позиция а с луч-
шей оценкой ЦФ Я* (оценка области Б,). Среди всех оценок областей Я,** выбирается лучшая оценка Я,** и соответствующее решение (список Е). Вариант исходного текста с лучшим значением ЦФ запоминается, и осуществляется переход к следующей итерации.
На последующих итерациях алгоритма пг\ агентов-разведчиков отправляются на поиск новых позиций (пл< пг). Множество базовых позиций Аь(1) формируется из двух частей Аы(1) и Аь2(1), при этом:
— часть Аы(1) содержит пы лучших решений а*, найденных в каждой из областей на итерации 1-1;
— часть Аь2(1) содержит пь2 лучших решений из пг1 позиций, найденных пчелами-разведчиками на итерации 1 (пы + пь2 = пь).
Определяется число агентов-фуражиров, отправляемых в окрестности каждой базовой позиции. Каждым агентом-фуражиром па выбирается базовая позиция а,(1), а также позиция а^(1), расположенная в окрестности этой базовой позиции. Формируются области Б,(1). В каждой области Б,(1) выбирается лучшая позиция а ,* с лучшей оценкой ЦФ Я,*, и среди оценок Я,* выбирается лучшая Я*. Если Я*(1) предпочтительней, чем Я*(1-1), то соответствующее решение запоминается, и осуществляется переход к следующей итерации.
Таким образом, алгоритм криптоанализа на основе пчелиной колонии, приведенный в [8, 9], можно сформулировать следующим образом.
1. Определить начальные параметры алгоритма:
— количество пчел-агентов Ы;
— количество итераций Ь;
— количество агентов-разведчиков пг;
— количество агентов-фуражиров щ;
— значение максимального размера окрестности Хмакс;
— количество базовых позиций пь;
— пь1 — количество базовых позиций, формируемых из лучших позиций а , найденных на 1-1 итерации;
— пГ1 — количество агентов-разведчиков, выбирающих случайным образом новые позиции на итерациях 2,3,..,Ь;
— пь2 — количество базовых позиций, формируемых из пг1 новых лучших позиций, найденных агентами-разведчиками на 1 итерации.
2. Задать номер итерации 1 = 1.
3. Разместить пг агентов-разведчиков случайным образом в пространстве поиска, то есть выбрать произвольным образом пг символов в матрице А. Положить значение ЦФ Я равным малому положительному числу.
4. Сформировать множество пь базовых решений и соответствующее множество базовых позиций Аь= {аь,} с лучшими значениями ЦФ Я.
5. Задание номера агента-фуражира/= 1. ш
6. Выбор базовой позиции а¡^ Аь. щ
7. Выбор позиции а^(1), расположенной в окрестности базовой позиции а,, не совпадающей с ранее выбранны- ч ми на данной итерации позициями, и соответствующего решения (списка Е).
8. Включить позицию в множество О, (где О, — множество позиций, выбранных агентами-фуражирами в окрестности позиции а,). К
ей
9. Для всех вновь включенных позиций рассчитать и поставить им в соответствие решения Ец и соответству- и
К
ющие значения ЦФ Я. К
^
10./=/ + 1, если/> п, переход к п. 11, иначе — к п. 6.
11. Сформировать для каждой базовой позиции а, области Б, = а, и О,-.
12. В каждой области Б, выбрать лучшую позицию а,* с лучшим значением ЦФ Я,*. 2
13. Среди всех значений Я * выбрать лучшее значение Я* и соответствующее решение (список позиций Е*). <Р
14. Если значение Я*(1) предпочтительней значения Я*(1-1), то сохранить значение Я*(1), в противном случае ¡3 сохраненным остается значение Я*(1-1).
Е и
найденных агентами среди позиций а * в каждой из областей Б, на итерации 1-1. и
К
17. Разместить пг1 агентов-разведчиков случайным образом в пространстве поиска для выбора пг1 позиций в у
а
пространстве поиска. ^
18. Включить в множество Аь2 пь2 лучших позиций из множества пг1 новых позиций, найденных агентами- ^
К
К
15. Если 1 < Ь (не все итерации пройдены), 1 = 1 + 1, переход к п. 16, иначе — к п. 20.
16. Начать формирование множества базовых позиций. Во множество А ь1 включается пь1 лучших позиций,
разведчиками на итерации 1 (пь2 + пы = пь).
19. Определить множество базовых позиций на итерации 1 как Аь = Аь1 и Аь2. Перейти к п. 5.
20. Конец работы алгоритма. Список Е* — вариант исходного текста с лучшим значением ЦФ Я*. Пример реализации данного алгоритма криптоанализа приведен в [4].
Структурная схема данного алгоритма представлена на рис. 1.
12 3
и Й О ТЗ
М
"¡3
и
и
О, С -Й
Выбор базовой позиции aieAь
Выбор позиции (1), расположенной в окрестности базовой позиции а, не совпадающей с раннее выбранными на данной итерации позициями, и соответствующего решения (списка Е£).
1
I
Выбор в каждый области Б, лучшей позиции а* с лучшим значением ЦФ Я*.
1 г
Выбор среди всех значений Я,* лучшего значения Я* и соответствующего решения (списка позиций ЕЕ*).
и К X <и ч и
ей Л
С
^
к
ей И
к
X
*
н «
ей X Л
ч и н к ч о
к Е и
ей
и к
Й
а о
X
К
О
1 г
l = l + 1
1 г
Конец
Список Е* — вариант исходного текста с лучшим значением ЦФ К*
Формирование множества базовых позицийЛЬ1. Включение в него пЬ1 лучших позиций, найденных агентами среди
позиций а* в каждой из областей Б на итерации 1-1.
Размещение пг1 агентов-разведчиков случайным образом в пространстве поиска для выбора пг1 позиций в пространстве поиска.
Включение во множество ЛЬ2 пЬ2 лучших позиций из множества пГ1 новых позиций, найденных агентами-
разведчиками на итерации 1 (пь2 + пы = пь).
Формирование множества базовых позиций на итерации l как Ab = Ab1 U Ab2.
i
0
Рис. 1. Структурная схема криптоанализа на основе алгоритма колонии пчел Fig. 1. Block scheme of cryptanalysis based on bee colony algorithm
Как и ранее в [4, 5], в соответствии с данной структурной схемой на глобальном уровне можно отметить следующие параллельно выполняемые этапы:
— параллельное размещение nr пчел-разведчиков случайным образом в пространстве поиска;
— параллельный выбор базовых позиций, позиций, расположенных в их окрестности, получение решений Es и соответствующих значений ЦФ R каждым агентом-фуражиром;
— параллельное формирование областей Б и выбор в них лучших позиций а* с лучшим значением ЦФ К*;
— параллельное размещение п^ агентов-разведчиков в пространстве поиска для выбора п^ позиций.
^ Таким образом, с учетом данных преобразований структурную схему пчелиного алгоритма можно предста-
"й вить в виде, показанном на рис. 2. Для упрощения будем предполагать, что:
— число агентов-разведчиков пг = 5; ^ — число базовых решений пь = 4;
£ — число агентов-фуражиров па = 5;
|> — пЬ1 = 2 — количество базовых позиций, формируемых из лучших позиций а*, найденных на 1-1 итерации; "х — пЬ2 = 2 — количество базовых позиций, формируемых из пг1 новых лучших позиций, найденных агентами-Л разведчиками на 1 итерации.
Начало
О
и
к
X <и ч и
ей Л
С
^
к
ей И
к
X
*
н ч
ей X Л
ч и н к ч о
к Е и
ей И К
Й
а о
X
К
О
1 г
Выбор среди всех значений Я*, лучшего значения Я* и соответствующего решения (списка Е*) 1 17
Сохраняется значение R*(l - 1)
Конец
Список Е* — вариант исходного текста с лучшим значением ЦФ
Я* [23
Формирование множества позиций Ab1 путем включения nb1 = 2 лучших пози-
Размещение агента-разведчика 1 125
Размещение агента-разведчика 2 j 26
J24
Размещение агента-разведчика 3 j 27
Размещение агента-разведчика 4 128
1
Размещение агента-разведчика 5 129
Выбор пь2 = 2 лучших позиций из множества ш новых позиций, найденных агентами-разведчиками на итерации I, и формирование множества Лы
Формирование множества базовых позиций на итерации l как Ab1 UAb2
й о тз
"¡3
и (U
о, £ -Й
т
©
ml
Рис. 2. Структурная схема криптоанализа на основе алгоритма пчел с учетом параллельно выполняемых этапов Fig. 2. Block scheme of cryptanalysis based on bee colony algorithm with account of concurrent stages
Для дальнейшего определения множества независимых операторов, допускающих параллельное выполнение, будем, как и ранее в [4, 5], использовать методы, описанные в [13]. Для данной структурной схемы, показанной на рис. 2, составим информационно-логическую граф-схему G, отобразив в ней связи по управлению (двойная линия) и по информации (одинарная линия) (рис. 3). На рис. 3 двойной линией отмечены связи 18-19, 18-20 и 22-23, 22-24.
Рис. 3. Информационно-логическая граф-схема алгоритма криптоанализа Fig. 3. Information-logical flowgraph of cryptanalysis algorithm
Для данного графа введем в рассмотрение матрицу следования S. В соответствии с [13] элемент S,j существует связь по управлению, и Sj = 1, если существует связь по информации (рис. 4).
= *, если
<и К X <и ч и
ей Л
С
^
к
ей И
к
X
*
(U
н «
ей X Л
ч
(U
н К
4 о К
Е 3 и
ей И К
fe
5
Л
о X
S
3
4
5
6
7
8
9
10 11 12
13
14
15
16
17
18
19
20 21 22
23
24
25
26
27
28
29
30
31
Рис. 4. Матрица следования алгоритма пчелиных колоний Fig. 4. Succession matrix of bee colony algorithm
1
2
3
4
5
6
7
8
9
i
i
i
i
i
i
i
i
i
i
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Далее, используя алгоритмы, описанные в [13], дополним матрицу транзитивными связями (рис. 5), обозначив все элементы Бц = 1.
1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
1
2
3 1 1
4 1 1
5 1 1
6 1 1
7 1 1
8 1 1 1 1 1 1 1
9 1 1 1 1 1 1 1
10 1 1 1 1 1 1 1
11 1 1 1 1 1 1 1
12 1 1 1 1 1 1 1
13 1 1 1 1 1 1 1 1 1 1 1 1
14 1 1 1 1 1 1 1 1 1 1 1 1
15 1 1 1 1 1 1 1 1 1 1 1 1
16 1 1 1 1 1 1 1 1 1 1 1 1
17 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
18 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
20 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
21 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
22 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
23 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
26 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
27 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
28 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
29 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
30 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
31 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Рис. 5. Матрица следования алгоритма пчелиных колоний, дополненная транзитивными связями Fig. 5. Succession matrix of bee colony algorithm supplemented with transitive relations
Также сформируем симметричную матрицу следования (рис. 6) и введем в рассмотрение матрицу L логической несовместимости операторов. Данная матрица L очевидным образом будет содержать следующие ненулевые элементы, соответствующие логически несовместимым операторам:
L(19,20) = L(20,19) = L(23,24) = L(23,25) =...= L(23,3
) = L(24,23) = L(25,23) =...= L(31,23) = 1.
2
T" T"
T~
T~ "9""
10 H" 12" 13
и
15" T6 17" Is" T9
154
T
2
3
4
5
6
7
8
9
2
3
T
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
20 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
21 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
22 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
23 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
24 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
25 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
26 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
27 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
28 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
29 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
30 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
31 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Рис. 6. Симметричная матрица следования алгоритма пчелиных колоний Fig.6. Symmetric succession matrix of bee colony algorithm
Путем дизъюнктивного сложения этих матриц и L получим матрицу независимости M, показанную на рис. 7.
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Рис. 7. Матрица независимости M алгоритма пчелиных колоний Fig.7. Matrix of independence M of bee colony algorithm
Результаты исследования. Итак, по данной матрице независимости М можно очевидным образом определить множества операторов алгоритма, которые допускают параллельное выполнение. Размерность максимального внутренне устойчивого множества определяет максимальное число процессоров, используемых для реализации алгоритма.
Отметим, что теоретические оценки временной сложности алгоритма пчелиных колоний приведены в [12]. В лучшем случае временная сложность пчелиных алгоритмов Т составляет Т~ О (nIgn), в худшем случае Т ~ О (n3). Как отмечено в [5], для повышения быстродействия и эффективности алгоритма за счет минимизации времени работы Т возможна организация процесса распараллеливания как на глобальном уровне (параллельная обработка Р элементов популяции на n процессорах), так и на локальном (параллельная реализация процесса оценки одного элемента попу-
й и к
<3 %
о, о
К
К
1
2
3
4
5
6
7
8
9
2
3
1
i
i
2
i
i
3
4
5
6
7
8
9
1
1
1
1
1
1
1
1
ляции). Таким образом, для повышения эффективности реализации алгоритма пчелиных колоний на локальном уровне в соответствии с [4] актуальной является задача: для алгоритма криптоанализа на основе построенного информационно-логического графа О и для заданного времени Тзад найти необходимое наименьшее число процессоров однородной вычислительной системы и план выполнения операторов на них.
Для решения этой задачи, как и ранее, воспользуемся методами, описанными в [13]. При этом в качестве времени Тзад примем, как и ранее, время Ткр — длину критического пути в информационно-логическом графе О. На первоначальном этапе при рассмотрении однородных вычислительных систем необходимо определение скалярных весов вершин в информационно-логическом графе, отражающих время выполнения операторов, составляющих схему на рис. 2.
Как и в [4, 5], для решения данной задачи воспользуемся методами, изложенными в [13]. Веса операторов, показывающие время их выполнения и определенные в соответствии с основными правилами анализа программ, описанными [14], приведены на рис. 3. Отметим, что данные веса определены в соответствии с отмеченными выше допущениями, что пг = 5; пь = 4; щ = 5; пЬ1 = 2; пь2 = 2, длина обрабатываемой строки текста (аналогично [8]) Т = 5. Легко убедиться, что критический путь в графе О Ткр = 35. В предположении, что Тзад = Ткр для представленного на рис. 3 информационно-логического графа и матрицы следования найдем ранние тр и поздние сроки тш- окончания выполнения операторов с помощью алгоритмов, представленных в [13].
Ранние сроки:
Тр1 = 9, Тр2 = 1, Тр3 = Тр4 = Тр5 = Трб = Тр7 = 10, Тр8 = Тр9 = Тр1о = Три = Тр12 = 14, Тр13 = Тр14 = Тр15 = Тр1б = 18, Тр17 = 22, Тр18 = 23, Тр19 = Тр20 = 24, Тр21 = 25, Тр22 = 26, Тр23 = 31, Тр24 = 28, Тр25 = Тр2б = Тр27 = Тр28 = Тр29 = 29, Тр30 = 31, Тр31 = 35.
Поздние сроки:
Тп31 = 35, Тп30 = 31, Тп29 = Тп28 = Тп27 = Тп2б = Тп25 = 29, Тп24 = 28, Тп23 = 35, Тп22 = 26, Тп21 = 25, Тп20 = Тп19 = 24, Тп18 = 23, Тп17 = 22, Тп1б = Тп15 = Тп14 = Тп13 = 18, Тп12 = Тп11 = Тп10 = Тп9 = Тп8 = 14, Тп7 = Тпб = Тп5 = Тп4 = Тп3 = 10, Тп2 = Тп1 = 9.
В соответствии с методикой, описанной в [13], в матрице независимости найдем внутренне устойчивые множества, представляющие множества взаимно независимых операторов (ВНО). Это множества (1, 2), (3, 4, 5, б, 7), (8, 9, 10, 11, 12), (13, 14, 15, 1б), (25, 2б, 27, 28, 29).
Используя значения тр; и Тш, как и ранее в [4, 5], оценим минимальное число процессоров для выполнения алгоритма за время Ткр. Для этого построим диаграммы ранних и поздних сроков окончания выполнения операторов и найдем такое распределение временных границ операторов для всех ВНО, при котором число используемых процессоров (функция п) минимально [13]. Легко убедиться, что у операторов, входящих в данные множества ВНО, ранние и поздние сроки окончания выполнения равны, поэтому максимальное значение п = 5 имеет место для ВНО (3, 4, 5, б, 7), ВНО (8, 9, 10, 11, 12), ВНО (25, 2б, 27, 28, 29).
Таким образом, получена оценка числа процессоров п = 5, позволяющая выполнить алгоритм криптоанализа на основе метода пчелиных колоний за минимальное время Т = Ткр при отмеченных выше допущениях. Данная оценка является решением задачи, так как в соответствии с [13] в матрице независимости нет множеств ВНО, содержащих число операторов г > п.
Отсюда очевидным образом следует утверждение.
Утверждение. При реализации описанного выше параллельного алгоритма криптоанализа на основе метода пчелиных колоний, представленного информационно-логическим графом О на рис. 3 (в соответствии с технологией распараллеливания, описанной в [13]), необходимое минимальное число процессоров может быть определено как тах(пг; па ; пь). При этом общее время реализации алгоритма в общем случае составляет
т=е х тКр,
где е — количество итераций (в общем случае не превышающее длину блока текста), Ткр — длина критического пути в информационно-логическом графе О, определенная в соответствии с правилами анализа программ, описанными в
а [14].
3 Обсуждение и заключение. Таким образом, в данной работе:
и
й — представлено описание алгоритма колонии пчел, используемого для реализации криптоанализа, его структурная схема;
■М
•д — определены основные параллельно выполняемые этапы алгоритма, и на их основе построена информационно-
^ логическая граф-схема алгоритма;
— построены матрицы следования и независимости, позволяющие определить основные параллельно выполняемые операции алгоритма;
^ — приведена оценка числа процессоров, необходимых для реализации алгоритма.
В качестве заключения может быть представлен вывод, сделанный в публикациях [4, 5, 15, 1б]. Основной отличительной особенностью применения биоинспирированных методов криптоанализа является возможность исполь-
156 зования самого алгоритма шифрования (или расшифрования) в качестве целевой функции для оценки пригодности
ключа, определенного с помощью генетических операций. Вследствие этого при использовании биоинспирированных методов криптоанализа процесс определения секретного ключа (например, при криптоанализе 2-го типа) зависит не столько от сложности шифрующих преобразований, сколько от самого биоинспирированного метода, который должен обеспечивать достаточное разнообразие генерации ключей. Это свидетельствует об актуальности задачи исследования возможности применения биоинспирированных алгоритмов для криптоанализа блочных криптосистем. Также следует заметить, поскольку отличительной особенностью как блочных методов шифрования, так и биоинспирированных методов (в частности, генетических алгоритмов), является их внутренний параллелизм [4], то задача разработки алгоритма криптоанализа на основе параллельной реализации составляющих этапов является актуальной.
Библиографический список
1. Криптографические методы и генетические алгоритмы решения задач криптоанализа / Ю. О. Чернышев [и др.]. — Краснодар : ФВАС, 2013. — 138 с.
2. Курейчик, В. В. Алгоритм параметрической оптимизации на основе модели поведения роя светлячков /
B. В. Курейчик, Д. В. Заруба, Д. Ю. Запорожец // Известия ЮФУ. Технические науки. — 2015. — № 6 (167). —
C. 6-15.
3. Биоинспирированные алгоритмы решения задач криптоанализа классических и асимметричных криптосистем / Ю. О. Чернышев [и др.]. — Краснодар. высш. воен. училище им. ген. армии С. М. Штеменко, 2015. — 132 с.
4. Исследование возможности применения генетических алгоритмов для реализации криптоанализа блочных криптосистем / Ю. О. Чернышев [и др.] // Вестник Дон. гос. техн. ун-та. — 2015. — № 3 (82). — С. 65-72.
5. Исследование возможности применения методов эволюционной оптимизации для реализации криптоанализа блочных методов шифрования / Ю. О. Чернышев [и др.] // Изв. СПбГЭТУ «ЛЭТИ». — 2015. — № 10. — С. 32-40.
6. Лебедев, Б. К. Модели адаптивного поведения колонии пчел для решения задач на графах / Б. К. Лебедев, О. Б. Лебедев // Известия ЮФУ. Технические науки. — 2012. — № 7. — С. 42-49.
7. Лебедев, О. Б. Трассировка в канале методом муравьиной колонии / О. Б. Лебедев // Известия ЮФУ. Технические науки. — 2009. — № 4. — С. 46-52.
8. Исследование возможности применения бионических методов пчелиных колоний для реализации криптоанализа классических шифров перестановок / Ю. О. Чернышев [и др.] // Вестник Дон. гос. техн. ун-та. — 2014. — Т. 14, № 1 (76). —С. 62-75.
9. Чернышев, Ю. О. Исследование и разработка методов криптоанализа шифров перестановок на основе био-инспирированных методов пчелиных колоний / Ю. О. Чернышев, А. С. Сергеев, Е. О. Дубров // Системный анализ в проектировании и управлении. Часть 1 : сб. науч. тр. 17-й Междунар. науч.-практ. конф. — Санкт-Петербург : Изд-во Политехн. ун-та, 2013. — С. 143-150.
10. Биоинспирированные методы криптоанализа асимметричных алгоритмов шифрования на основе фактори- §
зации составных чисел / А. С. Сергеев [и др.] // Вестник Дон. гос. техн. ун-та. — 2011. — Т. 11, № 9 (60). — С. 1544- £
1554. и
й
11. Чернышев, Ю. О. Применение биоинспирированных методов оптимизации для реализации криптоанализа
классических симметричных и асимметричных криптосистем / Ю. О. Чернышев, А. С. Сергеев, Е. О. Дубров // Си- ^
К
стемный анализ в проектировании и управлении : сб. науч. тр. 16-й Междунар. науч.-практ. конф. — Санкт- ^
Петербург : Изд-во Политехн. ун-та, 2012. — С. 112-122. is
12. Курейчик, В. В. Пчелиный алгоритм для решения оптимизационных задач с явно выраженной целевой g функцией / В. В. Курейчик, М. А. Жиленков // Информатика, вычислительная техника и инженерное образование. — н 2015. — № 1 (21). — С. 1-8. g
13. Сергеев, А. С. Параллельное программирование / А. С. Сергеев. — Ростов-на-Дону : Изд. центр ДГТУ, ¡2
2002. — 77 с. Н
IS
14. Ахо, А.-В. Структуры данных и алгоритмы / А.-В. Ахо, Дж.-Е. Хопкрофт, Дж.-Д. Ульман. — Москва : Ви- g льямс, 2003. — 384 с. ^
15. Применение биоинспирированных методов оптимизации для реализации криптоанализа блочных методов ¡^ шифрования: монография / Ю. О. Чернышев [и др.]. — Ростов-на-Дону : Изд-во ДГТУ, 2016. — 177 с.
й
16. Применение методов эволюционной оптимизации для реализации криптоанализа блочного метода шиф- is рования AES / С. А. Капустин [и др.] // Известия СПбГЭТУ «ЛЭТИ». — 2016. — № 8. — С. 25-40. |
о,
References 2
1. Chernyshev, Y.O., et al. Kriptograficheskie metody i geneticheskie algoritmy resheniya zadach kriptoanaliza. E
[Cryptographic techniques and genetic algorithms for solving cryptanalysis problems.] Krasnodar: FVAS, 2013, 138 p. (in Russian).
S 157
2. Kureichik, V.V., Zaruba, D.V., Zaporozhets, D.Y. Algoritm parametricheskoy optimizatsii na osnove modeli povedeniya roya svetlyachkov. [Parametric optimization algorithm based on the model of glowworm swarm behavior] Izvesti-ya SFedU. Engineering Sciences. 2015, no. 6 (167), pp. 6-15 (in Russian).
3. Chernyshev, Y.O., et al. Bioinspirirovannye algoritmy resheniya zadach kriptoanaliza klassicheskikh i asimmet-richnykh kriptosistem. [Bioinspired algorithms for solving cryptanalysis problems of classic and asymmetric cryptosystems.] Krasnodar higher military school named after army general S. M. Shtemenko, 2015, 132 p. (in Russian).
4. Chernyshev, Y.O., et al. Issledovanie vozmozhnosti primeneniya geneticheskikh algoritmov dlya realizatsii kriptoanaliza blochnykh kriptosistem. [Feasibility study of genetic algorithms application for implementation of block cryptosystem cryptanalysis.] Vestnik of DSTU, 2015, no. 3 (82), pp. 65-72 (in Russian).
5. Chernyshev, Y.O., et al. Issledovanie vozmozhnosti primeneniya metodov evolyutsionnoy optimizatsii dlya realizatsii kriptoanaliza blochnykh metodov shifrovaniya. [Research of possibility of application of evolutionary optimization methods for realization of cryptanalysis of enciphering block methods.] Izvestiya SPbGETU "LETI", 2015, no. 10, pp. 32-40 (in Russian).
6. Lebedev, B.K., Lebedev, O.B. Modeli adaptivnogo povedeniya kolonii pchel dlya resheniya zadach na grafakh. [Modeling of an ant colony adaptive behavior by search of the decisions interpreted by trees.] Izvestiya SFedU. Engineering Sciences. 2012, no. 7, pp. 42-49 (in Russian).
7. Lebedev, O.B. Trassirovka v kanale metodom murav'inoy kolonii. [Chanel routing bases on method of ant colony optimization.] Izvestiya SFedU. Engineering Sciences. 2009, no. 4, pp. 46-52 (in Russian).
8. Chernyshev, Y.O., et al. Issledovanie vozmozhnosti primeneniya bionicheskikh metodov pchelinykh koloniy dlya realizatsii kriptoanaliza klassicheskikh shifrov perestanovok. [Research on applicability of bionic techniques of bee colonies for implementation of classical transposition cipher cryptanalysis.] Vestnik of DSTU, 2014, vol. 14, no. 1 (76), pp. 62-75 (in Russian).
9. Chernyshev, Y.O., Sergeev, A.S., Dubrov, E.O. Issledovanie i razrabotka metodov kriptoanaliza shifrov perestanovok na osnove bioinspirirovannykh metodov pchelinykh koloniy. [Research and development of cryptanalysis methods of cipher transpositions based on bioinspired bee colony methods.] Sistemnyy analiz v proektirovanii i upravlenii. Chast' 1 : sb. nauch. tr. 17-y Mezhdunar. nauch.-prakt. konf. [System analysis in design and management. Part 1: Coll.of sci.papers 17th Int. Sci.-Pract. Conf.] St. Petersburg: Polytechnic University Publ. House, 2013, pp. 143-150 (in Russian).
10. Sergeev, A.S., et al. Bioinspirirovannye metody kriptoanaliza asimmetrichnykh algoritmov shifrovaniya na osnove faktorizatsii sostavnykh chisel. [Cryptanalysis bioinspired methods of asymmetric key on the basis of composite number factorization.] Vestnik of DSTU, 2011, vol. 11, no. 9 (60), pp. 1544-1554 (in Russian).
11. Chernyshev, Y.O., Sergeev, A.S., Dubrov, E.O. Primenenie bioinspirirovannykh metodov optimizatsii dlya reali-zatsii kriptoanaliza klassicheskikh simmetrichnykh i asimmetrichnykh kriptosistem. [Application of bioinspired optimization methods for implementation of cryptanalysis of classical symmetric and asymmetric cryptosystems.] Sistemnyy analiz v proektirovanii i upravlenii : sb. nauch. tr. 16-y Mezhdunar. nauch.-prakt. konf. [System analysis in design and management: Coll.of sci.papers 16th Int. Sci.-Pract. Conf.] St. Petersburg: Polytechnic University Publ. House, 2012, pp. 112-122 (in Russian).
12. Kureichik, V.V., Zhilenkov, M.A. Pchelinyy algoritm dlya resheniya optimizatsionnykh zadach s yavno vyra-zhennoy tselevoy funktsiey. [Bee algorithms for solving optimization problems with the explicit objective function.] Informa-tika, vychislitel'naya tekhnika i inzhenernoe obrazovanie, 2015, no. 1 (21), pp. 1-8 (in Russian).
13. Sergeev, A.S. Parallel'noe programmirovanie. [Concurrent programming.] Rostov-on-Don: DSTU Publ. Centre, 2002,77 p. (in Russian).
14. Aho, A. V., Hopkroft, J.E., Ullman, J.D. Struktury dannykh i algoritmy. [Data Structures and Algorithms. ] Moscow: Williams, 2003, 384 p. (in Russian).
15. Chernyshev, Y.O., et al. Primenenie bioinspirirovannykh metodov optimizatsii dlya realizatsii kriptoanaliza 5 blochnykh metodov shifrovaniya. [Application of bioinspired optimization methods for implementation of cryptanalysis block 3 encryption methods.] Rostov-on-Don: DSTU Publ. Centre, 2016, 177 p. (in Russian).
§ 16. Kapustin, S.A., et al. Primenenie metodov evolyutsionnoy optimizatsii dlya realizatsii kriptoanaliza blochnogo
2 metoda shifrovaniya AES. [Application of evolutionary optimization methods for implementation of cryptanalysis of the block "3 cryptography technique AES.] Izvestiya SPbGETU "LETI", 2016, no. 8, pp. 25-40 (in Russian).
и (U
■j^ Поступила в редакцию 25.09.2016 Received 25.09.2016
^ Сдана в редакцию 25.09.2016 Submitted 25.09.2016
Запланирована в номер 11.01.2017 Scheduled in the issue 11.01.2017
Об авторах:
Чернышев Юрий Олегович, профессор кафедры «Автоматизация производственных процессов» Донского государственного технического университета (РФ, 344000, г. Ростов-на-Дону, пл. Гагарина, 1), доктор технических наук, профессор, ОЯСГО: http://orcid.org/ 0000-0002-49011101, [email protected]
Сергеев Александр Сергеевич, докторант Донского государственного технического университета (РФ, 344000, г. Ростов-на-Дону, пл. Гагарина, 1), кандидат технических наук, ОЯСШ: http://orcid.org/0000-0001-6634-2722, [email protected]
Рязанов Александр Николаевич, помощник генерального директора, Открытого акционерного общества «711 Военпроект» (РФ, 344038, г. Ростов-на-Дону, пр. М. Нагибина, 28), ОКСГО: http://orcid.org/0000-0002-5471-4477, [email protected]
Дубров Евгений Олегович, инженер, Федерального государственного унитарного предприятия «Ростов-ский-на-Дону научно-исследовательский институт радиосвязи» (РФ, 344038, г. Ростов-на-Дону, ул. Нансена 130), ОКСГО: http://orcid.org/0000-0001-8866-4001, [email protected]
Authors:
Chernyshev, Yury O., professor of the Production Automation Department, Don State Technical University (RF, Rostov-on-Don, Gagarin sq., 1), Dr. Sci. (Eng.), professor, ORCID: http://orcid.org/ 0000-0002-4901-1101, [email protected]
Sergeev, Alexander S., postdoctoral student, Don State Technical University (RF, 344000, Rostov-on-Don, Gagarin sq., 1) Cand. Sci. (Eng.), ORCID: http://orcid.org/0000-0001-6634-2722, [email protected]
Ryazanov, Alexander N., assistant general director, "711 Voenproekt" JSC (RF, Rostov-on-Don, M. Nagibina Prospekt, 28), ORCID: http://orcid.org/0000-0002-5471-4477, [email protected]
Dubrov, Evgeny O., engineer, Rostov Scientific Research Institute for Radiocommunication (RF, Rostov-on-Don, Nansen St., 130), ORCID: http://orcid.org/0000-0001-8866-4001, [email protected]
u S X <u
m eö Л
G
^
S
eö «
S
X
*
<u
H «
eö X Л
<u H
s
о
s
E 3 m
(Й «
S
<3 S
Л
о X
S