ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ ИНФОРМАТИКИ, ПРИКЛАДНОЙ МАТЕМАТИКИ, КОМПЬЮТЕРНЫХ НАУК И КОГНИТИВНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
УДК 519.7
DOI: 10.25559^ГПТО.15.20190г52-58
Вычисление минимальной степени многочлена над конечным полем для векторного булевого отображения, заданного полиномами Жегалкина
С. А. Белов
Московский государственный университет имени М.В. Ломоносова, г. Москва, Россия serbel.sci@gmail.com
Аннотация
Рассматриваются векторные отображения над множеством из нуля и единицы, заданные множеством булевых функций. Булевы функции, входящие в отображение, в свою очередь, задаются полиномами Жегалкина. Зафиксировав правило, по которому двоичным векторам ставятся в соответствие элементы конечного поля характеристики два, получаем взаимно-однозначное соответствие между отображениями векторного пространства в себя и функциями над конечным полем. Конечное поле рассматривается как кольцо многочленов с операциями сложения и умножения по модулю выбранного неприводимого многочлена. Известно, что любую функцию над конечным полем можно записать в виде полинома. При этом для различных неприводимых многочленов полиномы над конечным полем, соответствующие заданному векторному отображению, в общем случае, могут быть различными и иметь различные степени. Рассматривается задача поиска такого неприводимого многочлена, чтобы степень полинома над конечным полем была минимальной, при условии, что соответствие между двоичными векторами и элементами конечного поля задаётся использованием полиномиального базиса конечного поля. Для решения задачи булевы функции представляются своими трейс-формами. Из этого представления коэффициенты полинома над конечным полем выражаются через элементы дуального базиса конечного поля. Затем элементы дуального базиса выражаются через полиномиальный базис конечного поля и коэффициенты неприводимого многочлена. Таким образом, коэффициент полинома над конечным полем выражаются в полиномиальном базисе конечного поля. Полученные уравнения сводятся к системе булевых уравнений для коэффициентов неприводимого многочлена. Для решения системы булевых уравнений используется SAT-реша-тель. Приведены оценки сложности получения указанной системы булевых уравнений.
Ключевые слова: конечное поле, булевы функции, трейс-форма, интерполяционный криптоанализ, SAT-решатели.
Для цитирования: Белов С. А. Вычисление минимальной степени многочлена над конечным полем для векторного булевого отображения, заданного полиномами Жегалкина // Современные информационные технологии и ИТ-образование. 2019. Т. 15, № 1. С. 52-58. DOI: 10.25559/ SITITO.15.201901.52-58
Q ®
Контент доступен под лицензией Creative Commons Attribution 4.0 License. The content is available under Creative Commons Attribution 4.0 License.
Современные информационные технологии и ИТ-образование
Том 15, № 1. 2019 ISSN 2411-1473 sitito.cs.msu.ru
THEORETICAL QUESTIONS OF COMPUTER SCIENCE, COMPUTATIONAL MATHEMATICS, COMPUTER SCIENCE AND COGNITIVE INFORMATION TECHNOLOGIES
Calculation of the Minimum Degree of a Polynomial over a Finite Field for a Vector Boolean Map Given in ANF
S. A. Belov
Lomonosov Moscow State University, Moscow, Russia serbel.sci@gmail.com
Abstract
We consider vector mappings over the set of 0 and 1 given by the set of Boolean functions. Boolean functions included in the map are given in ANF. Having fixed the rule according to which the binary vectors are associated with the elements of a finite field of characteristic two, we obtain a one-to-one correspondence between the mappings of the vector space into itself and the functions over the finite field. The finite field is considered as a ring of polynomials with the operations of addition and multiplication modulo the selected irreducible polynomial. It is known that any function over a finite field can be written as a polynomial. Moreover, for various irreducible polynomials, the polynomials over a finite field, corresponding to a given vector map, may in general be different and have different properties. We consider the problem of finding an irreducible polynomial such that the degree of a polynomial over a finite field is minimal, provided that the correspondence between binary vectors and elements of a finite field is given by using a polynomial basis of a finite field. We present an algorithm to solve this problem. Firstly we rewrite Boolean functions in trace form and calculate expressions for finite field polynomial coefficients. Then we calculate elements of dual basis as an expression of polynomial basis. Using them we obtain system pf Boolean equations. Finaly we solve system of Boolean equations by SAT-solver and filter reducible polynomials. We estimate of the complexity of obtaining the specified system of Boolean equations is O(rd\d4nlog(n) bitwise operations.
Keywords: Finite Field, Boolean Function, Trace Form, Interpolation Cryptanalysis, SAT-Solvers.
For citation: Belov S.A. Calculation of the Minimum Degree of a Polynomial over a Finite Field for a Vector Boolean Map Given in ANF. Sovremennye informacionnye tehnologii i IT-obrazovanie = Modern Information Technologies and IT-Education. 2019; 15(1):52-58. DOI: 10.25559/SITI-TO.15.201901.52-58
Modern Information Technologies and IT-Education
ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ ИНФОРМАТИКИ, ПРИКЛАДНОМ МАТЕМАТИКИ,
КОМПЬЮТЕРНЫХ НАУК И КОГНИТИВНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ С А Белов
1. Введение
В работе [1] Якобсеном и Кнудсеном был предложен метод криптоанализа блочных шифров, названный ими «Интерполяционный криптоанализ». Авторами было показано, что атака эффективна, когда степень полинома раундовой функции блочного шифра над конечным полем невелика. В работе [2] показано, что степень полинома над конечным полем, соответствующего булевому отображению, может сильно различаться в зависимости от выбора неприводимого многочлена для построения конечного поля. В этой работе была исследована структура ненулевых коэффициентов полиномов над конечным полем булевого отображения при выборе различных неприводимых многочленов. Авторы показали, как связаны коэффициенты полиномов одного и того же булевого отображения при выборе различных неприводимых многочленов для построения конечного поля. В представленной работе рассматривается вопрос нахождения таких неприводимых многочленов путём сведения этой задачи к задаче решения системы булевых уравнений. При этом считается, что булевы функции задаются своими полиномами Жегалкина. Представленный метод особенно эффективен при условии, что степени булевых функций невелики по сравнению с количеством переменных.
1.2 SAT-решатели
Вопросы, связанные с алгебраическими характеристиками криптографических отображений широко освещены в алгебраическом криптоанализе. Основной идеей алгебраического криптоанализа является сведение исходной задачи криптоанализа к системе булевых уравнений и решению полученной системы. В общем случае, решение произвольной системы булевых уравнений является сложной задачей. Для решения возникающих на практике при решении задач криптоанализа используются SAT-решатели. Впервые идея сведения задачи криптоанализа к проблеме SAT была предложена в работе [3], где SAT-решатель использовался для восстановления ключей DES. Предложенный метод был назван авторами «Логический криптоанализ». Авторы работы [4] предложили метод анализа стойкости хэш-функций MD4 и MD5 к атаке нахождения прообраза. В работе [5] SAT-решатель был использован для автоматизации части атаки для поиска коллизий, описанной в [6]. Также в работе [5] было упомянуто, что хотя прямое использование SAT-решателей не в состоянии взломать современные криптографические системы, но их использование является полезным в комбинации с другими методами криптоанализа. В работе [7] авторы продемонстрировали это, рассмотрев атаку на хэш-функцию MD4 [8]. Примеры использования SAT-решателей для анализа потоковых шифров можно найти, например, в [9], [10]. Работа [11] посвящена алгебраическому криптоанализу шифра Keeloq. Сравнение эффективности SAT-решателей и методов, основанных на бизисах Грёбнера можно найти в [12]. SAT-решатели также применяются в задачах программной верификации [13, 14], проверки моделей [15, 16] и других. Существует множество программных реализаций
SAT-решателей, например, Z31, MiniSAT2, Cryptominisat3 и другие.
1.3 Определения и обозначения
Введём определения и обозначения, которые будут использованы в дальнейшем, а также необходимые утверждения из теории конечных полей:
GF (q) — конечное поле из q элементов. Для конечного поля GF(q) число q имеет вид q = p", где p — простое число, а п — натуральное. Число p называется характеристикой конечного поля. Далее записи GF (q) и GF (pбудем считать равнозначными.
Fq [x] — множество многочленов переменной x над полем GF(q). Любая функция f .GF(q)^GF(q) может быть представлена в виде многочлена одной переменной над полем GF (q) степени не более q-1.
Tr (x) _ ^x1' — функция «след» в поле GF (2"). Определённая
i=0
таким образом функция является отображением из GF (2") в GF (2).
Два базиса а0,...,ап_1 и в0,..., вп-1 конечного поля будем называть дуальными, если T ( „ \_J°' iф j \а<Р>> _[1, i _ j Пусть F — функция над GF (q). Через deg (F) будем обозначать степень полинома этой функции над конечным полем. Через Perm (K) будем обозначать множество всех перестановок элементов множества K.
Булева функция от п переменных f (,...,x^j может быть единственным образом представлена в виде многочлена от переменных x1,...,xn. Такое представление называется полиномом Жегалкина и имеет вид
a
®
a,.
Х- Х- ...Д.
\,1г,..,1к !j ¡2
1<\ <...<1„ <п,те{1,2,. Пусть / — булева функция от п переменных. Через def (f) будем обозначать степень булевой функции, т.е. число переменных в самом длинном слагаемом полинома Жегалкина функции
Г.
Старшими мономами булевой функции называются мономы её полинома Жегалкина, имеющие длину, равную степени булевой функции.
При изложении будем рассматривать функцию F :{0,1}" ^ {0,1}" , с одной стороны, как функцию над конечным полем F: GF(2"GF(2"), с другой стороны, как вектор булевых функций F{х) = (£ (,...,Хп),...,¡п (,...,хп)), где £ (,...,х„) — булева функция от п переменных. В таком случае будем говорить, что булевы функции /,...,/п составляют функцию Г.
2. Полиномы Жегалкина
Пусть GF (2) — поле из двух элементов, а GF (2") — его расширение степени п. Тогда булеву функцию от п переменных f (хо> ■•• >хп-1) можно представить в виде функции Р \ОР(2) . Или, так как GF(2) является подполем GF (2"),
Обозначим через а0,...базис конечного поля, а через
1 Z3 Theorem Prover/z3 [Электронный ресурс]. URL: https://github.com/Z3Prover/z3 (дата обращения: 21.01.2019).
2 MiniSat Page [Электронный ресурс]. URL: http://minisat.se/ (дата обращения: 21.01.2019).
3 SoosM. Cryptominisat [Электронный ресурс]. URL: https://github.com/msoos/cryptominisat (дата обращения: 21.01.2019).
Современные информационные технологии и ИТ-образование
Том 15, № 1. 2019 ISSN 2411-1473 sitito.cs.msu.ru
S. A. Belov
THEORETICAL QUESTIONS OF COMPUTER SCIENCE, COMPUTATIONAL MATHEMATICS, COMPUTER SCIENCE AND COGNITIVE INFORMATION TECHNOLOGIES
55
Ро> — дуальный к нему базис. Тогда для любого
хеСпР^"^ однозначно определено разложение по базису х=^\х!х', а в силу двойственности базисов верно х1=Тг(вх). ¡=о
Таким образом, для любой булевой функции /(х0, ..^х^) имеет место равенство п /(х0, ...,х„_,)=/(7>(/)0х),7>(Ах), ...,Тг(р^х)) = %х\С1
«w-X^" > в) ( I
¡=0 / л / I \№i.....Мер
i=o irr
/ "-1
У-У( z
...,ted)cPerm(if)
ßkjk2 -ßld
<2 n2
Такое представление булевой функции называется трейс-пред-ставлением. Трейс-представления булевых функций используется для анализа криптографических свойств булевых функций, [18, 19, 20].
Раскрывая скобки в предыдущем выражении и используя представления полинома Жегалкина получаем формулу для коэффициента ci многочлена булевой функции над конечным полем.
X ßT-ßtt
ft.....*.-iH>e"»(M"4-i)
Теорема 1. [21] Пусть / — булева функция от п переменных,
(/) = й. F(х):GF(2"GF(2) — представление / над полем GF (2").
Тогда deg^)< 2" -2"—, количество мономов в Г не превосходит .
¿=0
Теорема 2. Пусть / (хо>—>хп-\)=хц—х11 — булева функция степени d, состоящая из одного монома.
F(x) = |>,.x>=2"-2"-<i.
Тогда С„= X Р^РС-К (*1..........¡Л).
Доказательство. Для старшего коэффициента существует (с точностью до перестановки) только один набор, дающий максимальную сумму по модулю 2" —1. Из этого и выражения для произвольного коэффициента следует утверждение теоремы. Теорема 3.
Пусть F(х): GF(2") ^ GF(Г),F(х) = ^х'
^,(х)-(/о(-*)>-.Л-1 (■*))» где /0,...,/п_х — булевы функции, (1) I — полином булевой функции f. над конечным
2" -1
F (x) = Zcr'x' i=0
полем GF(2") в полиномиальном базисе |l,0,02,...,0" d=max deg(ft), w = 2n-2"-". Тогда =^в'сУ
3. Выражения для дуального базиса
Пусть F(x)=(/0(jc),...,/b_1(x)) - полином над полем GF(2"). Обозначим g(х) = 1 + а1в +.. + an_ß"_ +в",a1,...,an-1 е{0,1} — неприводимый многочлен степени n над полем GF (2).
jl,0, — полиномиальный базис поля GF^2"), /?0.....
— дуальный к нему базис.й = max deg(fk), w = 2"-2"_<i. Di -
множество номеров переменных, входящих в старшие м ономы полинома Жегалкина булевой функции f (x). F (x) = ^c,X .
i=0
Согласно теореме 3
Рассмотрим задачу определения при каком неприводимом многочлене старшая степень равно нулю (что равносильно Сж= 0) и покажем, как свести эту задачу к задаче решения системы булевых уравнений с неизвестными а1,..., ап-1. Теорема 4. [17] Пусть а = {1,в,...,в"~1} -- полиномиальный базис поля GF(ри g(х) — минимальный многочлен элемента в над GF (р).
Пусть ё(^ = (х-в)(Ь0+Ь1х + ... + Ьп_1х?-'),Р0,Р1,...Рп_1,веОР(р") Тогда дуальным базисом к базису а является базис
в = [в0,вп-г] ,где в, = , ¿=0,1, ...,и-1 Я (У)
Утверждение 1. В GF(2") Ьп_х=\,Ъ1_1=вЪ1+а1,1 = п-\,...,\ Доказательство.
(х + в)(Ьп-1х"-1 + Ьп-2 хп-2 +... + Ь х + Ь0) = (х + в)[§Ъ1х' ^ =
%х'+1 + е%х' =вь0+§ (Ь-1+вь,) х'+ьп-1 х"
'=0 '=0 '=1
. л-1
Утверждение 2. Пусть в GF(2"] х" = ^¡х',т>п-»-1 '=° ' Тогда хт+1 = с„_! + £ (сн + с„_Л ) х'' .
Доказательство.
n-1 .. .
xm+i = xxm = YfiXM + cn-1xn = YfXM + c_
i=0
n-1
n-1
Yßix+1
V i=i
Ic-1
x + c„
Yßix+1
V i=i
=cn-i+YXci-i+cn-iai )x'
Подставляя выражения из теоремы 4 в выражение для Ск имеем:
3W
I
cw= 0«( ) в«"У (Y Wi-C)
Z- '
в«"у fy btbi...bCi)
Z-Ijed, V^-1»!-.ЛЙвЧПЯИ) "J
1=0
в"1 Y (у. о
V-Mli.....ktl&mnm 1
Используя формулы из утверждения 1, производим замену Ь0,...,Ьп-1 на многочлены переменной в, содержащие только неизвестные а1. Используя формулы из утверждения 2, преобразуем все выраж§11 ия вида в",т >п . В результате получим многочлен h(в) = '^к1 (,...,ап-1 )в' = 0. Из которого получаем ¡=0
систему булевых уравнений:
Modern Information Technologies and IT-Education
=0
ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ ИНФОРМАТИКИ, ПРИКЛАДНОЙ МАТЕМАТИКИ,
КОМПЬЮТЕРНЫХ НАУК И КОГНИТИВНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ С А Белов
h0 (al,•■■, "n-l ) = 0 h (al,•■■, "n-l )= 0
hn-1 (al,•■■, "n-l )= 0
Теорема 5. Пусть f(x0,...,xn-l) - булева функция n переменных степени d, содержащая r мономов степени d. Сложность перехода для старшего коэффициента не превосходит O(rd\d4nlog(n) битовых операций.
Доказательство. Согласно формуле для старшего коэффициента, необходимо подсчитать rd! выражений вида Ь^Ь^.-Ь^ . Изначально каждый элемент b представляет собой полином степени n с коэффициентами, являющимися полиномами Жегалкина степени 1. Возведение b в степень m требует O(log(m)nHbg(n)) операций умножения коэффициентов (полиномов Жегалкина При возведении элемента b в степень m длина этих полиномов Жегалкина не может стать более m. Для умножения двух полиномов Жегалкина длины t требуется O (t2) . битовых операций. Тогда для вычисления одного выражения вида требуется
£ log(2' )i2nlog(n) = O(nlog(n)) битовых' операций, а общая сложность
Обобщая вышеописанное получаем алгоритм сведения исходной задачи к системе булевых уравнений: Алгоритм 1:
1. Рассчитать b0,...,bn-l по формуле из утверждения 1;
2. Рассчитать в",m >n по формуле из утверждения 2;
3. Рассчитать коэффициент по формуле (1);
4. Решить систему булевых уравнений, используя SAT-реша-тель;
5. Отсеять решения, которые соответствуют приводимым многочленам;
6. Если остались решения — выдать соответствующие неприводимые многочлены. Иначе выдать НЕТ
7. Пример
В качестве примера рассмотрим S-box №2 для симметричного шифра ГОСТ 28147-89 из набора id-Gost28147-89-CryptoPro-B-ParamSet.
.s=[0,l,2,10,4,13,5,12,9,7,3,15,l 1,8,6,14] :GF(l6)—»GF (16) В неприводимый многочлен имеет степень 4: g(x) = l + aie + a2e2 +a363 +в\ o,,a2,a3 e {0,1}
S (je) = (Xq , X[, X2, Xj ) + Sj (Xq , JCj, X2, Xj ) 0 + Булевы функции, составляющие s (x ) равны:
Sq ( Xq , X., Xj, X. ^ — Xq X. X-. ф XqX| X, ф X()X?X, ф Xq X| ф X. X-, ф Xq X; © X| © Xj
Sj [Xq , X1 , X2 , X^ ) = XqXjX, ф X|X-. Ф XqX; Q) X|
S3(x0,xl,x2,x3) = Х„ХХ, ФXqX.X, фx0X| ФXqXj ФЯдЛ^ CDX|X, ОX, Максимальная степень равна булевой функции 3, поэтому максимальная степень полинома над конечным полем не превосходит 14. Старшие мономы равны:
Sq . XqX1X2 , XjjXjX^, Х0Х2Х3
• Xq -^з j
»Уд • x0 Xj X2 5 x0 Xj x3
Вычислим элементы дуального базиса b0,...,b3 : b,= 1 è2=O3+0
è,=a2+a30+02 èo=a1 + a20+a302+03
Рассчитаем таблицу значений степеней 8:
04 =l+a10 + a202 + a303
05 = а3 + (1+) 0+(^+а}а2 ) 02 + (a3 + а2 ) 03.
б7 =(a¡ +a3)+(aj+ахаъ +а2+а3)0
+(а3 + ajûj + а3а2 ) в2 + (1+а2 + аг + аъа2 ) 03
Подставив вычисленные значения получаем выражение для старшего коэффициента:
с14 =а2+ а2в+(oja2 + аъа2 + а2 ) 02 + (а3 + а^ + аъа2 ) 03
Приравнивая коэффициент к 0, получаем систему уравнений:
a2 = О a2 = О ala2 Ф a3a2 ф a2 = 0 a3 ф aa ф a3a2 = 0
Решениями являются наборы: (a1=0,a2=0,a3=0)
(ßi=l,fl2=0,a3=0)
(^=1,02=0,03=1) Им соответствуют многочлены 1+04 1+0+04 l+0+03+04
Так как многочлены 1+0 и 1+0+03+04 являются приводимыми, решением является многочлен 1+0+0 . Таким образом в конечном поле, построенном как факторкольцо многочлена 1+0+0 , этот полином имеет степень строго меньше 14. При остальных неприводимых многочленах степень полинома этой функции над конечным полем равна 14.
Заключение
В работе представлен метод сведения задачи поиска неприводимого многочлена, при котором заданное отображение над векторным пространством, как полином над конечным полем, будет иметь минимальную степень к решению системы булевых уравнений для коэффициентов неприводимого многочлена. При составлении системы булевых уравнений используются выражения, полученные из трейс-формы булевых функций. Для решения полученных систем булевых уравнений используются SAT-решатели.
Список использованных источников
[1] Jakobsen T., Knudsen L.R. The interpolation attack on block ciphers // Fast Software Encryption. FSE 1997. Lecture Notes in Computer Science / E. Biham (eds). Springer, Berlin, Heidelberg, 1997. Vol. 1267. Pp. 28-40. DOI: 10.1007/ BFb0052332
[2] Youssef A.M., Gong G. On the Interpolation Attacks on Block Ciphers // Fast Software Encryption. FSE 2000. Lecture
Современные информационные технологии и ИТ-образование
Том 15, № 1. 2019 ISSN 2411-1473 sitito.cs.msu.ru
THEORETICAL QUESTIONS OF COMPUTER SCIENCE, COMPUTATIONAL MATHEMATICS, S. A. Belov COMPUTER SCIENCE AND COGNITIVE INFORMATION TECHNOLOGIES
Notes in Computer Science / G. Goos, J. Hartmanis., J. van Leeuwen, B. Schneier (eds). Springer, Berlin, Heidelberg, 2001. Vol. 1978. Pp. 109-120. DOI: 10.1007/3-540-44706-7_8
[3] Massacci F., Marraro L. Logical Cryptanalysis as a SAT Problem // Journal of Automated Reasoning. 2000. Vol. 24, Issue 1-2. Pp. 165-203. DOI: 10.1023/A:1006326723002
[4] Jovanovic D., Janicic P. Logical Analysis of Hash Functions // Frontiers of Combining Systems. FroCoS 2005. Lecture Notes in Computer Science / B. Gramlich (eds). Springer, Berlin, Heidelberg, 2005. Vol. 3717. Pp. 200-215. DOI: 10.1007/11559306_11
[5] Mironov I., Zhang L. Applications of SAT Solvers to Cryptanalysis of Hash Functions // Theory and Applications of Satisfiability Testing - SAT 2006. SAT 2006. Lecture Notes in Computer Science / A. Biere, C.P. Gomes (eds). Springer, Berlin, Heidelberg, 2006. Vol. 4121. Pp. 102-115. DOI: 10.1007/11814948_13
[6] Wang X, Yu H. How to Break MD5 and Other Hash Functions // Advances in Cryptology — EUROCRYPT 2005. EUROC-RYPT 2005. Lecture Notes in Computer Science / R. Cramer (eds). Springer, Berlin, Heidelberg, 2005. Vol. 3494. Pp. 1935. DOI: 10.1007/11426639_2
[7] De D., Kumarasubramanian A, Venkatesan R. Inversion Attacks on Secure Hash Functions Using sat Solvers // Theory and Applications of Satisfiability Testing — SAT 2007. SAT
2007. Lecture Notes in Computer Science / J. Marques-Silva, K.A. Sakallah (eds). Springer, Berlin, Heidelberg, 2007. Vol. 4501. Pp. 377-382. DOI: 10.1007/978-3-540-72788-0_36
[8] Dobbertin H. Cryptanalysis of MD4 // Fast Software Encryption. FSE 1996. Lecture Notes in Computer Science / D. Goll-mann (eds). Springer, Berlin, Heidelberg, 1996. Vol. 1039. Pp. 53-69. DOI: 10.1007/3-540-60865-6_43
[9] Eibach T., Pilz E., Volkel G. Attacking Bivium Using SAT Solvers // Theory and Applications of Satisfiability Testing — SAT 2008. SAT 2008. Lecture Notes in Computer Science / H. Kleine Buning, X. Zhao (eds). Springer, Berlin, Heidelberg,
2008. Vol. 4996. Pp. 63-76. DOI: 10.1007/978-3-540-79719-7_7
[10] Soos M., Nohl K., Castelluccia C. Extending SAT Solvers to Cryptographic Problems // Theory and Applications of Satisfiability Testing - SAT 2009. SAT 2009. Lecture Notes in Computer Science / O. Kullmann (eds). Springer, Berlin, Heidelberg, 2009. Vol. 5584. Pp. 244-257. DOI: 10.1007/978-3-642-02777-2_24
[11] Courtois N.T., Bard G.V., Wagner D. Algebraic and Slide Attacks on KeeLoq // Fast Software Encryption. FSE 2008. Lecture Notes in Computer Science / K. Nyberg (eds). Springer, Berlin, Heidelberg, 2008. Vol. 5086. Pp. 97-115. DOI: 10.1007/978-3-540-71039-4_6
[12] Erickson J., Ding J., Christensen C. Algebraic Cryptanalysis of SMS4: Grobner Basis Attack and SAT Attack Compared // Information, Security and Cryptology — ICISC 2009. ICISC
2009. Lecture Notes in Computer Science / D. Lee, S. Hong (eds). Springer, Berlin, Heidelberg, 2010. Vol. 5984. Pp. 7386. DOI: 10.1007/978-3-642-14423-3_6
[13] Chaki S., Clarke E.M., Groce A., Jha S., Veith H. Modular verification of software components in C // IEEE Transactions on Software Engineering. 2004. Vol. 30, Issue 6. Pp. 388-402. DOI: 10.1109/TSE.2004.22
[14] Cook B., Kroening D., Sharygina N. Cogent: Accurate Theorem Proving for Program Verification // Computer Aided Verification. CAV 2005. Lecture Notes in Computer Science / K. Etessami, S.K. Rajamani (eds). Springer, Berlin, Heidelberg, 2005. Vol. 3576. Pp. 296-300. DOI: 10.1007/11513988_30
[15] Biere A., Cimatti A., Clarke E., Zhu Y Symbolic Model Checking without BDDs // Tools and Algorithms for the Construction and Analysis of Systems. TACAS 1999. Lecture Notes in Computer Science / W.R. Cleaveland (eds). Springer, Berlin, Heidelberg, 1999. Vol. 1579. Pp. 193-207. DOI: 10.1007/3-540-49059-0_14
[16] McMillan K.L. Applying SAT Methods in Unbounded Symbolic Model Checking // Computer Aided Verification. CAV 2002. Lecture Notes in Computer Science / E. Brinksma, K.G. Larsen (eds). Springer, Berlin, Heidelberg, 2002. Vol. 2404. Pp. 250-264. DOI: 10.1007/3-540-45657-0_19
[17] Menezes A.J. et al. Applications of Finite Fields // The Springer International Series in Engineering and Computer Science / M. Ismail (eds). Springer US, 1993. Vol. 199. 218 p. DOI: 10.1007/978-1-4757-2226-0
[18] БаевВ.В. Некоторые нижние оценки на алгебраическую иммунность функций, заданных своими след-формами // Проблемы передачи информации. 2008. Т. 44, № 3. С. 81-104. URL: http://www.mathnet.ru/links/ c84fdb912415b6034762dbf94bdd1558/ppi1282.pdf (дата обращения: 21.01.2019).
[19] Кузьмин А.С. , Марков ВТ. , Нечаев А.А. , Шишков А.Б. Приближение булевых функций мономиальными // Дискретная математика. 2006. Т. 18, № 1. С. 9-29. URL: https://elibrary.ru/item.asp?id=9188329 (дата обращения: 21.01.2019).
[20] Кузьмин А.С., Ноздрунов В.И. Взаимосвязь коэффициентов полинома над полем и веса булевой функции // Прикладная дискретная математика. 2014. № 4(26). C. 28-36. URL: https://elibrary.ru/item.as-p?id=22636126 дата обращения: 21.01.2019).
[21] Carlet C. Boolean Functions for Cryptography and Error-Correcting Codes // Boolean Models and Methods in Mathematics, Computer Science, and Engineering (Encyclopedia of Mathematics and its Applications) / Y. Crama, P. Hammer (eds). Cambridge: Cambridge University Press, 2010. Pp. 257-397. DOI: 10.1017/CB09780511780448.011
Поступила 21.01.2019; принята к публикации 05.03.2019; опубликована онлайн 19.04.2019.
|об авторе:|
Белов Сергей Алексеевич, аспирант, факультет вычислительной математики и кибернетики, Московский государственный университет имени М.В. Ломоносова (119991, Россия, г. Москва, Ленинские горы, д. 1), ORCID: http://orcid.org/0000-0002-7923-0129, serbel.sci@gmail.com
Автор прочитал и одобрил окончательный вариант рукописи.
Modern Information Technologies and IT-Education
ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ ИНФОРМАТИКИ, ПРИКЛАДНОЙ МАТЕМАТИКИ,
КОМПЬЮТЕРНЫХ НАУК И КОГНИТИВНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ С А Белов
References
[1] Jakobsen T., Knudsen L.R. The interpolation attack on block ciphers. In: Biham E. (eds) Fast Software Encryption. FSE 1997. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 1997; 1267: 28-40. (In Eng.) DOI: 10.1007/ BFb0052332
[2] Youssef A.M., Gong G. On the Interpolation Attacks on Block Ciphers. In: Goos G., Hartmanis J., van Leeuwen J., Schneier B. (eds) Fast Software Encryption. FSE 2000. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 2001; 1978:109-120. (In Eng.) DOI: 10.1007/3-540-44706-7_8
[3] Massacci F., Marraro L. Logical Cryptanalysis as a SAT Problem. Journal of Automated Reasoning. 2000; 24(1-2):165-203. (In Eng.) DOI: 10.1023/A:1006326723002
[4] Jovanovic D., Janicic P. Logical Analysis of Hash Functions. In: Gramlich B. (eds) Frontiers of Combining Systems. Fro-CoS 2005. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 2005; 3717:200-215. (In Eng.) DOI: 10.1007/11559306_11
[5] Mironov I., Zhang L. Applications of SAT Solvers to Cryptanalysis of Hash Functions. In: Biere A., Gomes C.P. (eds) Theory and Applications of Satisfiability Testing - SAT 2006. SAT 2006. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 2006; 4121:102-115. (In Eng.) DOI: 10.1007/11814948_13
[6] Wang X., Yu H. How to Break MD5 and Other Hash Functions. In: Cramer R. (eds) Advances in Cryptology — EURO-CRYPT 2005. EUROCRYPT 2005. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 2005; 3494:19-35. (In Eng.) DOI: 10.1007/11426639_2
[7] De D., Kumarasubramanian A., Venkatesan R. Inversion Attacks on Secure Hash Functions Using satSolvers. In: Marques-Silva J., Sakallah K.A. (eds) Theory and Applications of Satisfiability Testing — SAT 2007. SAT 2007. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 2007; 4501:377-382. (In Eng.) DOI: 10.1007/978-3-540-72788-0_36
[8] Dobbertin H. Cryptanalysis of MD4. In: Gollmann D. (eds) Fast Software Encryption. FSE 1996. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 1996; 1039:5369. (In Eng.) DOI: 10.1007/3-540-60865-6_43
[9] Eibach T., Pilz E., Völkel G. Attacking Bivium Using SAT Solvers. In: Kleine Büning H., Zhao X. (eds) Theory and Applications of Satisfiability Testing — SAT 2008. SAT 2008. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 2008; 4996:63-76. (In Eng.) DOI: 10.1007/978-3-540-79719-7_7
[10] Soos M., Nohl K., Castelluccia C. Extending SAT Solvers to Cryptographic Problems. In: Kullmann O. (eds) Theory and Applications of Satisfiability Testing - SAT 2009. SAT 2009. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 2009; 5584:244-257. (In Eng.) DOI: 10.1007/978-3-642-02777-2_24
[11] Courtois N.T., Bard G.V., Wagner D. Algebraic and Slide Attacks on KeeLoq. In: Nyberg K. (eds) Fast Software Encryption. FSE 2008. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 2008; 5086:97-115. (In Eng.) DOI: 10.1007/978-3-540-71039-4_6
[12] Erickson J., Ding J., Christensen C. Algebraic Cryptanalysis of SMS4: Gröbner Basis Attack and SAT Attack Compared. In:
Lee D., Hong S. (eds) Information, Security and Cryptology — ICISC 2009. ICISC 2009. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 2010; 5984:73-86. (In Eng.) DOI: 10.1007/978-3-642-14423-3_6
[13] Chaki S., Clarke E.M., Groce A., Jha S., Veith H. Modular verification of software components in C. IEEE Transactions on Software Engineering. 2004; 30(6):388-402. (In Eng.) DOI: 10.1109/TSE.2004.22
[14] Cook B., Kroening D., Sharygina N. Cogent: Accurate Theorem Proving for Program Verification. In: Etessami K., Raja-mani S.K. (eds) Computer Aided Verification. CAV 2005. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 2005; 3576:296-300. (In Eng.) DOI: 10.1007/11513988_30
[15] Biere A., Cimatti A., Clarke E., Zhu Y. Symbolic Model Checking without BDDs. In: Cleaveland W.R. (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 1999. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 1999; 1579:193-207. (In Eng.) DOI: 10.1007/3-540-49059-0_14
[16] McMillan K.L. Applying SAT Methods in Unbounded Symbolic Model Checking. In: Brinksma E., Larsen K.G. (eds) Computer Aided Verification. CAV 2002. Lecture Notes in Computer Science. Springer, Berlin, Heidelberg. 2002; 2404:250-264. (In Eng.) DOI: 10.1007/3-540-45657-0_19
[17] Menezes A.J. et al. Applications of Finite Fields. In: Ismail M. (eds) The Springer International Series in Engineering and Computer Science. Springer US. 1993; 199. (In Eng.) DOI: 10.1007/978-1-4757-2226-0
[18] Bayev V.V. Some lower bounds on the algebraic immunity of functions given by their trace forms. Problems of Information Transmission. 2008; 44(3):243-265. (In Eng.) DOI: 10.1134/S0032946008030071
[19] Kuzmin A.S., Markov V.T., Nechaev A.A., Shishkov A.B. Approximation of Boolean functions by monomial ones. Discrete Mathematics and Applications. 2006; 16(1):7-28. (In Eng.) DOI: 10.1515/156939206776241255
[20] Kuzmin A.S., Nozdrunov V.I. Relationship between the coefficients of polynomials over GF(2n) and weights of Boolean functions represented by them. Prikladnaya Diskretnaya Matematika. 2014; 4(26):28-36. Available at: https://elibrary ru/item.asp?id=22636126 (accessed 21.01.2019). (In Russ.)
[21] Carlet C. Boolean Functions for Cryptography and Error-Correcting Codes. Boolean Models and Methods in Mathematics, Computer Science, and Engineering (Encyclopedia of Mathematics and its Applications). Crama Y., Hammer P. (eds). Cambridge: Cambridge University Press, pp. 257-397. 2010. (In Eng.) DOI: 10.1017/ CBO9780511780448.011
Submitted 21.01.2019; revised 05.03.2019; published online 19.04.2019.
About the author:
Sergey A. Belov, graduate student, Faculty of Computational Mathematics and Cybernetics, Lomonosov Moscow State University (1, Leninskie gory, Moscow 119991, Russia), ORCID: http://orcid. org/0000-0002-7923-0129, serbel.sci@gmail.com
The author has read and approved the final manuscript.
Современные информационные технологии и ИТ-образование
Том 15, № 1. 2019 ISSN 2411-1473 sitito.cs.msu.ru