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

УДК 004.023

А. С. Катасёв, Д. В. Катасёва, А. П. Кирпичников ОЦЕНКА СТОЙКОСТИ ШИФРУЮЩИХ ПРЕОБРАЗОВАНИЙ МОНОАЛФАВИТНОЙ ЗАМЕНЫ С ИСПОЛЬЗОВАНИЕМ ГЕНЕТИЧЕСКОГО АЛГОРИТМА

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

В данной работе решается задача разработки генетического алгоритма для оценки стойкости шифра моноалфавитной замены. Описывается анализируемый алгоритм шифрования. Предлагается реализация генетического алгоритма для реализации криптоаналитической атаки. Приводится пример работы генетического алгоритма и оценка его эффективности. Делается вывод о недостаточной криптостойкости шифра моноалфавитной замены.

Keywords: cryptoanalysis, genetic algorithm, mono-alphabet replacement.

This paper describes the problem of genetic algorithm developing to cipher monoalphabetic replacement resistance estimating. Describes the analyzed encryption algorithm. It is proposed to implement a genetic algorithm for cryptanalytic attacks implementation. An example of the genetic algorithm work and evaluation of its effectiveness. It is concluded that the lack of cryptographic cipher monoalphabetic replacement.

Основой большинства систем обеспечения информационной безопасности является

эффективное использование криптографических методов и алгоритмов. В настоящее время существует большое количество различных алгоритмов шифрования, таких как ГОСТ 28147-89, DES, IDEA [8].

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

В настоящее время все современные системы криптографической защиты информации основаны на принципах симметричного и асимметричного шифрования [2]. В симметричных криптосистемах шифрование и дешифрование информации осуществляется на одном секретном ключе K, рассекречивание которого ведет к компрометации всей системы.

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

Наибольшей криптостойкостью обладают современные симметричные криптосистемы, такие как DES, IDEA, ГОСТ. Криптостойкость классических симметричных шифров существенно

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

[7].

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

Для решения задач оптимизации существует большое количество традиционных алгоритмов [1,5]. Их общим недостатком является то, что при увеличении размерности пространства поиска количество точек данного пространства значительно увеличивается, что приводит к необходимости привлечения больших

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

является использование генетического алгоритма, как метода случайного направленного поиска решения оптимизационных задач [6,10,11]. Рассмотрим такой подход к реализации криптоаналитической атаки для оценки стойкости шифра моноалфавитной замены [3].

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

Рассмотрим формализацию данного процесса. Пусть Т = (Л,Б, ...,Х,У,2} - исходный алфавит, состоящий из множества заглавных английских букв (мощность равна 26), К = (а! а2 ... а26) - ключ шифрования, где V 1е[1.26]: а1 е Т и V а1 и ак : ^к ^ а1 Ф ак. Последнее условие определяет факт неповторяемости символов алфавита в ключе шифрования. Кроме того, над символами открытого текста, не входящими в алфавит, шифрование не производится. Данное условие можно формализовать следующим образом: если х г Т , то ¥к (х) = х.

Отметим, что существует обратная функция Нк = ^ , позволяющая однозначно реализовать процедуру дешифрования закрытого текста.

На рис. 1 представлена схема шифрования и дешифрования для рассматриваемого алгоритма.

Рис. 1 - Схема симметричного шифрования

Здесь Т = (11}1<1<м - открытый текст, N -длина открытого текста; Ек = {е^к^ = Fk(T) Ve1еEk, е1 = ^00, где 11 е Т.

В реальных задачах криптоанализа аналитику известен только зашифрованный текст Е, в то время как секретный ключ К и открытый текст Т неизвестны. Задача криптоанализа заключается в выявлении этого секретного ключа, чтобы на основе известного алгоритма шифрования получить исходный или близкий к нему открытый текст Т.

Отметим, что шифры моноалфавитной замены легко вскрываются с помощью метода частотного анализа, так как не меняют частоты использования символов в сообщении. Однако для реализации такого рода атаки необходимо иметь достаточно длинные шифротексты, что не всегда удовлетворяет реальным условиям. При использовании метода полного перебора всех возможных вариантов перестановок ключа (метода грубой силы) потребуется привлечение больших вычислительных и временных ресурсов, т. к. мощность ключевого пространства будет составлять величину, равную 26! ~ 288,4, что не позволяет

применить данный вид атаки для ключей большой размерности.

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

1. Создание начальной популяции.

2. Определение (задание) функций приспособленности для особей популяции (оценивание).

3. Начало цикла:

- селекция двух родительских хромосом из текущей популяции;

- скрещивание и мутация хромосом;

- вычисление функций приспособленности для всех хромосом;

- редукция худших хромосом и формирование нового поколения хромосом;

- если выполняется условие остановки, то переход в конец цикла, иначе возврат в начало.

4. Конец цикла.

Рассмотренный алгоритм можно представить в виде блок-схемы, представленной на рис. 2.

Выбор исходной популяции хромосом

_ж_

Оценивание хромосом в популяции

Рис. 2 - Блок-схема генетического алгоритма

В разработанном генетическом алгоритме хромосома представляет собой решение задачи (ключ шифрования). В данном случае, имея исходный алфавит Т = {A,B, .. ,,X,Y,Z}, получим:

Р = ([а! а2 ... а26], generation, fitness), где V ie[1...26]: ai е Т и V ai и ak : i^k ^ ai Ф ак; generation - номер поколения хромосомы; fitness -вещественное число, равное значению функции приспособленности хромосомы в популяции.

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

потомство. Число кандидатов в генофонде всегда будет четным.

Рассмотрим две родительские хромосомы (Х=[а1 ... а26]) и (У=[81 ... 826]). Для определения их точки скрещивания случайно выбирается число пе[1...25]. В результате работы оператора скрещивания от родительских хромосом X и У будут получены две дочерние хромосомы и и V: и=[а1 ... ап 5п+1 ... 826], V=[8l ... 8п ап+1 ... а2б].

В результате скрещивания всегда получается четное число новых хромосом.

Процесс отбора хромосом можно выполнять двумя способами. Первый способ предполагает выбор лучших к=р*п хромосом, где п - текущий размер генофонда, р - вероятность скрещивания (0<р<1). При этом скрещивание осуществляется между каждыми двумя последовательными элементами. Второй способ предполагает выбор первых И кандидатов (лучшие элементы), а также последних И элементов. Скрещивание осуществляется между этими элементами.

В текущей реализации генетического алгоритма используется второй способ отбора хромосом, чтобы «плохие» родители имели возможность участвовать в процессе скрещивания. Это позволяет задействовать в алгоритме все хромосомы из представленного массива вне зависимости от их приспособленности. Данный подход позволяет получать более приспособленное потомство.

В результате работы оператора скрещивания могут быть получены дефектные хромосомы, у которых значения различных аллелей совпадают, т.е. 3 1е[1,п] и ке[п+1,26] такие, что а1 = 8к.

Если Т = {Л,Б,САБ,Р,0} - исходный алфавит, а Х=[ЛБСБОРБ] и У=[ББСРЛОБ] -родительские хромосомы и выбрана точка скрещивания п=3, то будут получены дочерние хромосомы И=[ЛБСРЛвБ] и V=[DБCБGFD]. Рассмотрим процесс исправления дефектных хромосом (см. рис. 3).

1 2 п=3 4 5 6 7

X А Е с В в ¥ Б

У Б В с Е А в Е

и А Е с Е А Э Е

V Б В с В Э Е Б

и' А Е с Е В О Б

V' Б В с А Е Е

Рис. 3 - Исправление дефектных хромосом

Как видно из рисунка, каждая из дочерних хромосом имеет по две одинаковые аллели. В процессе исправления хромосом путем замены избыточных аллелей недостающими значениями получим новые дочерние хромосомы И'=[AECFBGD] и V'=[DБCЛGFБ].

Для улучшения сходимости генетического алгоритма применяется мутация хромосом.

Рассмотрим хромосому Х=[а1 ... а26]. Для реализации оператора мутации случайно выбираются два целых числа пе[1...26] и ше[1...26], п^ш. Затем создается новая хромосома У путем дублирования хромосомы Х и замены местами позиции элементов аш и ап. В результате мутации создается хромосома, способная в будущем дать лучшее потомство.

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

U = УЛ E).

В этом случае, значение приспособленности решения К должно отражать степень корректности открытого текста И с учетом того, что оригинальный открытый текст Т остается неизвестным. Иными словами, это значение должно определить, насколько открытый текст И представляет собой логически приемлемый текст (его читабельность).

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

Fitness(K) = 100 * Л / Б,

где Б - количество всех слов в полученном открытом тексте И;Л- количество неизвестных слов в тексте (не содержащихся в словаре), причем:

0<Л<Б ^ 0 < F1tness(K) < 100.

Наилучшим решением является то, которое имеет нулевое значение функции

приспособленности или, по крайней мере, минимальное значение.

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

Следует отметить, что существует проблема реализации криптоатаки на тексты малой длины. Предположим, что зашифрованный текст Б является текстом малой длины, например, Б=[БО КМ УЫКО] и пусть на различных циклах работы генетического алгоритма найдены четыре ключа, в результате применения которых на этапе расшифровки сообщения Б получим следующие

псевдооригинальные открытые тексты (см. табл. 1).

Таблица 1 - Результат реализации криптоатаки на тексты малой длины

Ключ Открытый текст Значение функции приспособленности Перевод

K1 HE IS NICE 0 Он милый

K2 AS IN PIGS 0 Так же свиней

K3 HE IS TIME 0 Он время

K4 BE AT CAKE 0 Быть в торте

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

Рассмотрим пример работы генетического алгоритма. Сгенерируем ключ шифрования длиной 15 символов, как показано на рис. 4.

Key length |15 d

"Ч 1 V

Alpha KEY G-Key

1 А М

2 В I

3 С J

4 D G

5 Е А

6 F Е

7 G С

8 Н Ы

9 I Н

10 J К

И К F

12 L О

13 М D

14 N В

15 О L

Рис. 4 - Ключ для шифрования открытого текста

Рассмотрим исходный открытый текст:

IF A BROKEN ARCHIVE DOES NOT CONTAIN A RECOVERY RECORD OR IF THE ARCHIVE IS NOT COMPLETELY RECOVERED DUE TO MAJOR DAMAGE, A SECOND STAGE IS PERFORMED. DURING THIS STAGE ONLY THE ARCHIVE STRUCTURE IS RECONSTRUCTED AND IT IS IMPOSSIBLE TO RECOVER FILES WHICH FAIL THE CRC VALIDATION, IT IS STILL POSSIBLE, HOWEVER, TO RECOVER UNDAMAGED FILES, WHICH WERE INACCESSIBLE DUE TO THE BROKEN ARCHIVE STRUCTURE. MOSTLY THIS IS USEFUL FOR NON-SOLID ARCHIVES. WHEN THE SECOND STAGE IS COMPLETED, THE RECONSTR UCTED ARCHIVE WILL BE SAVED.

В результате шифрования открытого текста получим следующий зашифрованный текст:

HE M IRLFAB MRJNHVA GLAS BLT JLBTMHB M RAJLVARY RAJLRG LR HE TNA MRJNHVA HS BLT JLDPOATAOY RAJLVARAG GUA TL DMKLR

GMDMCA, M SAJLBG STMCA Ж PARELRDAG. GURHBC TNHS STMCA LBOY TNA MRJNHVA STRUJTURA Ж RAJLBSTRUJTAG MBG Ш Ж HDPLSSHIOA П RAJLVAR EHOAS WNHJN EMHO TNA JRJ VMOHGMTHLB, Ш Ж STHOO PLSSHЮA, Ш^ЛУЛ^ п RAJLVAR UBGMDMCAG EHOAS, WNHJN WARA HBMJJASSHЮA GUA П TNA IRLFAB MRJNHVA STRUJTURA. DLSTOY TNHS Ж USAEUO ELR BLB-SLOHG MRJNHVAS. WNAB TNA SAJLBG STMCA Ж JLDPOATAG, TNA RAJLBSTRUJTAGMRJNHVA WHOO 1Л SMVAG.

Для реализации криптоаналитической атаки запустим генетический алгоритм, фитнесс-функция которого представлена на рисунке 5.

Generation

Рис. 5 - Фитнесс-функция генетического алгоритма

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

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

Литература

1. Абдулхаков А.Р., Катасёв А.С., Кирпичников А.П. Методы редукции нечетких правил в базах знаний интеллектуальных систем // Вестник Казанского технологического университета. - 2014. - Т. 17. - № 23. -С. 389-392.

2. Гончаров Н.О. Симметричное и асимметричное шифрование // Молодежный научно-технический вестник. - 2013. - № 1. - С. 37-40.

3. Городилов А.Ю., Митраков А. А. Криптоанализ тригонометрического шифра с помощью генетического алгоритма // Вестник Пермского университета. Серия:

Математика. Механика. Информатика. -2011. - № 4. - С. 75-82.

4. Емалетдинова Л.Ю., Катасёв А.С., Кирпичников А.П. Нейронечеткая модель аппроксимации сложных объектов с дискретным выходом // Вестник Казанского технологического университета. - 2014. - Т. 17, № 1. - С. 295-299.

5. Катасёв А.С., Абдулхаков А.Р. Редукция нечетких правил в задаче оптимизации баз знаний экспертных систем // Вестник Казанского государственного технического университета им. А.Н. Туполева. - 2012. - № 3. - С. 110115.

6. Катасев А.С., Ахатова Ч.Ф. Симбиоз методов искусственного интеллекта при обнаружении нелинейных зависимостей в базах данных // Информатика, вычислительная техника и инженерное образование. -2010. - № 2. - С. 46-57.

7. Катасёв А.С., Катасёва Д.В., Кирпичников А.П. Нейросетевая технология классификации электронных

почтовых сообщений // Вестник технологического университета. - 2015. - Т. 18, № 5. - С. 180-183.

8. Коновалов М.В., Михайлова У.В., Хусаинов А.А. Алгоритмы шифрования данных // Актуальные проблемы современной науки, техники и образования. - 2013. - Т. 2. - № 71. - С. 159-161.

9. Райхлин В.А., Вершинин И.С. Элементы криптоанализа двумерного картографического шифра // Вестник Казанского государственного технического университета им. А.Н. Туполева. - 2002. - № 4. - С. 48-54.

10. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польск. И.Д. Рудинского. - М.: Горячая линия - Телеком, 2006. - 452 с.: ил.

11. Катасёв А.С., Катасёва Д.В., Кирпичников А.П. Нейросетевая технология классификации электронных почтовых сообщений // Вестник технологического университета. - 2015. - Т. 18, № 6. - С. 163-167.

© А. С. Катасёв - д-р. техн. наук, доц. кафедры систем информационной безопасности КНИТУ-КАИ, kat_726@mail.ru; Д. В. Катасёва - аспирант кафедры систем информационной безопасности КНИТУ-КАИ, 415pisarevadv@mail.ru; А. П. Кирпичников - д-р. физ.-мат. наук, профессор, зав. кафедрой интеллектуальных систем и управления информационными ресурсами КНИТУ, kirpichnikov@kstu.ru

© A. S. Katasev - Dr. Sci, Associate Professor of the Information Security Systems, KNRTU named after A.N. Tupolev, kat_726@mail.ru; D.V. Kataseva - Postgraduate Student of the Information Security Systems, KNRTU named after A.N. Tupolev, 415pisarevadv@mail.ru; А. P. Kirpichnikov - Dr. Sci, Prof, Head of the Department of Intelligent Systems & Information Systems Control, KNRTU, kirpichnikov@kstu.ru.