ПРИЛОЖЕНИЕ Ноябрь 2009
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРИКЛАДНОЙ ДИСКРЕТНОЙ МАТЕМАТИКИ
УДК 519.7
БЕНТ-ФУНКЦИИ И ИХ ОБОБЩЕНИЯ1
Н. Н. Токарева
Институт математики им. С. Л. Соболева СО РАН, г. Новосибирск, Россия
E-mail: [email protected]
Лекция посвящена бент-функциям — булевым функциям, максимально удаленным в метрике Хэмминга от множества всех аффинных функций. Это экстремальное свойство определяет большое число приложений бент-функций в самых разных областях. Рассматриваются также обобщения бент-функций.
Ключевые слова: бент-функция, обобщения бент-функций.
Введение
Бент-функции впервые были введены О. Ротхаусом в 60-х годах XX века. Выпускник Принстонского университета Оскар Ротхаус (1927-2003) после службы во время Корейской войны в войсках связи поступил на работу математиком в Агентство Национальной Безопасности США. С 1960 по 1966 г. он работал в Институте оборонного анализа (IDA). Его криптографические работы того времени оценивались руководством IDA достаточно высоко. Как и его преподавательская деятельность: «he was one of the most important teachers of cryptology to mathematicians and mathematics to cryptologists» [8]. На это же время приходится и его первая работа о бент-функциях [36]. В открытой печати она появилась только в 1976 г. [37]. В ней были установлены базовые свойства бент-функций, предложены их простейшие конструкции и намечена классификация бент-функций от шести переменных.
В настоящее время бент-функции и их приложения изучаются очень активно.
Семейства бент-последовательностей из элементов +1 и -1, построенные на основе бент-функций, имеют предельно низкие значения как взаимной корреляции, так и автокорреляции (достигают нижней границы Велча). Такие семейства успешно применяются в коммуникационных системах коллективного доступа, а также в работе со стандартом CDMA. Технология цифровой сотовой связи CDMA (Code Division Multiple Access — множественный доступ с кодовым разделением каналов) была стандартизована в 1993 г. американской телекоммуникационной промышленной ассоциацией (US TIA) в виде стандарта IS—95. В настоящее время технология используется большинством поставщиков беспроводного оборудования во всем мире согласно стандартам IMT—2000 мобильной связи третьего поколения (в России — стандарты IMT—MC 450 или CDMA—450). В системах CDMA для предельного снижения отношения пиковой и
1 Работа выполнена при финансовой поддержке гранта Президента РФ для молодых российских ученых (МК-1250.2009.1), Российского фонда фундаментальных исследований (проекты 07-0100248, 08-01-00671, 09-01-00528), Фонда содействия отечественной науке, ФЦП «Научные и научнопедагогические кадры инновационной России» на 2009-2013 гг. (гос. контракт 02.740.11.0429).
средней мощностей сигнала (peak-to-average power ratio) используются коды постоянной амплитуды. Их построение напрямую связано с выбором специального подмножества бент-функций.
В блочных и поточных шифрах бент-функции и их векторные аналоги способствуют предельному повышению стойкости этих шифров к линейному и дифференциальному методам криптоанализа. Стойкость достигается за счет использования сильно нелинейных булевых функций в S-блоках (см., например, шифр CAST). Бент-функции и их обобщения находят свое применение также в схемах аутентификации, хэш-функциях (см. HAVAL) и псевдослучайных генераторах. См. также пример использования бент-функций в поточном шифре Grain.
Несмотря на высокий интерес к бент-функциям, прогресс в их изучении самый минимальный. Для мощности класса бент-функций не найдена асимптотика, не установлено приемлемых нижних и верхних оценок. Мало изучены и их обобщения, возникающие из новых постановок прикладных задач.
Данная лекция построена на основе двух обзоров автора [5, 6] и по сути является их кратким конспектом. Приводятся основные свойства, конструкции, эквивалентные представления бент-функций. Значительное внимание уделяется обобщениям бент-функций. В конце статьи приводятся открытые вопросы в этой области.
Нам потребуются следующие определения и обозначения: q, n — натуральные числа;
+---сложение по модулю q;
x = (x\,... , xn) — q-значный вектор;
— множество всех q-значных векторов длины n;
Fqn — поле Галуа порядка qn;
(x, y) = x\yi + ... + xnyn — скалярное произведение векторов; f : Zn ^ Z2 — булева функция от n переменных;
f — вектор значений длины 2n функции f. Будем считать, что аргументы функции (т. е. векторы длины n) перебираются в лексикографическом порядке;
dist(f, g) — расстояние Хэмминга между функциями f и g, т. е. число позиций, в которых различаются векторы f и g;
АНФ — алгебраическая нормальная форма функции;
deg(f ) — степень нелинейности булевой функции f, т. е. число переменных в самом длинном слагаемом ее АНФ;
Wf (y) = (—l)(x>y)+/(x) — преобразование Уолша—Адамара булевой функции f ;
N f — нелинейность булевой функции f, т. е. расстояние Хэмминга от данной функции до множества всех аффинных функций;
максимально нелинейная функция — булева функция с максимально возможным значением Nf ;
бент-функция (n чётное) — булева функция, такая, что все её коэффициенты Уолша—Адамара равны ±2n/2;
Bn — класс бент-функций от n переменных;
аффинно эквивалентные функции f и g от n переменных: существуют невырожденная n x n-матрица A, векторы b, с длины n и константа Л G Z2, такие, что g(x) = f (Ax + b) + (с, x) + Л.
1. Критерии и свойства
► Следующие утверждения эквивалентны:
(I) булева функция f от п переменных является бент-функцией;
(II) матрица Л = (ах,у), где ах,у = 2_п/2Ж/(ж + у), является матрицей Адамара;
(III) матрица Д = (^х,у), где йх>у = (—1)Ях+у), является матрицей Адамара;
(1у) для любого ненулевого вектора ж функция f (у) + f (ж + у) сбалансирована, т. е. принимает значения 0 и 1 одинаково часто.
► Степень нелинейности deg(f) любой бент-функции f от п ^ 4 переменных не превосходит числа п/2.
► Бент-функции любой степени 2 ^ deg(f) ^ п/2 существуют.
► Любая квадратичная бент-функция от п переменных аффинно эквивалентна функции f (ж1, . . . ,Хп) = Ж1Ж2 + ЖзХ4 + ... +
► Класс бент-функций замкнут относительно
(I) любого невырожденного аффинного преобразования переменных;
(II) прибавления любой аффинной функции.
2. Эквивалентные представления бент-функций
► Бент-функции могут быть описаны в терминах элементарных адамаровых разностных множеств и симметричных блок-схем [19].
► (Описание В. В. Ященко, 1997 [7].) Любая булева функция f от п переменных может быть представлена в виде линейного разветвления f (ж', ж'') = (ж',к(ж'')) + +д(ж''), где ж' € Ъ£,Х' € Ъ| для подходящих чисел г и к, таких, что п = г + к, отображения к : Ъ| ^ Ъ2 и булевой функции д от к переменных. Максимально возможное значение г в таком представлении называется индексом линейности булевой функции f. Подмножество М пространства ЪП называется бент-множеством, если его мощность равна 22 при некотором £ и для любого ненулевого вектора 2 € ЪП множество М П (г + М) либо пусто, либо имеет четную мощность. Пара (д; М), где д — булева функция от к переменных, М — бент-множество, называется частичной бент-функцией, если для любого у' € Ъ2 и ненулевого у" € Ъ функция д(ж'') + д(ж'' + у") сбалансирована на множестве М П ((у', у'') + М).
Функция f в виде линейного разветвления является бент-функцией тогда и только тогда, когда п ^ 2г и для любого вектора ж' € Ъ2 выполняются условия:
(I) мощность множества к-1 (ж') равна 2п-2г;
(II) множество к-1 (ж') является бент-множеством;
(III) пара (д; к-1 (ж')) является частичной бент-функцией.
► (Описание К. Карле и Ф. Гуилло, 1998 [15].) Пусть f — булева функция от п переменных. Пусть 1^,5 : ЪП ^ Ъ2 — характеристическая функция подмножества Б С ЪП, т. е. 1^5 принимает значение 1 на элементах из Б и значение 0 на остальных элементах.
Функция f является бент-функцией тогда и только тогда, когда существуют подпространства Е1,..., Ек размерности п/2 или (п/2) + 1 пространства ЪП и ненулевые целые числа ш1,...,шк, такие, что ^к=1 (у) = ±2(п/2)-11^{0}(у) + f(у) для
любого у € ЪП. Можно ввести ограничения на способ выбора пространств Е1,..., Е&, при которых можно говорить об однозначности такого представления.
► (Описание А. Бернаскони, Б. Коденотти и Дж. Ван-дер-Кама, 1999 [10, 11].) Пусть f — булева функция от п переменных. Через вирр^) обозначим ее носитель, т. е. множество всех двоичных векторов длины п, на которых функция f принимает значение 1. Рассмотрим граф Кэли G^ = С(ЪП, эирр^)) булевой функции f. Вершина-
ми графа являются все векторы длины n. Две вершины х, у соединяются ребром, если вектор х + у принадлежит множеству supp(f). Граф G называется сильно регулярным (strongly regular), если существуют неотрицательные целые числа Л, ^, такие, что для любых двух вершин х, у общее число смежных им вершин равно Л или ^ в зависимости от того, соединены вершины x, у ребром или нет.
Булева функция f является бент-функцией тогда и только тогда, когда граф Gf является сильно регулярным, причем Л = ^.
► (Описание С. В. Агиевича, 2000 [9].) Пусть f — булева функция от n переменных, n = r + k. Вектор Wf коэффициентов Уолша—Адамара назовем спектральным вектором функции f. Представим двоичный вектор f в виде f = (f (!),... , f (2r)), где каждый вектор f (¿) имеет длину 2k. Пусть f^) — булева функция от k переменных, для которой f (¿) является вектором значений, i = 1,. . . , 2r. Свяжем с функцией f матрицу Mf размера 2r х 2k, строками которой являются спектральные векторы W f(1),..., W f(2r). Матрица размера 2r х 2k называется бент-прямоугольником, если каждая ее строка и каждый столбец, домноженный на 2r-(n/2), являются спектральными векторами для подходящих булевых функций. Согласно [9], выполняется следующая теорема.
Булева функция f является бент-функцией тогда и только тогда, когда матрица Mf является бент-прямоугольником.
3. Оценки числа бент-функций
Число бент-функций от n переменных неизвестно. Существует большой разрыв между нижней и верхней оценками этого числа. Асимптотически он имеет вид C1 • 22"/2 ^ |Bn| ^ C2 • 22". Нижняя оценка получается из конструкции Мэйорана— МакФарланда (некоторое ее улучшение см. в [9]). Верхняя оценка приводится в [16]. Сократить этот разрыв — серьезная задача.
4. Нелинейность произвольной булевой функции
В 1998 г. Д. Оледжар и М. Станек [32] исследовали криптографические свойства случайной булевой функции от n переменных. В частности, они показали, что существует константа с, такая, что при достаточно больших n почти для каждой булевой функции f от n переменных выполняется Nf ^ 2n-i — c^fn 2n/2. То есть с ростом n нелинейность случайной булевой функции от n переменных становится достаточно высокой и даже сопоставимой с нелинейностью бент-функции!
Для криптографических приложений булева функция кроме нелинейности должна обладать целым рядом других свойств. Приведенный факт позволяет сказать, что есть «гарантированная возможность» выбора функции с высокой нелинейностью не в ущерб этим свойствам. Но хотя нелинейность почти всех булевых функций высока, это не означает, что такие функции легко построить.
Задача описания всех бент-функций от n переменных решена лишь при малых значениях n. Приведем эти результаты (см. таблицу). Количество бент-функций при n = 8 равно 29 х 193 887 869 660 028 067 003 488 010 240 ~ 2106>29
5. Конструкции бент-функций
► Функция f (х;,х/;) = g(x') + h(x"), где векторы х;, х" имеют четные длины r, k соответственно, является бент-функцией тогда и только тогда, когда функции g, h — бент-функции.
Бент-функции от малого числа переменных
n Число функций Число кл. экв. Представители классов эквивалентности
2 8 1 X х2
4 896 1 XХ2 + Ж3Ж4
6 5 425 430 528 ~ ~ 232,3 4 Представители степени 2 Х1 х2 + Ж3Ж4 + Ж5Ж6, представители степени 3 Х1Ж2Ж3 + ж1ж4 + Ж2Ж5 + Ж3Ж6, Х1Ж2Ж3 + Ж2Ж4Ж5 + ж1ж2 + ж1ж4 + Ж2Ж6 + Ж3Ж5 + Ж4Ж5, Х1Ж2Ж3 + Ж2Ж4Ж5 + Ж3Ж4Ж6 + ж1ж4 + Ж2Ж6 + х3 х4 + +Ж3Ж5 + Ж3Ж6 + Ж4Ж5 + Ж4Ж6
8 ~ 2106,29 ^ 536 Представители степени 2 Х1 х2 + Ж3Ж4 + Ж5Ж6 + Ж7Ж8, представители степени 3 Х1Ж2Ж3+ Ж1Ж4+ Ж2Ж5+ Ж3Ж6+ Ж7Ж8, Х1Ж2Ж3 + Ж2Ж4Ж5 + Ж3Ж4 + Ж2Ж6 + ж1ж7 + Ж5Ж8, Х1Ж2Ж3 + Ж2Ж4Ж5 + ж1ж3 + ж1ж5 + Ж2Ж6 + Ж3Ж4 + Ж7Ж8, х1Ж2Ж3+ Ж2Ж4Ж5 + Ж3Ж4Ж6 + Ж3Ж5 + Ж2Ж6 + х2х5+ +ж1ж7 + Ж4Ж8, х1 Ж2Ж3 + Ж2Ж4Ж5 + Ж3Ж4Ж6 + Ж3Ж5 + Ж1Ж3 + Х1 х4+ +Ж2Ж7 + Ж6Ж8, Х1Ж2Ж3 + Ж2Ж4Ж5 + Ж3Ж4Ж6 + Ж3Ж5 + Ж2Ж6 + х2 х5 + +ж1ж2 + ж1ж3 + ж1ж4 + Ж7Ж8, х1 Ж2Ж3 + Ж2Ж4Ж5 + Ж3Ж4Ж6 + Ж3Ж5 + ж1ж6 + х2 х7 + х4 х8, Х1Ж2Ж7 + Ж3Ж4Ж7 + Ж5Ж6Ж7 + ж1ж4 + Ж3Ж6 + х2 х5 + +Ж4Ж5 + Ж7Ж8, Х1Ж2Ж3+ Ж2Ж4Ж5 + Ж3Ж4Ж6 + Ж1Ж4Ж7+ Ж3Ж5 + Ж2Ж7+ +ж1ж5 + ж1ж6 + Ж4Ж8, представителей степени 4 см. в [26, 27]
^ 10 ??? ??? ???
► Пусть n = r + k, где r и k четны, f — булева функция от n переменных. Пусть ж', ж'' пробегают Z2 и Z^ соответственно. Предположим, что функции fxii(ж') = f (ж', ж'') являются бент-функциями при любых х''. Определим gxi(х'') = fxii(ж'). Тогда f — бент-функция, если и только если gxi — бент-функция для любого ж'.
► (Конструкция Мэйорана—МакФарланда, 1973 [29].) Пусть h — любая перестановка на Zg/2, пусть g — произвольная булева функция от n/2 переменных. Тогда функция f (ж', ж'') = (ж', h(x'')) + g(x'') является бент-функцией от n переменных.
► (Partial Spreads, Дж. Диллон, 1974 [20].) Пусть IndS : Z^ ^ Z2 — характеристическая функция подмножества S С Z^. Пусть число q равно 2(га/2)-1 или 2(n/2)-1 + 1. Пусть L1,... , Lq — линейные подпространства размерности n/2 пространства Z^, такие, что любые два из них пересекаются лишь по нулевому вектору. Тогда функция
q
f (у) = Ф Ind^i (у) является бент-функцией. Различают классы бент-функций PS + и
i=1
PS- (при q = 2(n/2)-1 и q = 2(га/2)-1 + 1 соответственно).
► (Степенные или мономиальные бент-функции — power/monomial bent functions.) Пусть векторное пространство Z^ отождествляется с полем Галуа F2n. Булевы функ-
ции от n переменных можно рассматривать как функции из F2n в F2, сопоставляя каждому вектору у соответствующий элемент поля F2n, который будем обозначать тем же символом. Пусть tr : F2n ^ F2 — функция следа, т. е. tr(y) = у + у2 + • • • + у2" . Бент-
функции, имеющие вид f (у) = tr(ayd), где а G F*n — некоторый параметр, называются степенными или мономиальными, а целое число d называется бент-показателем. Здесь F2" — множество ненулевых элементов поля. Пусть gcd(-, •) — наибольший общий делитель двух чисел. Известны следующие бент-показатели: 2n/2 — 1, 2г + 1 (если n/gcd(n,i) четно), 22k — 2k + 1 (при gcd(k,n) = 1), (2k + 1)2 (если n = 4k, k нечетно), 22k + 2k + 1 (при n = 6k).
► Пусть булева функция представлена в виде f (у) = ^(а^^ + а2у^2) для подходящих элементов а1,а2 G F2n и показателей d1,d2. Будем рассматривать специальные степенные показатели — показатели Нихо вида d = 2г mod (2n/2 — 1). Без ограничения общности [21] пусть первый показатель равен d1 = (2(n/2) — 1) 1 + 1. Тогда [23] если d2 = (2(n/2) — 1)А + 1, где А равно 1/6, 1/4 или 3, то существуют элементы а1, а2 G F2n, такие, что f является бент-функцией.
► Общий алгебраический подход к описанию бент-функций мог бы основываться
на том, что любая булева функция f : F2n ^ F2 может быть представлена с помощью следа (в так называемой trace form), т. е. в виде f (у) = tr I а^у^ I =
\decs )
= S tr(аdyd) для подходящих элементов ad G F2n, где CS — множество представите-de.CS
лей циклотомических классов по модулю 2n — 1. Эволюционный алгоритм на основе такого представления был предложен М. Янгом, К. Менгом и Х. Жангом [39]. На основе многочисленных компьютерных исследований авторы делают в этой работе некоторые предположения, например о том, что бент-функцию — представителя класса аффинной эквивалентности — можно представить в trace form с участием небольшого числа мономов. Причем более вероятными ненулевыми коэффициентами ad считаются те, для которых d является бент-показателем.
6. Алгебраические обобщения бент-функций
Приведем обобщения, в которых рассматриваемые функции отличаются от булевых. Как правило, это отображения из одной алгебраической системы в другую. В этом и других пунктах обобщения приводятся на уровне определений. О том, в каких случаях доказано существование этих обобщений, см. подробнее в [6].
► (ВЕКТОРНЫЕ БЕНТ-ФУНКЦИИ.) С 90-х годов XX века стали исследоваться функции f : Zn ^ Zm, получившие название векторных булевых функций, или (n,m)-функций. Нелинейные такие функции имеют непосредственные криптографические приложения. Например, в шифрах они используются в качестве S-блоков. Преобразованием Уолша—Адамара (n, т)-функции f называется отображение WJect : Zn xZm ^ Z, заданное равенством WJect(x', x'') = J^yeZn(—1)<x/>y)+<x//>f(y)). Векторная (n, т)-функция
называется бент-функцией, если |Wfect(x', x'')| = 2n/2 для каждых x' G Zn, x" G (Zm)*. Но векторные бент-функции существуют тогда и только тогда, когда n четно и m ^ n/2 [31]. При m > n/2 (в частности при m = n) рассматриваются аналоги бент-функций, такие, как APN- и AB-функции.
► (q-ЗНАЧНЫЕ БЕНТ-ФУНКЦИИ, q-ARY BENT FUNCTIONS, П.В. Кумар, Р. А. Шольц и Л. Р. Велч, 1985 [25].) Пусть q ^ 2 — натуральное число, i = \[—1
— мнимая единица. Пусть ш — примитивный комплексный корень степени q из единицы, ш = e2ni/q. Рассмотрим q-значную функцию f : Zn ^ Zq. Преобра-
зованием Уолша—Адамара функции f называется комплексная функция Wf(y) = = Sxezn (x), y G Z;, где скалярное произведение и сложение + рассматриваются
по модулю q. Пусть |с| обозначает модуль комплексного числа с. Функция f : Z; ^ Zq называется q-значной бент-функцией, если |Wf (y)| = qn/2 для каждого y G Z;.
► (БЕНТ-ФУНКЦИИ НАД КОНЕЧНЫМ ПОЛЕМ, А.С. Амбросимов, 1994 [1].)
Пусть q = p^, где p — простое, £ — натуральное. Пусть и — примитивный комплексный корень степени p из единицы, и = e2ni/p. Пусть f : Fqn ^ Fq — q-значная функция. При фиксированном z G Fq преобразование Уолша—Адамара функции f определяется как Wf;Z(y) = n (x)>z^, где z рассматривается как вектор над Fp
длины £ и внешнее скалярное произведение берется по модулю p (внутреннее — по модулю q). Для любой функции f и любого ненулевого z выполняется равенство Пар-севаля yef n |W/)Z (y)|2 = q2n, из которого следует, что max |W/,z (y)| ^ qn/2. Функция
f : Fqn ^ Fq называется бент-функцией, если при любых векторах z G Fq\{0}, y G Fqn выполняется |Wf,z(y)| = qn/2. Заметим, что при q = p, £ = 1 данное определение q-значной бент-функции совпадает с определением Кумара, Шольца и Велча.
► (ОБОБЩЕННЫЕ БУЛЕВЫ БЕНТ-ФУНКЦИИ, К.Шмидт, 2006 [38].) Они возникли в связи с построением обобщенных кодов постоянной амплитуды для систем CDMA. Пусть q ^ 2 — натуральное число, и — примитивный комплексный корень степени q из единицы, и = e2ni/q. Функция f : Z; ^ Zq называется обобщенной булевой функцией. Ее преобразованием Уолша—Адамара называется комплексная функция Wf(y) = £*«;(-i)<''y>w'w, y G z;.
Функция f : Z; ^ Zq называется обобщенной бент-функцией, если для каждого y G Z; выполняется |Wf (y)| = 2n/2.
► (БЕНТ-ФУНКЦИИ ИЗ КОНЕЧНОЙ АБЕЛЕВОЙ ГРУППЫ В МНОЖЕ-
СТВО КОМПЛЕКСНЫХ ЧИСЕЛ ЕДИНИЧНОЙ ОКРУЖНОСТИ, О. А. Логачев,
А. А. Сальников и В. В. Ященко, 1997 [2].) Пусть (A, +) — конечная абелева группа порядка n и максимальный порядок ее элементов (или экспонента группы) равен q. Пусть Tq = {e2nik/q | k = 0,1,... , q — 1} — группа корней степени q из единицы. Через A обозначим группу гомоморфизмов х : A ^ Tq. Она называется группой характеров группы A (или ее дуальной группой). Известно, что группы A и А изоморфны; пусть y ^ хУ — некоторый фиксированный изоморфизм, y G A. Вместо преобразования Уолша—Адамара удобно ввести преобразование Фурье комплекснозначной функции f : A ^ C. Оно определяется как /(y) = f (ж)хУ(ж). Далее рассматриваются
только такие функции из A в C, все значения которых лежат на единичной окружности Si(C) с центром в нуле.
Функция f : A ^ Si(C) называется бент-функцией, если |/(y)|2 = n при любом y G A. Заметим, что если A — элементарная абелева 2-группа, т. е. q = 2, n = 2m для целого m, то данное понятие совпадает с понятием обычной бент-функции от m переменных. Если q, m — целые числа, то q-значные бент-функции Кумара, Шольца и Велча от m переменных являются частным случаем данных бент-функций при A = Z^-и n = qm. Для этого необходима лишь небольшая модификация: от функций вида f : Z^ ^ Zq нужно перейти к функциям f ' : Z^- ^ Tq С C, где f '(ж) = uf (x). А в качестве изоморфизма между A и ее группой характеров A выбрать соответствие y ^ ХУ(ж) = и^’^, где и = e2ni/q.
В 2005 г. Л. Поинсо [33] предложил многомерное обобщение этих бент-функций. Пусть Cm — m-мерное унитарное пространство с обычным скалярным произведением
(ж,у) = Х?У,7 , нормой ||ж||2 = (ж,ж) и метрикой ^(ж,у) = ||у — ж||. Пусть Б^С™) —
множество его точек, лежащих на сфере радиуса 1 с центром в нуле. Преобразованием Фурье функции / : А ^ С™ называется следующая функция из А в Ст: /(у) = = ^2жеА /(ж)хУ(ж). Функция / : А ^ 51(Ст) называется многомерной бент-функцией, если ||/(у)||2 = п для каждого у Е А. При т =1 данное определение полностью совпадает с определением Логачева, Сальникова и Ященко.
► (БЕНТ-ФУНКЦИИ ИЗ КОНЕЧНОЙ АБЕЛЕВОЙ ГРУППЫ В ДРУГУЮ КОНЕЧНУЮ АБЕЛЕВУ ГРУППУ, В. И. Солодовников, 2002 [3].) Это наиболее общий подход к алгебраическому обобщению бент-функций. Следует отметить, что в 2004 г. К. Карле и К. Динг [14] повторили результаты В. И. Солодовникова, к сожалению, без ссылки на предшественника. Пусть (А, +) и (В, +) — конечные абелевы группы порядков п и т соответственно, а и Ь — максимальные порядки элементов в этих группах. Пусть А и В — группы характеров групп А и В. Зафиксируем изоморфизмы у ^
и г ^ г/г между А и А, В и В соответственно, где : А ^ Та и : В ^ Т — характеры. Пусть / : А ^ В — произвольная функция. Следующие определения из [3] приведем в несколько иной форме (введем нормировочные множители), не искажая при этом их смысл. Преобразованием Фурье характера функции / при фиксированном г € В называется функция /г(у) = ^(/(ж))хУ(ж), где у Е А. При любом г выполняется равенство Парсеваля / (у)|2 = п2.
Функция / : А ^ В называется бент-функцией, если для любого г € В, г = 0 и произвольного у Е А справедливо |/г(у)|2 = п. Заметим, что функция / : А ^ В является бент-функцией тогда и только тогда, когда при каждом г = 0 функция ° /
— бент-функция в смысле Логачева, Сальникова и Ященко2.
► (ВЕКТОРНЫЕ С-БЕНТ-ФУНКЦИИ, Л. Поинсо и С. Харари, 2004 [34].) Идея
этого обобщения для функций вида / : А ^ В впервые была предложена
В. И. Солодовниковым в работе [3] 2002 г. Л. Поинсо и С. Харари подробно ее рассмотрели для случая А = , +) и В = ^2, +), т. е. векторных булевых функций.
Основу обобщения составляет возможность иначе определить производную функции / : А ^ В.
А именно, пусть Б (А) — симметрическая группа А в мультипликативной записи. Перестановка а Е Б (А) называется инволюцией, если аа = е, где е — тождественная перестановка. Перестановка а без неподвижных точек, если для любого ж Е А справедливо а (ж) = ж. Множество всех инволюций а без неподвижных точек обозначим через /пу(А). Подгруппа С группы Б (А), такая, что С С /п^(А) и {е}, называется группой инволюций группы А. Пусть А = Zk, В = Z2. Любая группа инволюций С группы Zk является абелевой и |С| ^ 2к. Будем рассматривать только группы С максимального порядка 2к. Пусть / : Zk ^ Z2, С — максимальная группа инволюций группы Zk. Обобщенной производной / по направлению а Е С называется функция /(ж) = /(а(ж)) — /(ж). Отметим, что если С — группа трансляций (т. е. состоящая из всех перестановок ау, у Е Z2, таких, что ау(ж) = ж + у), то обобщенная производная совпадает с обычной, /(ж) = /(ж + у) — /(ж).
Функция / : А ^ В называется С-бент-функцией, если обобщенная производная /(ж) по каждому направлению а Е С для а = е уравновешена.
2Здесь запись д ° / (х) означает функцию д(/(х)).
7. Комбинаторные обобщения бент-функций
В этом разделе рассматриваются довольно естественные обобщения. Можно сказать, что в основу каждого из них заложена простая комбинаторная идея.
► (ЧАСТИЧНО ОПРЕДЕЛЕННЫЕ БЕНТ-ФУНКЦИИ.) Пусть S С - про-
извольное подмножество, f : S ^ Z2 — частично определенная булева функция. Ее неполным преобразованием Уолша—Адамара называется отображение Wf,S(y) = = (—1)^x,^+f(x), y E Zn. Справедлив аналог равенства Парсеваля: yeZn W2S(y) =
= 2n |S|. Булева функция f называется частично определенной бент-функцией, если Wf,s(y) = ±\/|S| для любого y E Zn. Отметим, что условия на множество S, при которых частично определенные бент-функции существуют, пока не известны.
► (ПЛАТОВИДНЫЕ ФУНКЦИИ.) Булева функция называется платовидной, если все ее ненулевые коэффициенты Уолша—Адамара равны по модулю. Из равенства Парсеваля следует, что ненулевые коэффициенты должны иметь вид ±2n-h для некоторого целого h, где 0 ^ h ^ n. Количество таких ненулевых коэффициентов должно быть равно 22h. Показатель 2h и величину 2n-h называют соответственно порядком и амплитудой платовидной функции. Бент-функции и аффинные функции являются крайними частными случаями платовидных функций (порядков n и 0 соответственно).
Часто платовидные функции максимального порядка n — 1 от нечетного числа переменных называют почти бент-функциями. Такие функции интересны для обеспечения защиты от так называемой soft output joint attack на генераторы псевдошумо-вых последовательностей (PN-generators) [28]. Такие генераторы используются в уже упоминавшемся выше стандарте IS—95 технологии CDMA. Почти бент-функции используются также для построения криптографически стойких S-блоков [18].
► (Z-БЕНТ-ФУНКЦИИ, Х. Доббертин, 2005 [22].) Не будем различать обычную булеву функцию f (x), где x E Zn, и целочисленную функцию F(ж) = (—1)f (x). Преобразование Фурье функции F : Zn ^ Z определяется как F(y) = 2-n/2 ^xeZn (—1)^x,y^F(x).
Тогда ± 1-значная функция F является бент-функцией, если и только если F также ± 1-значная. Пусть T С Z — любое подмножество. Функция F : Zn ^ T называется T-бент-функцией, если все значения функции F принадлежат множеству T. Доббертин выделил естественную цепочку вложенных друг в друга множеств: Т0 = {—1, +1}; Tr = {w E Z | — 2r-1 ^ w ^ 2r-1} (при r > 0). Tr-бент-функция называется Z-бент-функцией уровня r, а все такие бент-функции (при r E Z) составляют класс Z-бент-функций.
► (ОДНОРОДНЫЕ БЕНТ-ФУНКЦИИ (HOMOGENEOUS BENT F.), Ч. Ку, Дж. Себерри и Й. Пипджик, 2000 [35].) Этот подкласс бент-функций был выделен как состоящий из функций с относительно простыми алгебраическими нормальными формами. Бент-функция называется однородной, если все одночлены ее алгебраической нормальной формы имеют одинаковые степени. Открытым вопросом является задача определения точной верхней оценки степени нелинейности однородной бент-функции. Пока есть только предположение [30] о том, что для любого k > 1 найдется такое N ^ 2, что однородная бент-функция степени k от n переменных существует при каждом n > N.
8. Криптографические обобщения бент-функций
Как известно, одной высокой нелинейности для хорошей криптографической функции недостаточно. В этом разделе рассматриваются обобщения, которые возникли путем наложения на множество булевых функций других дополнительных ограничений.
► (УРАВНОВЕШЕННЫЕ БЕНТ-ФУНКЦИИ.) Известно, что криптографические критерии часто противоречат друг другу. Бент-функции являются максимальнонелинейными, удовлетворяют критерию PC (n), но не являются уравновешенными. Довольно естественно возникает следующее определение.
Булева функция f от n переменных называется уравновешенной бент-функций, если она уравновешена и имеет при этом максимально возможную нелинейность. В 1994 г. С. Чи, С. Ли и К. Ким [17] предложили способ построения уравновешенных бент-функций от нечетного числа переменных, имеющих при этом почти равномерную корреляцию с линейными функциями и удовлетворяющих критерию PC(k) для достаточно большого k.
► (ЧАСТИЧНО БЕНТ-ФУНКЦИИ (PARTIALLY BENT F.), К. Карле, 1993 [12].) Бент-функции не являются ни уравновешенными, ни корреляционно-иммунными. К. Карле предложил свой способ расширить класс Bn функциями, обладающими данными свойствами и имеющими при этом достаточно высокую нелинейность. Пусть Д/(y) = S (—1)f(x)+/(x+y) — автокорреляция булевой функции f по направлению y.
Пусть NW/ и NД/ — количества ненулевых коэффициентов Уолша—Адамара и коэффициентов автокорреляции булевой функции f соответственно. Известно, что NW/ • NД/ ^ 2n для любой булевой функции.
Булева функция f, для которой NW/ • NД/ = 2n, называется частично бент-функцией.
► (ГИПЕРБЕНТ-ФУНКЦИИ (HYPER-BENT FUNCTIONS), А. М. Йоссеф и Г. Гонг, 2001 [40].) Их работе предшествовала статья С. В. Голомба и Г. Гонга [24] 1999 г., в которой алгоритм шифрования DES рассматривался как регистр сдвига с нелинейными обратными связями и проводился анализ его S-блоков. При таком подходе авторы [24] предложили использовать для приближения координатных функций S-блоков вместо линейных булевых функций собственные мономиальные функции. Эта идея и была развита в [40].
Булеву функцию от n переменных можно рассматривать как функцию из F2n в F2, сопоставляя каждому вектору x соответствующий элемент поля F2n. Известно, что любая линейная функция (x,y) может быть представлена как tr(axy) для подходящего элемента Oj, G F2n, где tr : F2n ^ F2 — функция следа. Тогда преобразование Уолша— Адамара приобретает следующий, эквивалентный, вид: W/ (y) = Е (—1)tr(yx)+/(x).
Функция вида tr(axys), где 1 ^ s ^ 2n — 1 и gcd(s, 2n — 1) = 1, называется собственной мономиальной функцией. Расширенное преобразование Уолша—Адамара булевой функции f имеет вид W/>s(y) = E (—1)tr(yxs)+/(x).
Булева функция f называется гипербент-функцией , если для любого y G F2n и любого целого s, gcd (s, 2n — 1) = 1, выполняется |W/,s(y)| = 2n/2.
► (БЕНТ-ФУНКЦИИ БОЛЕЕ ВЫСОКОГО ПОРЯДКА НЕЛИНЕЙНОСТИ.) Это довольно естественное направление, тесно связанное с нелинейными обобщениями различных методов криптоанализа. Известно, что эффективность приближения бент-функции любой линейной функцией является самой низкой. Расширяя класс линейных функций, естественно рассматривать для приближения булевы функции степени не выше r, где 2 ^ r ^ n — 1. При этом возникает понятие нелинейности r-го порядка Nr (f ) булевой функции f как расстояния Хэмминга от f до всех таких функций. Булева функция, удаленная от всех функций степени не выше r на максимальное расстояние, называется бент-функцией порядка r. Но трудность заключается в определении
этого максимального возможного значения для N. (/). При г ^ 2 это нерешенная задача, более известная в теории кодирования как определение радиуса покрытия кода Рида—Маллера порядка г. Известны пока некоторые оценки для N. (/), его асимптотическое значение, связь с другими криптографическими параметрами и т. п. Подробнее на эту тему см. обзор К. Карле [13].
► (к-БЕНТ-ФУНКЦИИ, 2007 [4].) Основная идея обобщения — рассмотреть аппроксимирующие функции, отличные от линейных, но являющиеся в каком-то смысле их аналогами. Пусть х, у — двоичные векторы длины п. Пусть к — любое целое число,
такое, что 1 ^ к ^ п/2. Определим бинарную операцию к к
(х,у)к = (^^(х2г-1 + х2г)(х2^'-1 + )(У2г-1 + У2г)(У2^-1 + У2^ ^ + (х,у),
¿=1 .? = »
которая служит нелинейным аналогом скалярного произведения. Функция Ж^к)(у) = = Ехе1п (—1)^’^кназывается к-преобразованием Уолша—Адамара булевой функции /. При к = 1 имеем эквивалентную запись обычного преобразования Уолша—
Адамара. Справедливо равенство Парсеваля: (^^к)(у)) = 22п. Булева функция
/ от п переменных называется к-бент-функцией, если для произвольной подстановки п € $п, любого ] = 1,... , к и любого вектора у выполняется (у) = ±2п/2.
9. Открытые вопросы
Приведем серию нерешенных задач в области бент-функций, представляющихся наиболее интересными:
Получить аффинную классификацию бент-функций (от 10, 12 и т. д. переменных).
Получить алгебраическую классификацию бент-функций (от 10, 12 и т. д. переменных).
Получить асимптотику числа бент-функций от п переменных.
Улучшить нижнюю и верхнюю оценки числа бент-функций.
Предложить новые конструкции бент-функций, в частности — векторных.
Разработать эффективные алгоритмы порождения бент-функций.
Исследовать взаимосвязи между нелинейностью и другими криптографическими характеристиками булевой функции.
Разработать эффективные методы построения уравновешенных булевых функций с высокой нелинейностью (и др. криптографическими свойствами) из бент-функций.
Исследовать максимально нелинейные функции от нечетного числа переменных.
Исследовать группы автоморфизмов бент-функций.
Исследовать метрическую структуру класса бент-функций.
Получить конструкции оптимальных кодов, кодовые слова которых являются векторами значений бент-функций.
Исследовать взаимосвязи между различными обобщениями бент-функций.
Получить новые конструкции обобщенных бент-функций, исследовать их свойства.
Получить новые эквивалентные представления бент-функций, полнее отражающие содержательную сторону этих объектов.
Предложить более общие подходы к исследованию бент-функций за счет установления взаимосвязей с другими дискретными (и не только) объектами.
Исследовать новые приложения бент-функций в криптографии, теории кодирования и т. д.
Каждому неравнодушному читателю предлагается принять участие в сокращении этого «проблемного» списка!
ЛИТЕРАТУРА
1. Амбросимов А. С. Свойства бент-функций q-значной логики над конечными полями // Дискретная математика. 1994. Т6. №3. С. 50-60.
2. Логачев О. А., Сальников А. А., Ященко В. В. Бент-функции на конечной абелевой группе // Дискретная математика. 1997. Т. 9. №4. С. 3-20.
3. Солодовников В. И. Бент-функции из конечной абелевой группы в конечную абелеву группу // Дискретная математика. 2002. Т. 14. №1. С. 99-113.
4. Токарева Н. Н. Бент-функции с более сильными свойствами нелинейности: k-бент-функции // Дискрет. анализ и исслед. операций. Сер. 1. 2007. Т. 14. №4. С. 76-102.
5. Токарева Н. Н. Бент-функции: результаты и приложения. Обзор работ //
Прикладная дискретная математика. 2009. Т. 2. №1. С. 15-37. Доступен на
http://mi.mathnet.ru/pdm50.
6. Токарева Н. Н. Обобщения бент-функций. Обзор работ // Дискрет. анализ и исслед. операций. 2009. Т. 16.
7. Ященко В. В. О критерии распространения для булевых функций и о бент-функциях // Пробл. передачи информации. 1997. Т. 33. Вып. 1. С. 75-86.
8. http://www.math.cornell.edu/News/AnnRep/AR2002-2003.pdf — Cornell University. Department of Mathematics. Annual Report 2002-2003.
9. Agievich S. V. On the representation of bent functions by bent rectangles // Fifth Int. Petrozavodsk conf. on probabilistic methods in discrete mathematics (Petrozavodsk, Russia, June 1-6, 2000). Proc. Boston: VSP, 2000. P. 121-135. Available at http://arxiv.org/abs/math/0502087.
10. Bernasconi A., Codenotti B. Spectral analysis of Boolean functions as a graph eigenvalue problem // IEEE Trans. Computers. 1999. V. 48. No. 3. P. 345-351.
11. Bernasconi A., Codenotti B., VanderKam J. M. A characterization of bent functions in terms of strongly regular graphs // IEEE Trans. Computers. 2001. V. 50. No. 9. P. 984-985.
12. Carlet C. Partially-bent functions // Designs, Codes and Cryptography. 1993. V. 3. No. 2. P. 135-145.
13. Carlet C. On the higher order nonlinearities of Boolean functions and S-boxes, and their generalizations // The Fifth Int. Conf. on Sequences and Their Applications — SETA’2008 Proc. (Lexington, Kentucky, USA. September 14-18, 2008). Berlin: Springer, 2008. P. 345-367 (Lecture Notes in Comput. Sci. V. 5203).
14. Carlet C., Ding C. Highly nonlinear mappings // J. Complexity. 2004. V. 20. No. 2-3. P. 205-244.
15. Carlet C., Guillot P. An alternate characterization of the bentness of binary functions, with uniqueness // Designs, Codes and Cryptography. 1998. V. 14. P. 133-140.
16. Carlet C., Klapper A. Upper bounds on the numbers of resilient functions and of bent functions // 23rd Symposium on Information Theory (Benelux, Belgium. May, 2002). Proc. 2002. P. 307-314. The full version will appear in Lecture Notes dedicated to Philippe Delsarte. Available at http://www.cs.engr.uky.edu/~klapper/ps/bent.ps.
17. Chee S., Lee S., Kim K. Semi-bent Functions // Advances in Cryptology — ASIACRYPT ’94
— 4th International Conference on the Theory and Applications of Cryptology. (Wollongong, Australia. November 28 - December 1, 1994). Proc. Berlin: Springer, 1995. P. 107-118 (Lecture Notes in Comput. Sci. V. 917).
18. Detombe J., Tavares S. Constructing large cryptographically strong S-boxes // Advances in Cryptology — AUSCRYPT’92. (Gold Coast, Queensland, Australia. December 13-16, 1992) Proc. Berlin: Springer, 1993. P. 165-181 (Lecture Notes in Comput. Sci. V. 718).
19. Dillon J. F. A survey of bent functions // The NSA Technical J. 1972. Special Issue. P. 191-215.
20. Dillon J. F. Elementary Hadamard Difference sets / / Ph. D. Thesis. Univ. of Maryland, 1974.
21. Dobbertin H., Leander G. A survey of some recent results on bent functions / / Sequences and their applications. - SETA 2004. Third Int. conference (Seoul, Korea, October 24-28, 2004). Revised selected papers. Berlin: Springer, 2005. P. 1-29 (Lecture Notes in Comput. Sci. V. 3486).
22. Dobbertin H., Leander G. Cryptographer’s Toolkit for Construction of 8-Bit Bent Functions // Cryptology ePrint Archive, Report 2005/089, available at http://eprint.iacr.org/.
23. Dobbertin H., Leander G., Canteaut A., et al. Construction of Bent Functions via Niho Power Functions // J. Combin. Theory. Ser. A. 2006. V. 113. No. 5. P. 779-798. Available at http://www-rocq.inria.fr/secret/Anne.Canteaut/Publications/index-pub.html.
24. Gong G., Golomb S. W. Transform Domain Analysis of DES // IEEE Trans. Inform. Theory. 1999. V. 45. No. 6. P. 2065-2073.
25. Kumar P. V., Scholtz R. A., Welch L. R. Generalized bent functions and their properties // J. Combin. Theory. Ser. A. 1985. V. 40. No. 1. P. 90-107.
26. http://langevin.univ-tln.fr/project/quartics/ — Classification of Boolean Quartics Forms in eight Variables (Langevin P.). 2008.
27. Langevin P., Leander G. Counting all bent functions in dimension 8 // Workshop on Coding and Cryptograpy. 2009. to appear.
28. Leveiller S., Zemor G., Guillot P., and Boutros J. A new cryptanalytic attack for PN-generators filtered by a Boolean function // Selected Areas of Cryptography — SAC 2002. Proc. P. 232-249 (Lecture Notes in Comput. Sci. V. 2595).
29. McFarland R. L. A family of difference sets in non-cyclic groups // J. Combin. Theory. Ser. A. 1973. V. 15. No. 1. P. 1-10.
30. Meng Q., Zhang H., Yang M. C., Cui J. On the degree of homogeneous bent functions // Available at http://eprint.iacr.org, 2004/284.
31. Nyberg K. Perfect nonlinear S-boxes // Advances in cryptology — EUROCRYPT’1991. Int. conference on the theory and application of cryptographic techniques (Brighton, UK, April 8-11, 1991). Proc. Berlin: Springer, 1991. P. 378-386 (Lecture Notes in Comput. Sci. V. 547).
32. Olejar D., Stanek M. On cryptographic properties of random Boolean functions // J. Universal Computer Science. 1998. V. 4. No. 8. P. 705-717.
33. Poinsot L. Multidimensional bent functions // GESTS International Transactions on Computer Science and Engeneering. 2005. V. 18. No. 1 P. 185-195.
34. Poinsot L., Harari S. Generalized Boolean bent functions // Progress in Cryptology — Indocrypt 2004 (Chennai (Madras), India. December 20 - 22, 2004). Proc. Springer. P. 107-119 (Lecture Notes in Comput. Sci. V. 3348).
35. Qu C., Seberry J., Pieprzyk J. Homogeneous bent functions // Discrete Appl. Math. 2000. V. 102. No. 1-2. P. 133-139.
36. Rothaus O. On bent functions // IDA CRD W. P. 1966. No. 169.
37. Rothaus O. On bent functions // J. Combin. Theory. Ser. A. 1976. V. 20. No.3. P. 300-305.
38. Schmidt K-U. Quaternary Constant-Amplitude Codes for Multicode CDMA // IEEE International Symposium on Information Theory — ISIT’2007. (Nice, France. June 24-29, 2007). Proc. 2007. P. 2781-2785. Available at http://arxiv.org/abs/cs.IT/0611162.
39. Yang M., Meng Q., Zhang H. Evolutionary design of trace form bent functions // Cryptology ePrint Archive, Report 2005/322, available at http://eprint.iacr.org/.
40. Youssef A., Gong G. Hyper-bent functions //Advances in cryptology — EUROCRYPT’2001. Int. conference on the theory and application of cryptographic techniques (Innsbruk, Austria, May 6-10, 2001). Proc. Berlin: Springer, 2001. P. 406-419 (Lecture Notes in Comput. Sci. V. 2045).