6. Погорелов Б. А., Пудовкина М. А. Вариации ортоморфизмов и псевдоадамаровых преобразований на неабелевой группе // Прикладная дискретная математика. Приложение. 2019. №12. С. 24-27.
7. Погорелов Б. А., Пудовкина М. А. О классе степенных кусочно-аффинных подстановок на неабелевой группе порядка 2m, обладающей циклической подгруппой индекса два // Прикладная дискретная математика. Приложение. 2019. №12. С. 27-29.
8. Погорелов Б. А., Пудовкина М. А. Неабелевость группы наложения ключа и свойство ^w-марковости алгоритмов блочного шифрования // Матем. вопр. криптогр. 2020. Т. 11. №4. С. 3-22.
9. Холл М. Теория групп. М.: ИЛ, 1962. 468 с.
10. Dixon J.D. and MortimerB. Permutation Groups. Berlin: Springer Verlag, 1996. 346 p.
11. Grossman E. Group Theoretic Remark on Cryptographic System Based on Two Types of Additions. Math. Sc. Dept. IBM Watson res. Center Yorktown Heights, 1974.
12. Погорелов Б. А., Пудовкина М. А. Надгруппы аддитивных регулярных групп порядка 2m кольца вычетов и векторного пространства // Дискретная математика. 2015. Т. 27. №3. С. 74-94.
13. Бабаш А. В., Шанкин Г. П. Криптография. М.: СОЛОН-Р, 2002. 512 с.
14. Paterson K. G. Imprimitive permutation groups and trapdoors in iterated block ciphers // LNCS. 1999. V. 1636. P. 201-214.
15. Погорелов Б. А. Примитивные группы подстановок, содержащие 2т-цикл // Алгебра и логика. 1980. Т. 19. №2. С. 236-247.
УДК 519.7 DOI 10.17223/2226308X/14/23
ПОРОЖДЕНИЕ ДОПОЛНИТЕЛЬНЫХ ОГРАНИЧЕНИЙ В ЗАДАЧАХ АЛГЕБРАИЧЕСКОГО КРИПТОАНАЛИЗА ПРИ ПОМОЩИ SAT-ОРАКУЛОВ1
А. А. Семёнов, К. В. Антонов, И. А. Грибанова
Описывается новая техника, предназначенная для дополнения исходной системы ограничений в задаче алгебраического криптоанализа новыми ограничениями. Порождаемые ограничения могут иметь форму линейных уравнений над полем из двух элементов в случае, если задача криптоанализа сведена к квадратичной системе над GF(2). Если же рассматриваемая задача сведена к SAT, то порождаемые ограничения имеют вид эквивалентностей или единичных резольвент. Для обеих ситуаций мы показываем, что порождаемые ограничения могут снижать оценки трудоёмкости криптоанализа.
Ключевые слова: алгебраический криптоанализ, проблема булевой выполнимости (SAT), квадратичные системы уравнений над GF(2), SAT-оракул.
1. Предварительные результаты
Везде далее под термином «ограничение» понимается либо линейное уравнение над
GF(2), либо дизъюнкт. Рассматривается задача обращения функции вида
f : {0,1}n ^{0,1}m, (1)
заданной некоторым алгоритмом Af : то есть требуется, зная Af и произвольное y G
G Range f Ç {0,1}m, найти такое a G {0,1}n, что f (a) = y.
1 Грибанова И. А. поддержана стипендией Президента РФ (СП-3545.2019.5).
В алгебраическом криптоанализе [1] задача обращения (1) сводится к проблеме поиска решений алгебраических уравнений над некоторым конечным полем либо к проблеме выполнимости булевой формулы, обычно в конъюнктивной нормальной форме (КНФ). Везде далее рассматривается поле GF(2). Такая сводимость в теории является эффективной (следствие теоремы Кука — Левина [2, 3]). Более того, существует ряд программных систем, реализующих данную сводимость в отношении функций вида (1), заданных в виде императивных или функциональных программ. Упомянем здесь системы CBMC [4], Cryptol+SAW [5], Transalg [6], а также систему, описанную в [7]. Во всех представленных далее вычислительных экспериментах использовалась система Transalg. Данная система, получая на вход описание функции вида (1) на С-подобном языке, строит шаблонную КНФ Cf [8]. Неформально говоря, КНФ Cf представляет работу алгоритма Af на всех возможных входах из {0,1}n. Более точно, пусть a = (ai,... , an) —произвольный набор из {0,1}n, рассмотрим следующую КНФ:
Cf (a) = x?1 Л ... Л Л Cf, (2)
где обозначение xa понимается в том же смысле, что ив [9]. Если применить к (2) правило распространения единичных дизъюнктов (Unit Propagation Rule, UP [10]), то за линейное от длины записи Cf время по UP будут выведены значения всех переменных, входящих в Cf, в том числе и значения переменных y1,... , ym, кодирующих выход функции (1). Каждой выводимой по UP переменной соответствует некоторая элементарная операция, выполняемая алгоритмом Af, и, таким образом, применение UP к (2) можно рассматривать как способ вычисления f (a).
Рассмотрим теперь произвольное y G Range f, 7 = (y1 ,... , 7m), и построим следующую КНФ:
Cf (y ) = y? Л... Л ym Л Cf.
Поскольку y G Range f, то Cf (7) выполнима, а из выполняющего её набора эффективно извлекается такой a G {0,1}n, что f (a) = 7 [8].
Разберём процесс построения Cf в рамках процедур, используемых в системе Transalg. В данной системе вычисление функции f на произвольном входе из {0,1}n представляется в виде последовательности простых операций с ячейками памяти специальной абстрактной машины (АМ). Каждой такой операции сопоставляется булева формула следующего вида:
У = g(xi,...,xs). (3)
Здесь y — булева переменная, которая вводится на рассматриваемом шаге трансляции программы Af; x1,... , xs —переменные, введённые на предыдущих шагах работы программы. Формула (3) соответствует вычислению значения некоторого оператора от битов, находящихся в ячейках памяти АМ, с которыми связаны переменные x1,... , xs.
Определение 1. Функцию g(x1,..., xs), находящуюся в правой части произвольного соотношения вида (3), будем называть t-гейтом. Переменные, фигурирующие в (3), будем называть переменными рассматриваемого t-гейта.
Современные символьные трансляторы типа CBMC или Transalg позволяют задать функцию (1) в виде специального графа Gf, который есть, по сути, схема из функциональных элементов над базисом {—, Л}. Граф Gf известен как AIG (And Invertor Graph) [11]. Если произвольный гейт g в Gf — AND-гейт, то с g связывается формула вида : y = x1 Л x2, если g — NOT-гейт (Invertor), то формула вида : y = — x1:
переменная y приписана рассматриваемому гейту, а переменные x1, x2 —гейтам, данные с которых подаются на вход g. Заданные так формулы имеют тот же смысл, что и (3). Если все формулы вида и перевести в КНФ над множествами входящих в них переменных, а потом соединить все полученные КНФ конъюнкцией, то получится КНФ Cf, аналогичная по свойствам КНФ Cf. Будем называть Cf шаблонной КНФ, порождённой графом Gf.
С другой стороны, мы можем сопоставить формулам и алгебраические уравнения над полем GF(2) = ({0,1}, ф, Л): еЛ: Xi Л Х2 Ф y = 0 и e_: Xi ф y = 1 соответственно. Между множествами решений таких уравнений и множествами наборов, выполняющих формулы и существует очевидная биекция: пусть a — набор, выполняющий формулу или если рассматривать компоненты набора a как элементы поля GF(2), то a является решением уравнения еЛ или e_. Учитывая данный факт, везде далее будем обозначать переменные, входящие в формулы вида <^Л, и в уравнения еЛ, e_, одинаковыми буквами.
Объединим все уравнения вида еЛ, e_, построенные по графу Gf, в систему, которую обозначим через Ef и назовём шаблонной системой для функции f. Очевидно, что Ef состоит из уравнений над GF(2) степени не более 2 и, таким образом, является MQ-системой (Multivariate Quadratic equation system [12]). Для системы Ef справедливы свойства, похожие на свойства шаблонной КНФ Cf: 1) если подставить в Ef произвольный набор a Е {0,1}n и применить простые правила преобразования уравнений [13], рассматриваемые как правила вывода, то итогом такого вывода будут значения всех переменных, входящих в Ef, и, в том числе, такой набор y1 = 71, ..., Ут = 7т, что f (a) = 7, 7 = (y1, ... , 7m); 2) если подставить в систему Ef произвольный y Е Range f, то полученная система Ef (7) является совместной и из любого её решения можно эффективно выделить такой a Е {0,1}n, что f (a) = 7.
2. Применение SAT-оракулов для порождения дополнительных ограничений в задаче обращения (1)
В данной части мы развиваем идеи из [14] в нескольких направлениях, а именно: мы описываем новый подход, в рамках которого SAT-оракулы используются для порождения новых соотношений между переменными, присутствующими как в ( f, так и в Ef: в случае Cf генерируемые соотношения имеют вид формул x = y, x = —y либо единичных дизъюнктов. В случае Ef мы строим новые линейные уравнения над GF(2). В отличие от подхода из [14], информация о функции f используется более полно.
В основе всех приведённых далее результатов лежит следующее простое наблюдение: если применить какой-либо эффективный на практике SAT-решатель, основанный на алгоритме CDCL, к шаблонным КНФ вида Cf или Cf, то этот решатель очень быстро (обычно за доли секунды) сгенерирует такую пару (a, 7), что f (a) = 7.
Пусть g — некоторый t-гейт либо гейт в графе Gf. Заметим, что если g — NOT-гейт в Gf и ему приписаны переменные x, y и связывающее их соотношение x = —y, то мы можем заменить все вхождения литерала y (—y) на вхождения литерала —x (x), избавившись тем самым от переменной y в Cf .С учётом сказанного будем рассматривать в графе Gf только AND-гейты. Пусть g — произвольный AND-гейт с приписанной ему переменной y и входам g приписаны переменные x1, x2. Свяжем с g булеву функцию 8д, принимающую значение 1 на любом наборе переменных из {x1,x2,y}, на котором истинна формула y = x1 Лx2. Как известно, вклад, который даёт гейт g в Cf в результате
преобразований Цейтина, — это следующая КНФ:
Сд : (х V -у) Л (Х2 V -у) Л (-Х1 V -Х2 V у).
Другой способ получения Сд заключается в построении СКНФ Сд по таблице, задающей функцию 8д, и переходе от Сд к Сд в результате минимизации.
Пусть теперь д — произвольный АКВ-гейт в G/ либо произвольный ¿-гейт типа (3). Функция 8д, таблица Т($д) и СКНФ Сд для произвольного ¿-гейта д определяются так же, как и для АКВ-гейта. Пусть Т($д) — таблица, образованная строками Т($д), оставшимися после вычёркивания строк, по которым была построена КНФ Сд.
Пример 1. Пусть д — АКВ-гейт, тогда таблица Т($д) имеет следующий вид:
Х1 Х2 У
0 0 0 1
0 1 0 1
1 0 0 1
1 1 1 1
Несложно понять, что для любого а Е {0,1}п применение иР к КНФ вида (2) выведет набор значений переменных гейта д (¿-гейт или АКВ-гейт в G/), являющийся одной из строк таблицы Т($д).
Зафиксируем некоторое к, 1 ^ к ^ т, и выберем конкретные к выходов функции f, которым в С/ или С/ соответствуют переменные у^,..., у .д., 3 = ... , ^} С С {1,... , т}.
Определение 2. Для фиксированного 3 = ... ,^} определим функцию fJ : {0,1}п ^ {0,1}й следующим образом: на вход fJ получает произвольный а € {0,1}п, значение fJ(а) образовано компонентами с номерами ... ,^ в наборе 7 = f (а). Произвольную функцию вида fJ назовём селектором ранга к (или кратко к-селектором) для f.
Очевидно, что для произвольного к, 1 ^ к ^ т, существует ( ) различных
к
к-селекторов для f.
Основной технический результат работы [14] состоит в следующем. Рассмотрим произвольный АКВ-гейт д и КНФ
ж11 Л х^2 Л уСТ3 Л С/, (4)
где —произвольный набор значений переменных ж1 ,х2,у из таблицы Т($д).
Применим какой-либо эффективный БАТ-решатель к КНФ (4). Оказывается, что (4) не является трудной для современных полных БАТ-решателей, даже если f — криптографически стойкая функция. Ещё одно наблюдение состоит в том, что для многих АКВ-гейтов для некоторых строк таблицы Т($д) БАТ-решатель быстро доказывает невыполнимость КНФ (4). Как показано в [14], в этом случае мы можем добавить к системе Е/ новое линейное уравнение над СЕ(2).
Основную новизну настоящей работы составляет идея добавлять к КНФ типа (4) ещё и значения некоторых селекторов малого ранга к. То есть, грубо говоря, мы подставляем в (4) значения некоторых, но не всех бит выхода и применяем к такой КНФ БАТ-решатель. Если он доказывает невыполнимость рассматриваемой КНФ, то это
означает, что набор (о^^аз) значений переменных x1, x2,y ни при каком входе не совместим с конкретными значениями тех бит выхода функции f, которые присутствуют в выбранном селекторе. Таким образом, для конкретного AND-гейта g можно перебрать все селекторы малого ранга (например, для k Е {1, 2, 3}), вызывая для каждого значения конкретного селектора и каждой строки таблицы T($д) SAT-оракул O. Каждый раз, когда O доказывает невыполнимость соответствующей КНФ, получаем новое линейное уравнение над GF(2). Рассмотрим произвольный 7 Е Range f. Очевидно, что для любого k можно представить 7 как набор селекторов ранга k. Например, для k = 2
1 \
и 7 Е {0,1}m можно рассмотреть ( j различных селекторов и их значений (двухбитовых векторов), определяемых набором 7. Следовательно, рассматривая задачу поиска прообраза 7 при отображении f, мы можем использовать все линейные уравнения, которые были построены SAT-оракулом для соответствующих селекторов.
По аналогии с использованием k-селекторов для вывода линейных уравнений, дополняющих систему Ef, можно выводить при помощи селекторов и новые соотношения на переменные, присутствующие в шаблонной КНФ Cf. Рассмотрим соотношение (3) для произвольного t-гейта g и пусть T($д) —таблица (сокращение таблицы, задающей 8д) указанного вида, построенная для g. Пусть (а1,... , as+1) —произвольная строка таблицы T($д). Рассмотрим шаблонную КНФ Cf, в которую подставим произвольные значения некоторого k-селектора, и обозначим результирующую КНФ через Cf. Применим SAT-оракул O к следующей КНФ:
X?1 Л ... Л X1 Л y°s+1 Л C'f. (5)
Если O доказал невыполнимость (5), то это означает, что при фиксированном значении выбранного селектора ни на каком входе функции f переменные X 1,... , Xs, y не примут значения а1,... , as+1. Соответственно такая строка вычёркивается из таблицы T($д). В рассмотренных тестах таким способом могут быть вычеркнуты несколько строк таблицы при конкретном значении селектора. Результатом может быть, например, следующая ситуация (оставшиеся строки таблицы T($д)):
Х3265 Х2820 Х2998 Х3176
0 0 0 0 1
0 1 1 0 1
0 0 0 1 1
0 1 1 1 1
В данном примере рассмотрена T($д), полученная для некоторого t-гейта функции gMD4-48 из [15]. Изначально таблица T($д) состояла из 16 строк, а таблица T($д) —из 8. После проверки SAT-оракулом всех строк таблицы T($д) на совместность с шаблонной КНФ осталось 4 строки. Из этого фрагмента таблицы видно, что переменная х3265 равна 0 при любом входе рассматриваемой функции. Кроме этого, для любого входа истинна формула х2820 = x2ggs. Таким образом, все вхождения переменной x2gg8 можно заменить вхождениями х2820.
Если для конкретного селектора получены такого рода соотношения, мы можем хранить полученную информацию в специальной таблице и использовать её при обращении конкретных 7 Е Range f, рассматривая 7 как набор значений соответствующих селекторов.
Для тестирования описанной техники проведён ряд вычислительных экспериментов. Во всех экспериментах задействовался кластер Иркутского суперкомпьютерного центра [16]. Рассмотрены две криптографические функции.
В первой серии экспериментов мы рассмотрели 10-раундовую версию легковесного шифра Simon [17], конкретно — 64-битный вариант Simon, сокращённый до 10 раундов (в оригинальной версии 32 раунда). Исследовалась задача поиска 64-битного ключа по трём известным блокам открытого текста и шифртекста (напомним, что в шифре Simon используются 32-битные блоки). Решая данную задачу, мы искали линеаризующие множества в том же стиле, как это сделано в работах [13, 18]. Перебирались селекторы ранга k ^ 3. Предварительный расчёт с вызовом SAT-оракула для конкретных гейтов и конкретных значений селекторов занимал несколько суток работы кластера [16]. Затем с использованием данной информации решалась задача оптимизации целевой функции, описанной в [18]. Как итог была построена атака на рассматриваемый шифр с оценкой трудоёмкости примерно в 150 раз меньше, чем атака, аналогичная [18]. Результаты приведены в следующей таблице:
Атака Мощность линеаризующего множества Оценка вероятности линеаризации Оценка сложности атаки (число систем ЛУ)
1 62 1 1,38 • 1019
2 55 0,298 3,63 • 1017
3 54 0,557 9,70 • 1016
Здесь 1 — атака, использующая только технику из [18]; 2 — атака, использующая селекторные ограничения, но линеаризующее множество строится только на переменных ключа; 3 — атака, использующая селекторные ограничения, дополненная расширенным поиском линеаризующего множества (к переменным ключа добавляются некоторые переменные, функционально зависящие от ключа).
Во второй серии экспериментов мы рассмотрели задачу обращения полнораундовой функции сжатия алгоритма хеширования MD4 с использованием техники ослабляющих ограничений, описанной в [15, 19, 20]. Однако снижение трудоёмкости атаки за счёт использования информации от селекторов составило всего около 20 %. Отметим, что в этих экспериментах не использовалась информация от селекторов на этапе оптимизации функции, оценивающей трудоёмкость IBS-атаки. Возможно, именно поэтому достигнутые на данном этапе результаты не столь успешны, как с шифром Simon. Указанный недостаток мы планируем устранить в ближайшем будущем.
Авторы выражают глубокую благодарность Гладушу Андрею Игоревичу за помощь в проведении вычислительных экспериментов.
ЛИТЕРАТУРА
1. Bard G. Algebraic Cryptanalysis. Springer, 2009.
2. Cook S. A. The complexity of theorem-proving procedures // Proc. 3rd Ann. ACM Symp. Theory Comput. 1971. P. 151-158.
3. Левин Л. А. Универсальные задачи перебора // Проблемы передачи информации. 1973. Т. 9. №3. С. 115-116.
4. Clarke E., Kroening D., and Lerda F. A tool for checking ANSI-C programs // LNCS. 2004. V. 2988. P. 168-176.
5. ErkokL., CarlssonM., and Wick A. Hardware/software co-verification of cryptographic algorithms using Cryptol // Proc. 9th Intern. Conf. FMCAD. IEEE, 2009. P. 188-191.
6. Otpuschennikov I., Semenov A., Gribanova I., et al. Encoding cryptographic functions to SAT using Transalg system // Frontiers Artificial Intell. Appl. 2016. V. 285. P. 1594-1595.
7. Калгин К. В., Софронова Д. А. Компактный транслятор алгоритмов в булевы формулы для применения в криптоанализе // Прикладная дискретная математика. Приложение. 2020. №13. С. 135-136.
8. Semenov A., Otpuschennikov I., Gribanova I., et al. Translation of algorithmic descriptions of discrete functions to SAT with application to cryptanalysis problems // Log. Methods Comput. Sci. 2020. V. 16. Iss. 1. P. 29:1-29:42.
9. Яблонский С. В. Введение в дискретную математику. М.: Наука, 1986.
10. Dowling W. F. and Gallier J. H. Linear-time algorithms for testing the satisfiability of propositional horn formulae //J. Log. Program. 1984. No. 1(3). P. 267-284.
11. Biere A. The AIGER And-Inverter Graph (AIG) format version 20071012. Tech. Report 07/1. Institute for Formal Models and Verification, Johannes Kepler University. 2007.
12. Kipnis A. and Shamir A. Cryptanalysis of the HFE public key cryptosystem by relinearization // LNCS. 1999. V. 1666. P. 19-30.
13. Семёнов А. А., Антонов К. В., Отпущенников И. В. Поиск линеаризующих множеств в алгебраическом криптоанализе как задача псевдобулевой оптимизации // Прикладная дискретная математика. Приложение. 2019. №12. С. 130-134.
14. Антонов К.В., Семёнов А.А. Применение SAT-оракулов для генерации дополнительных линейных ограничений в задачах криптоанализа некоторых легковесных шифров. Прикладная дискретная математика. Приложение. 2020. №13. С. 114-119.
15. Грибанова И. А., Семёнов А.А. Об аргументации отсутствия свойств случайного оракула у некоторых криптографических хеш-функций // Прикладная дискретная математика. Приложение. 2019. №12. С. 95-98.
16. ЦКП Иркутский суперкомпьютерный центр СО РАН. http://hpc.icc.ru.
17. Beaulieu R., Shors D., Smith J., et al. The Simon and Speck lightweight block ciphers // Proc. 52nd Ann. Design Automation Conf. New York, USA, 2015. P. 175:1-175:6.
18. Антонов К. В., Семёнов А. А. Применение метаэвристических алгоритмов псевдобулевой оптимизации к поиску линеаризующих множеств в криптоанализе криптографических генераторов // Материалы 6-й Междунар. школы-семинара «Синтаксис и семантика логических систем». Иркутск: ИГУ, 2019. С. 13-18.
19. Gribanova I. and Semenov A. Using automatic generation of relaxation constraints to improve the preimage attack on 39-step MD4 // Proc. 41st Intern. Convention Inform. Commun. Technol. Electr. Microelectr. (MIPRO). IEEE, 2018. P. 1174-1179.
20. Gribanova I. and Semenov A. Parallel guess-and-determine preimage attack with realistic complexity estimation for MD4-40 cryptographic hash function // Материалы конф. «Параллельные вычислительные технологии (ПаВТ) 2019» (Калининград, 2-4 апреля 2019). C.8-18.
УДК 621.391.7 DOI 10.17223/2226308X/14/24
CHOOSING PARAMETERS FOR ONE IND-CCA2 SECURE McEliece MODIFICATION IN THE STANDARD MODEL
Y. V. Kosolapov, O.Y. Turchenko
The paper is devoted to choosing parameters for one IND-CCA2-secure McEliece modification in the standard model. In particular, the underlying code, plaintext length and one-time strong signature scheme are suggested. The choice of parameters for the scheme was based on efficiency, on the one hand, and security, on the other. Also, experiments for the suggested parameters are provided using the NIST statistical test suite.
Keywords: post-quantum cryptography, McEliece-type cryptosystem, IND-CCA2-security, NIST statistical test suite.