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

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

CC BY
63
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБОБЩЕННЫЙ КЛЕТОЧНЫЙ АВТОМАТ / SAT-РЕШАТЕЛЬ

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

Работа посвящена исследованию практической возможности решения задачи о восстановлении ключа обобщенного клеточного автомата с помощью SAT-решателей.Рассматривается задача, которую мы назовем задачей восстановления ключа обобщенного клеточного автомата. Задачу эту сформулируем следующим образом. Дан обобщенный клеточный автомат, натуральное число s, начальные значения некоторых ячеек и значения некоторых ячеек после s шагов этого автомата. Требуется найти начальные значения остальных ячеек (их количество будем называть длиной ключа).Для решения этой задачи были опробованы SAT-решатели Picosat, MiniSat, Glucose, Lingeling, CryptoMiniSat. Лучшим оказался MiniSat, который и использовался в дальнейших вычислительных экспериментах.Задача восстановления ключа решалась для обобщенных клеточных автоматов малого размера посредством SAT-решателя MiniSat. В качестве графов этих автоматов использовались графы Пайзера. При этом длина ключа составляла приблизительно половину от числа ячеек автомата. В результате проведенного исследования оказалось, что время работы SAT-решателя весьма существенно (на несколько порядков) превышает оценку времени решения методом полного перебора на ПЛИС, а эмпирические зависимости времени работы SAT-решателя от длины ключа имеют экспоненциальный характер.Полученные результаты подтверждают, что SAT-решатели не позволяют эффективно решать рассматриваемую задачу. Это позволяет лучше обосновать криптографическую стойкость криптоалгоритмов, основанных на обобщенных клеточных автоматах, по отношению к основанным на использовании SAT-решателей методам криптоанализа.

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

Похожие темы научных работ по математике , автор научной работы — Ключарев П.Г.

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

Exploring Practicability for Solving a Task Based on the Generalized Cellular Automata via SAT Solvers

The paper deals with exploring practicability to solve a task of the recovery key of generalized cellular automata via SAT solvers.The problem, which we call a task of the key recovery of generalized cellular automata, is under consideration. This task is formulated as follows. The generalized cellular automata, the positive integer s, the initial values of some cells, and the values of some cells after the s steps of the automata are given. It is required to find the initial values of the remaining cells (their number will be called the key length).To solve the task, were tested Picosat, MiniSat, Glucose, Lingeling, and CryptoMiniSat SAT solvers. In further computational experiments, was used the MiniSat, which was the best.The key recovery task was solved for the generalized cellular automata of a small size via the MiniSat SAT solver. Pizer's graphs were used as graphs of the automata. The key length was approximately half the number of the cells in the automata. As a result of the study, it turned out that operation time of a SAT solver quite significantly (several orders of magnitude) exceeds the estimated time of solution using the FPGA exhaustive method, and the empirical dependencies of the SAT-solver operation time on the key length are exponential.The obtained results confirm that SAT solvers disable effective solving a task under consideration. This allows giving the better reasons for the cryptographic security of the crypto-algorithms based on the generalized cellular automata with regard to the cryptanalysis methods using SAT solvers.

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

Машиностроение U компьютерные технологии

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

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

// Машиностроение и компьютерные технологии.

2018. №11. С. 11-22. DOI: 10.24108/1118.0001439

Представлена в редакцию: 20.12.2018 © НП «НЭИКОН»

http://www.technomagelpub.ru ISSN 2587-9278 УДК 004.056.55+519.713

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

л &

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

Работа посвящена исследованию практической возможности решения задачи о восстановлении ключа обобщенного клеточного автомата с помощью 8ЛТ-решателей. Задача решалась для обобщенных клеточных автоматов малого размера посредством 8ЛТ-решателя Мт18а1;. В качестве графов этих автоматов использовались графы Пайзера. В результате проведенного исследования оказалось, что время работы 8ЛТ-решателя существенно превышает оценку времени решения методом полного перебора, а эмпирические зависимости времени работы 8ЛТ-решателя от длины ключа имеют экспоненциальный характер. Полученные результаты подтверждают, что 8ЛТ-ре-шатели не позволяют эффективно решать рассматриваемую задачу. Это позволяет лучше обосновать криптографическую стойкость криптоалгоритмов, основанных на обобщенных клеточных автоматах, по отношению к основанным на использовании 8ЛТ-решателей методам криптоанализа.

Ключевые слова: обобщенный клеточный автомат, 8ЛТ-решатель

В настоящее время разнообразные криптографические алгоритмы широко применяются в информационной безопасности и информатике. Для того, чтобы тем или иным криптоалгоритмом можно было пользоваться на практике, его стойкость по отношению к различным видам криптоанализа должна быть хорошо исследована. Один из современных методов криптоанализа заключается в представлении криптографических преобразований в виде конъюнктивных нормальных форм с последующим решением задачи КНФ-выполнимости (SAT) с использованием предназначенных для ее решения алгоритмов — так называемых SAT-решателей. Этот метод описывается в целом ряде источников, например, в монографии [1].

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

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

Введение

этому было положено в работе [2]). Основной задачей настоящей работы является исследование производительности SAT-решателей на соответствующих обобщенным клеточным автоматам конъюнктивных нормальных формах, с целью подтверждения стойкости основанных на таких автоматах криптоалгоритмов по отношению к атакам, базирующимся на использовании SAT-решателей.

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

В этом разделе приведем необходимые определения. Сначала отметим, что в данной работе мы используем термин «граф», допуская кратные ребра и петли.

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

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

mi(t) = fi(mv(i,i)(t - 1),mv(i,2)(t - 1),... ,mn(i,di)(t - 1)), (1)

где r¡(i,j) — номер вершины, из которой выходит ребро, входящее в вершину i и имеющее относительно этой вершины номер j.

В данной работе мы будем рассматривать только неориентированные обобщенные клеточные автоматы, т.е. такие, что для каждого ребра (u, v) в графе этого автомата существует и ребро (v,u). Если заменить каждую пару ориентированных ребер (u,v) и (v,u) на неориентированное ребро {u, v}, то такой граф можно рассматривать как неориентированный. Кроме того, ограничимся рассмотрением лишь автоматов, графы которых являются регулярными (т.е. dl = ... = dN = d).

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

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

2. Задача восстановления ключа обобщенного клеточного автомата

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

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

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

Пусть известны начальные значения ячеек с номерами иь u2, . .., unieft: au1, aU2, .. ., aUnkft и конечные значения ячеек с номерами v1, v2, .. ., vnright: fiv1, Pv2, . .., evnright (конечными значениями ячеек будем называть значения ячеек после s шагов автомата). Пусть F(zi,... zd, y) — КНФ, которая равна единице тогда и только тогда, когда выполняется равенство y = f (z1,..., zd). Тогда s шагам обобщенного клеточного автомата соответствует КНФ:

/"left ^ \ /"right \ /э-1 N \

Л xj) А[ Л xj+sN) А[ Л Л F (Xv(i,1)+kN ,xn(i,2)+hN, . . .,xn(i,d)+kN, xi+(fc+1)N) , (2)

\j=1 J \j=1 J \k=0 i=1 J

где применяется обычное обозначение:

xa

x, a = 0.

В КНФ (2) переменная х^^м соответствует значению ¿-й ячейки на шаге ] (где г € {1, 2, ..., N}).

Набор, на котором КНФ (2) равна единице, содержит решение задачи восстановления ключа обобщенного клеточного автомата.

Для того чтобы можно было проводить эксперименты, выберем конкретные параметры. В качестве графов обобщенных клеточных автоматов будем использовать 6-регулярные графы Пайзера. В качестве локальной функции связи будем использовать функцию:

f (Х1,Х2 ,Хз,Х4,Х5,Хб) = Х1Х3Х5 ф Х3Х4 ф Х5Х6 ф Х3Х5 ф Х1Х5 ф XI ф Х2 ф 1. (3)

x, a

По этой функции была получена следующая КНФ (которая равна единице тогда и только тогда, когда выполняется y = f (xi,..., x6)):

F (х1,Х2,Хз,Х4,Х5,Хб ,y) =

= (x1 V x2 V x3 V x4 V x5 V хб V y) Л (x1 V x2 V x3 V x4 V x5 V y) Л (x1 V x2 V x3 V x4 V хб V y) Л

Л (x1 V x2 V x3 V x5 V y) Л (x1 V x2 V x4 V x5 V x6 V y) Л (x1 V x2 V x4 V x5 V y) Л Л (x1 V x2 V x4 V x6 V y) Л (x1 V x2 V x3 V x4 V x5 V x6 V y) Л (x1 V x2 V x3 V x4 V x5 V y) Л Л (x1 V x2 V x3 V x4 V x6 V y) Л (x1 V x2 V x3 V x5 V y) Л (x1 V x2 V x4 V x5 V x6 V y) Л Л (x1 V x2 V x4 V x5 V y) Л (x1 V x2 V x4 V x6 V y) Л (x1 V x2 V x3 V x4 V x5 V y) Л Л (x1 V x2 V x3x4 V x5 V x6 V y) Л (x1 V x2 V x3 V x4 V x6 V y) Л (x1 V x2 V x3 V x5 V y) Л Л (x1 V x2 V x4 V x5 V x6 V y) Л (x1 V x2 V x4 V x5 V x6 V y) Л (x1 V x2 V x4 V x5 V y) Л Л (x1 V x2 V x3 V x4 V x5 V y) Л (x1 V x2 V x3 V x4 V x5 V x6 V y) Л (x1 V x2 V x3 V x4 V x6 V y) Л Л (x1 V x2 V x3 V x5 V y) Л (x1 V x2 V x4 V x5 V x6 V y) Л (x1 V x2 V x4 V x5 V x6 V y) Л Л (x1 V x2 V x4 V x5 V y) Л (x2 V x3 V x5 V x6 V y) Л (x2 V x3 V x5 V x6 V y) Л

Л (x2 Vx3 Vx5 Vx6 Vy) Л (x2 Vx3 Vx5 Vx6 Vy).

Указанная КНФ является кратчайшей. Она получена с помощью системы компьютерной алгебры Wolfram Mathematica 11.3 (использовалась функция BooleanMinimize).

Для определенности будем полагать известными начальные значения ячеек с номерами 1, 2, . .., |_N/2j и конечные значения этих же ячеек. Значения остальных ячеек будем считать неизвестными. Необходимо найти начальные значения ячеек с номерами |_N/2j + 1, |_N/2j + 2, ..., N (т.е. длина ключа составляет [N/2] ячеек). В таком случае, формула (2) преобразуется в следующую формулу:

/LN/2J ч /LN/2J х /8-1 N \

I Д Л I Д x^+sH Л I Д Д F(xn(i,1)+fcN, xn(i,2)+fcN, . . . , xn(i,6)+fcN, xi+(fc+1)N П , (4) V j=1 / V j=1 / \fc=o ¿=1 /

где a1, a2, ..., «lN/2j — начальные значения первых |_N/2j ячеек, а в1, в2, .. ., ^LN/2J — их же конечные значения. Функция п соответствует тому или иному графу Пайзера.

Отметим, что очевидным способом решения является перебор всех возможных наборов начальных значений ячеек с номерами |_N/2j + 1, . .., N, объем которого составляет 2^N/2^ итераций.

3. Вычислительные эксперименты

Задача о КНФ-выполнимости (SAT) — одна из наиболее известных NP-полных задач. Она состоит в том, что требуется определить, существует ли набор, на котором булева функция, заданная конъюнктивной нормальной формой (КНФ), равна единице.

В данном случае, необходимо найти набор, на котором формула вида (4) равна единице. Для этого будем использовать специализированный алгоритм для решения задачи о КНФ-выполнимости — SAT-решатель (SAT-solver).

В настоящее время существует большое число SAT-решателей (им посвящена, например, книга [7]). Большинство из них являются развитием алгоритма DPLL [8], либо развитием рандомизированного алгоритма локального поиска (например, алгоритм PPSZ [9]). Подробное рассмотрение различных SAT-решателей выходит далеко за рамки данной статьи. Здесь мы лишь выберем SAT-решатель, более других подходящий для решения рассматриваемой задачи, и, пользуясь им, проведем замеры времени ее решения.

SAT-решатели выполнялись на компьютере с 16 ядрами Intel Xeon E5-2609 и 10 ГБ ОЗУ под управлением ОС Linux (дистрибутив Ubuntu 16.04 LTS). Программа, генерирующая КНФ вида (4) и вызывающая SAT-решатель, была написана на языке программирования Python 2.7 (использовался интерпретатор версии 2.7.12).

Поскольку для различных задач могут лучше подходить различные SAT-решатели и определить, какой именно SAT-решатель лучше подходит для решения рассматриваемой задачи, можно только экспериментально, были рассмотрены следующие SAT-решатели: PicoSat 965 [11], MiniSat 2.2 [12, 13], Glucose 4.1 [14], Lingeling [15], CryptoMiniSat 5 [16]. Для каждого из них было измерено время последовательного решения задачи восстановления ключа для обобщенных клеточных автоматов, графами которых являются графы Пайзера степени 6 с числом вершин 20, 29,34,45, 50. Число шагов выбиралось равным шести. Результаты показаны на рис. 1. Лучшее время показал MiniSat, из чего можно сделать вывод, что для решения данной задачи он подходит лучше всего. Поэтому в дальнейших вычислительных экспериментах использовался именно он.

1000000 900000 800000 700000 600000

и

500000

ш

^ 400000 300000 200000 100000 0

10

Число ячеек

Рис. 1. Сравнение различных SAT-решателей

Как было сказано выше, задача восстановления ключа может быть решена полным перебором. Учитывая, что обобщенные клеточные автоматы предназначены для аппаратной реализации, в том числе, с использованием программируемых логических интегральных схем (ПЛИС), наиболее целесообразно осуществлять перебор с помощью ПЛИС. На основании данных, полученных автором в работах [17, 18], можно сказать, что ориентировочная производительность перебора для обобщенных клеточных автоматов, имеющих порядка сотен ячеек, составит 107... 109 итераций в секунду в зависимости от применяемой ПЛИС (мы рассматриваем ПЛИС Altera), тактовой частоты, особенностей реализации и других факторов (здесь на каждой итерации производится 10 шагов обобщенного клеточного автомата). При реализации большого числа автоматов на ПЛИС производительность перебора кратно вырастет. Для небольших автоматов, по-видимому, может быть достигнута большая производительность. Тем не менее мы будем считать подходящей для наших целей грубой нижней оценкой скорости перебора 107 итераций в секунду.

Были проведены замеры времени, требуемые для решения посредством SAT-решателя MiniSat 2.2 задачи восстановления ключа обобщенных клеточных автоматов, графы которых являются графами Пайзера степени 6 с различным числом вершин (длина ключа при этом равна [N/2], где N — число вершин графа). При этом использовалось различное число шагов обобщенного клеточного автомата. Результаты отражены в табл. 1 и на рис. 2. Там же для сравнения приведены оценочные данные по решению той же задачи методом полного перебора с использованием программируемых логических интегральных схем (ПЛИС). Видно, что решение с помощью SAT-решателя потребовало гораздо больше времени, чем полный перебор, а эмпирические зависимости времени работы SAT-решателя от размера обобщенного клеточного автомата (а следовательно, и от длины ключа, так как в экспериментах длина ключа равнялась [N/2], где N — размер) имеют экспоненциальный характер.

Таблица 1

Время решения задачи восстановления ключа обобщенного клеточного автомата с помощью 8ЛТ-решателя Мш18а1 и оценка времени решения той же задачи с помощью полного перебора на ПЛИС

Число ячеек Длина SAT- решатель MiniSat Перебор на ПЛИС,

(размер) ключа оценка

автомата 6 шагов 8 шагов 10 шагов 12 шагов 14 шагов 10 шагов

20 10 0,029 с 0,019 с 0,054 с 0,65 с 2,55 с 0,0001 с

29 15 3,29 с 0,59 с 8,20 с 12,89 с 1,87 с 0,003 с

34 17 22,11 с 1403 с 245 с 246 с 115,2 с 0,013 с

45 23 87,85 с 54582 с 69678 с 68402 с 186155 с 0,84 с

50 25 1157 с 11570 с > 1 мес. 896492 с 333818 с 3,35 с

55 28 80023 с 135183 с > 1 мес. > 1 мес. 26,8 с

59 30 291782 с > 1 мес. 107 с

64 32 > 1 мес. 429 с

250000

226135

Glucose Lingeling MiniSat PicoSat CryptoMiniSat

Рис. 2. Зависимости времени решения задачи восстановления ключа обобщенного клеточного автомата с помощью SAT-решателя MiniSAT от числа ячеек (размера) обобщенного клеточного автомата и оценка времени решения той же задачи с помощью полного перебора на ПЛИС

Заключение

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

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

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

1. Bard G.V. Algebraic Cryptanalysis. Dordrecht; N.Y.: Springer, 2009. 356 p.

2. Ключарёв П.Г. Клеточные автоматы, основанные на графах Рамануджана, в задачах генерации псевдослучайных последовательностей // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2011. № 10. Режим доступа: http://www.technomag.edu.ru/ doc/241308.html (дата обращения 25.12.2018).

3. Pizer A.K. Ramanujan graphs and Hecke operators // Bull. of the Amer. Math. Soc. 1990. Vol. 23, No. 1. Pp. 127-137. Режим доступа: https://www.ams.org/journals/bull/1990-23-01/ S0273-0979-1990-15918-X.pdf (дата обращения 26.12.2018).

4. Petit Ch. On graph-based cryptographic hash functions. Doct. diss. Louvain-laNeuve: Catholic Univ. of Louvain, 2009. 282 p.

5. Charles D.X., Lauter K.E., Goren E.Z. Cryptographic hash functions from expander graphs // J. Cryptology. 2009. Vol. 22, no. 1. Pp. 93-113. DOI: 10.1007/s00145-007-9002-x

6. 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

7. Handbook of satisfiability / Ed. by A. Biere. Amst.; Wash.: IOS Press, 2009. 966 p.

8. Davis M., Logemann G., Loveland D. A machine program for theorem-proving // Communications of the ACM. 1962. Vol. 5, no. 7. Pp. 394-397. DOI: 10.1145/368273.368557

9. Paturi R., Pudlak P., Saks M.E., Zane F. An improved exponential-time algorithm for k-SAT // J. of the ACM. 2005. Vol. 52, no. 3. Pp. 337-364. DOI: 10.1145/1066100.1066101

10. Быков А.Ю., Крыгин И.А., Муллин А.Р. Алгоритмы распределения ресурсов системы защиты между активами мобильного устройства на основе игры с нулевой суммой и принципа равной защищенности // Вестник Моск. гос. техн. ун-та им. Н.Э. Баумана. Сер. Приборостроение. Серия: Приборостроение. 2018. №2 (119). С. 48-68. DOI: 10.18698/0236-3933-2018-2-48-68

11. Biere A. PicoSAT essentials // J. on Satisfiability, Boolean Modeling and Computation. 2007. Vol. 4. Pp. 75-97. Режим доступа: https://satassociation.org/jsat/index.php/jsat/article/ view/45 (дата обращения 27.12.2018).

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

12. Een N., Sorensson N. MiniSAT v1.13 — A sat solver with conflict-clause minimization // SAT Competition 2005: 8th Intern. Conf. on theory and applications of satisfiability testing: SAT 2005 (St. Andrews, Scotland, UK, June 19-23, 2005): Proc. 2005. Pp. 502-518. Режим доступа: http://minisat.se/downloads/MiniSAT_v1.13_short.pdf (дата обращения 27.12.2018).

13. Een N., Sorensson N. An extensible SAT-solver // Theory and applications of satisfiability testing: 6th Intern. Conf. on theory and applications of satisfiability testing: SAT 2003 (Santa Marherita Ligure, Italy, May 5-8, 2003): Selected revised papers. B.; Hdbl.: Springer, 2004. Pp. 502-518. DOI: 10.1007/978-3-540-24605-3,37

14. Audemard G., Simon L. On the Glucose SAT solver // Intern. J. on Artificial Intelligence Tools. 2018. Vol. 27, no. 01. Pp. 1-25. DOI: 10.1142/s0218213018400018

15. Biere A. CaDiCaL, lingeling, plingeling, treengeling, YalSAT entering the SAT Competition 2017 // SAT Competition 2017: Solver and Benchmark Descriptions: 20th Intern. Conf. on theory and applications of satisfiability testing: SAT 2017 (Melbourne, Australia, Aug. 28 - Sept. 1, 2017): Proc. Vol. B-2017-1. Helsinki, 2017. Pp. 14-15. Режим до-

ступа: http://fmv.jku.at/papers/Biere-SAT-Competition-2017-solvers.pdf (дата обращения 27.12.2018).

16. Soos M., Nohl K., Castelluccia C. Extending SAT solvers to cryptographic problems // Theory and applications of satisfiability testing: 12th Intern. Conf. on theory and applications of satisfiability testing: SAT 2009 (Swansea, UK, June 30-July 3, 2009): Proc. B.; Hdlb.: Springer, 2009. Pp. 244-257. DOI: 10.1007/978-3-642-02777-2-24

17. Ключарёв П.Г. Производительность и эффективность аппаратной реализации поточных шифров, основанных на обобщенных клеточных автоматах // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2013. № 10. С. 299-314. Режим доступа: http://technomag.edu.ru/doc/624722.html (дата обращения 25.12.2018).

18. Ключарёв П.Г. Реализация криптографических хэш-функций, основанных на обобщенных клеточных автоматах, на базе ПЛИС: производительность и эффективность // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2014. № 1. С. 214-223. DOI: 10.7463/0114.0675812

Mechanical Engineering & Computer Science

http://www.technomagelpub.ru ISSN 2587-9278

Exploring Practicability for Solving a Task based on the generalized cellular automata via SAT solvers

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

1Bauman Moscow State Technical University, Russia

Keywords: generalized cellular automata, SAT-solver

Mechanical Engineering and Computer Science, 2018, no. 11, pp. 11-22.

DOI: 10.24108/1118.0001439

Received: 20.12.2018

© NEICON

The paper deals with exploring practicability to solve a task of the recovery key of generalized cellular automata via SAT solvers.

The problem, which we call a task of the key recovery of generalized cellular automata, is under consideration. This task is formulated as follows. The generalized cellular automata, the positive integer s, the initial values of some cells, and the values of some cells after the s steps of the automata are given. It is required to find the initial values of the remaining cells (their number will be called the key length).

To solve the task, were tested Picosat, MiniSat, Glucose, Lingeling, and CryptoMiniSat SAT solvers. In further computational experiments, was used the MiniSat, which was the best.

The key recovery task was solved for the generalized cellular automata of a small size via the MiniSat SAT solver. Pizer's graphs were used as graphs of the automata. The key length was approximately half the number of the cells in the automata. As a result of the study, it turned out that operation time of a SAT solver quite significantly (several orders of magnitude) exceeds the estimated time of solution using the FPGA exhaustive method, and the empirical dependencies of the SAT-solver operation time on the key length are exponential.

The obtained results confirm that SAT solvers disable effective solving a task under consideration. This allows giving the better reasons for the cryptographic security of the crypto-algorithms based on the generalized cellular automata with regard to the cryptanalysis methods using SAT solvers.

References

1. Bard G.V. Algebraic Cryptanalysis. Dordrecht; N.Y.: Springer, 2009. 356 p.

2. Klyucharev P.G. Cellular automata based on Ramanujan graphs in pseudorandom sequence generation problems. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Edu-

cation of the Bauman MSTU], 2011, no. 10, Available at: http://www.technomag.edu.ru/ doc/241308.html, accessed 25.12.2018 (in Russian).

3. Pizer A.K. Ramanujan graphs and Hecke operators. Bull. of the Amer. Math. Soc., 1990, vol.23, no. 1, pp. 127-137. Available at: https://www.ams.org/journals/bull/1990-23-01/ S0273-0979-1990-15918-X.pdf, accessed 26.12.2018.

4. Petit Ch. On graph-based cryptographic hash functions. Doct. diss. Louvain-laNeuve: Catholic Univ. of Louvain, 2009. 282 p.

5. Charles D.X., Lauter K.E., Goren EZ. Cryptographic hash functions from expander graphs. J. Cryptology, 2009, vol. 22, no. 1, pp. 93-113. DOI: 10.1007/s00145-007-9002-x

6. 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

7. Handbook of satisfiability / Ed. by A. Biere. Amst.; Wash.: IOS Press, 2009. 966 p.

8. Davis M., Logemann G., Loveland D. A machine program for theorem-proving. Communications of the ACM, 1962, vol. 5, no. 7, pp. 394-397. DOI: 10.1145/368273.368557

9. Paturi R., Pudlak P., Saks M.E., Zane F. An improved exponential-time algorithm for k-SAT. J. of the ACM, 2005, vol. 52, no. 3, pp. 337-364. DOI: 10.1145/1066100.1066101

10. Bykov A.Yu., Krygin I.A., Mullin A.R. Algorithms of the protection system between assets of a mobile device on the basis of zero-sum game and equal security principle. VestnikMGTU im. N.E. Baumana. Priborostroenie [Herald of the Bauman MSTU. Instrument Engineering], 2018, no. 2 (119), pp. 48-68. DOI: 10.18698/0236-3933-2018-2-48-68 (in Russian).

11. Biere A. PicoSAT essentials. J. on Satisfiability, Boolean Modeling and Computation, 2007, vol. 4, pp. 75-97. Available at: https://satassociation.org/jsat/index.php/jsat/article/view/45, accessed 27.12.2018.

12. Een N., Sorensson N. MiniSAT v1.13 — A sat solver with conflict-clause minimization. SAT Competition 2005: 8th Intern. Conf. on theory and applications of satisfiability testing: SAT 2005 (St. Andrews, Scotland, UK, June 19-23, 2005): Proc., 2005, pp. 502-518. Available at: http://minisat.se/downloads/MiniSAT-v1.13_short.pdf accessed 27.12.2018.

13. Een N., Sorensson N. An extensible SAT-solver. Theory and applications of satisfiability testing: 6th Intern. Conf. on theory and applications of satisfiability testing: SAT 2003 (Santa Marherita Ligure, Italy, May 5-8, 2003): Selected revised papers, B.; Hdbl.: Springer, 2004. Pp. 502-518. DOI: 10.1007/978-3-540-24605-3_37

14. Audemard G., Simon L. On the Glucose SAT solver. Intern. J. on Artificial Intelligence Tools, 2018, vol. 27, no. 01, pp. 1-25. DOI: 10.1142/s0218213018400018

15. Biere A. CaDiCaL, lingeling, plingeling, treengeling, YalSAT entering the SAT Competition 2017. SAT Competition 2017: Solver and Benchmark Descriptions: 20th Intern. Conf. on theory and applications of satisfiability testing: SAT 2017 (Melbourne, Australia,

Aug. 28 { Sept. 1, 2017): Proc., vol. B-2017-1. Helsinki, 2017. Pp. 14-15. Available at: http://fmv.jku.at/papers/Biere-SAT-Competition-2017-solvers.pdf accessed 27.12.2018.

16. Soos M., Nohl K., Castelluccia C. Extending SAT solvers to cryptographic problems. Theory and applications of satisfiability testing: 12th Intern. Conf. on theory and applications of satisfiability testing: SAT 2009 (Swansea, UK, June 30-July 3, 2009): Proc., B.; Hdlb.: Springer, 2009. Pp. 244-257. DOI: 10.1007/978-3-642-02777-2-24

17. Klyucharev P.G. Performance and effectiveness of hardware realization of stream ciphers based on generalized cellular automata. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2013, no. 10, pp. 299-314. Available at: http://technomag.edu.ru/doc/624722.html accessed 25.12.2018 (in Russian).

18. Klyucharev P.G. The FPGA realization of the general cellular automata based cryptographic hash functions: Performance and effectiveness. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2014, no. 1, pp. 214-223. DOI: 10.7463/0114.0675812 (in Russian).

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