2022 Математические методы криптографии № 57
МАТЕМАТИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИИ
УДК 519.719.2 DOI 10.17223/20710410/57/1
ОБ ЭВРИСТИЧЕСКОМ АЛГОРИТМЕ ПОСТРОЕНИЯ ПОДСТАНОВОК С ЗАДАННЫМИ КРИПТОГРАФИЧЕСКИМИ ХАРАКТЕРИСТИКАМИ С ИСПОЛЬЗОВАНИЕМ ОБОБЩЁННОЙ КОНСТРУКЦИИ
М. А. Коврижных, Д. Б. Фомин
Национальный исследовательский университет «Высшая школа экономики»,
г. Москва, Россия
E-mail: makovrizhnykh@gmail.com, dfomin@hse.ru
Исследована возможность построения с помощью обобщённой конструкции подстановок с заданными криптографическими характеристиками, обеспечивающими стойкость алгоритмов шифрования к линейному и разностному методам криптоанализа. Предложен эвристический алгоритм поиска параметров обобщённой конструкции, полученных посредством умножения на транспозиции. Используются идеи генетического алгоритма, спектрально-линейного и спектрально-разностного методов. Изучены вопросы оптимизации вычисления криптографических характеристик на каждой итерации алгоритма. Экспериментальные исследования наиболее интересных с практической точки зрения 8-битовых подстановок показали, что можно построить 6-равномерные подстановки с нелинейностью 108.
Ключевые слова: векторная булева функция, подстановка, дифференциальная 5-равномерность, нелинейность.
HEURISTIC ALGORITHM FOR OBTAINING PERMUTATIONS WITH GIVEN CRYPTOGRAPHIC PROPERTIES USING A GENERALIZED CONSTRUCTION
M. A. Kovrizhnykh, D. B. Fomin
National Research University Higher School of Economics, Moscow, Russia
In this paper, we study a generalized construction of (2m, 2m)-functions using monomial and arbitrary m-bit permutations as constituent elements. We investigate the possibility of constructing bijective vectorial Boolean functions (permutations) with specified cryptographic properties that ensure the resistance of encryption algorithms to linear and differential methods of cryptographic analysis. We propose a heuristic algorithm for obtaining permutations with the given nonlinearity and differential uniformity based on the generalized construction. For this purpose, we look for auxiliary permutations of a lower dimension using the ideas of the genetic algorithm, spectral-linear, and spectral-difference methods. In the case of m = 4, the proposed algorithm consists of iterative multiplication of the initial randomly generated 4-bit
permutations by transposition, selecting the best ones in nonlinearity, the differential uniformity, and the corresponding values in the linear and differential spectra among the obtained 8-bit permutations. We show how to optimize the calculation of cryptographic properties at each iteration of the algorithm. Experimental studies of the most interesting, from a practical point of view, 8-bit permutations have shown that it is possible to construct 6-uniform permutations with nonlinearity 108.
Keywords: vectorial Boolean function, permutation, differential uniformity, nonlinearity.
Введение
Конструирование алгоритмов шифрования, стойких к известным методам анализа, представляет собой один из главных аспектов защиты информации. Среди наиболее исследуемых методов криптографического анализа выделим линейный и разностный методы.
Разностный криптоанализ был представлен научной общественности в 1990 г. Э. Бихамом и А. Шамиром [1, 2]. Этот метод использует наличие высоковероятного разностного соотношения на определённых раундах шифрования, вероятность выполнения которого не зависит от ключа. Под разностью будем понимать результат побитового сложения n-мерных векторов. Знание наиболее вероятных разностных соотношений даёт возможность использовать материал для восстановления битов раундового ключа.
Линейный криптоанализ впервые описан в 1993 г. М. Мацуи [3]. Метод применим при наличии высоковероятного линейного статистического аналога для определённых раундов шифрования. Аналогично разностному методу, некоторые раунды шифрования можно заменить их линейным аналогом, который, независимо от ключа, выполняется с вероятностью p для случайно заданного открытого текста и соответствующего ему шифртекста выделенной части шифра. Наибольшее отклонение p от 1/2 определяет эффективность найденного линейного выражения. С использованием построенного эффективного линейного статистического аналога производится отбраковывание ложных ключей.
Векторные булевы функции — одни из основных примитивов современных симметричных шифров, обеспечивающих свойство перемешивания [4], —должны иметь криптографические характеристики, гарантирующие неосуществимость применения разностного и линейного методов криптографического анализа. Так, векторные булевы функции с высокой нелинейностью позволяют гарантировать стойкость к линейному анализу, поскольку их не удастся эффективно заменить линейным аналогом той же размерности. Для конструирования криптографических алгоритмов, стойких к разностному анализу, используют функции с минимально возможным показателем дифференциальной ^-равномерности.
Дополнительно, векторные булевы функции, используемые в блочных шифрах, как правило, должны быть биективными для обеспечения однозначного расшифрования, т.е. подстановками. В современных криптографических алгоритмах ГОСТ 34.12-2018 («Кузнечик»), AES, ARIA, Khazad и других 8-битовые подстановки являются единственными нелинейными элементами конструкции. Полный перебор (8,8)-функций в настоящее время нереализуем. Таким образом, получение подстановок размерности n ^ 8 бит с заданными криптографическими свойствами, лучшими, чем у псевдослучайно сгенерированных, и допускающих эффективную аппаратную реализацию,
является сложной и актуальной задачей, что подтверждается большим количеством новейших научных публикаций и докладов на всероссийских и международных конференциях, посвященных данной тематике [5-15].
Известные подходы к построению подстановок могут быть разделены на явные алгебраические методы, псевдослучайное генерирование и эвристические подходы (см., например, обзор в [5]). Перспективной представляется идея комбинации этих подходов, в частности использование функциональных схем для получения подстановок с помощью функций меньшей размерности (см. обзор в [11]). При этом в таких схемах обычно есть некоторые параметры, подходящим выбором которых можно улучшить криптографические характеристики конструируемых подстановок.
Так, в работе [6] описана конструкция, содержащая инверсию в поле F24 и две произвольные подстановки пространства V4, для построения 8-битовых подстановок со значениями нелинейности до 108, показателя дифференциальной ^-равномерности 6 или 8, алгебраической степени 7, алгебраической иммунности 3.
В работах [7, 8] представлены схемы, основанные на известных структурах Фейсте-ля и Лея — Месси, для генерации подстановок размерности n = 2k, k > 2. Предложенные конструкции используют инверсию в поле F2k, произвольную k-битовую небиективную функцию (которая не имеет прообраза для 0) и любую k-битовую подстановку. Комбинируя эти компоненты с умножением в конечном поле, автор представил новые 8-битовые подстановки без фиксированных точек, обладающие таким же сочетанием криптографических свойств, как ив [6]. В [8] показано, что такой подход может быть использован для построения инволюций и ортоморфизмов с хорошими криптографическими характеристиками. Однако в этих работах не приведено теоретического обоснования выбора предложенных конструкций.
В работе [10] предложены новые классы 8-битовых подстановок, основанные на конструкции типа «бабочка». Показано, что существует не менее 36 новых конструкций подстановок, которые имеют нелинейность 108, показатель дифференциальной í-равномерности 6, минимальную степень 7 и значение алгебраической иммунности 3 и могут быть эффективно реализованы как программно, так и аппаратно.
Работы [9, 11, 12] распространяют способы построения подстановок из [10] на случай произвольного векторного пространства V2m и теоретически обосновывают полученные в них экспериментальные результаты. В качестве функциональной схемы используется TU-представление, описанное в [16, 17]. Доказаны необходимые, а в некоторых случаях и достаточные условия для того, чтобы результирующая подстановка обладала заданными значениями нелинейности, алгебраической степени и показателя дифференциальной ^-равномерности. Описана новая обобщённая конструкция векторных функций, использующая мономиальные подстановки в качестве основных составляющих элементов. В случае m = 4 экспериментально найдены 768 наборов параметров обобщённой конструкции, с использованием которых при правильном выборе вспомогательных 4-битовых подстановок получены 8-битовые 6-равномерные подстановки, имеющие нелинейность 108 и минимальную степень 7.
Остановимся кратко на методах, относящихся к эвристическому подходу и основанных на итеративном улучшении характеристик подстановок.
В [18] предложен усовершенствованный метод градиентного спуска для построения векторных булевых функций c хорошим сочетанием криптографических свойств. Так, 8-битовые подстановки, полученные этим методом, имеют нелинейность 104, показатель дифференциальной ^-равномерности 8, минимальную степень 7.
Используя обратный генетический алгоритм для генерации подстановок размерности от 8 х 8 до 16 х 16, авторы работы [15] для случая 8-битовых подстановок достигли значений нелинейности от 106 до 112 при показателе дифференциальной i-равномер-ности 6.
В работе [5] представлены методы итеративного улучшения криптографических характеристик подстановки посредством её умножения на транспозиции — спектрально-линейный и спектрально-разностный методы, основанные на использовании линейного и разностного спектров. В результате применения этих методов удалось получить большое количество 8-битовых подстановок со следующими криптографическими свойствами: нелинейность 104, показатель дифференциальной ^-равномерности 6, обобщённая минимальная степень 7.
Целью настоящей работы является исследование возможности построения подстановок с заданными криптографическими характеристиками — дифференциальной i-равномерностью и нелинейностью — посредством умножения на транспозиции вспомогательных подстановок в обобщённой конструкции.
В п. 1 приводятся основные определения и обозначения, используемые в работе, в п. 2 рассмотрена обобщённая конструкция (2m, 2т)-функции. В п. 3 идеи генетического алгоритма, спектрально-линейного и спектрально-разностного методов применены для выбора подстановок меньшей размерности в обобщённой конструкции. Предложен алгоритм, в результате реализации которого построены 6-равномерные 8-битовые подстановки с нелинейностью 108 и минимальной степенью 7. Обоснованы утверждения, в которых исследуются изменения в DDT и LAT подстановок, задаваемых обобщённой конструкцией, при умножении вспомогательных подстановок на транспозиции.
1. Основные определения и обозначения
Обозначим через Vn, n Е N, n-мерное векторное пространство над полем из двух элементов F2, VT = Vn \ {0}. Конечное поле из 2n элементов обозначим через F2n. Здесь F2n = F2[x]/g(x), где g(x) —некоторый неприводимый многочлен степени n над полем F2; Z/2n — кольцо целых чисел по модулю 2n. Существуют взаимно-однозначное отображение Z/2n ^ Vn, ставящее в соответствие элементу кольца Z/2n его двоичное представление, и взаимно-однозначное отображение Vn ^ F2 n, ставящее в соответствие двоичной строке элемент поля F2n, определённые следующим образом:
ßn-i2n-1 + ... + ао о (ап-1, ...,ао) о ßn-ixn-1 + ... + а0.
Операции сложения и умножения в поле F2n будем обозначать знаками «+» и «•» соответственно.
Пусть а Е Vn, b Е Vm. Конкатенацию двух векторов обозначим через а\\Ь Е Vn+m. Скалярным произведением двух векторов а, b Е Vn называется элемент поля F2, вычисляемый по формуле (а,Ь) = an-1bn-1 +... + а0Ь0, где сложение и умножение проводятся в поле F2. Заметим, что прямое произведение векторных пространств Vm х Vm можно ассоциировать с V2m.
Определение 1. Пусть n и m — натуральные числа. Векторной булевой (n,m)-функцией F называется отображение F : Vn ^ Vm. При m =1 говорят, что F — булева функция от n переменных.
Каждая булева функция f от n переменных единственным образом представляется в виде полинома Жегалкина — многочлена от n переменных над полем F2, в котором
каждая переменная входит в каждый моном в степени 0 или 1. При этом под алгебраической степенью (она обозначается как deg(/)) булевой функции / понимается максимальная степень монома с коэффициентом, отличным от 0.
Векторная булева (п, т)-функция Г однозначно задается набором своих координатных булевых функций от п переменных: Г = (/т-1,... , /0); компонентной функцией называется любая ненулевая линейная комбинация координатных функций, т. е. {а, Г (ж)), где а € Ут.
Определение 2. Подстановкой пространства Уп называется биективная (п, п)-функция.
Симметрическую группу всех подстановок пространства УП обозначим Б(Уп). Одним из способов представления подстановок является таблица из двух строк: первая строка содержит все числа от 0 до 2п — 1, а вторая — образы соответствующих элементов первой строки.
Определение 3. Мономиальные подстановки поля т это подстановки вида хЛ, где < — такое положительное целое число, что (<, 2т — 1) = 1.
При этом можно рассматривать только значения < < 2т — 1. В частности, при т = 4 мономиальные подстановки получаются при < € {1, 2, 4, 7, 8,11,13,14}. При этом линейными мономиальными подстановками поля Е24 являются хЛ при < € {1, 2, 4, 8} [19, с. 72,74].
Определение 4. Циклической подстановкой (циклом) называется подстановка, переводящая л в л, л —в л, ..., л— —в л и л — в л. Такой цикл кратко записывается в виде (л , л,...,л). Транспозиция — это цикл длины 2, т.е. подстановка, оставляющая неподвижными все элементы, за исключением двух, которые меняются местами.
Умножение подстановки Г на транспозицию слева (л, л) ° Г приводит к транспозиции элементов л и л в нижней строке подстановки Г [20, с. 51]:
(. . ) ( 0 1 ¿1 ... «2 ... 2п — 1
Л1Л2) Г(0) Г(1) Г(¿1)= л ... Г(¿2)= л ... Г(2п — 1) 0 1 ¿1 ... ¿2 ... 2п — 1 Г (0) Г (1) л = Г (¿2) ... л = Г (¿1) ... Г (2п — 1)
Умножение подстановки Г на транспозицию справа Г◦(¿1, ¿2) приводит к транспозиции элементов ¿1 и ¿2 в верхней строке подстановки Г, другими словами, в нижней строке подстановки Г меняются местами образы элементов ¿1 и ¿2.
Определение 5. Индикаторной функцией /ь(ж) для Ь,ж € уп называется функция
I1, Ь = ж /ь(ж)=\о, Ь = ж.
Приведём определения некоторых криптографических характеристик булевых (п, п) -функций.
Определение 6. Говорят, что (п, п)-функция Г является дифференциально 5р-равномерной, если
5р = тах 5р(а, Ь), аеупх, ь&уп
где
6Р (а, Ь) = |{ж € Уп : Г (ж + а) + Г (ж) = Ь}|.
Значение 5F называется показателем дифференциальной равномерности функции F.
Использование функций с малым показателем дифференциальной равномерности при синтезе криптографических алгоритмов позволяет повысить стойкость к разностному методу криптоанализа. Наименьшее возможное значение 5f равно 2, при этом известен только один пример (с точностью до CCZ-эквивалентности) взаимно-однозначной 2-равномерной (n, п)-функции для чётных n — 6-битная подстановка Диллона [21]. Для случая n = 8 большим значением показателя дифференциальной 5-равномерности будем считать 5f > 8, поскольку 8-битовую подстановку с 5f = 8 можно получить псевдослучайным поиском [5, 22, 23].
Определение 7. Таблицей распределения разностей (Difference Distribution Table DDT) (n, п)-функции F называется такая 2n x 2n таблица DDTF, что
DDTf [a,b] = 5f (a,b).
Для всех элементов 5 E {0, 2,... , 2n} определим множества
Df(5) = {(a, b) E Vn x Vn : 5f(a,b) = 5}.
Определение 8. Разностным спектром (n, ^-функции F называется множество пар
Df = {(5, |Df(5)|)}.
Определение 9. Преобразованием Уолша — Адамара WF(a,b) (n, ^-функции F называется отображение Wf : Vn x Vn ^ Z, заданное равенством
Wf (a, b) = E (-1)(a'x)+(b'F (x)) для любых a,b E Vn. xevn
Определение 10. Линейность tF (n, ^-функции F определяется следующим образом:
iF = max |WF(a, b)|.
aevn,bevnx
Нелинейностью Nf (n, ^-функции F называется величина, вычисляемая по формуле
Nf = 2n-1 - 2iF.
Использование функций с большей нелинейностью при синтезе криптографических алгоритмов позволяет повысить стойкость к линейному методу криптографического анализа.
Определение 11. Таблицей линейных приближений (Linear Approximation Table -LAT) [24] (n, ^-функции F называется такая 2n x 2n таблица LATF, что
LATf [a, b] = if(a, b),
где
iF (a, b) = |{x E Vn : (a,x) = (b,F (x))}| - 2n-1 = 1 Wf (a,b). Для всех элементов i E {0, 2,... , 2n-1} определим множества
Lf(i) = {(a, b) E Vn x Vn : |iF(a, b) | = i}.
Определение 12. Линейным спектром (п, п)-функции Г называется множество
пар
ЬР = {(£, (¿)|)}.
Определение 13. Минимальной степенью (п, п)-функции Г называется минимальная из алгебраических степеней всех компонентных функций [25, 2.2.1], т.е.
^ш1п(Г) = т1п deg({a,Г(ж))). а€У„х
Подстановки, используемые в блочных шифрах, должны иметь высокую минимальную степень, чтобы обеспечивать стойкость, например, к разностной атаке высоких порядков. Для подстановок Г € Б(уп) максимально возможная минимальная степень равна п — 1 [25].
2. Обобщённая конструкция (2т, 2т)-функции
Пусть (2т, 2т)-функция Г(ж1,ж2) = у1|у2, где ж1,ж2,у1,у2 € Ут, задаётся следующей обобщённой конструкцией, впервые введённой в работе [9]:
У1 = Г1(ж1,ж2) = У2 = Г2(ж1,ж2) =
ж? ■ ж^, ж2 = 0,
7Т1(ж1), ж2 = 0,
ж^ ■ ж2, ж1 = 0,
7Г2 (ж2), ж1 = 0.
Здесь следует перейти от т-мерных векторов к соответствующим элементам поля ¥2т и выполнить возведение в степень и умножение в поле ¥2т. Кроме того, в (1) 7г1, 7г2 — подстановки пространства Ут. Без ограничения общности будем предполагать, что
7Г1(0) = 0, 7?2 (0)=0. (2)
Параметрами функции (1) являются набор показателей степеней (а, в, 7,^) мономи-альных подстановок и значения подстановок 7Г1,7Г2 € Б (Ут).
Отметим, что конструкция (1) основана на структуре типа «бабочка», введённой в [16] и полученной при изучении декомпозиции АРМ-подстановки Диллона [21], и допускает Ти-представление [17].
В работе [14] для т = 4 на множестве всех 4096 наборов показателей степеней (а, в, 7,^) мономиальных подстановок введено отношение эквивалентности и получено разбиение этого множества на непересекающиеся классы. Обоснованы утверждения, позволяющие по одному представителю класса эквивалентности отбраковать все функции, определяемые наборами из данного класса, либо по высокому показателю дифференциальной ^-равномерности ^ 14), либо вследствие того, что они не являются подстановками ни при каких значениях вспомогательных подстановок 7г1, 7г2. В результате остались неотбракованными 768 наборов параметров (а, в, 7, перспективных для использования в конструкции (1) с целью получения 8-битовых подстановок с достаточно низким показателем дифференциальной ^-равномерности.
3. О подборе подстановок 7г1? 7г2 в обобщённой конструкции
Далее будем рассматривать обобщённую конструкцию (1) в случае т = 4 с одним из 768 наборов параметров (а, в, 7,^), описанных в [9, 12, 14]. Отметим, что вспомогательные подстановки 7Г1,7Г2 в (1) выбираются независимо от параметров (а,в,7,^).
Дадим эвристический алгоритм поиска таких вспомогательных 4-битовых подстановок, чтобы итоговая 8-битовая подстановка обладала заданными криптографическими характеристиками Np = 108, 8p = 6; при этом используем идеи генетического алгоритма, спектрально-линейного и спектрально-разностного методов [5].
3.1. О подборе вспомогательных 4-битовых подстановок
Кратко суть предлагаемого алгоритма 1 заключается в последовательном умножении 4-битовых подстановок 7Ti или 772 на транспозиции и отборе среди полученных по формулам (1) 8-битовых подстановок лучших по нелинейности, показателю дифференциальной равномерности и соответствующим значениям в линейном и разностном спектрах. Таким образом, текущее поколение из Num_Best пар подстановок (771,772) порождает Num_Best • Num_Trans новых пар, из них «выживают» только Num_Best лучших. При этом скрещивания не производится, только «случайные мутации» внутри 7т1 (или 772).
Алгоритм 1.
Вход: Подстановка F Е S (V), построенная по формулам (1) с использованием одного из 768 наборов параметров (a,fi,Y,5) [12] и произвольных 4-битовых подстановок 7?1, 7?2 (2), с криптографическими характеристиками ip > 40 или 8p > 6.
Параметры: Num_Trans — количество умножений на транспозиции; Num_Best — количество отбираемых пар (771,772) на каждой итерации алгоритма.
1: Сформировать список Best из одной пары подстановок (7?i, 7Г2).
2: Для всех пар подстановок (Тг1,7г2) из списка Best:
3: запомнить пару (771,772) как просмотренную;
4: псевдослучайно выбрать номер t Е {1, 2}.
5: Для i = 1,..., Num_Trans
6: псевдослучайно выбрать x,y Е V4X, x = y, получить подстановку 7?t = 7?to(x, y).
7: Если пара (7т1,7г2) ещё не просмотрена, то
8: встроить 7?t в F;
9: вычислить набор характеристик подстановки (ip, 8p, \Lp(ip/2)|, \Dp(8p)|);
10: добавить пару (Тг1,7г2) в список Best.
11: Отобрать (по принципу многоуровневой сортировки по возрастанию) Num_Best лучших (т. е. с меньшими значениями с учётом приоритетов) из всех наборов характеристик подстановок F, порождённых парами (7? 1,7?2) из текущего списка Best, считая, что в наборе приоритет убывает от ip к \Dp(8p)\.
12: Если в наилучшем наборе значения ip = 40 и 8p = 6, то
вывести подстановки 7г1,7г2, порождающие подстановку F,
13: иначе
14: сформировать новый список Best из Num_Best пар подстановок (7т1,7г2), соответствующих лучшим наборам, отобранным на шаге 11.
15: Перейти к шагу 2.
Выход: Подстановка F Е S(V8), отличающаяся от исходной только значениями подстановок 771, ?72, такая, что
ip = 40 (Np = 108), 8p = 6. (3)
Значения Num_Trans, Num_Besi являются входными данными алгоритма 1. Вычислительные эксперименты показали, что при Num_Trans = 500 на первой итерации (размер начальной популяции), Num_Trans = 100 на последующих, и при Num_Besi = 10 за приемлемое число итераций получаются 8-битовые подстановки с характеристиками (3) и минимальной степенью 7. Вопрос о возможности получения с использованием конструкции (1) подстановок с Nf > 108, Sp ^ 6 требует дополнительного исследования.
3.2. Об изменениях некоторых криптографических х а р а к т е р и с т и к п р и у м н о ж е н и и н а т р а н с п о з и ц и ю вспомогательных 4-битовых подстановок
В [26] доказано, что при умножении векторной булевой функции на транспозицию показатель её дифференциальной равномерности и нелинейность изменяются незначительно, в частности обоснованы следующие оценки: для h = g о (x,y), таких, что g, h : Vn ^ Vn, выполняется
Sh - 4 ^ Sfl ^ Sh + 4; (4)
Nh - 2 ^ Nfl ^ Nh + 2. (5)
В работе [13] обоснованы подходы к сокращению трудоёмкости вычисления разностного и линейного спектров для подстановки, полученной умножением исходной на одну транспозицию, в частности показано, что изменения в DDT появляются в относительно небольшом числе ячеек, а именно: в каждой строке таблицы, начиная с первой, возможны изменения не более чем в четырёх ячейках. Тем самым предложенный в [13] алгоритм пересчёта разностного спектра и, как следствие, показателя дифференциальной равномерности для h = g о (x, y), g, h G S(Vn) примерно в 2n раз быстрее по сравнению с алгоритмом его вычисления для произвольной подстановки. Трудоёмкость алгоритма вычисления линейности ih из работы [13] примерно в n раз меньше трудоёмкости её нахождения для произвольной подстановки.
Наиболее затратным этапом алгоритма 1 является вычисление ip, Sp, линейного и разностного спектров. С целью оптимизации этих вычислений применим теорию из [13] для определения ячеек в DDT и LAT, в которых возникают изменения значений при умножении на транспозицию только 4-битовой подстановки 7?! или 7?2 в обобщённой конструкции (1).
Утверждение 1. Пусть 8-битовая подстановка G(z) = G(xbx2) = yi||y2, z = = x1 ||x2, построена по формулам (1) с использованием одного из 768 наборов параметров (a,ß, y,S) [12] и произвольных 4-битовых подстановок 7г1, 7?2 (2), а подстановка H получена из G одной транспозицией подстановки 7?2, т.е.
H = G о (0||x, 0||y), x,y G Vх, x = y. (6)
Пусть a G VX, b G V8 — произвольные, при этом a = a1|a2, b = b1|b2, a*, b G V4, i =1, 2. Тогда выполняются соотношения
Sh(a, b) - SG(a,b) = <
0, a1 = 0, b1 = 0,
0, a1 = 0, b1 = 0, a2 = x + y,
2(11 + /а - 1o - I2), a1 = 0, b1 = 0, a2 = x + y,
[2(/1 + 7а - 7o - /2), a1 = 0,
где
1г = 1Ь2 (ТТ2(Ж + «2) + 7Г2(У))
10 = 1ь2 (ТТ2(Х + 02) + Т?2 (х)) Л1 = Д^М^х + ^2(У))) 10 = 1ь(91,х||(92,х + 7Г2(х))) (#М ||92,х) = С(а,1 ,х + 02)
1з = 1ь2 (^2 (у + 02) + 7Г2(х)),
12 = 1Ь2 (п2 (У + а2) + ТТ2 (У)) , Л3 = 1Ь(91,у 11(32,у + ^2 (x))), Л2 = 1ь(91,у ||(92,у + ^2 (У))) , (91,у ||92,у) = 0(а1,у + а2).
Доказательство. По условию для 8-битовых подстановок Н и О имеем
0(х1,х2) = Н(х1,х2) Ух1,х2 ((х1 = 0) или (х1 = 0, х2 = х, х2 = у)}, , ,
0(0, х) = 0|7Г2(х) = Н (0,у), 0(0, у) = 0||7Г2(у) = Н (0,х). (8)
Далее, в силу определения 6 выпишем следующую цепочку соотношений:
бы (а, Ь) - 6с(а,Ь) = = |{г е ^ : Н(г + а) + Н(г) = Ь}| - |{г е ^ | О (г + а) + О (г) = Ь}| =
= Е 1ь(Н(г + а) + Н(г)) - £ 1ь(0(г + а) + О(г)) = (9)
геУ8 zeV8
= 2 £ (1ь(Н (г + а) + Н (г)) - 1ь(0(г + а) + О (г))).
*е{(о||х), (о||у)}
I. Пусть а1 = 0, т. е. а = 0||а2. При Ь = Ь1 ||Ь2 и Ь1 = 0 из (9) с учётом вида функции (1) имеем 5ы(а, Ь) - 5с(а, Ь) = 0. Рассмотрим теперь случай Ь = 0||Ь2.
1.1. Пусть а2 = х + у. В этом случае из равенств (9) непосредственно следует, что 5ы(а, Ь) - 5с(а, Ь) = 0, поскольку в силу (8) имеем 0(0, у) + 0(0, х) = Н(0, х) + Н(0, у).
1.2. Пусть а2 = х + у, тогда соотношения (9) преобразуются к виду
бы (а, Ь) - 6а(а,Ь) = 2( 1ь2 (Щх + а2) + т?2(у)) + 1>2 (^(у + а2) + 7?2(х))--1ь2(тт2(х + а2) + 7Г2(х)) - 1ь2(к 2 (у + а2) + ^(у))) = 2(11 + 1з - 1о - 12).
II. Пусть а = а1|а2 и а1 = 0. В этом случае справедливы соотношения
0(а1,х + а2) + 0(0, х) = (91,х||92,х) + ( 0(а1,у + а2) + 0(0, у) = (91,у ||92,у) + ( Н (а1 ,х + а2) + Н (0, х) = (91,х||92,х) + Н (а1,у + а2) + Н (0, у) = (9^ ||92,у) + I
|^2(х)) = 91,х
|^2(у)) = 91,у
|^2(у)) = 91,х ^2(х)) = 91,у
2,х + 7Т2(х)), 2,у + П2(У)), 2,х + П2(у))-, 2,у + ^2(х)).
Тогда
бЫ(а,Ь) - бС(а,Ь) = 2 1Ь(91,х|(92,х + ^2(у))) + 1ь(91,у ||(92,у + ТТ2(х)))--1Ь(91,х|(92,х + ^2(х))) - 1ь (91,у |(92,у + ^2(у))) = 2(Л1 + Л3 - Л0 - Л2).
Утверждение 1 доказано. ■
Аналогично доказывается соответствующее утверждение относительно транспозиции подстановки 7г1:
Утверждение 2. Пусть 8-битовая подстановка С = С(х^х2) = у^|у2 построена по формулам (1) с использованием одного из 768 наборов параметров (а, в, 7,^) [12] и произвольных 4-битовых подстановок 7г1, 7г2 (2), а подстановка Н получена из С одной транспозицией подстановки 7т1, т. е.
Н = С О (х||0,у||0), х,у е V/, X = у.
Пусть а е У8Х, Ь е V8 — произвольные, при этом а = а1|а2,6 = Ь^|Ь2, тогда выполняются соотношения
Г0, а2 = 0, Ь2 = 0,
0, а2 = 0, Ь2 = 0, а1 = х + у,
2(71 + ,з - ,о - ,2), а2 = 0, Ь2 = 0, а1 = х + у, №1 + 7з - ,7о - ,/2), а2 = 0,
¿я(a,b) - Ма,&)
где
Ji = Ibi (tti(x + ai) + 7Ti(y)), Jo = Ibi (7Ti(x + ai) + 7Ti(x)), ■i = /b((yi,x + Jo = Ib((/i,x + ^i(x))||/2,x),
(/i,x ||flr2,x) = G(x + ai,a2),
J3 = Ibi (TTi(y + ai) + 7Ti(x)), J2 = Ibi (?Ti(y + ai) + 7Ti(y)),
J3 = Ib((yi,y + 7Ti (x))||/2,y),
■/2 = Ib((yi,y + TTi (y)) ||/2,y), (/i,y |/2,y) = G(y + ai , a2).
f10)
Принимая во внимание определение 6 и утверждения 1 и 2, приходим к справедливости следующего следствия:
Следствие 1. Для подстановок H и G, рассматриваемых в утверждениях 1 и 2, выполняются неравенства (4).
Утверждения 1 и 2 позволяют, с учётом особенности обобщённой конструкции, конкретизировать индексы ячеек таблицы DDT, в которых появляются изменения при одной транспозиции во вспомогательной 4-битовой подстановке (7г1 или 7г2). Так, можно указать множество ячеек DDT, значения в которых никогда не меняются при последовательном умножении на любые транспозиции только подстановки 7т1 (или только подстановки 7г2). Например, при последовательном умножении 7г2 на транспозиции неизменными остаются ячейки DDT с индексами из прямоугольного диапазона {(ai ||a2, bi ||b2) : ai = 0,bi = 0}. Тем самым эту часть DDT можно не хранить в памяти. Утверждения 1 и 2 можно использовать в алгоритме пересчёта разностного спектра для новой подстановки, предложенном в работе [13, Algorithm 2, p. 117], при этом в силу формул (7), (10) операции побитового XOR будут осуществляться для 4-битовых векторов, а не для 8-битовых (см. далее алгоритм 2 для 7т2). Отметим, что утверждения 1 и 2 могут быть сформулированы и доказаны аналогичным образом для обобщённой конструкции (1) при произвольном m. При этом асимптотическая оценка трудоёмкости нахождения дифференциальной ^-равномерности совпадет с приведённой в [13].
Алгоритм 2. Модификация [13, Algorithm 2, p. 117] при умножении на транспозицию подстановки 7Г2
Вход: 8-битовая подстановка G = G(x1,x2) = yi|y2, построенная по формулам (1) с использованием одного из 768 наборов параметров (а, в, Y, $) [12] и произвольных 4-битовых подстановок п1, 7г2 (2); x,y Е V4X, x = y; DDTG; разностный спектр DG. 1: Для всех элементов а2 = 1,... , 24 — 1, таких, что а2 = x + y: 2: вычислить элементы B0 = Tr2(x) + 7T2(x + а2) и B2 = Tr2(y) + vr2(y + а2). 3: Если B0 = B2, то
4: вычислить элемент B1 = Tr2(y) + Tr2(x + а2). 5: Для i = 0,1 изменить значения:
(D^MOlk, 0||Bi))| := \DG(8G(0\\C2, 0||Bi))| — 1; М0||а2, 0\Bi) := ^сг(0\а2,0||Bj) + 4(—1)i+1; \Dg( 8g (0|а2, 0||Bj)) | := |Dg ((0||a2, 0||Bj)) | + 1; 6: иначе
7: вычислить элементы B1 = Tr2(y) + Tr2(x + а2) и B3 = 7r2(x) + 7T2(y + а2). 8: Дл я всех i = 0,... , 3 изменить значения:
^(М0||а2,0|Bi))| := ^(М0||а2, 0||Bi))| — 1; М0||а2, 0|Bi) := 5Gг(0|a2,0|Bt) + 2(—1)i+1;
(0|а2, 0||Bj)) | := ^(М0||а2, 0||Bj)) | + 1. 9: Для всех элементов а1 Е V4X, а2 Е V4:
10: вычислить G(al,x + а2) = (g1,x|g2,x), G(al,y + а2) = (g1,y||g2,y);
11: вычислить элементы Bo = g1,x|(g2,x + ^(x)) и B2 = ff1,y || (g2,y + 7^2 (y)).
12: Если B0 = B2, то
13: вычислить элемент B1 = g1,x ||(g2,x + 7r2(y)). 14: Для i = 0,1 изменить значения:
^(Ма1||а2,Bt))| := ^с^Ла^,BZ))| — 1; M^K^) := ^Ы^, Bt) + 4(—1)i+1; |DG(Ma1||a2,Bi)) | := |Dg(Ma1 ||a2,B) | + 1; 15: иначе
16: вычислить элементы B1 = g1,x||(g2,x + ^(y)) и B3 = g1,y ||(g2,y + 7?2(x)). 17: Дл| я всех i = 0, . . . ,|3 из|менить значения: |
|DG(Ma1||a2,Bi))| := ^(¿gm^,Bt))| — 1; ^M^B*) := баЫ^, Bt) + 2(—1)i+1; |Dg(^G(a1 ||a2, Bj)) | := |Dg (Ma1 ||a2, B) | + 1. 18: Алгоритм останавливается после вычисления H = G о (0||x, 0||y) и Dh = Dg. Выход: Подстановка H = G о (0||x, 0||y); DDTH; разностный спектр DH.
Теперь, учитывая особенности обобщённой конструкции (1) и тот факт, что на транспозицию умножается только одна из 4-битовых подстановок (7г1 или 7г2), найдём индексы ячеек ЬАТ, в которых происходят изменения в результате умножения на транспозицию. Приведём два прямых следствия из соответствующего предложения [13].
Утверждение 3. Пусть 8-битовая подстановка О = 0(х1,х2) = у1|у2 построена по формулам (1) с использованием одного из 768 наборов параметров (а, в,б) [12] и произвольных 4-битовых подстановок 7г1, 7г2 (2), а подстановка Н получена из О одной транспозицией подстановки 7г2, т.е.
Н = О о (0||х, 0||у), х,у е V?, х = у.
Пусть a G V8, b G — произвольные, при этом a = ai|a2,b = bi|b2, тогда выполняются соотношения
D ( гл в ( гл i0, (a2, x + y) = 0 или (b2^2(x) + ^2(y)) = °
£ы(a, b) - b) = < , x +<b2 ff2(x)>+1 о (11)
I (—1)\"2'x/+\b2. 2 в противном случае.
Утверждение 4. Пусть 8-битовая подстановка G = G(xi,x2) = yi|y2 построена по формулам (1) с использованием одного из 768 наборов параметров (а, в, 7,^) [12] и произвольных 4-битовых подстановок 7т1, 7т2 (2), а подстановка H получена из G одной транспозицией подстановки 7т1 , т. е.
H = G о (x||0,y||0), x,y G V/, x = y.
Пусть a G V8, b G V8x — произвольные, при этом a = a1|a2,b = b1|b2, тогда выполняются соотношения
0 ( гл в ( гл J0, (ab x + y) = 0 или (b1^1(x) + ^1(y)) = 0,
£и(a, b) - Ma,b) = \f , W01 x +<bi ^(*)>+1 о (12)
I (—1)l«bx;+^bi,^i(x)/+1 . 2 в противном случае.
Следствие 2. В условиях утверждений (3) и (4) значения в следующих ячейках LAT исходной 8-битовой подстановки не изменяются при последовательном умножении в произвольном порядке вспомогательных 4-битовых подстановок 7т1, 7г2 на транспозиции (x,y), x,y G V4x, x = y:
{(a1|a2,b1|b2) : a1 = b2 = 0, или a2 = b1 = 0, или a1 = a2 = 0, или b1 = b2 = 0}. (13)
Доказательство. В силу утверждения 3 при умножении 7т2 на транспозицию не изменяются значения LAT в ячейках с индексами {(a1|a2, b1|b2) : a2 = 0 или b2 = 0}. В силу утверждения 4 при умножении 7т1 на транспозицию не изменяются значения LAT в ячейках с индексами {(a1 ||a2, b1 ||b2) : a1 = 0 или b1 = 0}. В пересечении этих множеств получим указанное в следствии множество индексов. ■
В свою очередь, из определений 10 и 11 и утверждений 3 и 4 непосредственно вытекает
Следствие 3. Для подстановок H и G, рассматриваемых в утверждениях 3 и 4, выполняются неравенства (5).
Утверждения 3 и 4 и следствие 2 можно использовать в алгоритме пересчёта линейного спектра, предложенном в [13, Algorithm 1, p. 114], применяя его к подстановкам, полученным путём умножения на транспозицию вспомогательных подстановок 7т1 или 7т2 в обобщённой конструкции (1). При этом значения ячеек LAT с индексами (13) можно не хранить в памяти, а также в силу формул (11) и (12) операции скалярного произведения выполнять для 4-битовых векторов, а не для 8-битовых (алгоритм 3 для 7т2). Отметим, что утверждения 3 и 4 справедливы для обобщённой конструкции (1) при произвольном m. При этом асимптотическая оценка трудоёмкости нахождения линейности совпадет с приведённой в [13].
Алгоритм 3. Модификация [13, Algorithm 1, p. 114] при умножении на транспозицию подстановки 7г2
Вход: 8-битовая подстановка G = G(x1 ,x2) = y1 |y2, построенная по формулам (1) с использованием одного из 768 наборов параметров (а, в, Y, [12] и произвольных 4-битовых подстановок 7Т1, 7т2 (2); x,y G V4x, x = y; LATG; линейный спектр LG. 1: Вычислить элементы a2 = x + y и b2 = 7t2 (x) + 7t2 (y). 2: Для всех элементов i = 1,... , 24 — 1 выполнить: 3: Если (a2, i) > 0, то 4: добавить i в список I1. 5: Если (b2, i) > 0, то 6: добавить i в список /2. 7: Для всех пар (a2,b2) G I1 x 12 выполнить: 8: вычислить A£(a2, b2) = (—1)(°2'x)+<b2'WH1 ■ 2. 9: Для всех a1 G V4, b1 G V4 10: сформировать a = a1||a2, b = b1||b2; 11: вычислить |lg(|^g(a, b)|)| := |LG(|£G(a, b)|)| — 1; 12: вычислить значение ¿G(a, b) := €G(a, b) + A£(a2, b2); 13: вычислить |lg(|^g(a, b)|)| := |lg(|^g(«, b)|)| + 1.
14: Алгоритм останавливается после вычисления H = G о (0||x, 0||y) и lh = lg. Выход: Подстановка H = G о (0||x, 0||y); LATH; линейный спектр LH.
Заключение
Предложен эвристический алгоритм подбора таких вспомогательных 4-битовых подстановок в обобщённой конструкции, полученных посредством умножения на транспозиции, чтобы итоговая 8-битовая подстановка F обладала криптографическими характеристиками Nf = 108, = 6. Экспериментально показана практическая применимость алгоритма, при этом удалось получить подстановки с минимальной степенью 7. Теоретически исследованы вопросы оптимизации вычисления линейного и разностного спектров на каждой итерации алгоритма. Алгоритмы вычисления линейного и разностного спектров из работы [13] применены к подстановкам, задаваемым конструкцией (1), с учётом того, что на транспозицию умножается одна из вспомогательных 4-битовых подстановок. При реализации алгоритмов можно получить выигрыш по памяти за счёт уменьшения числа хранимых ячеек в DDT и LAT. При этом операции побитового XOR и вычисления скалярного произведения осуществляются для 4-битовых векторов, а не для 8-битовых.
ЛИТЕРАТУРА
1. Biham E. and Shamir A. Differential cryptanalysis of the full 16-round DES // LNCS. 1993. V. 740. P. 487-496.
2. Biham E. and Shamir A. Differential cryptanalysis of DES-like cryptosystems // J. Cryptology. 1991. No. 4. P. 3-72.
3. Matsui M. Linear cryptanalysis method for DES cipher // LNCS. 1994. V. 765. P. 386-397.
4. Shannon С. E. Communication theory of secrecy systems // Bell Syst. Techn. J. 1949. V. 28. P. 656-715.
5. Menyachikhin A. V. Spectral-linear and spectral-differential methods for generating S-boxes having almost optimal cryptographic parameters // Матем. вопр. криптогр. 2017. Т. 8. №2. С. 97-116.
6. De la Cruz Jiménez R.A. Generation of 8-bit S-Boxes having almost optimal cryptographic properties using smaller 4-bit S-Boxes and finite field multiplication // LNCS. 2019. V. 11368. P. 191-206.
7. De la Cruz Jiménez R.A. On Some Methods for Constructing Almost Optimal S-Boxes and their Resilience against Side-Channel Attacks. 2018. https://eprint.iacr.org/2018/618.
8. De la Cruz Jiménez R.A. A method for constructing permutations, involutions and orthomorphisms with strong cryptographic properties // Прикладная дискретная математика. Приложение. 2019. №12. С. 145-151.
9. Фомин Д. Б. О подходах к построению низкоресурсных нелинейных преобразований // Обозрение прикладной и промышленной математики. 2018. Т. 25. Вып. 4. С. 379-381.
10. Fomin D. B. New classes of 8-bit permutations based on a butterfly structure // Матем. вопр. криптогр. 2019. Т. 10. №2. С. 169-180.
11. Фомин Д. Б. Построение подстановок пространства V2m с использованием (2m, т)-функ-ций // Матем. вопр. криптогр. 2020. Т. 11. №3. С. 121-138.
12. Фомин Д. Б. Об алгебраической степени и дифференциальной равномерности подстановок пространства V2m, построенных с использованием (2m, т)-функций // Матем. вопр. криптогр. 2020. Т. 11. №4. С. 133-149.
13. Menyachikhin A. The change in linear and differential characteristics of substitution after the multiplication by transposition // Матем. вопр. криптогр. 2020. Т. 11. №2. С. 111-123.
14. Fomin D. and Kovrizhnykh M. On differential uniformity of permutations derived using a generalized construction // CTCrypt 2021. https://ctcrypt.ru/files/files/2021/ Fomin_Kovrizhnylh.pdf.
15. Ivanov G., Nikolov N., and Nikova S. Reversed genetic algorithms for generation of bijective s-boxes with good cryptographic properties // Cryptogr. Commun. 2016. V. 8. No. 2. P. 247-276.
16. Biryukov A., Perrin L., and Udovenko A. Reverse-engineering the s-box of Streebog, Kuznyechik and STRIBOBr1 // LNCS. 2016. V.9665. P. 372-402.
17. Canteaut A. and Perrin L. On CCZ-Equivalence, Extended-Affine Equivalence, and Function Twisting. Cryptology ePrint Archive, Report 2018/713. https://eprint.iacr.org/2018/ 713.
18. Kazymyrov O. V., Kazymyrova V. N., and Oliynykov R. V. A method for generation of high-nonlinear S-boxes based on gradient descent // Матем. вопр. криптогр. 2014. Т. 5. №2. С. 71-78.
19. ЛидлР, Нидеррайтер Г. Конечные поля. В 2-х т. М.: Мир, 1988. 430 с.
20. Кострикин А. И. Введение в алгебру. Ч. I. Основы алгебры: учебник для вузов. 3-е изд. М.: Физматлит, 2004. 272 с.
21. Browning K. A, Dillon J. F., McQuistan M. T., and Wolfe A. J. An APN permutation in dimension six // 9th Int. Conf. Finite Fields Appl. 2009. Contemp. Math. 2010. V. 518. P. 33-42.
22. Knuth D. Art of Computer Programming. V. 2: Seminumerical Algorithms, 3rd ed. Addison-Wesley Professional, 1997.
23. Казимиров А. В. Методы и средства генерации нелинейных узлов замены для симметричных криптоалгоритмов: дис. ... канд. техн. наук. Харьков, 2013. 190с.
24. O'Connor L. Properties of linear approximation tables // LNCS. 1995. V. 1008. P. 131-136.
25. Carlet C. Vectorial Boolean functions for cryptography // Boolean Models and Methods in Mathematics, Computer Science, and Engineering / eds. Y. Crama and P. Hammer. Cambridge: Cambridge University Press, 2010. P. 398-469.
26. Yu Y., Wang M., and Li Y. Constructing differential 4-uniform permutations from know ones. Cryptology ePrint Archive. Report 2011/047. 2011. https://eprint.iacr.org/2011/047.
REFERENCES
1. Biham E. and Shamir A. Differential cryptanalysis of the full 16-round DES. LNCS, 1993, vol. 740, pp. 487-496.
2. Biham E. and Shamir A. Differential cryptanalysis of DES-like cryptosystems. J. Cryptology, 1991, no. 4, pp. 3-72.
3. Matsui M. Linear cryptanalysis method for DES cipher. LNCS, 1994, vol. 765, pp. 386-397.
4. Shannon C.E. Communication theory of secrecy systems. Bell Syst. Techn. J., 1949, vol.28, pp. 656-715.
5. Menyachikhin A. V. Spectral-linear and spectral-differential methods for generating S-boxes having almost optimal cryptographic parameters. Mat. Vopr. Kriptogr., 2017, vol.8, iss.2, pp. 97-116.
6. De la Cruz Jimenez R.A. Generation of 8-bit S-Boxes having almost optimal cryptographic properties using smaller 4-bit S-Boxes and finite field multiplication. LNCS, 2019, vol. 11368, pp.191-206.
7. De la Cruz Jimenez R.A. On Some Methods for Constructing Almost Optimal S-Boxes and their Resilience against Side-Channel Attacks. 2018. https://eprint.iacr.org/2018/618.
8. De la Cruz Jimenez R.A. A method for constructing permutations, involutions and orthomorphisms with strong cryptographic properties. Prikladnaya Diskretnaya Matematika. Prilozhenie, 2019, no. 12, pp. 145-151.
9. Fomin D. B. O podkhodakh k postroeniyu nizkoresursnykh nelineynykh preobrazovaniy [On approaches to constructing low-resource nonlinear transformations]. Obozrenie Prikladnoy i Promyshlennoy Matematiki, 2018, vol.25, iss.4, pp. 379-381. (in Russian)
10. Fomin D. B. New classes of 8-bit permutations based on a butterfly structure. Mat. Vopr. Kriptogr., 2019, vol. 10, no. 2, pp. 169-180.
11. Fomin D. B. Postroenie podstanovok prostranstva V2m s ispol'zovaniem (2m, m)-funktsiy [Construction of permutations on the space V2m, by means of (2m, m)-functions]. Mat. Vopr. Kriptogr., 2020, vol. 11, no.3, pp. 121-138. (in Russian)
12. Fomin D. B. Ob algebraicheskoy stepeni i differentsial'noy ravnomernosti podstanovok prostranstva V2m, postroyennykh s ispol'zovaniyem (2m, m)-funktsiy [On the algebraic degree and differential uniformity of permutations on the space V2m constructed via (2m, m)-functions]. Mat. Vopr. Kriptogr., 2020, vol. 11, no. 4. pp. 133-149. (in Russian)
13. Menyachikhin A. The change in linear and differential characteristics of substitution after the multiplication by transposition. Mat. Vopr. Kriptogr., 2020, vol.11, no. 2, pp. 111-123.
14. Fomin D. and Kovrizhnykh M. On differential uniformity of permutations derived using a generalized construction. CTCrypt 2021. https://ctcrypt.ru/files/files/2021/Fomin_ Kovrizhnylh.pdf.
15. Ivanov G., Nikolov N., and Nikova S. Reversed genetic algorithms for generation of bijective s-boxes with good cryptographic properties. Cryptogr. Commun., 2016, vol.8, no. 2, pp.247-276.
16. Biryukov A., PerrinL., and Udovenko A. Reverse-engineering the s-box of Streebog, Kuznyechik and STRIBOBr1. LNCS, 2016, vol.9665, pp. 372-402.
17. Canteaut A. and Perrin L. On CCZ-Equivalence, Extended-Affine Equivalence, and Function Twisting. Cryptology ePrint Archive, Report 2018/713. https://eprint.iacr.org/2018/ 713.
18. Kazymyrov O. V., Kazymyrova V. N., and Oliynykov R. V. A method for generation of high-nonlinear S-boxes based on gradient descent. Mat. Vopr. Kriptogr., 2014, vol.5, no.2, pp.71-78.
19. Lidl R. and Niederreiter H. Finite Fields. 2nd ed. Cambridge, Cambridge University Press, 1997. 755 p.
20. Kostrikin A. I. Introduction to Algebra. N.Y., Springer Verlag, 1982. 577p.
21. Browning K. A, Dillon J. F., McQuistan M. T., and Wolfe A. J. An APN permutation in dimension six. 9th Int. Conf. Finite Fields Appl. 2009; Contemp. Math., 2010, vol.518, pp.33-42.
22. Knuth D. Art of Computer Programming. Vol. 2: Seminumerical Algorithms, 3rd ed. Addison-Wesley Professional, 1997.
23. Kazymyrov O.V. Metody i sredstva generatsii nelineynykh uzlov zameny dlya simmetrichnykh kriptoalgoritmov [Methods and tools for generating nonlinear replacement nodes for symmetric cryptographic algorithms]. PhD Thesis, Kharkiv, 2013. 190p. (in Russian)
24. O'Connor L. Properties of linear approximation tables. LNCS, 1995. vol. 1008, pp. 131-136.
25. Carlet C. Vectorial Boolean functions for cryptography. Boolean Models and Methods in Mathematics, Computer Science, and Engineering, Y. Crama and P. Hammer (eds.). Cambridge: Cambridge University Press, 2010, pp. 398-469.
26. Yu Y., Wang M., and Li Y. Constructing differential 4-uniform permutations from know ones. Cryptology ePrint Archive, Report 2011/047, 2011. https://eprint.iacr.org/2011/047.