О построении APN-перестановок с помощью подфункций

2018 Теоретические основы прикладной дискретной математики №41

УДК 519.7

О ПОСТРОЕНИИ APN-ПЕРЕСТАНОВОК С ПОМОЩЬЮ ПОДФУНКЦИЙ1

В. А. Идрисова

Институт математики им. С. Л. Соболева СО РАН, Новосибирский государственный университет, г. Новосибирск, Россия

Работа посвящена проблеме существования взаимно однозначных APN-функций от чётного числа переменных. Рассматриваются векторные 2-в-1 функции, изоморфные (n — 1)-подфункциям APN-перестановок, которые могут быть построены с помощью специального алгоритма. Для того чтобы получить APN-перестановку, необходимо найти координатные булевы функции f, такие, что взаимно однозначная функция, полученная из данной (n — 1)-подфункции и функции f, является APN-функцией. Вводится понятие ассоциированных перестановок и доказывается оценка на число таких координатных булевых функций для некоторой (n — 1)-подфункции. Описан соответствующий алгоритм поиска взаимно однозначных APN-функций с помощью подфункций и координатных булевых функций.

Ключевые слова: векторная функция, APN-функция, перестановка, подфункция.

DOI 10.17223/20710410/41/2

ON CONSTRUCTING APN PERMUTATIONS USING SUBFUNCTIONS

V. A. Idrisova

Sobolev Institute of Mathematics, Novosibirsk State University, Novosibirsk, Russia

E-mail: vitkup@math.nsc.ru

Our subject for investigation is the problem of APN permutation existence for even number of variables. In this work, we consider 2-to-1 functions that are isomorphic to (n — 1)-subfunctions of APN permutations. These 2-to-1 functions can be obtained with a special algorithm which searches for 2-to-1 APN functions that are potentially EA-equivalent to permutations. The algorithm is based on constructing special symbol sequences that are called admissible. It is known that (n — 1)-subfunction of an APN permutation can be represented as a differentially 4-uniform 2-to-1 function that takes values from the half of the Boolean cube. Therefore, the following algorithm can be used to search for APN permutations. On the first step all the possible admissible sequences are constructed and we assign obtained sequences in order to find a differentially 4-uniform 2-to-1 function. Therefore, obtained function can be isomorphic to a (n — 1)-subfunction of an APN permutation, so, this (n — 1)-subfunction can be expanded to bijective APN function. In order to construct an APN permutation, we need to find all possible coordinate Boolean functions f such that the bijective function constructed from the given (n — 1)-subfunction S and function f is APN.

1 Работа поддержана грантами РФФИ №18-31-00374 и 18-07-01394, программой фундаментальных научных исследований СО РАН № I.5.1., проект №0314-2016-0017, Министерством образования и науки (задание №1.12875.2018/12.1) и в рамках программы 5-100.

Unfortunately, the exhaustive search through the set of potential coordinate functions is computationally hard when n ^ 7, so, we need to estimate the number n(S) of such coordinate Boolean functions. For a given bijective vectorial function F, we introduce an associated permutation F* as follows. We split the set F^ into two disjoint subsets F1 and F2, fix integer k, indices i1,..., ik, and index j £ {i1,..., ik}. Then the value F*(x) is equal to F(x) if F(x) £ F1 and F*(x) is equal to F(x) + ej otherwise. We prove that F* is an APN permutation if and only if F is an APN permutation. This fact allows us to obtain the necessary bound. We prove that if n(S) is not equal to zero, then n(S) ^ 2n.

Keywords: vectorial function, APN function, permutation, subfunction.

Введение

Стойкость современных симметричных шифров существенно зависит от характеристик, которыми обладают их компоненты, в частности S-блоки. В общем случае S-блок представляет собой векторную функцию из F^ в F^. Многие широко используемые блочные шифры, такие, например, как AES, ГОСТ Р 34.12-2015 (Кузнечик), Serpent, являются по своей структуре SP-сетями. Важным свойством, требуемым от S-блоков в SP-сетях, является их обратимость, то есть векторная функция, используемая в качестве S-блока, должна быть взаимно однозначной.

Появление метода дифференциального криптоанализа в 1990 г. потребовало от S-блоков новых характеристик. Так, было введено понятие функций с низкой дифференциальной равномерностью и APN-функций — векторных функций, обладающих оптимальной стойкостью к дифференциальному криптоанализу. Одна из самых важных задач в области APN-функций заключается в необходимости совместить свойства взаимной однозначности и минимально возможной дифференциальной равномерности в одном S-блоке. Для нечётных n существует множество конструкций таких функций, однако для чётных размерностей до сих пор известен лишь один пример взаимно однозначной APN-функции от шести переменных.

Данная работа посвящена проблеме поиска и построения взаимно однозначных APN-функций. Рассматриваются 2-в-1 векторные функции, обладающие низкой дифференциальной равномерностью, которые могут быть получены специальным алгоритмом. Показано, что с помощью данных 2-в-1 функций возможен поиск новых APN-перестановок. В п. 1 вводятся основные определения и аппарат APN-функций, а также рассматриваются некоторые известные результаты, связанные с проблемой существования APN-перестановок. В п. 2.1 описывается алгоритм поиска APN-перестановок с помощью подфункций и недостающих координатных булевых функций и формулируется основная задача работы. В п. 2.2 рассматривается дифференциально 4-равно-мерная 2-в-1 векторная функция и доказывается нижняя оценка числа координатных булевых функций, таких, что перестановка, полученная из исходной 2-в-1 векторной функции и данной координатной булевой функции, является APN-функцией. Данная оценка позволяет понять, как много таких координатных функций существует и, следовательно, насколько быстро найдётся APN-перестановка в процессе работы алгоритма. Для произвольной взаимно однозначной функции вводится понятие ассоциированной перестановки. Доказывается, что некоторая перестановка является APN-функцией тогда и только тогда, когда её ассоциированная перестановка также является APN-функцией.

1. Определения 1.1. Основные определения

Будем обозначать через множество всех двоичных векторов длины п. Функция Р из Щ в , где п и т — целые числа, называется векторной булевой функцией. Если т = 1, то функция Р называется булевой. Произвольная векторная функция Р может быть представлена как набор из т координатных функций Р = (/1,..., /т), где /г — булева функция от п переменных. Для произвольного ненулевого вектора V € линейная комбинация координатных функций V • Р называется компонентной функцией. Любую векторную булеву функцию Р можно единственным образом представить в виде алгебраической нормальной формы (АНФ):

п

Р(жЪ . . . , хп) = ф ф аг1жг1 . . . xгfc ©

к=1

где аг1,...,^, а0 € Е^. Алгебраической степенью функции Р называется количество переменных в самом длинном слагаемом её АНФ, при котором коэффициент не равен нулю. Если алгебраическая степень Р не превышает единицы, то Р называется аффинной. Аффинная функция Р называется линейной, если Р(0) = 0.

Векторная булева функция Р называется уравновешенной, если она принимает каждое значение из ровно 2п-т раз, в частности, булева функция уравновешена, или сбалансирована, если она принимает каждое значение 2п-1 раз. В случае п = т уравновешенная функция Р называется взаимно однозначной, или перестановкой. Производной функции Р по направлению а называется векторная функция РаР(ж) = Р(ж + а) + Р(ж), где а — ненулевой вектор из Е^. Вектором значений для векторной функции Р называется вектор (Р(ж(1)),..., Р(ж(2П))), где ж(1),..., ж(2П) — лексикографически упорядоченные двоичные векторы из Еп. Векторная функция Р из в Еп называется 2-в-1 функцией, если она принимает 2п-1 различных значений, каждое из которых встречается в векторе значений ровно два раза.

Мы можем сопоставить векторному пространству Еп конечное поле ОЕ(2п) и рассматривать векторную булеву функцию как функцию над этим полем. Тогда любая векторная функция Р единственным образом представляется над ОЕ(2п) в следующей форме:

2п —1

Р(ж) = Е Агж\ Аг € ОЕ(2п).

г=0

Векторные булевы функции Р и С называются расширенно аффинно эквивалентными (ЕЛ-эквивалентными), если Р = А1 о С о А2 + А, где АЬА2 —взаимно однозначные аффинные функции над Еп и А — аффинная функция. Если функции Р и С являются ЕА-эквивалентными и А = 0, то Р и С называются аффинно эквивалентными. Рассмотрим ещё одно отношение эквивалентности [1] на множестве векторных булевых функций. Две функции Р и С называются ООЕ-эквивалентными, если соответствующие множества {(ж,у) € Еп х Еп : у = Р(ж)} и {(ж,у) € Еп х Еп : у = С(ж)} являются аффинно эквивалентными, т. е. если существует аффинный автоморфизм А = (А1, А2), такой, что у = Р(ж) ^ А2(ж,у) = С(А1(ж,у)).

1.2. Взаимно однозначные АРМ-функции

Рассмотрим векторную функцию Р из в . Для векторов а, Ь Е Еп, где а = 0, определим

5(а,Ь) = |{ж € Еп : Р(ж + а) + Р(ж) = Ь}|, АР = тах 5(а,Ь).

Функция Е называется дифференциально Ар -равномерной. Чем меньше параметр Ар, тем выше стойкость шифра, содержащего Е в качестве Б-блока, к дифференциальному криптоанализу. Для векторных функций из ЕП в ЕП наименьшее значение Ар равно 2. В этом случае функция Е называется почти совершенно нелинейной (ЛЕЫ-функцией). Данные понятия введены К. Ньюберг в работе [3]. Если Е является АРМ-функцией, то любая EA-эквивалентная/CCZ-эквивалентная функция также является АРМ-функцией.

Наиболее известные представители класса АРМ-функций — это мономиальные функции, то есть функции вида Е(х) = хл (таблица) над конечным полем ОР(2п). Известно [12], что АРМ-функции изучались ещё в СССР. Так, например, в 1964г. В. А. Башевым и Б. А. Егоровым было доказано, что инверсия элемента поля является АРМ-функцией. Несмотря на то, что класс АРМ-функций активно изучается, в данной области по-прежнему большое количество открытых вопросов. Для дальнейшего изучения темы рекомендуем, например, обзоры [12-16], книги [17, 18] и т.д.

Известные мономиальные APN-функции вида ха над полем СЕ

Название Значение ! Условия Ссылки

Голда 2« +1 (г, п) = 1 [2, 3]

Касами 224 — 2« + 1 (г, п) = 1 [4, 5]

Уолша 2« + 3 п = 2г + 1 [6, 7]

Нихо 2« + 2«/2 — 1, г чётное 2« + 2(з«+1)/2 — 1, г нечётное п = 2г + 1 [8, 9]

Инверсия 22« — 1 п = 2г + 1 [3, 10]

Доббертина 24« + 23« + 22« + 2« — 1 п = 5г [11]

Один из самых важных открытых вопросов в области АРМ-функций посвящён проблеме существования взаимно однозначных АРМ-функций, или ЛЕЫ-перестановок. В [19] выдвинута гипотеза (и доказана для случая п = 4), что не существует АРМ-перестановок от чётного числа переменных. Однако в 2009 г. был найден первый пример взаимно однозначной АРМ-функции от шести переменных [20]. В работах [21, 22] рассматривается бесконечное семейство векторных функций, таких, что Ар ^ 4, также содержащее АРМ-функцию Диллона, однако доказано, что это единственная АРМ-перестановка в данном семействе. До сих пор неизвестно, существуют ли другие АРМ-перестановки от шести переменных (неэквивалентные функции Диллона) и существуют ли они вообще для других чётных п > 6.

2. 2-в-1 функции как подфункции ЛР^перестановок 2.1. Алгоритм построения А Р М - п е р е с т а н о в о к с помощью

(п — 1) - подфункций В работе [23] предложен новый способ построения 2-в-1 АРМ-функций, использующий символьные последовательности специального вида. Вектору значений 2-в-1 функции можно сопоставить символьную последовательность, такую, что одинаковым значениям соответствуют одни и те же символы, а различным значениям — разные символы. В том случае, когда Е — АРМ-функция, такая последовательность называется допустимой. В [23] также описан алгоритм генерации всевозможных допустимых последовательностей.

Определение 1. Пусть Е — векторная булева функция Е = (/1,...,/п) из К? в Векторная функция Еj из в ¥'П-1 называется (п — 1)-подфункцией функции Е, если Еj = (/1,..., /j-1, /j+1,... , /п) для некоторого индекса ] € {1,... , п}.

Напомним, что векторному пространству Fn можно сопоставить целочисленное множество {0,..., 2n — 1}, где каждое целое число является десятичным представлением двоичного числа, представляющего вектор. Тогда можно рассматривать (n — 1)-подфункцию Fj из Fn в Fn-1 как векторную функцию из Fn в Fn, к которой в качестве первой координатной функции добавлена булева функция, тождественно равная нулю. Данная расширенная функция принимает значения только из множества {0,... , 2n-1 — 1}. Таким образом, множество (n — 1)-подфункций изоморфно множеству таких векторных функций из Fn в Fn. Далее будем рассматривать оба определения (n — 1)-подфункции в зависимости от контекста.

Рассмотрим 2-в-1 функцию, которая принимает значения из {0,... , 2n-1 — 1}, обозначим множество таких 2-в-1 функций от n переменных через 7П. Легко заметить, что любая (n — 1) -подфункция взаимно однозначной векторной функции есть в точности функция из 7^. В работе [23] доказаны следующие утверждения.

Теорема 1. Пусть F — взаимно однозначная APN-функция от n переменных. Тогда любая её (n — 1)-подфункция является дифференциально 4-равномерной функцией из 7^.

Вопрос характеризации APN-функции через её подфункции исследовался также в работе [24], где доказано, что любая подфункция APN-функции из Fn-1 в Fn-1 является APN-функцией или дифференциально 4-равномерной векторной функцией.

Напомним, что в данной работе дифференциально 4-равномерная функция — это функция, для которой значение max $(a,b) равняется 4, то есть, согласно данному определению, APN-функции не являются дифференциально 4-равномерными. В некоторых работах встречается другое определение дифференциально i-равномер-ных функций, которое включает функции меньших порядков дифференциальной равномерности, в частности APN-функции.

Теорема 2. Пусть F — взаимно однозначная APN-функция от n переменных. Тогда символьная последовательность, соответствующая вектору значений любой её (n — 1)-подфункции, является допустимой последовательностью.

Из данных теорем следует, что любая APN-перестановка может быть получена из 2-в-1 дифференциально 4-равномерной функции, построенной при помощи допустимой последовательности. В [23] предложен следующий алгоритм для поиска взаимно однозначных APN-функций. На первом шаге строятся допустимые символьные последовательности и для каждой последовательности находится означивание, такое, что полученная 2-в-1 функция является дифференциально 4-равномерной. Следовательно, данная функция может быть изоморфна (n — 1)-подфункции некоторой взаимно однозначной APN-функции и соответственно эта (n — 1)-подфункция может быть достроена до APN-перестановки.

Без ограничения общности рассмотрим (n— 1)-подфункцию S = (s1,... , sn-1), которая изоморфна 2-в-1 векторной функции из 7^. Напомним, что любая такая функция является (n — 1) -подфункцией некоторой взаимно однозначной векторной функции из Fn в Fn. Для того чтобы её получить, нужно добавить к подфункции S недостающую координатную булеву функцию f = sn от n переменных, удовлетворяющую некоторым свойствам. Легко заметить, что функция f должна быть сбалансированной, так как искомая векторная функция взаимно однозначна. Поскольку (n — 1)-подфункция S = (s1,... , sn-1) является 2-в-1 функцией, каждое из значений 0,1,..., 2n-1 — 1 встретится ровно два раза. Соответственно на одну пару совпадающих значений подфункции S приходится либо упорядоченная пара значений (0,1) недостающей булевой

функции, либо упорядоченная пара значений (1, 0). Так как в векторе значений Б имеется 2п-1 пар совпадающих значений, всего существует 22" булевых функций / = зп, таких, что Б = (в1,... , зп-1, зп) является взаимно однозначной функцией.

К сожалению, число 22" уже при п ^ 7 очень велико для того, чтобы перебрать всевозможные варианты недостающих координатных булевых функций и проверить, является ли АРМ-функцией построенная взаимно однозначная функция Б = (в1,..., зп-1, зп). Поэтому, чтобы оценить, как быстро при переборе найдётся искомая взаимно однозначная АРМ-функция, необходимо найти количество тех булевых функций, которые дают именно АРМ-перестановку.

2.2. Оценка числа координатных булевых функций

для (п — 1) -подфункции

Для произвольного натурального п рассмотрим векторное пространство Еп и разобьём его на два равномощных непересекающихся подмножества Еп = V и V2 следующим образом: пусть У1 = {у € Еп : '^('у) — нечётное число} и V = {у € Еп : '^у) — чётное число}, '^у) —вес вектора V. Рассмотрим произвольную взаимно однозначную функцию Е = (/1,... , /п). Зафиксируем к координатных функций /¿1,...,/,

и

разобьём Еп на два непересекающихся подмножества 71 и 72 следующим образом:

7, = {(/1(х),..., /п(х)) : Д (х),..., /^(х) € V, х € Еп}, з = 1, 2.

Пусть дано значение к, а также набор индексов ¿1,...,г^ и индекс з € {^}. Определим ассоциированную перестановку Е* следующим образом:

Е*(х)= /Е(x), Е(х) € 7Ь

() \Е(х) + В; , Е(х) €72.

Здесь — вектор веса 1, содержащий 1 в з-й компоненте.

Теорема 3. Перестановка Е является АРМ-функцией тогда и только тогда, когда перестановка Е* является АРМ-функцией.

Доказательство. Поскольку Е — АРМ-функция, для любого ненулевого вектора а € Еп её производная ДаЕ(х) = Е(х) + Е(х + а) является 2-в-1 функцией. Зафиксируем произвольный вектор а' и рассмотрим вектор значений функции Е. Он состоит из 2п-1 различных значений Ва/Е = {Ь1,... , Ь2п-1}, каждое из которых встречается ровно два раза.

Рассмотрим перестановку Е*(х) и производную Е* для того же вектора а'. Без ограничения общности, для фиксированного аргумента х' возможны три случая:

1) Е(х') € 71 и Е(х' + а') € 71;

2) Е(х') € 71 и Е(х' + а') € 72;

3) Е(х') € 72 и Е(х' + а') € 72.

Рассмотрим первый случай. Поскольку Е(х') и Е(х' + а') лежат в 71, значение Е*(х') = Е*(х' + а') = Е(х') = Е(х' + а') принадлежит Е и встречается два раза.

В третьем случае оба значения Е(х') и Е(х' + а') лежат в 72. Тогда значение производной Е*(х') равно значению производной Е(х'), поскольку Е*(х') = = Е*(х') + Е*(х' + а') = Е(х') + в} + (х' + а') + в} = Е(х') + (х' + а'). Заметим, что Е*(х') совпадает со значением Е*(х' + а'), следовательно, оно принадлежит Ва/Е и встречается два раза.

Чтобы доказать, что перестановка Р* является АРМ-функцией, необходимо показать, что значение производной, получаемое во втором случае, отлично от значений производной, получаемых в первом и третьем случаях, а также показать, что оно встретится в векторе значений функции Р* ровно два раза.

Докажем вторую часть необходимого условия. Поскольку Р(ж') принадлежит 71, а Р(ж' + а') принадлежит 72, значение производной Р*(ж') равно значению Р(ж') + + в^-. Поскольку Р — АРМ-функция, значение Р*(ж') встречается ровно два раза, а значит, и Р*(ж') встретится среди значений Р*(ж') ровно два раза.

Заметим, что для любой пары v1,w1 € У и любой пары v2,w2 € V2 выполнено VI + € У2, г = 1, 2, а для любой пары v1 € У, v2 € У выполнено v1 + v2 € V!. Следовательно, по построению множества 71 и 72 обладают аналогичными свойствами, а именно: для любой пары v1, и €71 и любой пары v2, и2 € 72 выполнено ^ + е 72, г = 1, 2, а для любой пары v1 €71, v2 € 72 выполнено v1 + v2 €71. Из этого следует, что значения производных в первом и третьем случаях принадлежат 72, а во втором случае — 71. Следовательно, поскольку 71 и 72 не пересекаются, производная Р* является 2-в-1 функцией. В силу произвольности выбора а' получаем, что производные функции Р* по всем направлениям являются 2-в-1 функциями, следовательно, Р* — АРМ-перестановка.

Пусть Б является 2-в-1 дифференциально 4-равномерной функцией из Еп в Е^, принимающей значения из множества {0,... , 2п-1 — 1}, которая может быть представлена в виде (п — 1)-подфункции Б = (в1,... , зп-1). Обозначим через п(Б) число таких булевых функций / от п переменных, что Н = (в1,... , зп-1, /) является АРМ-перестановкой.

Теорема 4. Если значение п(Б) не равно нулю, то п(Б) ^ 2п.

Доказательство. Из теоремы 3 следует, что если Н = (в1,..., зп-1, /) является АРМ-перестановкой для некоторой булевой функции /, то ассоциированная перестановка Н* для некоторого набора индексов г1,... , ¿к также является АРМ-функцией. Чтобы оценить число булевых функций /, таких, что Н = Б и / является АРМ-перестановкой, необходимо найти количество ассоциированных перестановок Н*, имеющих общую (п — 1)-подфункцию Б = (й1, ... , зп-1).

Чтобы определить ассоциированную перестановку Н*, в общем случае необходимо задать значение к, набор индексов г1,... , ¿к и индекс ] € {¿1,... , ¿к}. Заметим, что перестановки Н и Н* имеют общую (п — 1)-подфункцию Б = (в1,... , зп-1) тогда и только тогда, когда ] = п. Докажем, что каждой ассоциированной перестановке соответствует своё число к и набор индексов ¿1,... , ¿к; соответственно для построения перестановки необходимо и достаточно задать лишь эти параметры. Для этого требуется доказать, что ни для какого к* < к не найдётся непересекающихся множеств у*, V2*, таких, что Ек = у* и У2* и выполнено следующее свойство: для вектора длины к зафиксируем произвольные £ = к — к* координат, тогда любой вектор v* € У* может быть получен выкалыванием этих £ координат из некоторого вектора v € У, г =1, 2.

По построению все векторы из нечётного веса лежат в У, а значит, все векторы стандартного базиса вj, ^ = 1,... , к, также лежат в У. Заметим, что нулевой вектор лежит в У. Рассмотрим вектор вj, такой, что координата ] встречается среди £ фиксированных координат ¿1,..., ¿¿. После выкалывания координат ¿1,..., из вj получается нулевой вектор, который принадлежит у*, однако нулевой вектор также лежит ив У2*, поскольку он уже лежал в У до операции выкалывания. Поскольку для

любого к* < к и любого £ = к — к* такой вектор найдётся, множества V* и V2* всегда будут пересекаться для любых £ и к*.

Следовательно, для каждого к множества 71 и 72, полученные из таких V и V2, не совпадут ни с какими множествами 7*1 и 72, определёнными для некоторого к* < к. Это значит, что для каждой ассоциированной перестановки существует единственное число к и единственный набор индексов ¿1,... , , и для того, чтобы найти число возможных ассоциированных перестановок для АРМ-перестановки H, нужно посчитать число возможных наборов координат ¿1,... , для каждого значения к = 1,... , п — 1.

га— 1

_-* /О™ — 1

Их в точности ( • ) = 2 — 1. j=i

Напомним, что прибавление аффинной функции не меняет свойства функции быть APN, следовательно, если H = (s1,..., sra-1, f) является APN-перестановкой, то и G = (si,... , sra-1, f + 1) также ею является. Заметим, что прибавление единицы к последней координате эквивалентно тому, что мы меняем местами множества Vi и V2 при построении F1 и F2. Вместе с исходной функцией H имеем 2га-1 APN-перестановок, а поскольку к последней координате каждой перестановки ещё можем прибавить единицу, то всего получаем 2га различных APN-перестановок, имеющих общую (n — 1)-подфункцию S = (s1,... , sra-1). Таким образом, если существует хотя бы одна булева функция f, такая, что H = (s1,... , sra-1, f) является APN-перестановкой и, следовательно, n(S) = 0, то n(S) ^ 2га.

С помощью компьютерных вычислений установлено, что данная оценка является точной для n = 3, 5 и для всех рассмотренных спорадических примеров дифференциально 4-равномерных функций из 7га от шести переменных.

Остаются открытыми несколько интересных вопросов. Пусть S является дифференциально 4-равномерной функцией из 7га. Может ли величина n(S) в таком случае быть равной нулю? Другими словами, из любой ли 2-в-1 дифференциально 4-равномерной функции из Fra в Fra, принимающей значения из множества {0,... , 2га-1 — 1}, можно получить APN-перестановку? Для всех рассмотренных примеров n(S) не равнялась нулю. Более того, с помощью компьютерных вычислений получено, что при n = 4 в 7га не существует дифференциально 4-равномерных функций. Напомним, что APN-перестановок при n = 4 также не существует.

Понятия EA-эквивалентности и CCZ-эквивалентности очень важны, когда мы говорим о поиске новых функций, поскольку найти новую APN-перестановку от шести переменных — это найти APN-перестановку, неэквивалентную APN-функции Дилло-на. Можно заметить, что утверждение теоремы 3 задаёт отношение эквивалентности на множестве APN-перестановок. Как эта эквивалентность соотносится с уже известными отношениями эквивалентности? Так, мы проверили несколько пар ассоциированных APN-перестановок от пяти и шести переменных, и все рассмотренные примеры являлись попарно CCZ-эквивалентными.

Заключение

В работе представлен новый способ поиска взаимно однозначных APN-функций. Описан алгоритм получения APN-перестановок из 2-в-1 дифференциально 4-равно-мерных векторных функций и координатных булевых функций. Доказана оценка числа таких координатных булевых функций для данной векторной функции. Данный результат позволяет оценить, насколько эффективен предложенный алгоритм поиска APN-перестановок. Введено понятие ассоциированной перестановки для взаимно од-

нозначной функции и доказано, что некоторая перестановка является APN-функцией тогда и только тогда, когда её ассоциированная перестановка также является APN-функцией. Сформулированы некоторые открытые вопросы, например про свойства отношения эквивалентности на множестве взаимно однозначных APN-функций, которое задаётся аппаратом ассоциированных перестановок.

Автор выражает благодарность Наталье Токаревой, Николаю Коломейцу и Анастасии Городиловой за обсуждения, ценные замечания и дополнения.

ЛИТЕРАТУРА

1. Carlet C., Charpin P., and Zinoviev V. Codes, bent functions and permutations suitable for DES-like cryptosystems // Des. Codes Cryptogr. 2000. V. 15. P. 125-156.

2. Gold R. Maximal recursive sequences with 3-valued recursive crosscorrelation functions // IEEE Trans. Inform. Theory. 1968. V. 14. P. 154-156.

3. Nyberg K. Differentially uniform mappings for cryptography // EUROCRYPT'93. LNCS. 1994. V. 765. P. 55-64.

4. Kasami T. The weight enumerators for several classes of subcodes of the second order binary Reed — Muller codes // Inform. Control. 1971. V. 18. P. 369-394.

5. Janwa H. and Wilson R. Hyperplane sections of Fermat varieties in P3 in char. 2 and some applications to cyclic codes // Proc. AAECC-10. LNCS. 1993. V.673. P. 180-194.

6. CanteautA., Charpin P., and Dobbertin H. Binary m-sequences with three-valued crosscorrelation: a proof of Welch conjecture // IEEE Trans. Inform. Theory. 2000. V. 46. P. 4-8.

7. Dobbertin H. Almost perfect nonlinear functions over GF(2n): the Welch case // IEEE Trans. Inform. Theory. 1999. V.45. P. 1271-1275.

8. Dobbertin H. Almost perfect nonlinear functions over GF(2n): the Niho case // Inform. Comput. 1999. V. 151. P. 57-72.

9. Hollmann H., and Xiang Q. A proof of the Welch and Niho conjectures on crosscorrelations of binary m-sequences // Finite Fields Appl. 2001. V. 7. P. 253-286.

10. Beth T. and Ding C. On almost perfect nonlinear permutations // EUROCRYPT'93. LNCS. 1993. V. 765. P. 65-76.

11. Dobbertin H. Almost perfect nonlinear power functions over GF(2n): a new case for n divisible by 5 / eds. D. Jungnickel and H. Niederreiter. Finite Fields and Applications. Berlin; Heidelberg: Springer, 2001. P. 113-121.

12. Глухое M. M. О приближении дискретных функций линейными функциями // Математические вопросы криптографии. 2016. Т. 7. №4. С. 29-50.

13. Blondeau C. and Nyberg K. Perfect nonlinear functions and cryptography // Finite Fields Appl. 2015. V. 32. P. 120-147.

14. Carlet C. Open questions on nonlinearity and on APN Functions // LNCS. 2015. V. 9061. P. 83-107.

15. Pott A. Almost perfect and planar functions // Des. Codes Cryptography. 2016. V. 78(1). P. 141-195.

16. Тужилин М. Э. Почти совершенные нелинейные функции // Прикладная дискретная математика. 2009. №3. С. 14-20.

17. Budaghyan L. Construction and Analysis of Cryptographic Functions. Springer International Publishing, 2014. 168 p.

18. Carlet C. Vectorial Boolean functions for cryptography // Ch. 9 of the monograph "Boolean Methods and Models in Mathematics, Computer Science, and Engineering". Cambridge Univ. Press, 2010. P. 398-472.

19. HouX.-D. Affinity of permutations of Fn // Discr. Appl. Math. Special Issue: Coding and Cryptography Archive. 2006. V. 154. P. 313-325.

20. Browning K. A, Dillon J. F., McQuistan M. T., and Wolfe A. J. An APN permutation in dimension six // 9-th Intern. Conf. Finite Fields and Their Applications Fq'09, Contemporary Math., AMS, 2010. V.518. P. 33-42.

21. Canteaut A., Duval S., and Perrin L. A generalisation of Dillon's APN permutation with the best known differential and linear properties for all fields of size 24fc+1 // IEEE Trans. Inform. Theory. 2016. V.63. P. 7575-7591.

22. Perrin L., Udovenko A, and Biryukov A. Cryptanalysis of a theorem: Decomposing the only known solution to the big APN problem // CRYPTO 2016. Part II. LNCS. 2016. V.9815. P. 93-122.

23. Idrisova V. On an algorithm generating 2-to-1 APN functions and its applications to "the big APN problem" // Cryptography and Communications. 2018. P. 1-19.

24. Городилова А. А. Характеризация почти совершенно нелинейных функций через подфункции // Дискретная математика. 2015. №27(3). C.3-16.

REFERENCES

1. Carlet C., Charpin P., and Zinoviev V. Codes, bent functions and permutations suitable for DES-like cryptosystems. Des. Codes Cryptogr., 2000, vol. 15, pp. 125-156.

2. Gold R. Maximal recursive sequences with 3-valued recursive crosscorrelation functions. IEEE Trans. Inform. Theory, 1968, vol. 14, pp. 154-156.

3. Nyberg K. Differentially uniform mappings for cryptography. EUROCRYPT'93, LNCS, 1994, vol. 765, pp. 55-64.

4. Kasami T. The weight enumerators for several classes of subcodes of the second order binary Reed — Muller codes. Inform. Control., 1971, vol. 18, pp. 369-394.

5. Janwa H. and Wilson R. Hyperplane sections of Fermat varieties in P3 in char. 2 and some applications to cyclic codes. Proc. AAECC-10, LNCS, 1993, vol.673, pp. 180-194.

6. Canteaut A., Charpin P., and Dobbertin H. Binary m-sequences with three-valued crosscorrelation: a proof of Welch conjecture. IEEE Trans. Inform. Theory, 2000, vol. 46, pp. 4-8.

7. Dobbertin H. Almost perfect nonlinear functions over GF(2n): the Welch case. IEEE Trans. Inform. Theory, 1999, vol. 45, pp. 1271-1275.

8. Dobbertin H. Almost perfect nonlinear functions over GF(2n): the Niho case. Inform. Comput., 1999, vol.151, pp. 57-72.

9. Hollmann H. and Xiang Q. A proof of the Welch and Niho conjectures on crosscorrelations of binary m-sequences. Finite Fields Appl., 2001, vol. 7, pp. 253-286.

10. Beth T. and Ding C. On almost perfect nonlinear permutations. EUROCRYPT'93, LNCS, 1993, vol.765, pp. 65-76.

11. Dobbertin H. Almost perfect nonlinear power functions over GF(2n): a new case for n divisible by 5. Eds. D. Jungnickel and H. Niederreiter. Finite Fields and Applications, Berlin, Heidelberg, Springer, 2001, pp. 113-121.

12. Glukhov M. M. O priblizhenii diskretnykh funktsiy lineynymi funktsiyami [On the approximation of discrete functions by linear functions]. Mat. Vopr. Kriptogr., 2016, vol.7, iss. 4, pp. 29-50.

13. Blondeau C. and Nyberg K. Perfect nonlinear functions and cryptography. Finite Fields Appl., 2015, vol.32, pp. 120-147.

14. Carlet C. Open questions on nonlinearity and on APN Functions. LNCS, 2015, vol. 9061, pp. 83-107.

15. Pott A. Almost perfect and planar functions. Des. Codes Cryptography, 2016, vol. 78(1), pp.141-195.

16. Tuzhilin M. E. Pochti sovershennye nelineynye funktsii [APN-functions]. Prikladnaya Diskretnaya Matematika, 2009, no. 3, pp. 14-20.

17. Budaghyan L. Construction and Analysis of Cryptographic Functions. Springer International Publ., 2014. 168 p.

18. Carlet C. Vectorial Boolean functions for cryptography. Ch. 9 of the monograph "Boolean Methods and Models in Mathematics, Computer Science, and Engineering", Cambridge Univ. Press, 2010, pp. 398-472.

19. HouX.-D. Affinity of permutations of F^. Discr. Appl. Math. Special Issue: Coding and Cryptography Archive, 2006, vol.154, pp. 313-325.

20. Browning K. A, Dillon J. F., McQuistan M. T., and Wolfe A. J. An APN permutation in dimension six. 9-th Intern. Conf. Finite Fields and Their Applications Fq'09, Contemporary Math., AMS, 2010, vol.518, pp. 33-42.

21. Canteaut A., Duval S., and Perrin L. A generalisation of Dillon's APN permutation with the best known differential and linear properties for all fields of size 24k+2. IEEE Trans. Inform. Theory, 2016, vol.63, pp. 7575-7591.

22. Perrin L., Udovenko A, and Biryukov A. Cryptanalysis of a theorem: Decomposing the only known solution to the big APN problem. CRYPTO 2016, Part II, LNCS, 2016, vol.9815, pp.93-122.

23. Idrisova V. On an algorithm generating 2-to-1 APN functions and its applications to "the big APN problem". Cryptography and Communications, 2018, pp. 1-19.

24. Gorodilova A. A. Characterization of almost perfect nonlinear functions in terms of subfunctions. Discr. Math. Appl., 2016, vol. 26(4), pp. 193-202.