М Инженерный вестник Дона, №4 (2024) ¡\с1оп. ru/ru/magazine/arcЫve/n4y2024/9139
Искусственные иммунные системы в криптоанализе и решении диофантовых уравнений: новый подход к защите информации
В.И. Шиян, Ю.А. Аносова, Н.О. Дворников, М.Е. Кокоровец, Ю.Д. Кривошей, Д.С. Самусев, М.С. Щербина Кубанский государственный университет, Краснодар
Аннотация: В статье рассматривается задача криптоанализа системы защиты информации, основанной на трудно решаемой задаче диофантовых уравнений. Описывается математическая модель такой системы защиты и предлагается решение задачи криптоанализа с использованием искусственной иммунной системы, адаптированной для решения диофантовых уравнений. В работе рассматриваются основные принципы построения искусственных иммунных систем и приводятся результаты экспериментов по оценке эффективности предложенной системы на диофантовых уравнениях степени, не превышающей шести. Полученные результаты демонстрируют возможность применения искусственных иммунных систем для решения задачи криптоанализа систем защиты информации, основанных на диофантовых уравнениях.
Ключевые слова: криптоанализ, система защиты информации, диофантовы уравнения, искусственная иммунная система, адаптивный алгоритм, оценка эффективности.
Введение
Искусственные иммунные системы (ИИС) в области информатики -это адаптивные алгоритмы, которые могут использовать принципы иммунологии для решения различных задач. Они опираются на теоретические основы негативного отбора, клональной селекции и работы иммунной системы, которые лежат в основе алгоритмов функционирования этих систем. Использование ИИС широко применяется в различных областях, в том числе в криптоанализе систем защиты информации (СЗИ).
Криптоанализ, являющийся разделом криптологии, фокусируется на изучении методов декодирования шифров и незаконного доступа к информации [1, 2].
СЗИ обеспечивают надёжную защиту данных на всех этапах их обработки и передачи.
Одним из подходов к построению СЗИ является использование диофантовых трудностей (ДТ), которые основаны на сложности решения диофантовых уравнений (ДУ). ДУ представляет собой уравнение вида (1):
£>(*15 х2, ..., хт) = 0, (1)
где В - полиномиальная функция с целыми коэффициентами, и хг являются переменными, принимающими значения из множества целых чисел [3-5].
СЗИ, содержащие ДТ, используют сложность решения ДУ в качестве основания для создания криптографических алгоритмов [6].
Формулировка задачи определения решений ДУ
В процессе анализа разрешимости ДУ переменные классифицируются на параметры (которые предполагаются постоянными) и неизвестные. Уравнение вида:
0(а1, а2, ..., ап, х19 х2, ..., хт) = 0, (2)
где а2, ..., ап являются параметрами, а х2, ..., хт - неизвестными, считается разрешимым при определённых условиях для параметров (а1, а^, ..., <зн), если существует такой набор значений неизвестных
(х15 х2, ..хн), который обращает уравнение в верное равенство [7, 8].
Применение ИИС для решения ДУ
В данной работе рассматриваются ключевые аспекты процедур иммунной оптимизации.
1) Процедуры, применяемые в рамках иммунной оптимизации, осуществляются на уровне популяции клеток:
р={Р,, * пр]}, (3)
где каждая отдельная клетка р1=[р1х,р12> •••>Р/т) представляет собой совокупность различных компонентов р. 2, р, т, которые являются
случайными целыми числами из отрезка [-10; 10], причём количество этих
компонентов соответствует числу неизвестных в ДУ. Каждая переменная кодируется одной компонентой. Общее количество сгенерированных клеток составляет и , при этом параметр и определяется пользователем.
2) В популяции реализуются процедуры клонирования и мутации клеток, при этом количество процедур мутации может достигать трёх. Механизм клонирования обеспечивает формирование копий, полностью идентичных исходной клетке:
с ={рс- : рс = р,у е[1; пс]}, (4)
где рС - у -й клон клетки р, и пс = 10 - число клонов, образованных
каждой клеткой в популяции Р.
Целевая функция описывается следующим образом: /(*!, х2, ..., хт) = 0(х1, х2, ..., хт), где /(р) - значение функции,
соответствующее определённой клетке р, и £)(х15 х,, хиг) = 0 представляет собой ДУ, требующее решения.
При мутации компоненты вектора рс' изменяются случайным образом:
рС;к = рс;к +Л, *, к е [1; п], (5)
где Л к - шаг мутации. В случае, когда значение целевой функции для
определённой клетки не достигает нулевого значения, инициируется серия процедур мутации. Первая процедура в данной серии предполагает модификацию значения выбранной наугад переменной путём её замены на произвольно сгенерированное целочисленное значение из отрезка [-1000; 1000]. В ситуации, когда после выполнения первой процедуры
мутации значение целевой функции сохраняет ненулевое значение, активируется последующая процедура мутационных манипуляций. Данная стадия предусматривает корректировку значения выбранной наугад
переменной путём её замены на произвольно сгенерированное целочисленное значение из отрезка [[med]; [mn]], если [med]<[mn], и
отрезка [[mn]; [med]] в противном случае, где med - медиана и mn -
среднее арифметическое чисел, задействованных в ДУ, а [x] - целая часть
заданного числа x. В случае сохранения ненулевого значения функционала оптимизации даже после второй процедуры мутации, применяется третья процедура мутационного процесса. Этап включает в себя корректировку значения выбранной наугад переменной путём её замены на произвольно сгенерированное целочисленное значение из отрезка [-5; 5].
3) Во множество клеток памяти M добавляются клетки, у которых значение целевой функции равно нулю.
4) В результате процедуры клональной селекции наилучшие потомки замещают родителей в соответствии с формулой
p = {p е p | as с P, |s| = np, p е ypj е ypk е p \ f (pj )< f (pk)}. (6)
5) Процедура сжатия популяции заключается в удалении лишних элементов путём отбора и исключения наихудшего из решений p}, , при
определённых условиях:
\pj - < br , J * k , (7)
где ||*|| - символ меры близости клеток, евклидова норма, и br = 0,2 - порог сжатия.
6) Генерируется всего max_pop популяций. Параметр max _pop
задаётся пользователем.
7) Пока не сгенерировано достаточное количество популяций, то переходим к шагу 2.
Клонирование, мутация и сжатие популяции помогают улучшить оптимизацию и сократить вычислительные расходы.
М Инженерный вестник Дона, №4 (2024) ivdon. ru/ru/magazine/archive/n4y2024/9139
Для изучения функционирования ИИС была разработана программа на языке Python, предназначенная для выполнения ранее описанных процедур [9]. Результат работы данной программы демонстрируется на примере решения ДУ х3 + y3 + z3 = 2, и представлен на рис. 1.
$ Решатель диофантовыхурав... — □ X
ДиофантоЕО уравнение: + УА3 + 1Л3 = 2 Число клеток е популяции:
150
Максимальное число популяций:
Щ
Готово |
Найденные решения: х=0, у=1г z-1.
Зремн выполнения искусственной иммунной сети: 3,74 секунды.
Рис. 1. - Результат функционирования ИИС В последующих анализах использовались ДУ различных степеней, включая линейное - 32х + 45y = 779, квадратное - х2 + y2 = z (х + y),
кубическое - х3 = y2 + z, четвёртой степени - 9 х4 + 7 y = 16, пятой степени -
х5 + 13y = 14 и шестой степени - х6 + y = 65.
Был выполнен анализ качества работы ИИС от параметра np
(количества клеток в популяции). На рис. 2 представлена зависимость качества работы ИИС от количества клеток в популяции при тах _ pop = 200.
£
<и 100 ^
т. <и
3 т о.
0
1 во
4
о 15 ю сц н о
(1) ч
го X
X
3 ю о.
о н
о ^
т
т
щ 20
го
X >,
с;
и
ск ^
о
4 о
Рис. 2. - Зависимость качества работы ИИС от количества клеток в
популяции
Данные рис. 2 демонстрируют, что, за исключением линейного ДУ, все
остальные типы ДУ в среднем решаются в 100% случаев при
п = 50, 100, 150, 200, 250. Это может объясняться тем, что линейное ДУ
содержит большие по модулю числа. К примеру, решение линейного ДУ
10х + 7у = 19 возможно в 100% случаев при п = 50, 100, 150, 200, 250.
Параметр п изменяется с шагом 50, что является адекватным для
проведения исследования. Уменьшение п приводит к уменьшению времени
работы алгоритма и количества перебираемых клеток. Оптимальное значение
п = 100 - это минимальное значение, при котором различные ДУ находят
своё решение в среднем во всех случаях.
Было установлено, что оптимальное значение параметра тах _рор
(максимальное число популяций) составило 150. Все ДУ, за исключением
линейного ДУ, решались в среднем в 100% случаев при тах _ pop = 50, 100, 150, 200, 250. Изменение параметра тах _ pop происходило с шагом в 50 единиц, что оказалось вполне подходящим для данного исследования. Время выполнения алгоритма прямо пропорционально количеству популяций, и 150 оказалось минимальным значением из всех исследованных, при котором все ДУ в среднем решались во всех случаях. Полученные данные свидетельствуют о наличии квадратичной зависимости между временной сложностью алгоритма и общим числом клеток в популяции.
Математическая модель (ММ) СЗИ, содержащей на ДТ
ММ СЗИ, содержащей ДТ представляет собой набор (8)
Л =(S*, N, Г, A(s), B(t) | Z(A(s), B(t))), (8)
где S* - множество цепочек символов s = sls^...sl из алфавита S, представляющее возможные сообщения, где S - множество символов, которые могут использоваться в сообщениях, эти символы могут быть как числовыми, так и буквенными; N - множество числовых кодов (ЧК) для элементарных сообщений (ЭС) s из S*, ЭС может быть как символом, так и
цепочкой символов из алфавита S; T* - множество цепочек символов t = tlt2...t, из алфавита Т, полученных через прямое преобразование (1111)
цепочки s в t; A(s) - алгоритм 1111 цепочки символов s е S* в t eT*; B(t) -
алгоритм обратного преобразования (ОП), позволяющий восстановить s е S* из t eT *; Z (A( s ), B (t)) - соотношение между алгоритмами A ( s ) и B (t)
таково, что для каждой цепочки s = sxs0...s, gS* единственным образом получается соответствующая цепочка t = .. .t, е Т*, и наоборот.
В [10, 11] предлагается ММ СЗИ, содержащей ДТ. Данная СЗИ строится на основе задачи нахождения корней ДУ. Алгоритмы 1111 A (^) и
ОП B ^) строятся с учётом корней данного ДУ. В рамках данного исследования в качестве примера рассматривается ДУ (9)
х3 + у3 + 23 = 1, (9)
для которого одно из семейств решений представлено в формуле (10)
х = 1 - 9Ь3, у = 3Ь - 9Ь4, 2 = 9Ь4, (10)
где Ь является произвольным целым числом.
Доказательство корректности формулы (10) следует из формулы (11)
(1 - 9Ь3 )3 + (3Ь - 9Ь4 )3 + (9Ь4 )3 = 1 - 27Ь3 + 243Ь6 - 729Ь9 + 27Ь3 - 243Ь6 + 729Ь9 - 729Ь12 + 729Ь12 = 1. Из формул (4) и (5) следует, что формула (12)
(1 - 9Ь3 )3 + (3Ь - 9Ь4 )3 = 1 - (9Ь4 )3, (12)
справедлива для произвольного целого числа Ь .
Обозначим через М = {А,В, ..., Z, _} алфавит, а £) = {1, 2, ..., 27}
является набором ЧК букв алфавита М. Определим цепочку символов т = IT_IS_A_SECRET. В этом контексте вводятся функции ПП ЭС (13) и ОП ЭС (14):
С (Ь ) = (1 - 9Ь3 )3 + (3Ь - 9Ь4 )3, (13)
где Ь - элемент множества Q,
Сл (Ь ) = 1 -(9Ь4 )3, (14)
где Ь - элемент множества Q.
Процесс дешифрования первой буквы в цепочке символов т (буквы I), ЧК которой равен девяти, осуществляется с использованием С (9) = -205891132094648. Аналогичный подход применяется для
дешифрования всех последующих букв. Для того чтобы легальный пользователь мог определить первую букву, ему необходимо решить простое ДУ (15), в то время как нелегальному пользователю необходимо решить более сложное ДУ (16)
1 -(9Ь4 )3 = -205891132094648, (15)
(1 - 9Ь3 )3 + (3Ь - 9Ь4 )3 = -205891132094648. (16)
Криптоанализ с применением ИИС
Дешифруем цепочку т, начиная с первой буквы (буквы I), применяя ИИС. Для этого ДУ (16) преобразуем в систему ДУ (17), поскольку ИИС обладает способностью решать уравнения или системы уравнений, содержащие не менее двух неизвестных:
а = Ь,
' (1 - 9а3 )3 +(3Ь - 9Ь4 )3 + 205891132094648 = 0. (17)
Для дешифрования первой буквы необходимо применить ИИС для решения системы ДУ (17). На рис. 3 представлен результат решения ИИС системы ДУ (1 7).
0 Решатель диофантовыхурав,., — □ X
Диофантово уравнение:
а = Ь,ТГ-"9*аА3)А3 + (
Число клеток б популяции;
|»
Максимальное число популяций:
20С|
Готово |
Найденные резненил: а—9, Ь=9.
Бремя выполнения искусственной иммунной сети: 19,22 секунды.
Рис. 3. - Результат решения ИИС системы ДУ (17)
Согласно рис. 3, ИИС нашла решение a = b = 9, что подтверждает корректность вычислений, утверждая, что ЧК первой буквы равен девяти, что является правильным результатом. Подобным образом возможно продолжить процесс дешифровки остальных символов в сообщении.
Заключение
В данной работе была разработана ИИС для решения ДУ, возникающих в процессе криптоанализа СЗИ, содержащих ДТ. Созданная ИИС продемонстрировала высокое качество работы и низкую временную сложность при решении ДУ степени не выше шести. Полученные результаты свидетельствуют о перспективности применения ИИС для криптоанализа и решения различных ДУ. Разработанный метод может быть использован для повышения эффективности и скорости анализа СЗИ, а также для решения широкого спектра математических задач, связанных с ДУ.
Литература
1. Саломаа А. Криптография с открытым ключом. - Москва: Мир, 1995. -318 с.
2. Шнайер Б. Прикладная криптография: Протоколы, алгоритмы, исходные тексты на языке Си: пер. с англ. - Москва: Триумф, 2002. - 816 с.
3. Матиясевич Ю. В. Десятая проблема Гильберта. - М.: Издательская фирма "Физико-математическая литература" ВО Наука, 1993.- 224 с.
4. Серпинский В. О решении уравнений в целых числах / пер. с польск. К. Г. Мельникова. - Москва: Физматлит, 1961. - 88 с.
5. Cassels J. W. S. On a Diophantine Equation // Acta Arithmetica. - 1960. -Vol. 6. - pp. 47-52.
6. Осипян В. О., Спирина С. Г., Арутюнян А. С., Подколзин В. В. Моделирование ранцевых криптосистем, содержащих диофантовую трудность // Чебышевский сборник. - 2010. Т. 11, вып. 1. - С. 209-217.
7. Koblitz N. A Course in Number Theory and Cryptography. - New York: Springer-Verlag, 1987. - 235 p.
8. Lenstra A. K., Lenstra H. W., Lovasz L. Factoring polynomials with rational coefficients // Mathematische annalen. - 1982. - Vol. 261. - pp. 515-534.
9. GitHub - Nikifx/calculator-of-diophantine-equations. URL: github.com/Nikifx/calculator-of-diophantine-equations (дата обращения: 30 марта 2024).
10. Осипян В. О. Разработка математической модели дисимметричной биграммной криптосистемы на основе параметрического решения многостепенной системы диофантовых уравнений // Инженерный вестник Дона, 2020, № 6. URL: ivdon.ru/ru/magazine/archive/N6y2020/6534.
11. Осипян В. О., Литвинов К. И., Жук А. С., Синица С. Г., Багдасарян Р. Х. Алгоритм разработки математической модели дисимметричной биграммной криптосистемы, содержащих диофантовы трудности // Инженерный вестник Дона, 2021, № 9. URL: ivdon.ru/ru/magazine/archive/n9y2021/7202.
References
1. Salomaa A. Kriptografiya s otkrytym klyuchom [Cryptography with a public key]. Moskva, Mir Publ., 1995, 318 p.
2. Schneier B. Prikladnaya kriptografiya: Protokoly, algoritmy, iskhodnye teksty na yazyke Si [Applied cryptography: Protocols, algorithms, source texts in C]. Moskva, Triumph Publ., 2002, 816 p.
3. Matiyasevich, Yu. B. Matiyasevich Yu. B. Desyataya problema Gil'berta. [Hilbert's tenth problem]. Izdatel'skaya firma "Fiziko-matematicheskaya literature". VO Nauka. 1993. 224 p.
4. Serpinsky W. O reshenii uravneniy v tselykh chislakh [On solving equations in integers]. Moskva, Fizmatlit Publ., 1961, 88 p.
5. Cassels J. W. S. Acta Arithmetica. 1960. Vol. 6. pp. 47-52.
6. Osipyan V. O., Spirina S. G., Arutyunyan A. S., Podkolzin V. V. Chebyshevskiy sbornik, 2010, vol. 11, № 1, pp. 209-216.
7. Koblitz N. A Course in Number Theory and Cryptography. New York: Springer-Verlag, 1987. 235 p.
8. Lenstra A. K., Lenstra H. W., Lovasz L. Mathematische annalen. 1982. Vol. 261. pp. 515-534.
9. GitHub - Nikifx/calculator-of-diophantine-equations. URL: github.com/Nikifx/calculator-of-diophantine-equations (accessed: 03/30/2024).
10. Osipjan V. O., Inzhenernyj vestnik Dona, 2020, № 6. URL: ivdon.ru/ru/magazine/archive/N6y2020/6534.
11. Osipjan V. O., Litvinov K. I., Zhuk A. S., Sinitsa S. G., Bagdasaryan R. Kh. Inzhenernyj vestnik Dona, 2021, № 9. URL: ivdon.ru/ru/magazine/archive/n9y2021/7202.
Дата поступления: 29.02.2024 Дата публикации : 8.04.2024