Научная статья на тему 'Исследование надежности блочных криптографических алгоритмов с помощью методологии Sat'

Исследование надежности блочных криптографических алгоритмов с помощью методологии Sat Текст научной статьи по специальности «Математика»

CC BY
272
64
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЗАДАЧА ВЫПОЛНИМОСТИ БУЛЕВЫХ ФОРМУЛ / АЛГЕБРАИЧЕСКИЙ КРИПТОАНАЛИЗ / АЛГОРИТМ ШИФРОВАНИЯ PRESENT / БЛОК ЗАМЕНЫ / S-БЛОКИ / SATISFIABILITY PROBLEM OF BOOLEAN FORMULAS / ALGEBRAIC CRYPTANALYSIS / PRESENT ENCRYPTION ALGORITHM / SUBSTITUTION BLOCK / S-BOX

Аннотация научной статьи по математике, автор научной работы — Маро Екатерина Александровна

В вопросах обеспечения информационной безопасности важной задачей является исследование методов оценки защищенности конфиденциальной информации. Для многих систем защиты информации оценка защищенности информации может быть сведена к поиску решений систем булевых нелинейных уравнений и анализу трудоемкости различных методов решения подобных систем (алгебраическому методу анализа). Алгебраические методы анализа применяются, например, к следующим задачам, возникающим в сфере обеспечения информационной безопасности: аудит состояния защищаемого объекта; проверка корректности функционирования программ; анализ надежности систем защиты конфиденциальной информации (в том числе при использовании криптографических преобразований). В данной статье представлен предлагаемый подход к применению поиска задачи выполнимости булевых формул (satisfiability problem, SAT) для анализа надежности блочных алгоритмов шифрования, на примере стандарта легковесного шифрования шифра PRESENT (ISO/IEC 29192-2:2019). Исследование надежности криптографических алгоритмов к алгебраическим методам анализа заключается в представлении алгоритма шифрования в виде системы нелинейных уравнений, связывающей секретный ключ шифрования с открытым и зашифрованным текстом. В качестве метода решения нелинейной системы уравнений в работе рассматривается метод сведения к поиску выполняющих наборов для соответствующей SAT-задачи. Для 3 раундов алгоритма шифрования PRESENT при использовании 6 известных пар текстов был найден секретный ключ шифрования за 1005,68 сек. (поиск выполняющего набора занял 5,01 сек.). Для 4 раундов алгоритма шифрования PRESENT при использовании 8 известных пар текстов были найдены 16 возможных ключей шифрования за 3268,42 сек. (для поиска всех выполняющих наборов потребовалось 527,51 сек.). Предложена методика проведения оценки надежности симметричных блочных шифров на основе сведения к поиску SAT-решений с применением SAT-решателей Plingeling и CaDiCaL. Полученные на основе алгебраических методов анализа оценки надежности криптографических средств защиты информации целесообразно учитывать при разработке новых и усовершенствовании существующих криптографических систем.In matters of information security an important task is the development of methods for assessing security of confidential information. For many information protection systems information security assessment can be reduced to finding solutions of Boolean nonlinear equations systems and analyzing the complexity of various methods for solving such systems (algebraic analysis method). Algebraic methods of analysis are applied, for example, to the following tasks arising in the field of ensuring information security: audit of the state of the protected object; checking the correct functioning of programs; analysis of the reliability of systems for protecting confidential information (including using cryptographic algorithms). This article presents proposed approach to the application of satisfiability problem (SAT) solvers for analyzing the reliability of block encryption algorithms, using as an example the lightweight encryption standard PRESENT cipher. The research of the reliability of cryptographic algorithms for algebraic analysis methods consists in representing the encryption algorithm as a system of non-linear equations that connects the secret encryption key with plaintexts and ciphertexts. As a method for solving a nonlinear system of equations, paper considers the method of reducing to the search for performing sets of corresponding SAT problem. For 3 rounds of the PRESENT encryption algorithm (using 6 known pairs of texts) a secret encryption key was found in 1005.68 sec. (search of the satisfiable value took 5.01 sec.). For 4 rounds of the PRESENT encryption algorithm, (using 8 known pairs of texts) 16 possible encryption keys were found in 3268.42 sec. (it took 527.51 seconds to find all the satisfiable sets). A technique is proposed for assessing the reliability of symmetric block ciphers based on SAT-solutions using SAT-solvers Plingeling and CaDiCaL. Estimates of the reliability of cryptographic algorithms of information security obtained on the basis of algebraic analysis methods should be taken into account throw developing new and improving existing cryptographic systems.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Маро Екатерина Александровна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Исследование надежности блочных криптографических алгоритмов с помощью методологии Sat»

17. Ismail Z., Ibrahim W.R. W. Traveling Salesman Approach for Solving Petrol Distribution Using Simulated Annealing, American Journal of Applied Sciences, 2008, Vol. 5, Issue. 11, pp. 1543-1546.

18. Goldschmidt O., Laugier A., Olinick E.V. SONET/SDH ring assignment with capacity constraints, Discrete Applied Mathematics, 2003, Vol. 129, pp. 99-128.

19. Kureychik V.M., Logunova Yu.A. Analiz perspektivnosti primeneniya geneticheskogo algoritma pri reshenii zadachi kommivoyazhera [Analysis of the prospects for the use of genetic algorithm in solving the traveling salesman problem], Informatsionnye tekhnologii [Information technology], 2018, Vol. 24, No. 11, pp. 691-697.

20. Sakharov M.K., Karpenko A.P. Memeticheskie algoritmy dlya resheniya zadachi global'noy nelineynoy optimizatsii. Obzor [Memetic algorithms for solving the global nonlinear optimization problem. Review], Nauka i obrazovanie MGTU im. N.E. Baumana [Science and education of Moscow state technical University. N.E. Bauman], 2015, No. 12, pp. 119-142.

Статью рекомендовал к опубликованию д.т.н., профессор Н.И. Витиска.

Курейчик Виктор Михайлович - Южный федеральный университет; e-mail: [email protected]; г. Таганрог, пер. Некрасовский, 44; тел.: +79282132730; кафедра САПР; д.т.н.; профессор.

Логунова Юлия Андреевна - e-mail: [email protected]; тел.: +79054519198, кафедра САПР; аспирант.

Kureichik Victor Mikhailovich - Southern Federal University; e-mail: [email protected]; 44, Nekrasovsky, Taganrog, 347928, Russia; phone: +79282132730, the department of CAD; dr. of eng. sc.; professor.

Logunova Julia Andreevna - e-mail: [email protected]; phone: +79054519198; the department of CAD; graduate student.

УДК 681.03.245 DOI 10.23683/2311-3103-2019-5-33-45

Е.А. Маро

ИССЛЕДОВАНИЕ НАДЕЖНОСТИ БЛОЧНЫХ КРИПТОГРАФИЧЕСКИХ АЛГОРИТМОВ С ПОМОЩЬЮ МЕТОДОЛОГИИ SAT*

В вопросах обеспечения информационной безопасности важной задачей является исследование методов оценки защищенности конфиденциальной информации. Для многих систем защиты информации оценка защищенности информации может быть сведена к поиску решений систем булевых нелинейных уравнений и анализу трудоемкости различных методов решения подобных систем (алгебраическому методу анализа). Алгебраические методы анализа применяются, например, к следующим задачам, возникающим в сфере обеспечения информационной безопасности: - аудит состояния защищаемого объекта; - проверка корректности функционирования программ; - анализ надежности систем защиты конфиденциальной информации (в том числе при использовании криптографических преобразований). В данной статье представлен предлагаемый подход к применению поиска задачи выполнимости булевых формул (satisfiability problem, SAT) для анализа надежности блочных алгоритмов шифрования, на примере стандарта легковесного шифрования - шифра PRESENT (ISO/IEC 29192-2:2019). Исследование надежности криптографических алгоритмов к алгебраическим методам анализа заключается в представлении алгоритма шифрования в виде системы нелинейных уравнений, связывающей секретный ключ шифрования с открытым и зашифрованным текстом. В качестве метода решения нелинейной системы уравнений в работе рассматривается метод сведения к поиску выполняющих наборов

* Работа выполнена при поддержке стипендии Президента РФ СП-1907.2019.5.

для соответствующей SAT-задачи. Для 3 раундов алгоритма шифрования PRESENT при использовании 6 известных пар текстов был найден секретный ключ шифрования за 1005,68 сек. (поиск выполняющего набора занял 5,01 сек.). Для 4 раундов алгоритма шифрования PRESENT при использовании 8 известных пар текстов были найдены 16 возможных ключей шифрования за 3268,42 сек. (для поиска всех выполняющих наборов потребовалось 527,51 сек.). Предложена методика проведения оценки надежности симметричных блочных шифров на основе сведения к поиску SAT-решений с применением SAT-решателей Plingeling и CaDiCaL. Полученные на основе алгебраических методов анализа оценки надежности криптографических средств защиты информации целесообразно учитывать при разработке новых и усовершенствовании существующих криптографических систем.

Задача выполнимости булевых формул; алгебраический криптоанализ; алгоритм шифрования PRESENT; блок замены; S-блоки.

E.A. Maro

RESEARCH RELIABILITY OF BLOCK CRYPTOGRAPHIC ALGORITHMS USING SAT METHODOLOGY

In matters of information security an important task is the development of methods for assessing security of confidential information. For many information protection systems information security assessment can be reduced to finding solutions of Boolean nonlinear equations systems and analyzing the complexity of various methods for solving such systems (algebraic analysis method). Algebraic methods of analysis are applied, for example, to the following tasks arising in the field of ensuring information security: - audit of the state of the protected object; - checking the correct functioning of programs; - analysis of the reliability of systems for protecting confidential information (including using cryptographic algorithms). This article presents proposed approach to the application of satisfiability problem (SAT) solvers for analyzing the reliability of block encryption algorithms, using as an example the lightweight encryption standard - PRESENT cipher. The research of the reliability of cryptographic algorithms for algebraic analysis methods consists in representing the encryption algorithm as a system of non-linear equations that connects the secret encryption key with plaintexts and ciphertexts. As a method for solving a nonlinear system of equations, paper considers the method of reducing to the search for performing sets of corresponding SAT problem. For 3 rounds of the PRESENT encryption algorithm (using 6 known pairs of texts) a secret encryption key was found in 1005.68 sec. (search of the satisfiable value took 5.01 sec.). For 4 rounds of the PRESENT encryption algorithm, (using 8 known pairs of texts) 16 possible encryption keys were found in 3268.42 sec. (it took 527.51 seconds to find all the satisfiable sets). A technique is proposed for assessing the reliability of symmetric block ciphers based on SAT-solutions using SAT-solvers Plingeling and CaDiCaL. Estimates of the reliability of cryptographic algorithms of information security obtained on the basis of algebraic analysis methods should be taken into account throw developing new and improving existing cryptographic systems.

Satisfiability problem of Boolean formulas; algebraic cryptanalysis; PRESENT encryption algorithm; substitution block; S-box.

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

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

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

Задача выполнимости булевых формул. Любая задача выполнимости булевых формул (SAT) заключается в выполнении двух ключевых подзадач - проверка выполнимости произвольной булевой функции, представленной в конъюнктивной нормальной форме (КНФ) и нахождение набора значений, при котором выполняется такая КНФ. В основе большинства SAT решателей лежит алгоритм DPLL (Devis, Putnam, Logemann, Loveland), который был предложен в 1962 г. именно для определения выполнимости булевых формул, записанных в конъюнктивной нормальной форме, т.е. для решения задачи SAT. DPLL алгоритм уже более полувека представляет собой основу для большинства эффективных решателей SAT задач. Основная идея алгоритм DPLL заключается в применении методов обхода дерева поиска в глубину и использовании правила единичного дизъюнкта [6]. Алгоритм DPLL разбивает множество искомых переменных КНФ на два подмножества A и B, где в множество А включаются переменные со значением «true», а в множество В - со значением «false». На каждом шаге выбирается произвольная переменная КНФ и ей присваивается значение «true» (добавление переменной в подмножество А). Затем исходная формула упрощается, решается упрощенная задача. Если полученная после упрощения КНФ выполнима, то значение переменой выбрано правильно, иначе выбранной переменной присваивается значение «false» и она переносится в подмножество В. Задача снова решается для выбранного значения «false» переменной. Таким образом, будет либо найдено верное значение переменной («true» или «false»), либо будет доказано, что исходная формула не выполнима.

При каждом присваивании значений переменной выполняется упрощение КНФ по следующим правилам:

1. Распространение переменной. Если в дизъюнкте осталась только одна переменная, то присвоить ей такое значение, что дизъюнкта станет истинной (поместить переменную в подмножество А, если в дизъюнкте нет отрицания, или поместить во множество В - если отрицание есть).

2. Исключение «чистых переменных». Если встречается переменная в формуле только с отрицанием или только без отрицания, то она называется «чистой» и ей можно присвоить такое значение, чтобы она всегда была «true», тем самым уменьшив число свободных переменных для анализа.

В случае если после упрощения получена пустая дизъюнкта (т.е. все простые конъюнкты ложны), то формула не выполнима и производится возврат на предыдущий шаг. Если не остается свободных переменных, то формула считается выполнимой, и работу алгоритма можно остановить. Также заканчивается проверка выполнимости КНФ, если не осталось дизъюнкт (незафиксированные свободные переменные можно задать произвольным образом).

Рассмотрим пример поиска решений КНФ с помощью алгоритма DPLL. Возьмем для примера формулу:

V x3) A (x2 V x3 V x4) A (x V x4) A (x2 V X3) A (x V X3 V X4).

В качестве первого элемента ветвления выберем хь Присвоим х1значение «true»:

(х2 V x3 V х4 ) A (х4) A (х2 V x3 ).

Используя первое правило упрощения алгоритма DPLL, переменной x4 присвоим значение «true»:

(x2 V x3) A (x2 v x3).

Используем второе правило и зададим значение x3 «true», тогда x2 получили два набора решений при x2, равном «true», и x2, равном «false».

Теперь распишем вторую ветвь дерева для x1, равного «false»: (x3) A (x2 V x3 V x4) A (x2 V x3) A (x3 V X4).

Используя первое правило, присвоим переменной x3 значение «true». После

упрощения получим x4 . Осталась одна переменная x4 и ее значение зафиксируем «true».

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

Всего, используя алгоритм DPLL, найдено 4 набора решений. Дерево поиска наборов решений для исследуемой формулы приведено на рис. 1.

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

(.V, V Х3)л (Х2 V Х3 V I.)л(.Т, V Л". ) Л (х2 V .Т;)л(.Т, V .Tj V .V;) , А -0,В -0,С — {дг,..т,..Yj,.^}

(х2 V 13 V х4) Л (X, ) Л (х2 V хъ) , Л = (.ц},5 = 0fC = {.Y;,.Y5f.r4} (у : л(.V х- V х_) л (V V х-) л (х v .тд); Л = 0,в = {.г,},С = {*;,.rJt.г.}

А <— .Y, А <— х~

(.Т, V .Г,) Л (х, V _v3)3 А = {.г1,.т4},В=0.С = {.г, ..rä> Х4,

А <— .Tj ■1Г

A = {xi,x1,xl},B = 2>,C={x1} Верно А = {х„х1},В={х1},С = {х2} Верно

Рис. 1. Алгоритм DPLL поиска наборов решений КНФ

Для применения SAT-решателей выполняется переход от формированной системы булевых уравнений к SAT задаче при помощи преобразований Цейтина [7]. После такого преобразования решением системы булевых уравнений является ключ шифрования, дополнительная информация о векторах блоков замены и цей-тиновские переменные.

Рис. 2. Алгоритм DPLL поиска набора решений КНФ без использования второго

правила упрощения

В КНФ каждый элемент вида X или x называется литералом. Клозом называется дизъюнкция литералов. Формула в конъюнктивной нормальной форме представляет собой конъюнкцию клозов. Одной из достаточно сложных задач является представление криптографических примитивов для SAT решателей, к таким части используемым примитивам относится сложение по модулю два. Большинство SAT решателей работают только с формулами, представленными в КНФ (в том числе и решатель MiniSat). Для представления в виде SAT задачи криптографических преобразований сложения по модулю два потребуется выполнить дополнительные преобразования формулы в КНФ [8].

Рассмотрим представление операции сложения по модулю два в КНФ, пусть задана формула:

X Ф y Ф z, тогда ее следует представить в виде клозов:

x v y v z, X v y v z, x v y v z, X v y v z.

Потребуется сформировать 2n-1 клозов для описания сложения по модулю два длины n.

Для сокращения количества клозов в SAT представлении используют дробление операции сложения по модулю два. Формулу вида:

x0 Ф x1 Ф x2 Ф x3 Ф x4 Ф x5 Ф x6 Ф x7,

можно представить в SAT решатель, как:

y0 Ф x0 Ф x1 Ф x2 Ф x3, y1 Ф x4 Ф x5 Ф x6 Ф x7, Уо Ф yi.

Для упрощения поиска наборов решений с помощью SAT решателей также применяется замена поиска по литералам на поиск по переменным.

В случае необходимости передачи в SAT решатель нелинейных формул, вводятся наборы дополнительных переменных. Например, для представления формулы:

Ф Х1Х2 Ф Х2 X3 Ф X1Х3'

каждое произведение неизвестных следует представить как отдельный клоз, т.е. заменить дополнительными переменными i1i3:

Xj Ф i1 Ф i2 Ф i3, i1 _ X1 X2 , i2 ~ X2 X3 , i 3 X J X з.

В задачах применения алгоритмов поиска SAT решений для анализа надежности шифров применяются следующие подходы [9]:

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

2. Клозы сложения по модулю два (бинарное) обрабатываются специальными методами. Во-первых, обычно поиск выполняется с использованием специальной эвристики. Во-вторых, выполняется построение структуры деревьев по ним, отражающей которые из переменных являются эквивалентыми или антивалентыми. Верхний уровень построенных деревьев обычно заменяется более низкими значениями в дереве, тем самым сокращая число классов и переменных в анализируемой задаче. Это обычно приводит к необходимости переназначения переменных.

3. Технические и криптографические SAT задачи сильно отличаются, поэтому в Cry toMiniSat позволяет выполнять изменение настроек перезапуска, менять тип эвристик обучения, используя методы Glucose или MiniSat обучения.

4. Клозы удаляются из КНФ, как только хотя бы один из литератов, входящий в данный клоз, принимает значение равное true. В отличие от MiniSat в клозах удаляются так же и литералы равные false, тем самым позволяя сокращать размер клоза.

5. Удаление зависимых переменных осуществляется среди связанных с ними клозах сложения по модулю два. Зависимыми переменными называются переменные, которые встречаются только в одном клозе сложения по модулю два. В этом случае клозы сложения по модулю два могуг быть успешно заменены значением зависимой переменной, клозы сложения по модулю два могут быть удалены. Данное упрощение позволяет убрать и переменную из задачи. Следует помнить, что такая переменная не может быть удалена при использовании исключения «чистых» литералов.

6. Переменные принимают значения «false» и «true» с фиксированными интервалами. Если одна из ветвей поиска приводит к ошибке (возврат невыполнимой формулы), то проверяется вторая ветвь. Причем сохраняются результаты проверки обоих ветвей поиска для последующего сравнения.

Стандарт легковесного шифрования (шифр PRESENT). Алгоритм PRESENT представляет собой шифр, построенный на принципе сети подстановки-перестановки (SP-сети) [10, 11]. PRESENT содержит 31 раунд, в котором применяются операции сложения по модулю 2 с раундовым ключом, преобразование замены в 16 блоках замены с длинной вектора 4 бита, перестановка битов. В дан-

ной работе рассмотрен алгебраический анализ алгоритма PRESENT с независимыми раундовыми ключами (без использования структуры алгоритма генерации раундовых ключей). Структура алгоритма PRESENT приведена на рис. 3.

Преобразование замены и перестановки заданы табл. 1 и 2 соответственно.

Таблица 1

Замены в блоках алгоритма PRESENT

x 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

S(x) 12 5 6 11 9 0 10 13 3 14 15 8 4 7 1 2

Алгоритм выработки ключа К; из секретного ключа К = (£79...,£0) заключается в выполнении следующих преобразований:

1. Циклический сдвиг на 61 позиций влево.

2. Выполнение замены в старших 4 разрядах в S-блоке.

3. Присвоение битам (£19...,к15) значения суммы по модулю два (£19...,£15)

и номера раунда.

Таблица 2

Перестановка алгоритма PRESENT

b 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

P(b) 0 16 32 48 1 17 33 49 2 18 34 50 3 19 35 51

b 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

P(b) 4 20 36 52 5 21 37 53 6 22 38 54 7 23 39 55

b 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

P(b) 8 24 40 56 9 25 41 57 10 26 42 58 11 27 43 59

b 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

P(b) 12 28 44 60 13 29 45 61 14 30 46 62 15 31 47 63

Алгебраический анализ PRESENT подробно описан в работах [3, 12, 13]. В диссертационной работе в ходе выполнения моделирования для блока замены алгоритма PRESENT сформированы булевы нелинейные уравнения:

xbx2 0 x0 0 x1 0 x3 0 y3=0,

x0^x1 0 x0^x2 0 x0 + x1 0 y0 0 y2 0 y3 0 1=0,

x0-x3 0 xbx3 0 xby0 0 xfry1 0 x0^y2 0 x1 0 x2 0 y2=0,

x0^x3 0 x0-y0 0 xby1 0 x0 0 x2 0 y2=0,

x0^x2 0 x0y0 0 x0-y1 0 xby2 0 x1 0 x2 0 x3 0 y2 0 y3=0,

x0^x1 0 xbx3 0 x1-y3 + x0 + x3 + y3=0,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

x0^x2 0 x0-y0 0 x0^y2 0 x0^y3=0,

x0^x1 0 x2y0 0 x0^y1 0 x0-y2 0 x2 0 x3 0 y1 0 y2 0 y3 0 1=0,

xOx1 0 xOx2 0 xOx3 0 x2y1 0 xOy2 0x0 0x2 0x3 0y1 0y3 0 1=0,

x0^x3 0 x2-x3 0 x0^y0 0 x0^y1 0 x2^y2 0 x1 0 y1 0 y2 0 1=0,

x0-x2 0 x2^x3 0 x2^y3=0,

x0^x2 0 x3y0 0 x0 0 x1 0 y1 0 1=0,

x0^x1 0 x0^x2 0 x0-x3 0 xbx3 0 x2^x3 0 x0y1 0 x3y1 0 x3=0,

x0^x1 0 x3y2 0 x1 0 x2 0 y1 0 y2 0 1=0,

x0^x1 0 x1-x3 0 x2^x3 0 x3^y3 0 x1 0 x2 0 x3 0 y1 0 y2 0 1=0, x1-x3 0 x0y1 0 y0^y1 0 x0 0 x1 0 x2 0 y1 0 y3=0, y0^y2 0 x3 0 y1 0 y3 0 1=0,

xOx1 0 x1-x3 0 x0y1 0 yOy3 0x0 0x1 0x2 0x3 0y1 0y2 0y3 0 1=0,

x2-x3 0 x0y1 0 yby2 0 x1 0 x3 0 y2 0 y3=0,

x0^x1 0 xbx3 0 x2-x3 0 x0^y0 0 x0^y2 0 yby3 0 x0 0 x3=0,

x0-x1 0 x2^x3 0 x0^y1 0 y2^y3 0 x2 0 y2=0.

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

В общем виде преобразования шифрования PRESENT могут быть описаны системой из m = i • 21 уравнений с n = i • 8 неизвестных, где i равно числу используемых при шифровании и формировании раундовых ключей блоков замены. В этом случае преобразования в 31 раунде шифрования Present могут быть заданы с помощью системы из 11067 булевых нелинейных уравнений с 4216 неизвестными, число используемых блоков замены составляет i = 16 • 31 + 31 = 527.

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

X1 = P © K1, X 2 = H (71) © K 2,

X 3 = H (7 2) © K 3, 7 3 = H _1(C),

где X1,..., X 3 - 64-х битные входные значения преобразования замены в S-блоках, 71,...,73- 64-х битные выходные значения преобразования замены в S-блоках, K1,..., K3 - 64-х битные раундовые ключи, H() - преобразования перестановки, H _10 - преобразование обратное, преобразованию перестановки.

При анализе четырех раундов PRESENT использовалась следующая зависимость между переменными:

XI = P © K1,

X 2 = H (71) © K 2, X 3 = H (7 2) © K 3, X4 = H (7 3) © K 4, 7 4 = H _1(C).

Полученные временные и вычислительные оценки сложности анализа приведены в табл. 3.

Таблица 3

Результаты моделирования алгебраического анализа алгоритма PRESENT

SAT метод

Кол-во текстов Кол-во уравнений Кол-во неизвестных Кол-во литералов Кол-во клозов Кол-во решений Общее время анализа, сек. Время решения системы, сек Объем памяти, Гб

3 раунда PRESENT

2 2016 448 8786 137530 >105 338,85 33,42 0,75

3 3024 576 16083 274534 >104 421,91 73,12 0,98

4 4284 704 16057 273914 16 490,96 2,56 1,26

5 5040 832 19968 342522 8 635,28 3,74 1,39

6 6048 960 23863 410800 1 1005,68 5,01 1,43

4 раунда PRESENT

2 2688 640 13012 209258 >104 711,64 205,65 1,27

3 4032 832 18805 313070 >2-103 4156,61 3069,35 1,73

4 5376 1024 24794 417010 1028 1626,16 428,15 1,67

5 6720 1216 30585 520686 256 1654,79 379,58 1,82

8 10752 1792 48784 832128 16 3268,42 527,51 2,79

Моделирование алгебраического анализа шифров выполнялось в среде Sage Math [14]. Использовались функции библиотеки sage.sat.converters.polybori для преобразования системы уравнений из АНФ в КНФ (CNFEncoder). Решение системы с использованием SAT решателей осуществлялось с применением библиотеки sage.sat.boolean_polynomials [15].

Методика проведения алгебраического анализа на основе поиска SAT-решения. В работе предложена методика проведения алгебраического анализа на основе сведения к поиску SAT-решений [16, 17] с применением SAT-решателей Plingeling [18] и CaDiCaL [19].

Исходными данными методики являются:

♦ Структура исследуемого алгоритма защиты конфиденциальной информации.

♦ Заполнения преобразований замены исследуемого алгоритма.

♦ Пары текстов: открытый текст и зашифрованный текст.

♦ Выходными показателям методик являются:

♦ Значение ключа шифрования (или нескольких найденных значений).

♦ Параметры системы булевых нелинейных уравнений, описывающих исследуемое преобразование защиты информации: количество уравнений, неизвестных, одночленов системы.

♦ Вычислительная сложность решения системы булевых нелинейных уравнений.

♦ Временная сложность решения системы булевых нелинейных уравнений.

♦ Количество известных текстов, позволяющих однозначно вычислить ключ шифрования за реальное время.

♦ Требуемый объем оперативной памяти для проведения вычислений.

Методика проведения алгебраического анализа с помощью SAT-решателей состоит из следующих этапов (рис. 4):

1. Формирование подсистем булевых нелинейных уравнений для примитивов замены.

2. Формирование подсистемы булевых нелинейных уравнений, описывающих используемые нелинейные преобразования (например, операции сложения по модулю 2 или 2n).

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

4. Предварительная оценка количества литералов и клозов при конвертации системы булевых нелинейных уравнений из алгебраической нормальной формы (АНФ) в конъюнктивную нормальную форму (КНФ).

5. Конвертация сформированной системы булевых нелинейных уравнений из АНФ в КНФ.

6. Решение системы в КНФ с помощью SAT-решателей (Plingeling и CaDiCaL).

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

8. Экспериментальное определение временной сложности, требуемой оперативной памяти и достаточного числа известных текстов для нахождения единственного решения (ключа шифрования) с помощью SAT-решателей.

9. Проверка найденных решений на известных парах текстов.

Наиболее трудоемким этапом проведения алгебраического анализа является решение системы булевых нелинейных уравнений, поэтому для поиска решения предлагается использовать эффективные SAT-решатели Plingeling и CaDiCaL (финалисты конкурса SAT Com etition [20]). В качестве параметров, позволяющих оценить защищенность информации, в методике выступают: количество известных данных (текстов), объем задействованной при вычислениях памяти, временная сложность анализа.

С

с

U

Формирование подсистем булевых нелинейных уравнений для примитивов замены

Формирование подсистемы булевых нелинейных уравнений, описывающих используемые нелинейные преобразования

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

ЭЛТ-решение

Предварительная оценка количества литералов и клозов

Конвертация сформированной системы булевых нелинейных уравнений из АНФ в КНФ

J J j

Решение системы в КНФ с помощью SAT-решателей (Plingeling и CaDiCaL)

J

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

Проверка найденных решений на известных парах текстов

J

Рис. 4. Методика проведения алгебраического анализа на основе поиска

БАТ-решения

Заключение. В ходе исследования были рассмотрены основные этапы реализации методов алгебраического анализа защищенности информации при использовании симметричных блочных шифров, построенных на основе преобразований на замены и сложения по модулю 2. Разработан и программно реализован алгоритм формирования систем нелинейных булевых уравнений для преобразований замены и операции сложения по модулю 2 стандарта легковесного шифрования - шифра PRESENT. Выполнена конвертация полученных для трех и четырех раундов шифра систем в задачу выполнимости булевых формул и выполнено решения данных задач в системе математического моделирования SAGE. Проведенное моделирование алгебраического анализа позволило оценить временные и вычислительные параметры сложности реализации алгебраического анализа для систем уравнений, описывающих сокращенные (трех и четырех раундовые) версии алгоритма шифрования PRESENT с независимыми раун-довыми ключами (без использования структуры алгоритма генерации раундовых ключей).. Предложенная методика проведения алгебраического анализа на основе поиска SAT-решения и выделенные параметры, используемые в качестве меры оценки защищенности информации, могут быть адаптированы для последующего анализа надежности различных разрабатываемых и применяемых криптографических систем, построенных на основе преобразований замены и сложения по модулю 2n Применение данной методики позволит формировать количественные показатели (вычислительные оценки) надежности используемых криптографических алгоритмов, направленных на обеспечение требуемого уровня конфиденциальности информации.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Pavlenko A., Semenov A., Ulyantsev V. Evolutionary Computation Techniques for Constructing SAT-Based Attacks in Algebraic Cryptanalysis, Theory and Applications of Models of Computation, Part of the Lecture Notes in Computer Science book series (LNCS, volume 11454).

2. Слонкина И. Исследование алгоритмов развертывания ключа блочных шифрсистем, предназначенных для использования в средах с ограниченными ресурсами, с помощью методологии SAT // Матер. Ежегодной международной научно-практической конференции «РусК-рипто'2019». - URL: https://www.ruscrypto.ru/resource/archive/rc2019/files/18_Slonkina.pdf.

3. Маршалко Г.Б., Мхитарян А.Г. Логический криптоанализ функции хэширования ГОСТ Р 34.11-2012 // Матер. Ежегодной международной научно-практической конференции «РусК-рипто'2019». - URL: https://www.ruscrypto.ru/resource/archive/rc2019/files/02_ Marshalko_ Mkhitaiyan.pdf.

4. Dwivedi A.D., Kloucek M., Morawiecki P., Wojtowicz S., Pieprzyk J., Nikolic I. SAT-based Cryptanalysis of Authenticated Ciphers from the CAESAR Competition // The 14th International Conference on Security and Cryptography (SECRYPT 2017), Madrid, Spain.

5. Semenov A., Zaikin O., Otpuschennikov I., Kochemazov S. and Ignatiev A. On cryptographic attacks using backdoors for SAT // In the Thirty-Second AAAIConference on Artificial Intelligence, AAAI'2018. - 2018. - P. 6641-6648.

6. Рипатти А.В. Алгоритмы расщепления и числа Ван-дер-Вардена. - URL: https://habrahabr.ru/ post/224069/.

7. Семенов А.А. Применение алгоритмов решения проблем булевой выполнимости (SAT) к комбинаторным задачам // XII Всероссийское совещание по проблемам управления.

- 2014. - C. 7361-7374.

8. SoosM., Nohl K., Castelluccia C. Extending SAT Solvers to Cryptographic Problems // Theory and Applications of Satisfiability Testing - SAT, 2009. - P. 244-257.

9. Soos M. CryptoMiniSat 2.5.1. - URL: http://www.msoos.org/wordpress/wp-content/uploads/ 2010/08/cryptominisat-2.5.1.pdf.

10. Bogdanov A., Knudsen L.R., Leander G., Paar C., Poschmann A., Robshaw M.J., Seurin B., Vikkelsoe C. PRESENT: An ultra-light--weight block cipher // Cryptographic Hardware and Embedded Systems- -CHES '07, 9th International Workshop, Vienna, Austria, 2007.

- Vol. 4727. - P. 450-466.

11. ISO/IEC 29192-2:2019 Information security - Lightweight cryptography - Part 2: Block ciphers. - URL: https://www.iso.org/standard/78477.html.

12. Bard G. Algebraic Cryptanalysis. - 2009. - 356 p.

13. Nakahara J., Sepehrdad P., Zhang B., Wang M. Linear (Hull) and Algebraic Cryptanalysis of the Block Cipher PRESENT // 8th International Conference on Cryptology and Network Security, CANS '09, New Yor , 2009. - P. 58-75.

14. Sage Tutorial in Russian. Выпуск 7.0. - URL: http://doc.sagemath.org/pdf/ru/tutorial/ SageTutorial_ru.pdf.

15. Sage Reference Manual: Sat. Release 5.10. - URL: ftp://ftp.iitb.ac.in/packages/sagemath/doc/ en/reference/sat/sat.pdf.

16. Biere, A., Heule, M., Van Maaren, H., Walsh, T. Handbook of Satisfiability. - IOS Press, 2009. - 980 p.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

17. Babenko L.K., Maro E.A., AnikeevM.V. Application of Algebraic Cryptanalysis to MAGMA and PRESENT Block Encryption Standards // Proceedings of the 11th IEEE International Conference on Application of Information and Communication Technologies (AICT 2017). - P. 272-278.

18. Lingeling, Plingeling and Treengeling. - URL: http://fmv.jku.at/lingeling/.

19. CaDiCaL Simplified Satisfiability Solver. - URL: http://fmv.jku.at/cadical/.

20. Marijn J.H. Heule, Matti Jarvisalo, and Martin Suda. Proceedings of SAT COMPETITION 2018 Solver and Benchmark Descriptions. - URL: https://helda.helsinki.fi/bitstream/ han-dle/10138/237063/sc2018_proceedings.pdf.

REFERENCES

1. Pavlenko A., Semenov A., Ulyantsev V. Evolutionary Computation Techniques for Constructing SAT-Based Attacks in Algebraic Cryptanalysis, Theory and Applications of Models of Computation, Part of the Lecture Notes in Computer Science book series (LNCS, volume 11454).

2. Slonkina I. Issledovanie algoritmov razvertivania klucha blochnykh shifrsistem,

rednaznachennie dlya is ol'zovaniya v sreda h s ogranichennymi resursami, s omosh'uy metodologii SAT [Investigation of key cryptographic systems key deployment algorithms for use in resource-limited environments using the SAT methodology], Materialy Ezhegodnoy nauchno-practicheskoy konferentsii «RusCrypto'2019» [Materials of the annual international scientific- ractical conference «RusCry to'2019»]. Available at: https://www.mscrypto.ru/ re-source/archive/rc2019/files/18_Slonkina.pdf.

3. Marshalko G.B., Mkhitaryan A.G. Logicheskiy criptoanaliz funktsii kheshirovaniya GOST R 34.11-2012 [Logical cryptanalysis of the hashing function GOST R 34.11-2012], Materialy Ezhegodnoy nauchno-practicheskoy konferentsii «RusCrypto '2019» [Materials of the annual international scientific- ractical conference «RusCry to'2019»], Available at: https://www.rascrypto.m/resource/archive/rc2019/files/02_Marshalko_MkЫtaIyan.pdf

4. Dwivedi A.D., Kloucek M., Morawiecki P., Wojtowicz S., Pieprzyk J., Nikolic I. SAT-based Cryptanalysis of Authenticated Ciphers from the CAESAR Competition, The 14th International Conference on Security and Cryptography (SECRYPT 2017), Madrid, Spain.

5. Semenov A., Zaikin O., Otpuschennikov I., Kochemazov S. and Ignatiev A. On cryptographic attacks using backdoors for SAT, In the Thirty-Second AAAIConference on Artificial Intelligence, AAAI'2018, 2018, pp. 6641-6648.

6. Рипатти А.В. Алгоритмы расщепления и числа Ван-дер-Вардена. Available at: https://habrahabr.ru/post/224069/.

7. Semenov A.A. Primenenie algoritmov resheniya problem bulevoy vypolnimosti (SAT) k kombinatornym zadacham [Application of algorithms for solving Boolean satisfiability problems (SAT) to combinatorial problems], XII Vserossiyskoe soveshchanie po problemam upravleniya [XII All-Russian Meeting on Management Problems], 2014, pp. 7361-7374.

8. Soos M., Nohl K., Castelluccia C. Extending SAT Solvers to Cryptographic Problems, Theory and Applications of Satisfiability Testing - SAT, 2009, pp. 244-257.

9. Soos M. CryptoMiniSat 2.5.1. Available at: http://www.msoos.org/wordpress/wp-content/uploads/2010/08/cryptominisat-2.5.1 .pdf.

10. Bogdanov A., Knudsen L.R., Leander G., Paar C., Poschmann A., Robshaw M.J., Seurin B., Vikkelsoe C. PRESENT: An ultra-light--weight block cipher, Cryptographic Hardware and Embedded Systems- -CHES '07, 9th International Workshop, Vienna, Austria, 2007, Vol. 4727, pp. 450-466.

11. ISO/IEC 29192-2:2019 Information security - Lightweight cryptography - Part 2: Block ciphers. Available at: https://www.iso.org/standard/78477.html.

12. Bard G. Algebraic Cryptanalysis, 2009, 356 p.

13. Nakahara J., Sepehrdad P., Zhang B., Wang M. Linear (Hull) and Algebraic Cryptanalysis of the Block Cipher PRESENT, 8th International Conference on Cryptology and Network Security, CANS '09, New York, 2009, pp. 58-75.

14. Sage Tutorial in Russian. Выпуск 7.0. Available at: http://doc.sagemath.org/pdfru/ tutori-al/SageTutorial_ru.pdf.

15. Sage Reference Manual: Sat. Release 5.10. Available at: ftp://ftp.iitb.ac.in/packages/ sagemath/doc/en/reference/sat/sat.pdf.

16. Biere A., Heule M., Van Maaren H., Walsh T. Handbook of Satisfiability. IOS Press, 2009, 980 p.

17. Babenko L.K., Maro E.A., AnikeevM.V. Application of Algebraic Cryptanalysis to MAGMA and PRESENT Block Encryption Standards, Proceedings of the 11th IEEE International Conference on Application of Information and Communication Technologies (AICT 2017), pp. 272-278.

18. Lingeling, Plingeling and Treengeling. Available at: http://fmv.jku.at/lingeling/.

19. CaDiCaL Simplified Satisfiability Solver. Available at: http://fmv.jku.at/cadical/.

20. Marijn J.H. Heule, Matti Jarvisalo, and Martin Suda. Proceedings of SAT COMPETITION 2018 Solver and Benchmark Descriptions. Available at: https://helda.helsinki.fi/bitstream/ handle/10138/237063/sc2018_proceedings.pdf.

Статью рекомендовал к опубликованию д.т.н., профессор О.Б. Макаревич.

Маро Екатерина Александровна - Южный федеральный университет; e-mail:

[email protected]; 347922, г. Таганрог, ул. Чехова, 2; тел.: 88634371905; к.т.н.; доцент.

Maro Ekaterina Aleksandrovna - Southern Federal University; e-mail: [email protected];

2, Chehova street, Taganrog, 347922, Russia; phone: +78634371905; cand. of eng. sc.; associate

professor.

i Надоели баннеры? Вы всегда можете отключить рекламу.