2019 Вычислительные методы в дискретной математике №46
ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ В ДИСКРЕТНОЙ МАТЕМАТИКЕ
УДК 519.7
АЛГОРИТМЫ ВЫЧИСЛЕНИЯ КРИПТОГРАФИЧЕСКИХ ХАРАКТЕРИСТИК ВЕКТОРНЫХ БУЛЕВЫХ ФУНКЦИЙ1
Н. М. Киселева, Е. С. Липатова, И. А. Панкратова, Е. Е. Трифонова
Национальный исследовательский Томский государственный университет, г. Томск,
Россия
Представлены алгоритмы вычисления следующих криптографических характеристик векторых булевых функций: порядка корреляционной иммунности, нелинейности, компонентной алгебраической иммунности и показателя дифференциальной равномерности. Компоненты векторной булевой функции перебираются в порядке, задаваемом кодом Грея. Приводятся результаты экспериментов для случайных векторных булевых функций, подстановок и двух специальных классов Kn и Sn,k обратимых векторных булевых функций от n переменных, координаты которых существенно зависят от всех и заданного числа k < n переменных соответственно. Доказаны некоторые свойства дифференциальной равномерности для функций из классов Kn и Sn,k.
Ключевые слова: векторная булева функция, корреляционная иммунность, нелинейность векторной булевой функции, компонентная алгебраическая иммунность, показатель дифференциальной равномерности.
DOI 10.17223/20710410/46/7
ALGORITHMS FOR COMPUTING CRYPTOGRAPHIC CHARACTERISTICS OF VECTORIAL BOOLEAN FUNCTIONS
N. M. Kiseleva, E. S. Lipatova, I. A. Pankratova, E. E. Trifonova National Research Tomsk State University, Tomsk, Russia
E-mail: [email protected], [email protected], [email protected],
There are presented algorithms for calculating the cryptographic characteristics of vectorial Boolean functions, such as the order of correlation immunity, nonlinearity, component algebraic immunity, and differential uniformity order. In these algorithms, the components of a vectorial Boolean function are enumerated according to the Gray code. Experimental results are given for random vectorial Boolean functions, permutations, and two known classes Kn and Sn,k of invertible vectorial Boolean functions in n variables with coordinates essentially depending on all variables and on k variables, k < n, respectively. Some properties of differential uniformity are theoretically
1 Работа поддержана грантом РФФИ, проект №17-01-00354.
proved for functions in Kn and Sn,k, namely, the differential uniformity order öp equals 2n for any F e Sn,k, and the inequality 2n — 4(n — 1) ^ öp ^ 2n — 4 holds for any F e Kn.
Keywords: vectorial Boolean function, nonlinearity, correlation immunity, component algebraic immunity, differential uniformity.
Введение
Криптосистемы, стойкость которых основана на сложности решения систем нелинейных уравнений над конечным полем, являются предположительно стойкими к квантовым атакам [1]. К этому классу, в частности, относятся криптосистемы с функциональными ключами, построенные на векторных булевых функциях [2-4]. Для анализа стойкости таких криптосистем, помимо разработки специальных атак, нужно исследовать известные криптографические характеристики используемых функций. В данной работе приведены алгоритмы вычисления таких характеристик, как порядок корреляционной иммунности, нелинейность, компонентная алгебраическая иммунность и показатель дифференциальной равномерности. Алгоритмы достаточно «прямолинейны» и, скорее всего, не являются лучшими по сложности, однако их реализация позволила исследовать характеристики функций из разных классов и сформулировать ряд утверждений о свойствах функций этих классов. В п. 3 доказано несколько утверждений о дифференциальной равномерности подстановок, координатные функции которых существенно зависят от заданного числа переменных.
Приведём необходимые определения [5 - 7]. Пусть дана векторная булева функция F = (fi ... fm) : Fn ^ Fm.
Компонентой функции F называется булева функция vF = vf ф ... ф vmfm, где v = vi... vm e Fm \ {0m}; 0m — нулевой вектор длины m.
Порядком корреляционной иммунности cor(F), нелинейностью N(F) и компонентной алгебраической иммунностью AIcomp(F) векторной функции F называются минимальные порядок корреляционной иммунности, нелинейность и алгебраическая иммунность её компонент соответственно:
cor(F) = min cor(vF), N (F) = min N (vF), AIcomp(F) = min AI(vF)
v€Fm\{0m} v€Fm\{0m} v€Fm\{0m}
(определения соответствующих характеристик для булевой функции см. в [8, с. 277 и определение 2.50] и [5]).
Для функции F и векторов a e Fn, b e Fm обозначим
5p(a, b) = |{x e Fn : F(x) ф F(x ф a) = b}|.
Показателем дифференциальной равномерности функции F называется
5p = max 5p(a, b).
a=0n ,b
Значения cor(F), N(F) и AIcomp(F) характеризуют стойкость криптосистемы с функцией F в качестве блока преобразования к корреляционному, линейному и алгебраическому методам криптоанализа соответственно, и они должны быть большими. Заметим, что для всех подстановок F : Fn ^ Fn имеет место cor(F) = 0, поскольку для уравновешенных функций F : Fn ^ Fm верно неравенство m ^ n — cor(F) [5].
Показатель связан со способностью шифра противостоять дифференциальному криптоанализу в случаях, когда функция Г используется в качестве блока замены в ВЕБ-подобном шифре [7] или (в общем случае) в произвольном итеративном блочном шифре с аддитивным раундовым ключом [9] —чем он меньше, тем лучше.
1. Алгоритмы вычисления криптографических характеристик
Для вычисления характеристик сог(Г), N (Г) и А1сотр(Г) по определению нужно перебрать все компоненты vF функции Г, v Е Fm\{0т}. Чтобы минимизировать время вычисления компонент, будем перебирать векторы V в соответствии с кодом Грея — в этом случае «соседние» значения V различаются ровно в одном двоичном разряде, а значит, очередная компонента функции Г получается из предыдущей прибавлением одной координатной функции (алгоритм 1).
Алгоритм 1. Перебор компонент векторной булевой функции
Вход: функция F = (fi... fm) : Fn ^ F™ 1: Создать булеву функцию f : Fn ^ F2, f := const 0, и вектор v0 Е Fm, v0 := 0m. 2: Для i = 1,..., 2m - 1:
3: Vj := i ф (i ^ 1) // преобразование двоичного кода в код Грея; ^ —операция сдвига вправо; i рассматривается и как целое число, и как булев вектор длины m. 4: Положить k равным номеру (единственной) единицы в векторе vi-l ф Vj; 5: f := f ф fk // очередная компонента. 6: Обработка f.
Согласно [5], порядок корреляционной иммунности сог(Г) функции Г : Fn ^ Fm равен если и только если: 1) (и) = 0 для всех наборов и Е Fn веса от 1 до £ включительно и всех компонент vF и 2) (и) = 0 для некоторого набора и веса £ + 1 и некоторой компоненты vF, где (и) = ^ (—1)уР(х)фих — коэффициент преобразования Уолша — Адамара функции vF. Таким образом, для вычисления сог(Г) нужно найти ненулевой вектор и минимального веса, на котором преобразование Уолша — Адамара хотя бы одной компоненты принимает ненулевое значение. Другими словами, нам интересны такие значения и, что (и) = 0 для всех компонент. Поэтому, перебирая компоненты vF, будем «накапливать» в одном массиве дизъюнкцию коэффициентов (и), и Е Fn (интерпретируя целые числа как булевы векторы) и только потом проанализируем полученный вектор (алгоритм 2).
Алгоритм 2. Вычисление сог(Г)
Вход: функция Г : Fn ^ Fm. 1: Создать массив целых чисел Д размера 2П, обнулить все его элементы. 2: Перебираем компоненты vF, как в алгоритме 1. 3: Для каждой компоненты:
4: т := ; Д := Д V т (поэлементно) // шаг 6 алгоритма 1.
5: Для всех г = 1,... , п:
6: Для всех векторов и Е Fn веса г:
7: если Ди = 0, то выход, ответ: г — 1.
8: Выход, ответ: п.
Оценим сложность алгоритма 2:
— всего компонент (2m — 1), переход к следующей компоненте (сложение текущей с координатной функцией) — O(2n) операций, вычисление преобразования Уолша — Адамара по схеме Грина — O(2nn) [8], поэлементная дизъюнкция векторов — O(2n) операций; итого сложность шагов 2-4 составляет O(2n+mn) операций;
— на шагах 5-7 в худшем случае (для функции-константы) придётся перебрать 2n — 1 векторов.
Таким образом, сложность алгоритма 2 равна O(2n+mn).
Нелинейность N (F) функции F : F^ ^ Fm тоже можно вычислить с использованием преобразования Уолша — Адамара по следующей формуле [5]:
N (F) = 2n-1 — 1 max Wvf (u). (1)
2 ueFn, veFm\{om}
Получаем алгоритм 3 вычисления нелинейности.
Алгоритм 3. Вычисление N(F)
Вход: функция F : ^ Fm 1: c := 0.
2: Перебираем компоненты vF, как в алгоритме 1. 3: Для каждой компоненты:
4: w := Wvf; d := max |wj; если d > c, то c := d. i=0,...,2n-1
Выход: N(F) = 2n-1 — c/2 (по формуле (1)).
Сложность алгоритма 3 равна O(2ra+mn).
Для описания алгоритма вычисления компонентной алгебраической иммунности Alcomp (F) введём следующие понятия [5]. Аннигилятором подмножества A С F^ называется любая булева функция от n переменных, не равная тождественно 0 и принимающая значение 0 на всех наборах из A. Алгебраической иммунностью множества A называется минимальная из алгебраических степеней аннигиляторов, не равных тождественно 0; обозначается AI(A). Для булевой функции f от n переменных обозначим MJ = {x е F^ : f (x) = а}, а е {0,1}. Тогда
AIcomp(F)= min AI(vF)= min min(AI(M°p), AI(MViF)). (2)
В соответствии с (2) получаем алгоритм 4 вычисления компонентной алгебраической иммунности.
Алгебраическую иммунность множества A = {ai,... , } С F^ будем искать методом неопределённых коэффициентов [10] (алгоритм 5). Для того чтобы определить, существует ли аннигилятор множества A степени не выше d, построим матрицу B(A, d), столбцы которой соответствуют элементам множества A, строки — всевозможным мо-
d fn
номам m1,..., mt от переменных x1,..., xn степеней от 0 до d, где t = ^ ; на пере-
i=0 V%)
сечении строки i и столбца j запишем значение mi(aj-). Если rangB(A, d) < t, то существует нетривиальная нулевая линейная комбинация строк матрицы: mil ф.. .®mis = 0k; тогда функция g(x) = mi1 (x) ф ... ф mis (x) — аннигилятор множества A.
Алгоритм 4. Вычисление А1сотр(Г)
Вход: функция Г : Fn ^ Fm. 1: с := |~п/2] // верхняя граница А1сотр (Г) [10]. 2: Перебираем компоненты vF, как в алгоритме 1. 3: Для каждой компоненты:
4: т0 := А1(МУР); т1 := А1(Му1р) //по алгоритму 5; 5: с := шт(с, т0, т1). Выход: А1сотр(Г) = с.
Алгоритм 5. Вычисление алгебраической иммунности множества
Вход: множество A С Fn, |A| = k. 1: Если A = 0, то выход, ответ: AI(A) = 0. 2: Построить матрицу B = B(A, 1); d := 1; t := n +1. 3: Если rangB < t, то выход, ответ: AI(A) = d.
4: d := d +1; t := t + ; если t > k, то выход, ответ: AI(A) = d.
5: Добавить к матрице B строки, соответствующие мономам степени d, перейти к п. 3.
Сложность алгоритма 5 при вычислении ранга методом Гаусса составляет 0(к3^). Отметим, что при использовании этого алгоритма для вычисления А1сотр (Г) можно ввести дополнительное ограничение на шаге 4 после увеличения «если d ^ [п/2], то выход, ответ: А1(А) = d». Сложность алгоритма 4 равна 0(2т+3"п).
Алгоритм 6 вычисления показателя дифференциальной равномерности получаем непосредственно из его определения.
Алгоритм 6. Вычисление показателя Sf
Вход: функция F : Fn ^ Fm 1: Создать вспомогательный массив целых чисел DDT размера 2m, обнулить все его
элементы. 2: S := 0.
3: Для всех a Е F^ \ {0n}: 4: Для всех x Е F^:
b := F(x) 0 F(x 0 a); DDT[b] := DDT[b] + 1; 5: d := max DDT[b]; если d > S, то S := d.
b&V?
6: Обнулить массив DDT. Выход: SF = S.
Сложность алгоритма 6 равна 0(2га+тах(га'т)).
2. Результаты экспериментов
Все алгоритмы реализованы на языке ЛЯПАС-Т [11] и исследованы в компьютерном эксперименте на случайных функциях, подстановках и двух специальных классах обратимых функций, координаты которых зависят от заданного числа переменных. Определим эти классы [12, 13].
Для п € N п ^ 3, рассмотрим класс функций Кп, функции Р = (/... /п) : ЩП ^ Щп в котором получаются из тождественной подстановки О на с помощью п следующих независимых транспозиций: выбираем п непересекающихся множеств Мг = {х(г), у(г)}, где векторы {х(г), у(г)} соседние по г-й координате, и полагаем Р(х(г)) = О(у(г)),
п
Р(у(г)) = О(х(г)), г = 1,... , п; Р(х) = О(х) для всех х Е У Мг. По построению, для
любого а = а1... ап € ЩП имеет место
г=1
„ . . а* ф 1, если а € М^
Ма) = 4 (3)
1аг иначе.
Доказано [12], что все координаты функций из Кп существенно зависят от всех п переменных и Кп = 0 для всех п ^ 3.
Для к, п € N 3 ^ к ^ п, построим функцию Р = (/1... /п) : ЩП ^ ЩП так. Пусть Н = (к... кк) —некоторая функция из Кк. Положим /г(х1,... , хп) = кг(х^... , хк), г = 1,... , к (переменные хк+1,... ,хп у функций /1,... , /к фиктивные), и /г = хг ф ф ^г(х1,... , хг-1) для г = к + 1,... , п, где ^к+1,..., — произвольные функции, существенно зависящие ровно от (к — 1) из своих переменных. Обозначим класс функций, построенных таким образом, через £п,к. В [13, утверждение 3] доказано, что функции из £п,к являются подстановками на Щп; все их координаты существенно зависят ровно от к переменных. Необходимость ограничивать количество существенных переменных у координат векторных булевых функций может возникнуть, в частности, при построении криптосистем, где такие функции являются ключами [2-4], а значит, нужно уметь их эффективно задавать и быстро вычислять.
Эксперименты на функциях Р : Щп ^ дали следующие результаты.
1) Порядок корреляционной иммунности случайной функции, как правило, равен 0, редко — 1.
2) Для нелинейности:
— при фиксированном п с ростом т значение N(Р) убывает; например, при п = 5 среднее значение ^р(Р) = 6,6 при т = 5 и ^р(Р) ^ 2 при т ^ 18;
— если Р : Щп ^ Щп — подстановка, то её нелинейность растёт с ростом п, приближаясь к теоретической верхней границе Nmax = 2п-1 — 2п/2-1: от 47 % при п = 5 до 93 % при п = 12;
— если Р € Кп, то N(Р) = 2 (доказано в [14]); отсюда следует, что N(Р) ^ 2п-к+1 для Р € £п,к, поскольку первые к координат такой функции Р получаются добавлением (п — к) фиктивных переменных, каждая из которых увеличивает нелинейность функции в два раза. В экспериментах для функций Р € £п,к всегда выполняется N(Р) = 2п-к+1, кроме случаев к = 3 (всегда получаем 0) и к = 4 (получаем 0 или 2п-3).
3) Для алгебраической иммунности:
— для случайных подстановок Р почти всегда А1сотр(Р) = п/2 (максимально возможное) при чётном п и А1сотр(Р) = (п — 1)/2 (на 1 меньше максимально возможного) при нечётном п; это согласуется с результатами [15] для уравновешенных булевых функций /: для чётного п вероятность того, что минимальная среди степеней аннигиляторов множества М^ равна п/2, близка к 1; для нечётного п эта степень с большей вероятностью (0,711 против 0,289) равна (п — 1)/2, чем (п + 1)/2 (максимально возможной);
— если Г € Кп, то А1сотр(Г) = 2 (доказано в [14]); отсюда следует, что А1сотр(Г) ^ 2 для Г € Зпк, поскольку добавление фиктивных переменных не влияет на алгебраическую иммунность функции. В экспериментах получено: А1сотр(Г) = 1 для функций Г € всегда при к = 3 и иногда при к ^ 4; последнее — чем больше п и к, тем реже (почти всегда
А1сотр(Г) = 2).
4) Для показателя дифференциальной равномерности:
— при п ^ т, как правило, 5р = 2п;
— при фиксированном п с ростом т значение убывает;
— если Г : Fn ^ Fn — подстановка, то её дифференциальная равномерность в среднем много меньше, чем дифференциальная равномерность случайной такой функции (без условия обратимости).
Эксперименты на функциях из класса Кп позволили сформулировать некоторые утверждения об их дифференциальной равномерности.
3. Свойство дифференциальной равномерности функций из классов Кп и Бп>к Для ] € {1,...,п} обозначим ej булев вектор длины п с единственной 1 в ]-й координате.
Утверждение 1. Пусть Г € Кп, а = е^ ф е»2 ф ... ф , ] € {¿1,... , %к}. Тогда
Е 5Р(а, Ь) = < , к > , b=(bl...bn)eFn:bj =0 [0, к = 1.
Доказательство. Запишем:
Е (а,Ь)= Е |{х € Fn : Г(х) ф Г(х ф а) = Ь}| =
М^ь-М^:^ =0 М^ь..^^??:^ =0
= |{х € Fn : /j(х) = / (х ф а)}|.
Заметим, что х и хфа различаются в ]-й координате. Тогда из формулы (3) следует, что /j(х) = /j(хфа), если и только если ровно один из векторов х и хфа принадлежит Mj, где Mj = {с, с ф ej} для некоторого с € Если к =1 и, следовательно, а = ej, то х и х ф а одновременно либо принадлежат, либо не принадлежат Mj. При к > 1 условие выполняется для х € X = {с, с ф ej, с ф а, с ф ej ф а}; ввиду того, что вес вектора а больше 1, все векторы в X различны. ■
Утверждение 2. Пусть Г € Кп, а = eil ф ei2 ф ... ф eifc, € {%1,... , }. Тогда
Е (а,Ь) = 4.
М^ь-М^Ь,- = 1
Доказательство. Аналогично доказательству утверждения 1 получим Е (а,Ь) = |{х € Fn : /(х) = /(х ф а)}|.
b=(bl...bn)eFn:bj = 1
Поскольку ]-е координаты х и х ф а совпадают, из формулы (3) следует, что / (х) = = Л' (х ф а), если и только если ровно один из векторов х и х ф а принадлежит Mj = = {с, с ф ej}. Это условие выполняется для х € X = {с, с ф ej, с ф а, с ф ej ф а}; ввиду того, что а = ej, все векторы в X различны. ■
Из утверждений 1 и 2 следует, что 5^(а,Ь) ^ 4 для всех Р € Кп и а = Ь; ввиду чётности значений 5,р(а,Ь) это означает, что 5,р(а, Ь) € {0, 2, 4}.
Утверждение 3. Пусть Р € Кп, а = е^1 фе^2 ф... фе^, Ь = (61... Ьп) € ^ и Ь, = 0 для всех € {г1,... , }. Тогда (а, Ь) = 0.
Доказательство. Обозначим X = {х € ^ : V] € {г1,..., }(/(ж) = /(х ф а))}. Тогда для а и Ь в условии утверждения 5^(а, Ь) = |Х| и для х € X должно выполняться условие: ровно один из векторов х и х ф а принадлежит М^, ] = ¿1,..., . Поскольку множества М^ не пересекаются, это условие не может выполняться при к > 2; случай к = 1 рассмотрен в утверждении 1. Осталось рассмотреть случай к = 2.
Пусть а = е^ ф е^2, = {с, с ф е^ }, М^2 = ^ ф е^2} и без ограничения общности х € Мг1, х ф а € Мг2. Если х = с, то х ф а = х ф е^ ф е^2; при х ф а = d получаем dфе^2 = сфе^ € Мг1, а если хфа = dфе^2, то d = сфе^ € М^1; оба вывода противоречат тому, что Мг1 П Мг2 = 0. Случай х = с ф е^1 рассматривается аналогично. ■
Утверждение 4. Пусть Р € Кп, а € Е^. Тогда 5,р(а, а) ^ 2п — 4п, если вес а больше 1, и (а, а) ^ 2п — 4(п — 1) иначе.
Доказательство. Из того, что Е (а,Ь) = 2п, следует
^(а, а) = 2п — Е 5^(а, Ь). (4)
Пусть а = е^1 ф е^2 ф ... ф е^. Запишем:
п
Е^(а, Ь) ^Е Е ^(а,Ь)= Е Е 5^(а,Ь)+ Е Е 5^(а, Ь).
Ь=а .7=1 а^еШ^Ь,-=«,■ ^{п} ЬеК?:^ =0 ^{¿ъ...^} ЬеК?:^ = 1
у у у у
^2
Из утверждения 1 следует, что
] 4к, если к > 1, ¿1 = <
0, если к = 1,
из утверждения 2 получаем 52 = 4(п — к). Тогда
/4п, если к > 1,
Е^(а,Ь) (5)
ь=а 14(п — 1), если к = 1.
Из (4) и (5) следует справедливость утверждения 4. ■
Утверждение 5. Для любой функции Р € Кп имеет место
2п — 4(п — 1) ^ 5^ ^ 2п — 4.
Доказательство. Нижняя граница следует непосредственно из утверждения 4. Из утверждений 1 и 2 получаем, что Е 5^(а,Ь) ^ 4 для любого ненулевого а € ЕП, а
Ь=а
значит, 5^(а, а) ^ 2п — 4. Тогда из того, что 5^(а, Ь) ^ 4 для любых а = Ь и неравенства 4 ^ 2п — 4, верного при всех п ^ 3, следует 5^ ^ 2п — 4. ■
Утверждение 6. Пусть С = (д1... дп) € £п,к и к < п. Тогда 5с = 2п. Доказательство. По построению, переменная хп является линейной для функции дп и фиктивной для остальных координат. Тогда С(х) ф С(х ф еп) = еп для всех х € Еп, т.е. 5с(еп,еп) = 2п, следовательно, 5с = 2п. ■
Заключение
Исследования показали, что функции из классов Kn и Sn,k являются криптографически слабыми: их нелинейность и компонентная алгебраическая иммунность малы, а показатель дифференциальной равномерности близок (или равен — для класса Sn,k) к максимальному (т. е. худшему) значению 2n. К достоинствам таких функций можно отнести возможность управлять количеством существенных переменных у их координат; для функций класса Kn дополнительно — отсутствие линейных и фиктивных переменных у компонент, не равных координатам, и высокая степень (n — 1) —максимально возможная для подстановок. Направления дальнейших исследований:
1) изучение применимости атак, эксплуатирующих отмеченные слабости функций, к криптосистемам [2-4], как следствие — оценка стойкости этих криптосистем;
2) изучение композиций функций из классов Kn и Sn,k между собой и с другими функциями с целью нивелирования их недостатков при сохранении положительных свойств;
3) разработка новых алгоритмов генерации обратимых векторных булевых функций с «хорошими» криптографическими характеристиками.
Авторы благодарят Г. П. Агибалова за внимание к работе и ценные замечания.
ЛИТЕРАТУРА
1. Ding J. and Yang B. Y. Multivariate public key cryptography // Post-Quantum Cryptography / eds. D. J. Bernstein, J. Buchmann, and E. Dahmen. Berlin; Heidelberg: Springer, 2009. P. 193-241.
2. Agibalov G.P. Substitution block ciphers with functional keys // Прикладная дискретная математика. 2017. №38. С. 57-65.
3. Agibalov G. P. and Pankratova I. A. Asymmetric cryptosystems on Boolean functions // Прикладная дискретная математика. 2018. №40. С. 23-33.
4. Agibalov G. P. ElGamal cryptosystems on Boolean functions // Прикладная дискретная математика. 2018. №42. С. 57-65.
5. Carlet C. Vectorial Boolean Functions for Cryptography. Cambridge: Cambridge University Press, 2010. 93 p.
6. Canteaut A. Lecture Notes on Cryptographic Boolean Functions. Paris: Inria, 2016. 48 p.
7. Nyberg K. Differentially uniform mappings for cryptography // LNCS. 1994. V. 765. P. 55-64.
8. Логачев О. А., Сальников А. А., Ященко В. В. Булевы функции в теории кодирования и криптологии. М.: МЦНМО, 2004. 472 с.
9. Агибалов Г. П. Элементы теории дифференциального криптоанализа итеративных блочных шифров с аддитивным раундовым ключом // Прикладная дискретная математика. 2008. №1 (1). С. 34-42.
10. Meier W., Pasalic E., and Carlet C. Algebraic attacks and decomposition of Boolean functions // LNCS. 2004. V. 3027. P. 474-491.
11. Агибалов Г. П., Липский В. Б., Панкратова И. А. О криптографическом расширении и его реализации для русского языка программирования // Прикладная дискретная математика. 2013. №3(21). С. 93-104.
12. Pankratova I. A. Construction of invertible vectorial Boolean functions with coordinates depending on given number of variables // Материалы Междунар. науч. конгресса по информатике: Информационные системы и технологии. Республика Беларусь, Минск, 24-27 окт. 2016. Минск: БГУ, 2016. С. 519-521.
13. Панкратова И. А. Об обратимости векторных булевых функций // Прикладная дискретная математика. Приложение. 2015. №8. С. 35-37.
14. Панкратова И. А. Свойства компонент некоторых классов векторных булевых функций // Прикладная дискретная математика. 2019. №44. С. 5-11.
15. Canteaut A. Open problems related to algebraic attacks on stream ciphers // Proc. WCC'2005, Bergen, Norway, March 14-18, 2005. P. 120-134.
REFERENCES
1. Ding J. and Yang B. Y. Multivariate public key cryptography. Post-Quantum Cryptography (eds. D.J.Bernstein, J. Buchmann, and E. Dahmen). Berlin; Heidelberg, Springer, 2009, pp.193-241.
2. Agibalov G. P. Substitution block ciphers with functional keys. Prikladnaya Diskretnaya Matematika, 2017, no. 38, pp. 57-65.
3. Agibalov G. P. and Pankratova I. A. Asymmetric cryptosystems on Boolean functions. Prikladnaya Diskretnaya Matematika, 2018, no. 40, pp. 23-33.
4. Agibalov G. P. ElGamal cryptosystems on Boolean functions. Prikladnaya Diskretnaya Matematika, 2018, no. 42, pp. 57-65.
5. Carlet C. Vectorial Boolean Functions for Cryptography. Cambridge: Cambridge University Press, 2010. 93 p.
6. Canteaut A. Lecture Notes on Cryptographic Boolean Functions. Paris, Inria, 2016. 48 p.
7. Nyberg K. Differentially uniform mappings for cryptography. LNCS, 1994, vol. 765, pp. 55-64.
8. Logachev O. A., Sal'nikov A. A., and Yashchenko V. V. Bulevy funktsii v teorii kodirovaniya i kriptologii [Boolean Functions in Coding Theory and Cryptology]. Moscow, MCCME Publ., 2004, 472 p. (in Russian)
9. Agibalov G. P. Elementy teorii differentsial'nogo kriptoanaliza iterativnykh blochnykh shifrov s additivnym raundovym klyuchom [Some theoretical aspects of differential cryptanalysis of the iterated block ciphers with additive round key]. Prikladnaya Diskretnaya Matematika, 2008, no. 1 (1), pp. 34-42. (in Russian)
10. Meier W., Pasalic E., and Carlet C. Algebraic attacks and decomposition of Boolean functions. LNCS, 2004, vol.3027, pp. 474-491.
11. Agibalov G. P., LipskiyV.B., and Pankratova I. A. O kriptograficheskom rasshirenii i ego realizatsii dlya russkogo yazyka programmirovaniya [Cryptographic extension and its implementation for Russian programming language]. Prikladnaya Diskretnaya Matematika, 2013, no. 3(21), pp. 93-104. (in Russian)
12. Pankratova I. A. Construction of invertible vectorial Boolean functions with coordinates depending on given number of variables. Proc. CSIST'16, Minsk, BSU Publ., 2016, pp.519-521.
13. Pankratova I. A. Ob obratimosti vektornykh bulevykh funktsiy [On the invertibility of vector Boolean functions]. Prikladnaya Diskretnaya Matematika. Prilozhenie, 2015, no. 8, pp. 35-37. (in Russian)
14. Pankratova I. A. Svoystva komponent nekotorykh klassov vektornykh bulevykh funktsiy [Properties of components for some classes of vectorial Boolean functions]. Prikladnaya Diskretnaya Matematika, 2019, no. 44, pp. 5-11. (in Russian)
15. Canteaut A. Open problems related to algebraic attacks on stream ciphers. Proc. WCC'2005, Bergen, Norway, March 14-18, 2005, pp. 120-134.