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

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

CC BY
149
28
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГЕБРАИЧЕСКИЙ КРИПТОАНАЛИЗ / ОБОБЩЕННЫЙ КЛЕТОЧНЫЙ АВТОМАТ / БАЗИС ГРЕБНЕРА

Аннотация научной статьи по математике, автор научной работы — Ключарёв П.Г.

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

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

Investigation of the Practical Possibility of Solving Problems on Generalized Cellular Automata Associated with Cryptanalysis by Mean Algebraic Methods

A number of previous author’s papers proposed methods for constructing various cryptographic algorithms, including block ciphers and cryptographic hash functions, based on generalized cellular automata. This one is aimed at studying a possibility to use the algebraic cryptanalysis methods related to the construction of Gröbner bases for the generalized cellular automata to be applied in cryptography, i.e. this paper studies the possibility for using algebraic cryptanalysis methods to solve the problems of inversion of a generalized cellular automaton and recovering the key of such an automaton.

Текст научной работы на тему «Исследование практической возможности решения связанных с криптоанализом задач на обобщенных клеточных автоматах алгебраическими методами»

Ссылка на статью:

// Математика и математическое моделирование. 2017. №5. С. 29-44.

Б01: 10.24108/шаШш.0517.0000080

Представлена в редакцию: 02.10.2017 © НП <<НЭИКОН>>

УДК 004.056.55

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

Л "к

Ключарёв П. Г.1' * pk.iu8@yandex.ru

1МГТУ им. Н.Э. Баумана, Москва, Россия

Математика к Математическое

моделирование

Сетевое научное издание

В работе проведено исследование возможности использования методов алгебраического криптоанализа, связанных с построением базисов Гребнера, применительно к обобщенным клеточным автоматам, предназначенным для применения в криптографии. Для построения базиса Грёбнера используются две различные реализации алгоритма Фужера F4: в системе компьютерной алгебры Magma и в библиотеке Polybori. Сделан вывод о том, что решение задач обращения обобщенного клеточного автомата и восстановления ключа такого автомата, в случае, если автомат имеет больше нескольких десятков ячеек, невозможно с использованием существующих средств. Это подтверждает стойкость криптоалгоритмов, основанных на обобщенных клеточных автоматах, к данному методу алгебраического криптоанализа.

Ключевые слова: алгебраический криптоанализ; обобщенный клеточный автомат; базис Гребнера

Введение

В работах [3,4,5] и др. автором были предложены методы построения различных криптографических алгоритмов, в том числе блочных шифров и криптографических хэш-функций, на основе обобщенных клеточных автоматов. Эта статья посвящена исследованию применимости алгебраических методов, связанных с построением базисов Гребнера, к решению некоторых задач на обобщенных клеточных автоматах — задачи обращения и задачи восстановления ключа. Невозможность практического решения этих задач подтверждает стойкость криптоалгоритмов, основанных на обобщенных клеточных автоматах, к данному методу алгебраического криптоанализа.

1. Алгебраический криптоанализ

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

ным полем в общем случае является NP-трудной, решение конкретной системы может иметь небольшую вычислительную сложность.

Криптоанализ, основанный на построении полиномиальной системы уравнений, которая связывает открытый текст, шифртекст и ключ, и ее решении алгебраическими методами, обычно называется алгебраическим криптоанализом. Методы алгебраического криптоанализа непрерывно развиваются. Хороший их обзор можно найти, например, в книгах [8, 25].

2. Базисы Гребнера

Одними из основных методов решения систем полиномиальных уравнений являются методы, связанные с построением базисов Гребнера. Базисам Гребнера и методам их построения посвящено большое количество литературы, в частности, книги [1,2, 7, 9,13,19,22,27] и статьи [26, 33]. Впервые понятие базисов Гребнера было предложено в диссертации Бухбер-гера [12] и сейчас такие базисы активно применяются во многих областях науки и техники, в том числе, в криптоанализе [14, 15, 16, 17]. Приведем здесь основные понятия теории базисов Гребнера.

Пусть для поля F и набора переменных (x\,..., xn) задан идеал I кольца многочленов F[xi,..., xn]. Введем отношение полного порядка — на мономах, для которого выполняются два условия:

1) для любых мономов a,b,c, если выполняется a — b, то выполняется ac — bc;

2) для любых мономов a, b выполняется a — ab.

Моном £^(/) назовем старшим членом многочлена / (x1,... ,xn) относительно порядка —, если для любого другого монома t этого многочлена выполняется t — (/).

Базисом Гребнера идеала I кольца многочленов F[x1,..., xn] называется конечное множество G = {g1,... ,gm} многочленов из этого кольца, порождающее идеал I, такое что для любого элемента p Е I существует такой g Е G, что £^(g)|£^(p).

Зная базис Гребнера идеала, порожденного системой полиномов, легко найти решение системы алгебраических уравнений, полученных путем приравнивания этих полиномов к нулю. Исторически первым алгоритмом вычисления базиса Гребнера является алгоритм Бухбергера [12]. Относительно недавно появились алгоритмы Фужера F4 [20] и F5 [21], которые обычно работают существенно быстрее, чем алгоритм Бухбергера. Мы будем использовать алгоритм Фужера F4, для которого существуют две эффективные реализации — в библиотеке Polybori [11] и в системе компьютерной алгебры Magma [10, 23]. В данной работе мы будем использовать оба этих средства.

3. Обобщенные клеточные автоматы

Обобщенным клеточным автоматом называется ориентированный мультиграф на N вершинах, с каждой вершиной vi которого ассоциированы: булева переменная mi, называемая ячейкой, и булева функция fi(x1,... ,xdi), называемая локальной функцией связи i-й вершины (здесь di — степень вершины v). При этом каждой паре (v, e), где v — вершина,

а е — инцидентное ей ребро, будет соответствовать номер аргумента локальной функции связи, вычисляемой в вершине V. Мы будем называть его номером ребра е относительно вершины V.

Работа обобщенного клеточного автомата происходит следующим образом. В начальный момент времени каждая ячейка т», г = 1,..., N, принимает некоторое начальное значение т»(0). Автомат работает по шагам. При этом, значения ячеек на шаге номер Ь вычисляются по формуле:

т»(Ь) = /,(тч(,;1)(Ь - 1),тч(г,2)(Ь - 1),... ,тп(г,й1)(Ь - 1)), (1)

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

Здесь мы ограничимся рассмотрением неориентированных обобщенных клеточных автоматов, т.е. таких, что для каждого ребра (и, V) в графе этого автомата существует и ребро ^,и). Если заменить каждую пару ориентированных ребер (ии (V,и) на неориентированное ребро {п^}, то такой граф можно рассматривать как неориентированный. Также ограничимся рассмотрением лишь автоматов, графы которых являются регулярными (т.е. в1 = ... = = в).

Для обеспечения стойкости криптоалгоритмов, основанных на обобщенных клеточных автоматах, очень важен выбор графа этого автомата. Ранее автором было обосновано [4], что хорошим выбором являются графы Рамануджана. [18, 24, 28]. Мы воспользуемся псевдослучайным методом построения таких графов [6].

4. Криптоаналитические задачи, связанные с обобщенными клеточными автоматами

Криптоанализ шифров и хэш-функций, основанных на обобщенных клеточных автоматах, может сводиться к различным задачам. Мы будем рассматривать две такие задачи:

1) Задачу обращения обобщенного клеточного автомата, которая заключается в том, чтобы зная значения т»(к) для г = 1,... ^ и некоторого числа шагов к, определить значения т»(0), г = 1,..., N. В этом случае, неизвестными являются значения т»(Ь) для Ь = 0,... ,к — 1; г = 1,..., N. Общее число неизвестных в системе уравнений равно kN.

2) Задачу восстановления ключа. В этом случае, известны значения т» (к) для г = 1,... ^ и некоторого числа шагов к, а также начальные значения некоторых в ячеек (например, т1(0),..., т8(0)). Требуется определить начальные значения остальных ячеек (например, т8+1(0),... ,тх (0)).

5. Методика проведения вычислительного эксперимента

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

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

Эксперименты проводились как для задачи обращения, так и для задачи восстановления

N

ключа. Для задачи восстановления ключа длина ключа Nkey полагалась равной Nkey = — .

Для каждого графа генерировалась система уравнений, описывающая k шагов соответствующего обобщенного клеточного автомата. Такая система состоит из kN уравнений вида (1), где N — число ячеек автомата. При этом в качестве локальной функции связи использовалась функция

f (Xi,X2, X3, X4, X5, Xß) = X1X3X5 ф X3X4 ф X5X6 ф X3X5 ф X1X5 ф Xi ф X2 ф 1. (2)

В случае решения задачи восстановления ключа, к этой системе уравнений добавлялись уравнения, соответствующие известным начальным значениям ячеек.

Полученные системы решались как с помощью системы Magma v2.21-5, так и с помощью библиотеки Polybori 0.8.3 на компьютере с 1б-ю ядрами Intel Xeon E5-2690 и 1б ГБ ОЗУ, работающем под управлением OS Linux (дистрибутив Ubuntu 16.04).

В системе Magma построение базиса Гребнера производилось с помощью алгоритма Фужера F4, посредством функции GroebnerBasis. При этом использовался лексикографический порядок на мономах. Построение решения осуществлялось посредством функции Variety.

Использование библиотеки Polybori было реализовано с помощью языка программирования Python 2.7, из программы на котором вызывалась функция groebner-basis этой библиотеки. Использовался лексикографический порядок на мономах. Учитывая, что эта библиотека написана на языке C++, использование интерпретируемого языка Python не приводит к уменьшению производительности и является весьма удобным, поскольку эта библиотека снабжена специальным интерфейсом для языка Python.

Библиотека Polybori интересна тем, что в ней используется представление полиномов с помощью решающих диаграмм (точнее, так называемых Zero-suppressed Binary Decison Diagrams, ZDD [29, 30, 31]). Этот подход позволяет существенно увеличить эффективность вычислений и уменьшить использование памяти.

Все тесты выполнялись по 10 раз, при этом учитывались минимальное время работы и минимальный объем занимаемой памяти (в случае решения задачи криптоанализа наиболее интересна как раз сложность в лучшем случае). В случае использования системы Magma, время выполнения и объем используемой памяти для задачи обращения обобщенного клеточного автомата приведены в табл. 1, а для задачи восстановления ключа — в табл. 2. При этом, если для построения базиса не хватало памяти, в результате чего процесс аварийно завершался, в столбце «время» таблиц указывалось NA, а в столбце «память» — «> 16».

В случае использования библиотеки Polybori, для каждого значения числа шагов и для каждого значения числа ячеек, начиная с 8, производилось построение базиса Гребнера.

Таблица 1

Обращение обобщенного клеточного автомата с помощью базисов Гребнера в системе Magma

k N kN время, с память, ГБ

2 10 20 0,28 0,032

2 11 22 1,1 0,064

2 12 24 7 0,16

2 13 26 22 0,25

2 14 28 247 2,2

2 15 30 NA > 16

3 8 24 0,5 0,064

3 9 27 4 0,26

3 10 30 167 1,2

3 11 33 NA > 16

4 7 28 791 4,1

4 8 32 NA > 16

Таблица 2

Восстановление ключа обобщенного клеточного автомата с помощью базисов Гребнера в системе Magma

k N Nkey kN время, с память, ГБ

3 8 4 24 0,3 0,032

3 9 4 27 0,5 0,032

3 10 5 30 0,4 0,032

3 11 5 33 11 0,16

3 12 6 36 116 1

3 13 6 39 569 2,6

3 14 7 42 225 2

3 15 7 45 431 2,7

3 16 8 48 NA > 16

4 8 4 32 1 0,032

4 9 4 36 3,2 0,064

4 10 5 40 42 1,5

4 11 5 44 NA > 16

5 7 4 35 3,5 0,064

5 8 4 40 236 2,1

5 9 5 45 NA > 16

6 7 4 42 543 2,5

6 8 4 48 NA > 16

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

Для случая использования библиотеки Ро1уЬоп, были построены графики времени выполнения и объема используемой памяти в зависимости от числа шагов для задачи обращения (рис. 1, 2) и для задачи восстановления ключа (рис. 3, 4). Также приведены графики максимального числа ячеек обобщенного клеточного автомата, для которого возможно решение задачи обращения (рис. 5) и задачи восстановления ключа (рис. 6).

Рис. 1. Время обращения обобщенного клеточного автомата с помощью базисов Гребнера

посредством библиотеки Ро1уЪоп

Рис. 2. Память, необходимая для обращения обобщенного клеточного автомата с помощью базисов Гребнера посредством библиотеки Ро1уЪоп

Рис. 3. Время восстановления ключа обобщенного клеточного автомата с помощью базисов Гребнера посредством библиотеки Ро1уЪоп

Рис. 4. Память, необходимая для восстановления ключа обобщенного клеточного автомата с помощью базисов Гребнера посредством библиотеки Ро1уЪоп

Рис. 5. Максимальное число ячеек обобщенного клеточного автомата, который может быть обращен с помощью базисов Гребнера посредством библиотеки Ро1уЬоп

Рис. 6. Максимальное число ячеек обобщенного клеточного автомата, для которого может быть восстановлен ключ с помощью базисов Гребнера посредством библиотеки Ро1уЬоп

6. Обсуждение результатов вычислительного эксперимента

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

Из табл. 1 видно, что решить задачу обращения обобщенного клеточного автомата с помощью системы Magma можно лишь в случае совсем маленьких автоматов, причем время работы и требования к памяти быстро растут с увеличением числа ячеек и числа шагов. Так, в случае, если значение kN больше 32, то не хватает 16 ГБ оперативной памяти (здесь k — число шагов, а N — число ячеек обобщенного клеточного автомата).

Из табл. 2 аналогично видно, что решить задачу восстановления ключа с помощью системы Magma можно лишь в случае совсем маленьких автоматов, причем время работы быстро растет с увеличением числа ячеек и числа шагов, а особенно быстро растут требования к памяти. Так, в случае, если значение kN больше 45, имеющихся 16 ГБ оперативной памяти не хватает (здесь k — число шагов, а N — число ячеек обобщенного клеточного автомата).

Из рис. 1, 2, 5 видно, что решить задачу обращения обобщенного клеточного автомата с помощью библиотеки Polybori представляется возможным лишь для малых значений числа ячеек (10 - 24, в зависимости от числа шагов) и их число практически линейно уменьшается с увеличением числа шагов.

Из рис. 3, 4 и 6 видно, что решить задачу восстановления ключа обобщенного клеточного автомата с помощью библиотеки Polybori представляется возможным лишь для малых значений числа ячеек (14-20, в зависимости от числа шагов).

Следует заметить, что характер кривых, приведенных на рис. 1,2 а также на рис. 3, 4, экспоненциальный.

Кроме того, из полученных результатов видно, что реализация алгоритма Фужера F4 в библиотеке Polybori значительно более эффективна, чем в системе Magma.

Заключение

Эмпирически подтверждено, что построение базиса Гребнера посредством алгоритма Фужера F4, с использованием как библиотеки Polybori, так и системы компьютерной алгебры Magma, возможно лишь для очень малых обобщенных клеточных автоматов (не более 24 ячеек при 3-4 шагах). При этом сложность по времени и, в особенности, сложность по памяти, растет очень быстро.

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

Работа выполнена при финансовой поддержке РФФИ в рамках научного проекта № 1607-00542 а.

Список литературы

1. Аржанцев И. Базисы Гребнера и системы алгебраических уравнений. М.: МЦНМО, 2003. 68 с.

2. Бухбергер Б., Калме Ж. Компьютерная алгебра: Символические и алгебраические вычисления / Бухбергер Б., Калме Ж., Калтофен Э. и др.; под ред. Н.Н. Говоруна. М.: Мир, 1986. 391 с. [Computer algebra: symbolic and algebraic computation / Ed. by B. Buchberger. W.; N.Y.: Springer, 1982. 283 p.].

3. Ключарёв П.Г. Блочные шифры, основанные на обобщенных клеточных автоматах // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2012. № 12. С. 361-374. DOI: 10.7463/0113.0517543

4. Ключарёв П.Г. Построение псевдослучайных функций на основе обобщенных клеточных автоматов // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2012. № 10. С. 263-274. DOI: 10.7463/1112.0496381

5. Ключарёв П.Г. Криптографические хэш-функции, основанные на обобщенных клеточных автоматах // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2013. № 1. С. 161-172. DOI: 10.7463/0113.0534640

6. Ключарёв П.Г. Построение случайных графов, предназначенных для применения в криптографических алгоритмах, основанных на обобщенных клеточных автоматах // Математика и математическое моделирование. Электрон. журн. 2017. №3. С. 77-90. DOI: 10.24108/mathm.0317.0000076.

7. Кокс Д., Литтл Дж., О'Ши Д. Идеалы, многообразия и алгоритмы. Введение в вычислительные аспекты алгебраической геометрии и коммутативной алгебры. М.: Мир, 2000. 687 с. [Cox D., Little J., O'Shea D. Ideals, varieties and algorithms: An introduction to computational algebraic geometry and commutative algebra. 2nd ed. N.Y.: Springer, 1998. 536 p.].

8. Bard G. Algebraic cryptanalysis. Dordrecht; N.Y.: Springer, 2009. 356 p.

9. Becker Th., Kredel H., Weispfenning V. Grobner bases: A computational approach to commutative algebra. N.Y.: Springer, 2012. 576 p.

10. Bosma W., Cannon J., Playoust C. The Magma algebra system. I. The user language // J. of Symbolic Computation. 1997. Vol. 24, no. 3-4. Pp. 235-265. DOI: 10.1006/jsco.1996.0125

11. Brickenstein M., Dreyer A. POLYBoRI: A framework for Grobner-basis computations with Boolean polynomials //J. of Symbolic Computation. 2009. Vol. 44, no. 9. Pp. 1326-1345. DOI: 10.1016/j.jsc.2008.02.017

12. Buchberger B. An Algorithm for Finding a Basis for the Residue Class Ring of a Zero-dimensional Polynomial Ideal. Ph.D. thesis. Innsbruck, 1965. 58 p.

13. Buchberger B., Winkler F. Grobner bases and applications /Ed. by B. Buchberger, F. Winkler. Camb.; N.Y.: Camb. Univ. Press, 1998. 552 p.

14. Buchmann J., Pyshkin A., Weinmann R.-P. Block ciphers sensitive to Grobner basis attacks // Topics in Cryptology-CT-RSA 2006. B.; Hdbl.: Springer, 2006. Pp. 313-331. DOI: 10.1007/11605805_20

15. Cid C., Weinmann R.-Ph. Block ciphers: algebraic cryptanalysis and Grobner bases // Grobner bases, coding, and cryptography. B.; Hdbl.: Springer, 2009. Pp. 307-327. DOI: 10.1007/978-3-540-93806-4-17

16. Courtois N.T. General principles of algebraic attacks and new design criteria for cipher components // Advanced encryption standard - AES. B.; Hdbl.: Springer, 2005. Pp. 67-83. DOI: 10.1007/11506447-7

17. Courtois N.T. How fast can be algebraic attacks on block ciphers? // Symmetric Cryptography: Dagstuhl Seminar (Schloss Dagstuhl, Germany, January 7-12, 2007): Proceedings no. 07021. 2007. Режим доступа: http://drops.dagstuhl.de/opus/volltexte/2007/1013/pdf/07021. CourtoisNicolas.Paper.1013.pdf (дата обращения 13.10.2017).

18. Davidoff G., Sarnak P., Valette A. Elementary number theory, group theory and Ramanujan graphs. N.Y.: Camb. Univ. Press, 2003. 144 p.

19. Ene V., Herzog J. Grobner bases in commutative algebra. Providence: Amer. Math. Soc. 2012. 164 p.

20. Faugere J.-C. A new efficient algorithm for computing Grobner bases (F4) // J. of Pure and Applied Algebra. 1999. Vol. 139, no. 1-3. Pp. 61-88. DOI: 10.1016/S0022-4049(99)00005-5

21. Faugere J.-C. A new efficient algorithm for computing Grobner bases without reduction to zero (F5) // 2002 Intern. Symp. on symbolic and algebraic computation: ISSAC'02 (Lille, France, July 7-10, 2002): Proc. N.Y.: ACM Press, 2002. Pp. 75-83. DOI: 10.1145/780506.780516

22. Froberg R. An Introduction to Grobner Bases. Chichester; N.Y.: Wiley, 1997. 177 p.

23. Handbook of Magma functions (Provisional). Version 2.20 / Ed. by W. Bosma, J. Cannon, C. Fieker, A. Steel. Sydney, 2014. 5583 p.

24. Hoory S., Linial N., Wigderson A. Expander graphs and their applications // Bull. of the Amer. Math. Soc. 2006. Vol. 43, no. 4. Pp. 439-562.

25. Joux A. Algorithmic cryptanalysis. Boca Raton: CRC Press, 2009. 501 p.

26. Lazard D. Grobner bases, Gaussian elimination and resolution of systems of algebraic equations // Computer algebra: EUROCAL'83: European computer algebra conf. (London, England, March 28-30, 1983): Proc. B.; Hdbl.: Springer, 1983. Pp. 146-156. DOI: 10.1007/3-540-12868-9-99

27. Li H. Grobner bases in ring theory. Singapore: World Scientific, 2012. 284 p.

28. Lubotzky A., Phillips R., Sarnak P. Ramanujan graphs // Combinatorica. 1988. Vol. 8, no. 3. Pp. 261-277. DOI: 10.1007/BF02126799

29. Minato Sh. Zero-suppressed BDDs for set manipulation in combinatorial problems // 30th Intern. design automation conf.: DAC'98 (Dallas, Texas, USA, June 14-18, 1993): Proc. N.Y.: ACM, 1993. Pp. 272-277. DOI: 10.1145/157485.164890

30. Minato Sh. Zero-suppressed BDDs and their applications // Intern. J. on Software Tools for Technology Transfer. 2001. Vol. 3, no. 2. Pp. 156-170. DOI: 10.1007/s100090100038

31. Mishchenko A. An introduction to zero-suppressed binary decision diagrams. Режим доступа: https://people.eecs.berkeley.edu/ alanmi/publications/2001/tech01 _zdd_.pdf (дата обращения 13.10.2017).

32. Steger A., Wormald N. Generating random regular graphs quickly // Combinatorics Probability and Computing. 1 999. Vol. 8, no. 4. Pp. 377-396.

33. Sturmfels B. What is ... a Grobner basis? // Notices of the Amer. Math. Soc. 2005. Vol. 52, no. 10. Pp. 1199-1200.

Mathematics and Mathematical Modeling, 2017, no. 5, pp. 29-44.

DOI: 10.24108/mathm.0517.0000080

Received: 02.10.2017

Investigation of the Practical Possibility of Solving Problems on Generalized Cellular Automata Associated with Cryptanalysis by Algebraic Methods

Klyucharev P. G. *pk.iu8@yandex.ru

1Bauman Moscow State Technical University, Russsia

Keywords: algebraic cryptanalysis, generalized cellular automata, Groebner basis

A number of previous author's papers proposed methods for constructing various cryptographic algorithms, including block ciphers and cryptographic hash functions, based on generalized cellular automata. This one is aimed at studying a possibility to use the algebraic cryptanalysis methods related to the construction of Grobner bases for the generalized cellular automata to be applied in cryptography, i.e. this paper studies the possibility for using algebraic cryptanalysis methods to solve the problems of inversion of a generalized cellular automaton and recovering the key of such an automaton.

If the cryptographic algorithm is represented as a system of polynomial equations over a certain finite field, then its breach is reduced to solving this system with respect to the key. Although the problem of solving a system of polynomial equations in a finite field is NP-difficult in the general case, the solution of a particular system can have low computational cost.

Cryptanalysis based on the construction of a system of polynomial equations that links plain text, cipher-text and key, and its solution by algebraic methods, is usually called algebraic cryptanalysis. Among the main methods to solve systems of polynomial equations are those to construct Grobner bases.

Cryptanalysis of ciphers and hash functions based on generalized cellular automata can be reduced to various problems. We will consider two such problems: the problem of inversion of a generalized cellular automaton, which, in case we know the values of the cells after k iterations, enables us to find the initial values. And the task of recovering the key, which is to find the initial values of the remaining cells, using the cell values after k steps and the initial values of a part of the cells.

A computational experiment was carried out to solve the two problems above stated in order to determine the maximum size of a generalized cellular automaton for which the solution of these problems was possible.

Using a Python language program, random 6-regular Ramanujan graphs with the appropriate number of vertices were generated. For each graph, was generated a system of equations that describes the k steps of the corresponding generalized cellular automaton. For the systems obtained, the Grebner bases were constructed using the Fouger algorithm F4, the Magma system v2.21-5, and the Polybori 0.8.3 library. The experiments were carried out both for the inversion task and for the key recovery task. We used a 16-core 16 GB RAM Intel Xeon E5-2690 computer, OS Linux.

The article presents the results of experiments that confirm that the algebraic cryptanalysis of block ciphers and hash functions based on generalized cellular automata with the number of cells used in practice (of the order of several hundred or more) available tool based on the use of Grobner bases, is impossible.

References

1. Arzhantsev I.V. Bazisy Grebnera i sistemy algebraicheskikh uravnenij [Grobner bases and systems of algebraic equations]. Moscow: MTSNMO Publ., 2003. 68 p. (in Russian).

2. Computer algebra: symbolic and algebraic computation / Ed. by B. Buchberger. W.; N.Y.: Springer, 1982. 283 p. (Russ. ed.: Komp'yuternaia algebra: simvolicheskie i algebraicheskie vychisleniia. Moscow: Mir Publ., 1986. 391 p.).

3. Klyucharev P.G. Block ciphers based on generalized cellular automata. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2012, no. 12, pp. 361-374. DOI: 10.7463/0113.0517543 (in Russian).

4. Klyucharev P.G. Construction of pseudo-random functions based on generalized cellular automata. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2012, no. 10, pp. 2630-274. DOI: 10.7463/1112.0496381 (in Russian).

5. Klyucharev P.G. Cryptographic hash functions based on generalized cellular automata. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2013, no. 1, pp. 161-172. DOI: 10.7463/0113.0534640 (in Russian).

6. Klyucharev P.G. Random graph construction for cryptographic applications. Matematika i matematicheskoe modelirovanie [Mathematics and Mathematical Modeling], 2017, no. 3, pp. 77-90. DOI: 10.24108/mathm.0317.0000076. (in Russian).

7. Cox D., Little J., O;Shea D. Ideals, varieties and algorithms: An introduction to computational algebraic geometry and commutative algebra. 2nd ed. N.Y.: Springer, 1998. 536 p. (Russ. ed.: Cox D., Little J., O'Shea D. Idealy, mnogoobraziia i algoritmy. Vvedenie v vychislitel'nye aspekty algebaicheskojgeometrii i kommutativnoj algebry. Moscow: Mir Publ., 2000. 687 p.).

8. Bard G.V. Algebraic cryptanalysis. Dordrecht; N.Y.: Springer, 2009. 356 p.

9. Becker Th., Kredel H., Weispfenning V. Grobner bases: A computational approach to commutative algebra. N.Y.: Springer, 2012. 576 p.

10. Bosma W., Cannon J., Playoust C. The Magma algebra system. I: The user language. J. of Symbolic Computation, 1997, vol. 24, no. 3-4, pp. 235-265. DOI: 10.1006/jsco.1996.0125

11. Brickenstein M., Dreyer A. POLYBoRI: A framework for Grobner-basis computations with Boolean polynomials. J. of Symbolic Computation, 2009, vol. 44, no. 9, pp. 1326-1345. DOI: 10.1016/j.jsc.2008.02.017

12. Buchberger B. An algorithm for finding a basis for the residue class ring of a zero-dimensional polynomial ideal: Ph.D. thesis. Innsbruck, 1965. 58 p.

13. Buchberger B., Winkler F. Grobner bases and applications / Ed. by B. Buchberger, F. Winkler. Camb.; N.Y.: Camb. Univ. Press, 1998. 552 p.

14. Buchmann J., Pyshkin A., Weinmann R.-P. Block ciphers sensitive to Grobner basis attacks. Topics in Cryptology-CT-RSA 2006. B.; Hdbl.: Springer, 2006. Pp. 313-331. DOI: 10.1007/11605805_20

15. Cid C., Weinmann R.-Ph. Block ciphers: algebraic cryptanalysis and Grobner bases. Grobner bases, coding, and cryptography. B.; Hdbl.: Springer, 2009. Pp. 307-327. DOI: 10.1007/978-3-540-93806-4_17

16. Courtois N.T. General principles of algebraic attacks and new design criteria for cipher components. Advanced encryption standard - AES. B.; Hdbl.: Springer, 2005. Pp. 67-83. DOI: 10.1007/11506447_7

17. Courtois N.T. How fast can be algebraic attacks on block ciphers? Symmetric Cryptography: Dagstuhl Seminar (Schloss Dagstuhl, Germany, January 7-12, 2007): Proceedings no. 07021. 2007. Available at: http://drops.dagstuhl.de/opus/volltexte/2007/1013/pdf/07021. CourtoisNicolas.Paper.1013.pdf, accessed 13.10.2017.

18. Davidoff G., Sarnak P., Valette A. Elementary number theory, group theory andRamanujan graphs. N.Y.: Camb. Univ. Press, 2003. 144 p.

19. Ene V., Herzog J. Grobner bases in commutative algebra. Providence: Amer. Math. Soc. 2012. 164 p.

20. Faugere J.-C. A new efficient algorithm for computing Grobner bases (F4). J. of Pure and Applied Algebra, 1999, vol. 139, no. 1-3, pp. 61-88. DOI: 10.1016/S0022-4049(99)00005-5

21. Faugere J.-C. A new efficient algorithm for computing Grobner bases without reduction to zero (F5). 2002 Intern. Symp. on symbolic and algebraic computation: ISSAC'02 (Lille, France, July 7-10, 2002): Proc. N.Y.: ACM Press, 2002. Pp. 75-83. DOI: 10.1145/780506.780516

22. Froberg R. An Introduction to Grobner Bases. Chichester; N.Y.: Wiley, 1997. 177 p.

23. Handbook of Magma functions (Provisional). Version 2.20 / Ed. by W. Bosma, J. Cannon, C. Fieker, A. Steel. Sydney, 2014. 5583 p.

24. Hoory S., Linial N., Wigderson A. Expander graphs and their applications. Bull. of the Amer. Math. Soc., 2006, vol. 43, no. 4, pp. 439-562.

25. Joux A. Algorithmic cryptanalysis. Boca Raton: CRC Press, 2009. 501 p.

26. Lazard D. Grobner bases, Gaussian elimination and resolution of systems of algebraic equations. Computer algebra: EUROCAL'83: European computer algebra conf. (London, England, March 28-30, 1983): Proc. B.; Hdbl.: Springer, 1983. Pp. 146-156. DOI: 10.1007/3-540-12868-9-99

27. Li H. Grobner bases in ring theory. Singapore: World Scientific, 2012. 284 p.

28. Lubotzky A., Phillips R., Sarnak P. Ramanujan graphs. Combinatorica, 1988, vol.8, no. 3, pp. 261-277. DOI: 10.1007/BF02126799

29. Minato Sh. Zero-suppressed BDDs for set manipulation in combinatorial problems. 30thIntern. design automation conf.: DAC'98 (Dallas, Texas, USA, June 14-18, 1993): Proc. N.Y.: ACM, 1993. Pp. 272-277. DOI: 10.1145/157485.164890

30. Minato Sh. Zero-suppressed BDDs and their applications. Intern. J. on Software Tools for Technology Transfer, 2001, vol. 3, no. 2, pp. 156-170. DOI: 10.1007/s100090100038

31. Mishchenko A. An introduction to zero-suppressed binary decision diagrams. Available at: https://people.eecs.berkeley.edu/ alanmi/publications/2001/tech01 _zdd_.pdf accessed 13.10.2017.

32. Steger A., Wormald N. Generating random regular graphs quickly. Combinatorics, Probability and Computing, 1999, vol. 8, no. 4, pp. 377-396.

33. Sturmfels B. What is .. . a Grobner basis? Notices of the Amer. Math. Soc., 2005, vol. 52, no. 10, pp. 1199-1200.

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