21. Castryck W., Lange T., Martindale С., et al. CSIDH: An Efficient Post-Quantum Commutative Group Action. // Cryptologv ePrint Archive. Paper 2018/383. https:// eprint.iacr.org/2018/383.
22. Chi-Dominguez J.-J. and Rodriguez-Henriquez F. Optimal strategies for CSIDH // Adv. Math. Commun. 2022. V. 16. No. 2. P. 383-411.
УДК 519.7 DOI 10.17223/2226308X/16/17
АЛГЕБРАИЧЕСКИЙ КРИПТОАНАЛИЗ 9 РАУНДОВ НИЗКОРЕСУРСНОГО БЛОЧНОГО ШИФРА SIMON32/641
Е. А. Маро, О. С. Заикин
Рассматривается низкоресурсный блочный шифр Simon32/64 из семейства Simon. Полная версия этого шифра состоит из 32 раундов. Задачи криптоанализа для 8 раундов Simon32/64 были неоднократно решены с помощью SAT-подхода, т.е. путём сведения к проблеме булевой выполнимости и использования SAT-решателей. Для 9 раундов задача все ещё является сложной для SAT-подхода. Построена SAT-кодировка криптоанализа 9-раундовой версии Simon32/64. Сформированы три класса тестов в зависимости от способа выбора открытого текста. С помощью параллельного SAT-решателя во всех случаях удалось успешно решить задачи криптоанализа при условии, что 16 из 64 битов секретного ключа известны.
Ключевые слова: низкоресурсный блочный шифр, семейство шифров Simon, алгебраический криптоанализ, SAT-решатель.
Введение
Низкоресурсные шифры получают всё большее распространение в малоресурсных IoT- устройствах, таких, как RFID-ечитыватели, сенсоры, индикаторы, датчики, контроллеры. Задача обеспечения безопасности хранения и передачи данных для подобных устройств может быть решена применением специальных криптографических алгоритмов, рассчитанных на эффективную реализацию в условиях ограниченных вычислительных ресурсов. Одним из алгоритмов низкоресурсного шифрования, принятым в качестве международного стандарта для систем связи по радиоинтерфейсу, является семейство симметричных блочных шифров Simon (ISO/IEC 29167-21:2018) [1]. Проектирование низкоресурсных шифров с условием их применимости в малоресурсных системах обуславливает необходимость сокращения типов используемых преобразований и, как следствие, приводит к низкой мультипликативной сложности (низкой нелинейности), что обосновывает важность исследования стойкости низкоресурсных алгоритмов шифрования к алгебраическим методам криптоанализа. В алгебраических методах анализа используется представление криптографического преобразования в виде системы нелинейных уравнений, связывающих наборы известных данных и секретный ключ шифрования, и применяются различные алгоритмы поиска решений системы уравнений. В качестве распространённых подходов к решению описывающих шифры систем уравнений можно выделить:
— метод линеаризации и его расширенные варианты (extended Linearization (XL), extended Sparse Linearization (XSL), Fix extended Linearization (FXL), ElimLin);
1 Заикин О. С. выполнил свою часть работы за счёт субсидии Минобрнауки России в рамках проекта № 121041300065-9.
— метод сведения к задаче выполнимости булевых форму,:: (SAT-задаче) с применением эффективных SAT-решателей.
Анализ научных исследований, посвященных алгебраическому криптоанализу низкоресурсных шифров семейства Simon, показал потенциальную перспективность подходов, основанных на сведении к задаче булевой выполнимости форму:: и последующем использовании SAT-решателей |2-5|.
1. Семейство низкоресурсных шифров Simon-2n/nm
Низкоресурсный блочный шифр Simon предложен в |6| и представляет собой семейство низкоресурсных шифров LRX-архитектуры с выбираемыми длинами блока текста и ключа шифрования, обеспечивающими возможность оптимизации параметров под конкретную аппаратную реализацию. Шифр Simon (рис. 1) основан на схеме сети Фейетеля, в раундовой функции которой используются операции циклического сдвига влево на 1, 2 и 8 бит, побитового умножения (AXD) и побитового сложения (XOR).
L, R,
Li+1 R,+i
Рис. 1. Структура раундовой функции шифра Simon n 2n n
m
2n/mn
шифрования для семейства Simon приведены в таб.::. 1. Раундовое преобразование шифра Simon имеет вид
F(Li-i) = (Ьг-1 ^ 1) Л (Li-! ^ 8) 0 (Li-1 ^ 2).
Таблица 1
Соотношение длины блока и длины ключа шифрования для семейства Simon
Длина блока Длина ключа Размер Число слов Значение Число
2 n mn слова n m константы z раундов T
32 64 16 4 zo 32
48 72 24 3 z 0 36
96 4 Z1 36
64 96 32 3 Z2 42
128 4 Z3 44
96 96 48 2 Z2 52
144 3 Z3 54
128 128 64 2 Z2 68
192 3 Z3 69
256 4 Z4 72
Левая и правая половины входного вектора Lj||R г-го раунда шифра Simon могут быть представлены в виде формул
Li = Ri-i 0 F(Li-i) 0 Ki-i;
Ri = Li-1.
Первые m рауидовых ключей шифра Simon соответствуют секретному ключу шифрования K0, K1; ..,, Km-1, а последующие рауидовые ключи в зависимости от пара-m
( c 0 (Zj)i 0 Ki 0 (I 0 S-1) S-3Ki+i, m =2,
Ki+m = <j c 0 (Zj)i 0 Ki 0 (I 0 S-1) S-3Ki+2, m =3,
[c 0 (zj)i 0 Ki 0 (I 0 S-1) (S-3Ki+3 0 Ki+1), m = 4.
2. SAT-кодировка шифра Simon 32/64
На основе результатов алгебраического анализа 8-раундового шифра Simon 32/64 [2] в качестве исследуемого низкоресурсного блочного шифра выбран 9-раун-довый Simon 32/64, Описание T раундов шифра Simon 2n/nm содержит nT квадратичных уравнений с числом неизвестных n(T — 2) + nm. В ходе описания 9-раундовой версии Simon 32/64 сформировано 144 квадратичных уравнения со 176 переменны-
2n/nm
подробно представлена в [7]. Полученная система может быть задана формулой
'fco,о 0 »2,0 0 1 = 0, &0,1 0 »2,1 = 0, ko,2 0 »2,2 0 1 = 0, ....
&1,0 0 Х2,2 0 »2,1 * »2,8 0 »3,0 = 0,
ko,3 0 k1,2 0 k1,4 0 k1,5 0 £1,5 0 £1,14 0 £1,15 0 £2,2 0 £2,5 0 £2,7 0 £2,9 0 ^2,130
kfc2,15 0 k3,o 0 k3,6 0 k3,7 0 £3,8 0 £3,9 0 £3,11 0 £3,12 0 £3,15 0 »8,15 = 0, где ^-соответствует j-му биту г-го раундового ключа.
Для проведения экспериментов были составлены системы нелинейных уравнений, описывающих шифрование 9-раундового Simon32/64 на трёх различных значениях секретного ключа: Key1 = (0xb2fe,0x7c97,0xa734,0x8a7f); Key2 = (0xe5el,0хЗе5с, 0xfe34,0x7a47); Key3 = (0xd8a6,0x28f0,0x4c35,0xac81).
Рассмотрены следующие сценарии генерации системы, в каждом из которых шифруется 64 бита открытого текста:
— сценарий «rand» — система уравнений формируется для двух случайных значений открытого текста (использовались три пары текстов: P1 = 0x65656877 и P2 = 0x34895467; Pi = 0x30d7f42b и P2 = 0х591а97с5; Pi = 0xdl9al3c4 и P2 = 0x0b59735l);
— сценарий «nulldist»—система уравнений формируется для двух выбранных зна-
Pi =
P2 =
— сценарий «randdist» — система уравнений формируется для двух выбранных значений открытого текста: первый текст выбирается произвольно, второй текст отлича-
Pi =
P2 = Pi = P2 = Pi =
P2 =
Конвертация системы нелинейных уравнений в задачу выполнимости булевых формул в конъюнктивной нормальной форме (КНФ) осуществлялась с среде SageMath с использованием инструмента ANF2CNFConverter, Итоговые SAT-задачи для всех девяти описаний шифрования 9-раундового Simon32/64 содержат 1216 литералов и 20 512 дизъюнктов,
3. Криптоанализ 9 раундов Simon32/64 с помощью параллельного SAT-решателя
Основным полным алгоритмом решения SAT-задач является Conflict-Driven Clause Learning (CDCL) [8], На первом этапе экспериментов на каждой из девяти КНФ, построенных в п, 2, был запущен современный CDCL-решатель klssat [9] версии 3,0 с лимитом времени 24 ч на персональном компьютере, оснащённом процессором AMD Rvzen 3900х, В результате решатель не смог решить ни одну из задач в установленный лимит времени.
На втором этапе был применён подход Cube-and-Conquer, согласно которому на первой стадии задача разбивается на более простые подзадачи с помощью lookahead-решателя, а затем на них запускается CDCL-решатель [10], Этот подход обычно применяется для решения задач комбинаторики и вычислительной геометрии, но в [11] с его помощью впервые решены задачи криптоанализа, В [11] предложен также алгоритм построения прогнозов времени решения SAT-задач, В этом алгоритме варьируется значение основного параметра первой стадии Cube-and-Conquer и для каждого значения строится прогноз на основе решения выборки подзадач, С помощью этого алгоритма для каждой из девяти рассматриваемых SAT-задач построен прогноз времени решения, в качестве CDCL-решателя для второй фазы Cube-and-Conquer использован Kiss.\ г. Согласно прогнозам, для решения этих задач данным подходом требуется нереально много времени. Поэтому для каждой задачи был рассмотрен упрощённый вариант, в котором известны правильные значения первых 16 (из 64) переменных, кодирующих секретный ключ.
Эксперименты проведены на вычислительном кластере «Академик В, М, Матросов» [12], Использовались 5 узлов, в состав каждого из которых входит два 18-ядер-
ных процессора Intel Xeon Е5-2695 v4. Итого в каждом запуске были задействованы 180 ядер, В результате для каждой из девяти КНФ был найден выполняющий набор, а соответствующие 48 значений переменных совпали со значениями искомого секретного ключа, В табл. 2 для каждой КНФ указано время решения, процент решённых подзадач на момент нахождения выполняющего набора, а также прогноз времени, необходимого на решение всех подзадач в худшем случае.
Таблица 2
Время решения задач криптоанализа 8тюп32/64, в которых известны 16 из 64 битов секретного ключа
Задача Время Решено подзадач, % Прогноз на 100 %
rand-Key1 10 ч 37 мин 7,03 151 ч 6 мин
rand-Key2 29 ч 33 мин 31,57 93 ч 36 мин
rand-Key3 12 ч 30 мин 17,17 72 ч 50 мин
nulldist-Key1 33 ч 52 мин 91 37 ч 13 мин
nulldist-Key2 4 ч 10 мин 54,35 7 ч 40 мин
nulldist-Key3 1 ч 10,82 9 ч 18 мин
randdist-Key1 2 ч 54 мин 75,21 3 ч 51 мин
randdist-Key2 1 ч 18 мин 46,08 2 ч 49 мин
randdist-Key3 34 мин 3,6 16 ч 4 мин
Согласно полученным результатам, задачи с выбранным открытым текстом существенно проще для Cube-and-Conquer, чем задачи со случайными открытым текстом.
Заключение
Впервые осуществлён алгебраический криптоанализ 9-раундового блочного шифра Simon32/64 с 64 битами шифртекста и открытого текста в предположении, что известны первые 16 из 64 битов секретного ключа. На суперкомпьютере время решения варьируется от получаса до 34 ч в зависимости от того, как выбран открытый текст. На основе представленных результатов можно сделать вывод, что, развивая используемый подход, возможно осуществить криптоанализ 9 раундов при полностью неизвестном секретном ключе,
ЛИТЕРАТУРА
1. ISO/IEC 29167-21:2018. Information technology — Automatic identification and data capture techniques. P. 21: Crypto suite SIMON security services for air interface communications, https://www.iso.org/standard/70388.html.
2. Courtois N., Mourouzis Т., Song G., et al. Combined algebraic and truncated differential crvptanalvsis on reduced-round Simon // Proc. 11th Intern. Conf. SECRYPT. Vienna, Austria, 2014. P. 399-404.
3. Raddum H. Algebraic analysis of the Simon block cipher family // LNCS. 2015. V. 9230. P. 157-169
4. ChooD., SoosM., Chai К. M. A., and MeelK.S. Bosphorus: Bridging ANF and CNF solvers 11 Proc. DATE 2019. P. 468-473.
5. Yeo S. L., Le D., and Khoo K. Improved algebraic attacks on lightweight block ciphers //J. Crvptogr. Eng. 2011. V. 11. P. 1-19.
6. Beaulieu R., Shore D., Smith J., et al. The SIMON and SPECK lightweight block ciphers // Proc. DAC 2015. P. 175:1-175:6.
7. Куценко А. В., Amymoea Н. Д., Зюбина Д. А. и др. Алгебраический криптоанализ низкоресурсных шифров Simon и Speck // Прикладная дискретная математика. Приложение. 2021. №14. С. 84-91.
8. Marques-Silva J. P. and SakallahK.A. GRASP: a search algorithm for prepositional satisfiability 11 IEEE Trans. Computers. 1999. V.48(5). P. 506-521.
9. Biere A. and Fleury M. Gimsatul, IsaSAT and Kissat entering the SAT Competition 2022 // Proc. SAT Competition 2022 — Solver and Benchmark Descriptions. P. 10-11.
10. Heule M. J. H., Kullmann O., Wieringa S., and Biere A. Cube and Conquer: guiding CDCL SAT solvers by lookaheads // LNCS. 2012. V.7261. P. 50-65.
11. Zaikin O. Inverting 43-step MI) I via cube-and-conquer // Proc. IJCAI-ECAI. Vienna, Austria, 2022. P. 1894-1900.
12. Иркутский суперкомпьютерный центр CO РАН. http://hpc.icc.ru.
УДК 519.7 DOI 10.17223/2226308Х/16/18
О РАЗНОСТЯХ ПО МОДУЛЮ 2n, С ВЫСОКОЙ ВЕРОЯТНОСТЬЮ ПРОХОДЯЩИХ ЧЕРЕЗ ARX-ПРЕОБРАЗОВАННЕ1
А. С. Мокроусов, Н. А. Коломеец
Исследуются высокие значения разностной характеристики по модулю 2n для преобразования (x ф y) ^ т, где x,y G КПи 1 ^ r < n. Они интересны в контексте разностного криптоанализа шифров, использующих сложение по модулю 2п,
r
ции. Описаны все разности с вероятностью больше 1/4 с точностью до симметрий аргументов. Возможными значениями вероятности при этом условии являются 1/3 + 42-i/6 для всex i G {1,... ,n}, что совпадает с аналогичными вероятностями для преобразования x ф y. Описаны разности, на которых достигается каждое из значений, и подсчитано их количество. Установлено, что общее число разностей с приведёнными вероятностями равно 48n — 68 при n ^ 2.
Ключевые слова: ARX, разностные хара,кт,ерист,ики, XOR, сложение по модулю, циклический сдвиг битов.
Введение
ARX — класс криптографических примитивов, базовыми операциями в которых являются сложение по модулю 2п (Ш), побитовое «исключающее ил и» (XOR, ф) и циклический сдвиг битов па г позиций в сторону старших разрядов г) —см., например, FEAL [1], Speck [2], Salsa20 [3] и ChaCha [4].
Важно, чтобы шифр был стойким к разностному криптоанализу [5], основа которого — изучение преобразования разностей алгоритмом шифрования. Ключевым шагом при реализации метода является вычисление разностных характеристик и их максимальных значений с учётом фиксаций аргументов. Разности могут рассматриваться, например, относительно ф, Ш, какой-либо другой операции или вообще быть смешанными [6-9].
Будем рассматривать аргументы всех операций как элементы Zn, т. е. пространства двоичных векторов размерности п. С вектором x = (x\,... ,xn) G Zn мы ассоциируем целое число
2п-1 xi + 2n-2x2 + ■ ■ ■ + 20xn,
1 Работа выполнена при поддержке Математического центра в Академгородке, соглашение с Министерством науки и высшего образования Российской Федерации № 075-15-2022-282.