Вычислительные технологии
Том 24, № 5, 2019
Алгебраический иммунитет булевой функции*
Б.Ф. Авдурдхимов*, А. Б. САТТАРОВ, З.Х. Юлдашев
Национальный университет Узбекскистана им. Мирзо Улугбека, Ташкент, Узбекистан *Контактный e-mail: a_bakhtiyor@mail.ru
Алгебраический метод криптоанализа, основанный на решении систем уравнений над конечным полем, является одним из современных методов криптоанализа, широко применяющихся в процессе оценки стойкости поточного алгоритма шифрования. На практике в составе большинства поточных алгоритмов шифрования в качестве основных преобразований применяются булевы функции. Алгебраический иммунитет булевой функции — один из основных параметров, определяющих стойкость алгоритма шифрования. Для определения показателя алгебраического иммунитета булевой функции использована операция вычисления ранга специально построенной матрицы. Построен алгоритм вычисления этого показателя. Метод может быть использован в процессе алгебраического криптоанализа для оценки стойкости алгоритмов поточного шифрования.
Ключевые слова: шифрование, поточный алгоритм шифрования, булева функция, аннигилятор, алгебраический иммунитет, алгебраический криптоанализ.
Библиографическая ссылка: Абдурахимов Б.Ф., Саттаров А.Б., Юлдашев З.Х. Алгебраический иммунитет булевой функции // Вычислительные технологии. 2019. Т. 24, № 5. С. 4-12. DOI: 10.25743/ICT.2019.24.5.002.
Введение
Один из основных аспектов аудита безопасности информационных систем — оценка надежности (криптостойкости) криптографических алгоритмов, использованных в них. Для определения криптостойкости алгоритмов шифрования требуется оценить их известными современными методами криптоанализа. Для поточных шифров наиболее перспективным является алгебраический метод, основанный на решении системы уравнений над конечным полем [1-4]. Начиная с 2000 г. становится актуальной задача изучения свойства алгоритмов шифрования, показывающих стойкость к данному виду атак. В результате проведенных исследований многими специалистами был предложен параметр "алгебраический иммунитет", дающий возможность определить стойкость поточных шифров к алгебраическим атакам. Одновременно после введения понятия алгебраического иммунитета начались исследования, направленные на определение значения этого параметра и его различных свойств, а также изучение соотношения между данным параметром и остальными параметрами преобразования.
В статье предложен метод определения показателя алгебраического иммунитета булевой функции и построен алгоритм его вычисления.
* Title translation and abstract in English can be found on page 12.
© ИВТ СО РАН, 2019.
1. Постановка задачи
Пусть Ъ2 = {0,1}. Через обозначим множество всех упорядоченных двоичных векторов X = (х1,х2,х3,... , хп).
Определение 1. Произвольная функция, отображающая элементы из множества в множество Ъ2, называется булевой функцией от п переменных [5].
Через Тп обозначим множество всех булевых функций от п переменных.
Понятие алгебраического иммунитета булевых функций введено в 2004 г. в работе [6]. Это понятие является взаимосвязанным с функцией аннигилятора (аннулирующей функцией).
Определение 2. Функция д(х) Е Тп называется аннигилятором функции £(х) Е если f (х)д(х) = 0 [7].
Степень булевой функции f (х) Е Тп обозначим через deg f (х), а множество всех аннигиляторов степени deg < d функции f (х) — через Аа(/).
Определение 3. Алгебраическим иммунитетом А1 (/) булевой функции £(х) Е Тп называется степень булевой функции д(х) Е где д(х) — не равная тождественно нулю функция с минимальной степенью, такая что £(х)д(х) = 0 или (/(ж) ф 1)д(х) = 0. Формально можно записать [7, 8]:
А1 (/) = ш1п{^ | АЛ(/) = 0 или АЛ(/ ф 1) = 0}. (1)
Например, все аннигиляторы для заданной функции /(хх,х2,х3) = х3х2Х\фх3х2Фх2 задаются в следующем виде:
1) Х3Х2Х1 ф Х3Х2 ф Х3Х1 ф Х3 ф Х2Х1 ф Х2 ф Х1 ф 1;
2) Х3Х2Х1 ф Х3Х1 ф Х2Х1 ф Х\;
з) Х3Х2 ф Х3 ф Х2 ф 1;
4) Х3Х2Х1 ф Х3Х2 ф Х3Х1 ф Х3;
5) Х2Х1 ф Х2 ф Х1 ф 1;
6) Х3Х2 ф Х3 ф Х2Х1 ф Х1;
7) Х3Х2Х1 ф Х3Х1 ф Х2 ф 1;
8) Х3Х2Х1 ф Х3Х1;
9) Х3Х2 ф Х3 ф Х2Х1 ф Х2 ф Х1 ф 1;
10) Х2Х1 ф XI;
11) Х3Х2Х1 ф Х3Х2 ф Х3Х1 ф Х3 ф Х2 ф 1;
12) Х3Х2 ф Х3;
1з) Х3Х2Х1 ф Х3Х1 ф Х2Х1 ф Х2 ф Х1 ф 1;
14) Х3Х2Х1 ф Х3Х2 ф Х3Х1 ф Х3 ф Х2Х1 ф Х\;
15) Х2 ф 1;
16) Х3Х2Х1 ф Х3Х2;
17) Х3Х1 ф Х3 ф Х2Х1 ф Х2 ф Х1 ф 1;
18) Х3Х2 ф Х3Х1 ф Х2Х1 ф Х\;
19) Х3Х2Х1 ф Ж3 ф Ж2 ф 1;
20) Х3Х1 ф Х3;
21) Х3Х2Х1 ф Х3Х2 ф Х2Х1 ф Х2 ф Х1 ф 1;
22) Х3Х2Х1 ф Х3 ф Х2Х1 ф Х\;
2з) Х3Х2 ф Х3Х1 ф Х2 ф 1;
24) Х3Х2 ф
25) Х3Х2Х1 ф Х3 ф Х2Х1 ф Х2 ф Х1 ф 1;
26) Х3Х2Х1 ф Х3Х2 Ф Х2Х1 ф Х\;
27) Х3Х1 Ф жэ Ф Х2 Ф 1;
28) ХЭХ2Х1 ф хэ;
29) хэХ2 Ф хэх1 ф Х2Х1 ф Х2 Ф Х1 ф 1;
30) ХэХ1 ф Хэ Ф Х2Х1 ф Х1.
Для функции /(х) ф 1 будем иметь
1) ХЭХ2Х1 ф ХэХ2 Ф Х2Х1 ф Х2;
2) ХЭХ2Х1 ф Х2Х1;
3) ХэХ2 Ф Х2;
4) ХэХ2Х\;
5) ХэХ2 Ф Х2Х1 ф Х2;
6) Х2Х1.
Так как во множестве аннигиляторов существует функция со степенью deg = 1, алгебраический иммунитет заданной функции будет равен А1 (/) = 1. Значит, одним из методов определения значения параметра А1 (/) является нахождение всех аннигиляторов функции £ (х), для чего можно воспользоваться методом полного перебора. Однако эффективность этого метода сильно зависит от количества аргументов булевой функции, т. е. при большом количестве аргументов сложность решения задачи увеличивается. Это свидетельствует об актуальности разработки эффективного метода определения значения А1.
Многими специалистами проведен ряд исследований, направленных на решение задачи определения значения А1. В частности, в одной из первых работ [6] предложены два алгоритма. В работах [7, 9, 10] приведены более эффективные алгоритмы и методы определения значения А1. Ниже рассмотрен один из методов решения поставленной задачи, основанный на вычислении ранга матрицы.
2. Метод решения
В работе [4] доказано, что для любой функции £(х) Е Тп справедлива оценка
А1 (/) < \п/2\.
Пусть справедливо равенство А1 (/) = 1 для некой функции £(х) Е Тга. Тогда существует д(х) Е Тп — функция со степенью deg(g) = 1 такая, что будет справедливо f(х)д(х) = 0 или (f(ж) ф 1)д(х) = 0. Наоборот, на основе данного утверждения можно сформулировать следующую задачу: если определить существование функций д(х) Е Тп со степенью deg(g) = 1, удовлетворяющих условию /(х)д(х) = 0 или (/(х) ф 1Мж) = 0, то А1 (/) = 1.
Например, пусть заданы булева функция и ее таблица истинности £(х1,х2,хэ) = хэх2х1 ф хэх1 ф х2 ф 1, f (х1,х2,хэ) = {11001000}. В этом случае алгебраическая нормальная форма (АНФ) линейной функции аннигилятора д(х) Е Тэ имеет общий вид
д(х) = аэХэ Ф 0,2X2 Ф 01X1 ф ао, а» Е (2)
Значит, если существуют ненулевые коэффициенты а0, а1, а2 и аэ, удовлетворяющие равенствам $(000) = 0, $(001) = 0 и $(100) = 0, то А1 ) = 1, потому что значение функции £ (х) будет равно единице только тогда, когда входные значения функции будут равны 000, 001, 100. На основе вышесказанного можно определить значения данных коэффициентов:
— из равенства $(000)
— из равенства #(001)
— из равенства #(100) В результате решения
Следовательно, равенство ента а2, если ао = а1 = а3 и справедливо А1 (/) = 1.
На основе данной идеи и построить все функции ее таблица истинности
= 0 вытекает выражение а3 • 0 ф а2 • 0 ф а1 • 0 ф ао = 0; = 0 вытекает выражение а3 • 0 ф а2 • 0 ф а1 • 1 ф ао = 0; = 0 вытекает выражение а3 • 1 ф а2 • 0 ф а1 • 0 ф ао = 0. этих выражений (системы) получим ао = 0, а1 = 0, а3 = 0. /(х)д(х) = 0 будет верно при любых значениях коэффици-= 0. Исходя из этого функция аннигилятора будет д(х) = х2
можно не только определить значения параметра А1 (/), но аннигиляторов. Например, пусть заданы булева функция и
f (х1,х2,х3) = х3х1 ф х3 ф х2х1 ф х2, f (х1,х2, х3) = {00101000}.
В соответствии с вышеуказанной идеей для построения и определения существования аннигилятора со степенью deg(#) = 1 сформируем следующую матрицу исходя из системы уравнений связанных коэффициентов а^:
Ъ,
2,5
01010 10010 .
Из этой матрицы (т.е. в результате решения систем) определяем, что а3 = а2 = ао. Следовательно, функции, построенные в виде (2) при условии а3 = а2 = а0, будут аннигиляторами для заданной функции £(х), а также определено, что А1 (/) = 1. Приведем эти аннигиляторы:
1) а3 = а2 = ао, а1 = 1 ^ д1 (х) = ж1;
2) а3 = а2 = ао = а1 = 1 ^ д2 = Х3 ф Х2 ф Х1 ф 1;
3) а3 = а2 = ао = 1, а1 = 0 ^ д3 = Х3 ф Х2 ф 1.
Для заданной функции общий вид АНФ аннигилятора со степенью deg(#) < 2 имеет вид
д(х) = аех3 ф 0,5X2 ф аАХ1 ф а3Х3Х2 ф <12X3X1 ф <11X2X1 ф ао, а,г Е %2. (3)
Значит, матрица, определяющая аннигилятор степенью deg(#) < 2, формируется в следующем виде:
/01000010\
12,8
Из этой матрицы определяем, что ав = а5 енные в виде (3), состоят из следующих:
10000010 .
ао. При таком условии функции, постро-
1) ае = а5 = а3 = а2 = а1 = ао = 0, а4 = 1 ^ #1(Ж) = Ж1;
2) а6 = а5 = а4 = а2 = ^ = «о = 0, а3 = 1 ^ 92(Х) = Х3Х2;
3) ав = а5 = а4 = а3 = ^ = ао = 0, Й2 = 1 ^ #3(Ж) = Х3Х1;
4) ав = а5 = а4 = а3 = а2 = «о = 0, а1 = 1 ^ 94(Х) = Ж2Ж1;
5) ав = а5 = а2 = а1 = «о = 0, а4 = Й3 = 1 ^ #5(Ж) = Ж1 ф Х3Х2;
6) ав = а5 = а3 = а1 = ао = 0, а4 = а2 = 1 ^ дв(х) = Х1 ф Х3Х1;
7) ав = а5 = а3 = а2 = «о = 0, а4 = а^ = 1 ^ 9т(х) = Х1 ф Х2Х1;
8) ав = а5 = а4 = а1 = ао = 0, а3 = Й2 = 1 ^ #8(Ж) = Х3Х2 ф Х3Х1;
9) ав = а5 = а4 = Й2 = ао = 0, Й3 = а1 = 1 ^ 99(Х) = Х3Х2 ф Х2Х1;
10) ав = а5 = а4 = а3 = «о = 0, Й2 = ^ = 1 ^ #1о(ж) = = Х3Х1 ф Х2Х1;
11) ав = а5 = а1 = «о = 0, а4 = а3 = а2 = 1 ^ 911(х) = - Х1 ф Х3Х2 ф Х3Х1;
12) а6 = а5 = а2 = ао = 0, а4 = аз = а1 = ^ 912(Х) = Х1 ф ХзХ2 ф Х2Х1,
13) а6 = о5 = аз = ао = 0, а4 = а2 = а1 = ^ 91з(х) = Х1 ф хзх1 ф Х2Х1,
14) а6 = а5 = а4 = ао = 0, аз = а2 = а1 = ^ ^14 (ж) = ХзХ2 ф ХзХ1 ф Х2Х1;
15) а6 = а5 = ао = 0, а4 = аз = а2 = а1 = ^ 915(Х) = Х1 ф ХзХ2 ф ХзХ1 ф Х2Х1;
1б) а4 = аз = а2 = а1 = 0, аб = а5 = ао = ^ ^1б(ж) = Жз ф Х2 ф Х1 ф 1 ;
17) а3 = 0,2 = а1 = 0, аб = «5 = ао = а4 = = Жз ф Х2 ф Х1 ф 1 ;
18) а4 = 0,2 = а1 = 0, аб = «5 = ао = аз = ^ 91&(х) = Жз ф Х2 ф хзХ2 ф 1 ;
19) а4 = Оз = а1 = 0, аб = а5 = ао = а2 = ^ ^19 (ж) = Жз ф Ж2 ф Хз Х1 ф 1 ;
2о) а4 = Оз = а2 = 0, аб = а5 = ао = а1 = ^ 92о(х) = Жз ф Х2 ф Х2 Х1 ф 1 ;
21) 0,2 = 0\ = 0, аб = а5 = ао = а4 = аз = ^ ^21(Ж) = Жз ф Х2 ф Х1 ф ХзХ2 ф 1;
22) 03 = 0\ = 0, аб = а5 = ао = а4 = а2 = ^ ^22(Ж) = Жз ф Х2 ф Х1 ф ХзХ1 ф 1;
23) Оз = 02 = 0, аб = а5 = ао = а4 = а1 = ^ 92з(х) = Жз ф Х2 ф Х1 ф Х2Х1 ф 1;
24) а4 = а\ = 0, аб = а5 = ао = аз = а2 = ^ ^24 (ж) = Жз ф Ж2 ф ХзХ2 ф ХзХ1 ф 1 ;
25) а4 = 02 = 0, аб = а5 = ао = аз = а1 = ^ 925(Х) = Жз ф Х2 ф ХзХ2 ф Х2Х1 ф 1 ;
26) 0\ = 0, а,б = «5 = ао = а4 = аз = а2 = ^ ^2б(ж) = Жз ф Х2 ф Х1фХзХ2ф )ХзХ1 ф
27) 02 = 0, аб = а5 = ао = а4 = аз = а1 = = Жз ф Х2 ф Х1фХзХ2ф '1X2X1 ф
28) Оз = 0, аб = Й5 = ао = а4 = а2 = а1 = ^ 928 (х) = Жз ф Х2 ф Х1 фХзХ1ф '1X2X1 ф
29) а4 = 0, аб = а5 = ао = аз = а2 = а1 = ^ ^29(ж) = Хз фХ2 фХзХ2 фХзХ1 фХ2Х1 ф
3о) Об = аъ = ао = а4 = = аз = = а2 = - а1 = 1 ^ 9зо(х) = Жз ф Ж2 фХ1 ф ХзХ2 ф ХзХ1 ФХ2Х1 ф
Таким образом, можно построить все аннигиляторы со степенью deg(g) < 3.
3. Обсуждение результатов
В общем случае на основе вышеуказанного метода при нахождении аннигилятора со степенью deg(g) < d для функции f (х) € где f (х | х € Б) = 1 , f (х \х € О) = 0, трете!
буется построить матрицу Та(/), состоящую из |Б| строк и 1 + ^ СП СП =
г=о \ г!(п - г)!^
столбцов. Если для ранга га^(Т^(/)) данной матрицы выполняется условие
А
шми!)) < £ СП, (4)
г=0
то существуют аннигиляторы со степенью deg(g) < Аналогично можно определить и для функций f (х) ф 1 .
На основе предложенного метода разработан алгоритм определения значения параметра А1 (/), состоящий из такой последовательности. Вход: f (х) € Тп (где f (х | ж € Б) = 1, f (х | ж € О) = 0). Выход: А1 (/).
1. А1 (/)= \п/2], г = 1 .
2. п = га^(ЗД)).
3. = гащ(Тг(/ ф 1)).
4. Если г1 < С,- или г2 < ^ С,, то А1 (f) = г и закончить алгоритм.
3=0 3=о
5. г = г + 1.
6. Если г = А1 (/), то закончить алгоритм, иначе вернуться к шагу 2. Сложность приведенного алгоритма зависит от сложности вычисления ранга матрицы Тг (/). Для определения ранга матрицы при использовании метода Гаусса данный
Таблица 1. Сравнительные свойства алгоритмов
Метод решения проблем Сложность
Многомерная полиномиальная интерполяция (multivariate polynomial interpolation) [9] ° ((- сю
Ленивое исключение Гаусса (lazy Gaussian elimination) [10] 0(nd)
Решение системы линейных уравнений [6] ° (ЭД
° С)3),
Решение однородной системы линейных уравнений [7] \ / где Mf — длина многочлена Жегалкина для функции f
Определение ранга матрицы (настоящая работа) * ° (CD3)
алгоритм требует максимального количества Ш арифметических действий для функции /(х) €
W - 2((С)3 + (С1)3 + (С*)3 + ... + М^-1)3). (5)
В табл. 1 представлены сравнительные свойства ранее известных алгоритмов, приведенных в работах [6, 7, 9, 10] и в настоящей работе.
С помощью разработанного программного обеспечения, используя предложенный алгоритм, проводились соответствующие эксперименты по следующим критериям:
— наблюдать распределение показателя А1 (/) для всех булевых функций в поле Тп;
— наблюдать распределение показателя А1 (/) для всех сбалансированных булевых функций в поле
В соответствии с полученными результатами на основе первого критерия в табл. 2, 3 приведено количественное распределение показателей А1 булевых функций в зависимости от полей в которых они определены.
Из полученных результатов можно сделать вывод о том, что для всевозможных значений параметра А1 существуют аннигиляторы в поле Тп (1 < п < 6). Отметим, что в распределении параметра А1 (количество аннигиляторов) отсутствует какая-либо закономерность.
Таблица 2. Результаты проверки для функции / (х) € Тп (первый критерий)
•Fn Количество всех Распределение AI(f)
булевых функций AI = 1 AI = 2
F2 14 14 (100%) —
F3 254 184 (72.44%) 70 (27.56%)
F4 65 534 10 552 (16.10%) 54 982 (83.90 %)
Таблица 3. Результаты проверки для функции f (х) € (первый критерий)
Количество произвольно Распределение А1(/)
выбранных булевых функций А1 = 1 А1 = 2 А1 = 3
2700 86 (3.19%) 2604 (96.44%) 10 (0.37%)
Таблица 4. Результаты проверки для функции f (х) € Тп (второй критерий)
Ъп Количество всех сбалансированных Распределение А1(/)
булевых функций А1 = 1 А1 = 2
6 6 (100%) —
Ъз 70 0 70 (100%)
Л 12 870 0 12 870 (100%)
Таблица 5. Результаты проверки для функции f (х) € (второй критерий)
Количество произвольно Распределения А1 (/)
выбранных булевых функций А1 = 1 А1 = 2 А1 = 3
20 000 0 20 000 (100%) 0
В соответствии с полученными результатами на основе второго критерия в табл. 4, 5 приведено распределение показателя А1 (/) для всех сбалансированных функций, принадлежащих разным полям Тп.
Из полученных результатов по второму критерию можно сделать вывод о том, что в составе сбалансированных булевых функций в поле Тп (1 < п < 6) не существует аннигиляторов с минимальным значением.
Заключение
Каждый метод криптоанализа, разработанный в качестве атаки на алгоритм шифрования, основывается на той или иной уязвимости шифра, т. е. если алгоритм шифрования уязвим, то степень эффективности атаки, проводимой с помощью метода криптоанализа, будет высокой. Для оценки стойкости алгоритма шифрования к методам криптоанализа в первую очередь целесообразно определить наличие уязвимости в алгоритме. Если найдется такая уязвимость, то можно сделать вывод о том, что алгоритм нестойкий к рассматриваемому методу криптоанализа.
Степень эффективности алгебраического метода криптоанализа к поточным шифрам прямо зависит от значения параметра А1 булевой функции / (х), использованной в шифре. Вместе с тем в процессе криптоанализа используются аннигиляторы с самой низкой степенью булевой функции /(ж). Если не существует аннигиляторов с низкой степенью (т. е. значение А1 большое) или не решен вопрос их определения, то оценка стойкости шифра с помощью алгебраического метода криптоанализа может быть невозможна. В этих случаях нельзя сделать вывод о стойкости и надежности анализируемого шифра.
Предложенный алгоритм служит для повышения эффективности оценки стойкости поточных шифров методами алгебраического криптоанализа.
Список литературы / References
[1] Abdurakhimov, B.F., Sattarov, A.B. An algorithm for constructing S-boxes for block symmetric encryption // Universal J. of Math. and Appl. 2018. Vol. 1, No. 1. P. 29-32.
[2] Abdurakhimov, B.F., Sattarov, A.B. The method of constructing S-boxes with maximum algebraic immunity // Transactions of the Intern. Sci. Conf. "Modern Problems of Applied Mathematics and Information Technologies-Al-Khorezmiy 2016", Tashkent, 2016. P. 130-132.
[3] Courtois, N. Fast algebraic attacks on stream ciphers with linear feedback / D. Boneh (ed.). CRYPTO 2003 // Lecture Notes in Computer Sciences. 2003. Vol. 2729. P. 176-194.
[4] Courtois, N., Meier, W. Algebraic attacks on stream ciphers with linear feedback / E. Biham (ed.). EUROCRYPT // Lecture Notes in Computer Sciences. 2003. Vol. 2656. P. 345-359.
[5] Токарева Н.Н. Нелинейные булевы функции: бент-функции и их обобщения. Саарбрюк-кен, Германия: Изд. дом "LAP", 2011. 180 c.
Tokaryeva, N.N. Nonlinear Boolean functions: Bent functions and their generalizations. Saarbrucken, Germany: Lambert Acad. Publ., 2011. 180 p. (In Russ.)
[6] Meier, W., Pasalic, E., Carlet, C. Algebraic attacks and decomposition of boolean functions: Advances in Cryptology — EUROCRYPT 2004 // Lecture Notes in Computer Sciences. 2004. Vol. 3027. P. 474-491.
[7] Баев В.В. Эффективные алгоритмы получения оценок алгебраической иммунности булевых функций: Дис. ... канд. физ.-мат. наук. М.: МГУ им. М.В. Ломоносова, 2007. 101 c. Bayev, V.V. Effective algorithms for obtaining estimates of algebraic immunity of Boolean functions: Dis. ... kand. fiz.-math. nauk. Moscow: MGU im. M.V. Lomonosov, 2007. 101 p. (In Russ.)
[8] Лобанов М.С. О соотношениях между алгебраической иммунностью и нелинейностью булевых функций: Дис. ... канд. физ.-мат. наук. М.: МГУ им. М.В. Ломоносова, 2009. 64 c. Lobanov, M.S. On the relationship between algebraic immunity and nonlinearity of Boolean functions: Dis. ... kand. fiz.-math. nauk. Moscow: MGU im. M.V. Lomonosov, 2009. 64 p. (In Russ.)
[9] Armknecht, F., Carlet, C., Gaborit, P. et al. Advances in Cryptology — EUROCRYPT 2006 // Lecture Notes in Computer Science. 2006. No. 4004. P. 147-164.
[10] Didier, F., Tillich, J.-P. Computing the algebraic immunity efficiently / M. Robshaw (ed.) FSE 2006 // Lecture Notes in Computer Sciences. 2006. Vol. 4047. P. 359-374.
Поступила в 'редакцию 3 июня 2019 г., с доработки — 29 июля 2019 г.
Algebraic immunity of Boolean function
Abdurakhimov, Bakhtiyor f.*, Sattarov, Alizhon b., Yuldashev,
zlyaviddin KH.
National University of Uzbekistan named after Mirzo Ulugbek, Tashkent, 100174, Uzbekistan * Corresponding author: Abdurakhimov, Bakhtiyor F., e-mail: a_bakhtiyor@mail.ru
The algebraic method of cryptanalysis, based on solving systems of equations over a finite field, is one of the modern methods that is widely used in the process of assessing the strength of a stream encryption algorithm. In practice, as part of the
© ICT SB RAS, 2019
12
B. 0. A6gypaxuMOB, A.B. CaTTapoB, 3.X. K)ngameB
majority of stream encryption algorithms, Boolean functions are used as the main transformations. The algebraic immunity of this Boolean function is one of the main parameters determining the strength of the encryption algorithm. In the article, a method for determining the index of algebraic immunity of a Boolean function is proposed, and an algorithm for calculating this function is constructed. To determine the index of algebraic immunity of a Boolean function, the operation of calculating the rank of a specially constructed matrix is used.
A number of examples are given for calculation of the algebraic immunity of a Boolean function and construction of annihilator functions. Also, the results of the experiments are shown, by the definition of the algebraic immunity of all balanced and unbalanced Boolean functions over a finite field Tn (1 < n < 6). The method may be used in the process of algebraic cryptanalysis in order to assess the strength of stream encryption algorithms.
Keywords: encryption, stream encryption algorithm, Boolean function, annihilator, algebraic immunity, algebraic cryptanalysis.
Cite: Abdurakhimov, B.F., Sattarov, A.B., Yuldashev, Z.KH. Algebraic immunity of Boolean function // Computational Technologies. 2019. Vol. 24, No. 5. P. 4-12. (In Russ.) DOI: 10.25743/ICT.2019.24.5.002.
Received June 3, 2019 Received in revised form July 29, 2019