0% нашли этот документ полезным (0 голосов)
10 просмотров172 страницы

Bent Function

Документ посвящен исследованию бент-функций и их обобщений в области дискретной математики, с акцентом на их применение в комбинаторике, теории кодирования и криптографии. В работе представлен обзор теоретических результатов, практических приложений и открытых вопросов, связанных с бент-функциями, а также предложено новое обобщение, усиливающее их нелинейные свойства. Книга предназначена для специалистов, преподавателей и студентов, интересующихся булевыми функциями и криптографией.

Загружено:

testpixie071
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
10 просмотров172 страницы

Bent Function

Документ посвящен исследованию бент-функций и их обобщений в области дискретной математики, с акцентом на их применение в комбинаторике, теории кодирования и криптографии. В работе представлен обзор теоретических результатов, практических приложений и открытых вопросов, связанных с бент-функциями, а также предложено новое обобщение, усиливающее их нелинейные свойства. Книга предназначена для специалистов, преподавателей и студентов, интересующихся булевыми функциями и криптографией.

Загружено:

testpixie071
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
Вы находитесь на странице: 1/ 172

Наталья Токарева

«Нелинейные булевы функции:


бент-функции и их обобщения»
теоретические результаты

Работа относится к такой области дискретной математики, как булевы функции


и их приложения в комбинаторике, теории кодирования и криптографии.
Исследуется класс булевых функций, обладающих сильными свойствами
нелинейности: бент-функции и их обобщения. Впервые бент-функции начали
изучаться в 60-х годах XX века в связи с их приложениями в криптографии.
Использование нелинейных булевых функций в качестве компонент
современных шифров позволяет повышать стойкость шифров к методам
линейного и дифференциального криптоанализа. В настоящее время
нелинейные булевы функции исследуются по всему миру очень активно. Тем
не менее, в этой области остается множество открытых вопросов. В работе
приводится подробный обзор основных результатов в области бент-функций;
рассматриваются их теоретические и практические приложения; приводится
систематический обзор обобщений бент-функций. Устанавливается группа
автоморфизмов множества бент-функций. Предлагается новое обобщение бент-
функций, позволяющее поэтапно усиливать их нелинейные свойства. Книга
предназначена для специалистов в области булевых функций и криптографии,
преподавателей и студентов.

LAP LAMBERT Academic Publishing (Saarbrucken, Germany)

ISBN: 978-3-8433-0904-2

2011

Образец цитирования:
Токарева Н. Н. Нелинейные булевы функции: бент-функции и их обобщения // Издательство LAP
LAMBERT Academic Publishing (Saarbrucken, Germany), 2011. ISBN: 978-3-8433-0904-2. 180 с.
Оглавление

Введение 5

1 Бент-функции: результаты и приложения 7


1.1 Булевы функции . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Определение бент-функции . . . . . . . . . . . . . . . . . . . 9
1.3 Краткая история . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Приложения бент-функций . . . . . . . . . . . . . . . . . . . 12
1.5 Критерии и свойства . . . . . . . . . . . . . . . . . . . . . . . 16
1.6 Эквивалентные представления бент-функций . . . . . . . . . 18
1.6.1 Разностные множества и блок-схемы . . . . . . . . . . 18
1.6.2 Линейные разветвления . . . . . . . . . . . . . . . . . 19
1.6.3 Наборы подпространств . . . . . . . . . . . . . . . . . 20
1.6.4 Сильно регулярные графы . . . . . . . . . . . . . . . 21
1.6.5 Бент-прямоугольники . . . . . . . . . . . . . . . . . . 21
1.7 Бент-функции от малого числа переменных . . . . . . . . . . 22
1.8 Оценки числа бент-функций . . . . . . . . . . . . . . . . . . 26
1.9 Конструкции бент-функций . . . . . . . . . . . . . . . . . . . 27
1.9.1 Итеративные конструкции . . . . . . . . . . . . . . . . 28
1.9.2 Класс Мэйорана—МакФарланда . . . . . . . . . . . . 29
1.9.3 Partial Spreads . . . . . . . . . . . . . . . . . . . . . . 30
1.9.4 Алгебраические конструкции . . . . . . . . . . . . . . 31
1.10 Алгоритмы генерации бент-функций . . . . . . . . . . . . . . 33
1.11 Другие результаты . . . . . . . . . . . . . . . . . . . . . . . . 35

1
1.12 Векторные бент-функции . . . . . . . . . . . . . . . . . . . . 37
1.13 Открытые вопросы . . . . . . . . . . . . . . . . . . . . . . . . 41

2 Обобщения бент-функций: обзор работ 43


2.1 Алгебраические обобщения бент-функций . . . . . . . . . . . 44
2.1.1 q-Значные бент-функции . . . . . . . . . . . . . . . . 44
2.1.2 Бент-функции над конечным полем . . . . . . . . . . 47
2.1.3 Обобщенные булевы бент-функции Шмидта . . . . . . 50
2.1.4 Бент-функции из конечной абелевой группы в множе-
ство комплексных чисел единичной окружности . . . 53
2.1.5 Бент-функции из конечной абелевой группы в другую
конечную абелеву группу . . . . . . . . . . . . . . . . 55
2.1.6 Векторные G-бент-функции . . . . . . . . . . . . . . . 57
2.1.7 Многомерные бент-функции на конечной группе . . . 58
2.2 Комбинаторные обобщения бент-функций . . . . . . . . . . . 59
2.2.1 Частично определенные бент-функции . . . . . . . . . 59
2.2.2 Платовидные функции . . . . . . . . . . . . . . . . . . 60
2.2.3 Z-бент-функции . . . . . . . . . . . . . . . . . . . . . . 60
2.2.4 Однородные бент-функции . . . . . . . . . . . . . . . 61
2.2.5 Нормальные бент-функции . . . . . . . . . . . . . . . 62
2.3 Криптографические обобщения бент-функций . . . . . . . . 62
2.3.1 Уравновешенные бент-функции . . . . . . . . . . . . . 63
2.3.2 Частично бент-функции . . . . . . . . . . . . . . . . . 64
2.3.3 Гипербент-функции . . . . . . . . . . . . . . . . . . . 66
2.3.4 Почти бент-функции . . . . . . . . . . . . . . . . . . . 69
2.3.5 Бент-функции более высокого порядка нелинейности 69
2.3.6 k-Бент-функции . . . . . . . . . . . . . . . . . . . . . 70
2.4 Квантовые обобщения бент-функций . . . . . . . . . . . . . . 72
2.4.1 Нега-бент-функции, бент4 -функции, I-бент-функции . 72

2
3 Группа автоморфизмов множества бент-функций 75
3.1 Определения и факты . . . . . . . . . . . . . . . . . . . . . . 76
3.2 О сдвигах класса бент-функций . . . . . . . . . . . . . . . . 77
3.3 Дуальность определений бент-функций и аффинных функций 82
3.4 Автоморфизмы бент-функций . . . . . . . . . . . . . . . . . 84

4 Понятие k-бент-функции. Конструкции и свойства 87


4.1 Определения и обозначения . . . . . . . . . . . . . . . . . . . 87
4.2 Коды с параметрами кодов Адамара . . . . . . . . . . . . . . 88
4.3 Бинарная операция hu, vik . . . . . . . . . . . . . . . . . . . 96
4.4 Понятие k-аффинной функции . . . . . . . . . . . . . . . . . 101
4.5 Понятие k-бент-функции . . . . . . . . . . . . . . . . . . . . 102
4.6 k-Бент-функции от малого числа переменных . . . . . . . . 105
4.7 Индуктивный способ построения k-бент-функций . . . . . . 112
4.8 Взаимосвязь k-бент-функций с бент-функциями . . . . . . . 117

5 Квадратичные аппроксимации в блочных шифрах 119


5.1 Линейный криптоанализ и его модификации . . . . . . . . . 119
5.1.1 Линейный криптоанализ . . . . . . . . . . . . . . . . . 119
5.1.2 Проблемы нелинейного криптоанализа . . . . . . . . 121
5.1.3 Квадратичный криптоанализ . . . . . . . . . . . . . . 122
5.2 Класс аппроксимирующих функций ∆m . . . . . . . . . . . . 123
5.3 Квадратичные аппроксимации в блочных шифрах . . . . . . 128
5.4 Анализ четырехразрядных подстановок в S-блоках алгорит-
мов ГОСТ, DES, s3 DES . . . . . . . . . . . . . . . . . . . . . 135
5.5 Замечания и дополнения . . . . . . . . . . . . . . . . . . . . 140
5.6 Приложение . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

Заключение 145

Список литературы 146

3
4
Введение

Bent functions deserve


our bent to study them...1
Работа относится к такой области дискретной математики, как булевы
функции и их приложения в комбинаторике, теории кодирования и крипто-
графии. Исследуется класс булевых функций, обладающих сильными свой-
ствами нелинейности: бент-функции и их обобщения.
Мера нелинейности является важной характеристикой булевой функ-
ции в криптографии. Линейность и близкие к ней свойства часто свиде-
тельствуют о простой (в определенном смысле) структуре этой функции и,
как правило, представляют собой богатый источник информации о многих
других ее свойствах. Задача построения булевых функций, обладающих
нелинейными свойствами, естественным образом возникает во многих об-
ластях дискретной математики. И часто наибольший интерес вызывают те
функции, для которых эти свойства экстремальны. Такие булевы функции
называются бент-функциями. Впервые они начали исследоваться в 60-х
годах XX века в связи с криптографическими приложениями.
Бент-функцию можно определить как функцию, которая крайне плохо
аппроксимируется аффинными функциями. В блочных и поточных шиф-
рах бент-функции и их векторные аналоги способствуют предельному по-
вышению стойкости этих шифров к линейному и дифференциальному ме-
тодам криптоанализа — основным статистическим методам криптоанализа
шифров. Например, в 1993 году была обнаружена существенная слабость
к линейному криптоанализу блочного шифра DES. Этот шифр являлся
1
Игра слов: «Бент-функции заслуживают нашего стремления изучить их...» (англ.)

5
стандартом симметричного шифрования США на протяжении почти два-
дцати лет (с 1980 года по 1998 год). Слабость шифра, которая привела к
успешной атаке на него, заключалась в плохих криптографических свой-
ствах его нелинейных компонент, так называемых S-блоков. Математиче-
ски, S-блок — это векторная булева функция, отображающая n входных
битов в m выходных битов. Именно эти булевы функции в шифре DES не
отвечали необходимым криптографическим требованиям, что и послужи-
ло причиной успеха метода линейного криптоанализа. Шифр DES оказался
нестойким и к дифференциальному методу криптоанализа. Причина вновь
заключалась в слабых S-блоках шифра. Стойкость шифров к упомянутым
методам криптоанализа достигается за счет использования бент-функций,
их аналогов и обобщений при построении S-блоков. Это было сделано, на-
пример, в канадском шифре CAST и новом американском стандарте AES.
В настоящее время нелинейные булевы функции исследуются по все-
му миру очень активно. Тем не менее, в этой области остается множество
открытых вопросов.
В книге приводится подробный обзор основных результатов в области
бент-функций, рассматриваются их теоретические и практические прило-
жения (Глава 1); приводится систематический обзор обобщений бент-функ-
ций (Глава 2); устанавливается группа автоморфизмов множества бент-
функций (Глава 3); предлагается новое обобщение бент-функций, позволя-
ющее поэтапно усиливать их нелинейные свойства (Главы 4, 5).

6
Глава 1

Бент-функции: результаты и
приложения

В данной главе приводится обзор основных результатов в области бент-


функций. Рассматриваются их теоретические и практические приложения.
Отдельно приводится список нерешенных вопросов.

1.1 Булевы функции

Пусть Z2 = {0, 1}. Через Zn2 будем обозначаем множество всех двоичных
векторов v = (v1 , . . . , vn ) длины n. Будем считать, что все векторы лекси-
кографически упорядочены. Например, при n = 3 порядок векторов сле-
дующий (000), (001), (010), (011), (100), (101), (110), (111).
Произвольная функция из множества Zn2 в множество Z2 называется
булевой функцией от n переменных. Например,
f : Z22 → Z2 такая, что f (00) = 1, f (01) = 0, f (10) = 0, f (11) = 1;
g : Z32 → Z2 такая, что она принимает значение 1 на векторах с двумя
единицами и 0 на всех остальных.
Функции такого вида названы булевыми в честь известного английского
математика и философа Джорджа Буля (1815–1864).

7
Улица, на которой жил Джордж Буль с 1849 по 1855 годы, Корк, Ирландия.

Его дом — крайний справа.

Каждую булеву функцию от n переменных можно однозначно опреде-


лить вектором ее значений длины 2n . Например, функциям f и g соот-
ветствуют векторы (1001) и (00010110). Пусть далее f обозначает вектор
значений длины 2n функции f . Будем считать, что аргументы функции
(т. е. векторы длины n) перебираются в лексикографическом порядке.
Пусть ⊕ обозначает сложение по модулю 2 (операцию XOR). Известно,
что каждая булева функция однозначно может быть задана своей алгебра-
ической нормальной формой (АНФ), а именно представлена в виде
n M
!
M
f (v) = ai1 ,...,ik vi1 · . . . · vik ⊕ a0 ,
k=1 i1 ,...,ik

где при каждом k индексы i1 , . . . , ik различны и в совокупности пробега-


ют все k-элементные подмножества множества {1, . . . , n}. Коэффициенты
ai1 ,...,ik , a0 принимают значения 0 или 1. В русскоязычной литературе АНФ
также называют полиномом Жегалкина.

8
Например, для функций f и g, приведенных выше, имеем формулы
f (v1 , v2 ) = v1 ⊕ v2 ⊕ 1,
g(v1 , v2 , v3 ) = v1 v2 v3 ⊕ v1 v2 ⊕ v1 v3 ⊕ v2 v3 .
Степенью нелинейности deg(f ) булевой функции f называется чис-
ло переменных в самом длинном слагаемом ее АНФ. Функция называется
аффинной, квадратичной, кубической и т. д., если ее степень равна соот-
ветственно 1, 2, 3 и т. д. Каждая аффинная функция от n переменных
v1 , . . . , vn имеет вид hu, vi ⊕ a для подходящих вектора u и константы a.

1.2 Определение бент-функции

Пусть hu, vi = u1 v1 ⊕ . . . ⊕ un vn — скалярное произведение векторов. Через


dist(f, g) обозначим расстояние Хэмминга между функциями f и g, т. е.
число позиций, в которых различаются векторы f и g.
Максимально нелинейной называется булева функция от n перемен-
ных (n любое) такая, что расстояние Хэмминга Nf от данной функции до
множества всех аффинных функций является максимально возможным.
Величину Nf называют нелинейностью булевой функции. В случае четно-
го n максимально возможное значение нелинейности равно 2n−1 −2(n/2)−1 . В
случае нечетного n точное значение максимального расстояния неизвест-
но (поиск этого значения или его оценок представляет весьма любопыт-
ную и сложную комбинаторную задачу [151, 132]). Термин «максимально
нелинейная функция» принят в русскоязычной литературе, тогда как в
англоязычной широкое распространение получил термин «бент-функция»
(от англ. bent — изогнутый, наклоненный). Аналогия между терминами
не полная. При четном числе переменных n бент-функции и максимально
нелинейные функции совпадают, а при нечетном n бент-функции (в отли-
чие от максимально нелинейных) не существуют.
Преобразованием Уолша—Адамара булевой функции f от n переменных
называется целочисленная функция Wf , заданная на множестве Zn2 равен-

9
ством
X
Wf (v) = (−1)hu,vi⊕f (u) .
u∈Zn2

Справедливо равенство Парсеваля,


X
(Wf (v))2 = 22n .
v∈Zn2

Поскольку число всех коэффициентов Wf (v) равно 2n , из равенства следу-


ет, что максимум модуля коэффициента Уолша—Адамара не может быть
меньше величины 2n/2 . Нелинейность Nf произвольной функции f тесно
связана с ее коэффициентами Уолша—Адамара, а именно
1
Nf = 2n−1 − max |Wf (v)|.
2 v∈Zn2
Очевидно, что чем меньше максимум модуля коэффициента Wf (v), тем
выше нелинейность функции f .
Бент-функцией называется булева функция от n переменных (n чет-
но) такая, что модуль каждого коэффициента Уолша—Адамара этой функ-
ции равен 2n/2 . Другими словами, f — бент-функция, если максимум мо-
дуля Wf (v) достигает своего минимального возможного значения. В силу
равенства Парсеваля это имеет место, только если модули всех коэффи-
циентов Уолша—Адамара этой функции совпадают и равны 2n/2 . Таким
образом, эквивалентность определению максимально нелинейной функции
(при четном n) становится очевидной.
Множество всех бент-функций от n переменных обозначим через Bn .

1.3 Краткая история

Впервые бент-функции были введены О. Ротхаусом в 60-х годах XX века.


Выпускник Принстонского университета Оскар Ротхаус (1927–2003) после
службы во время Корейской войны в войсках связи поступил на работу
математиком в Агентство Национальной Безопасности США. С 1960 по

10
1966 годы он работал в Институте оборонного анализа (IDA). Его крипто-
графические работы того времени оценивались руководством IDA доста-
точно высоко. Как и его преподавательская деятельность: «he was one of
the most important teachers of cryptology to mathematicians and mathematics
to cryptologists» [47]. На это же время приходится и его первая работа о
бент-функциях [184]. В открытой печати она появилась только в 1976 году
[185]. В ней были установлены базовые свойства бент-функций, предложе-
ны их простейшие конструкции и намечена классификация бент-функций
от шести переменных. В дальнейшем Оскар Ротхаус не занимался бент-
функциями. С 1966 года он работал в Корнелльском Университете (NY).
В Советском Союзе тоже занимались бент-функциями в 60-х годах, од-
нако, имена первых исследователей пока не переданы широкой огласке.
К числу первых работ относятся и исследования американских матема-
тиков Дж. Диллона [106] и Р. Л. МакФарланда [157], которые в 70-х годах
рассматривали бент-функции в связи с разностными множествами.
С 80-х годов бент-функции начинают интенсивно изучаться по всему
миру. В настоящее время известны сотни работ о бент-функциях и близ-
ких вопросах. Получены серии конструкций бент-функций, но тем не менее
класс всех бент-функций от n переменных до сих пор не описан, для мощ-
ности этого класса не найдена асимптотика и не установлено даже прием-
лемых нижних и верхних оценок. Малый прогресс в этой области связан
с тем, что несмотря на простые формулировки задачи здесь очень слож-
ны. Можно сказать, что в действительности класс бент-функций еще не
исследован.
Интересно, что в одном из своих последних годовых отчетов (2001–2002)
Оскар Ротхаус писал о том, что вернулся к исследованиям своей молодости:
к кодам и бент-функциям, и получил новые неожиданные результаты [46].
К сожалению, они так и остались неопубликованными. Тем более жаль, что
Оскар Ротхаус, как никто другой, знал цену результатам в этой области.

11
Стэйт Стрит, ведущая к Корнелльскому университету, Итака, штат Нью-Йорк.

В этом университете с 1966 по 2003 год работал Оскар Ротхаус.

1.4 Приложения бент-функций

Впечатляют масштабы исследования бент-функций. В настоящее время


множество математиков и инженеров по всему миру регулярно публикуют
свои статьи по этой тематике. Результаты обсуждаются на таких между-
народных конференциях, как EUROCRYPT, CRYPTO, SETA, FSE, BFCA,
SIBECRYPT и многих других.
Актуальность исследования бент-функций подтверждается их много-
численными теоретическими и практическими приложениями в комбина-
торике, алгебре, теории кодирования, теории информации, теории символь-
ных последовательностей, криптографии и криптоанализе. Приведем (да-
леко не полную) серию таких примеров.
Дискретная математика. Классическая комбинаторная задача по-
строения матриц Адамара порядка N , известная с 1893 г., в случае N = 2n

12
(n четно) при некоторых ограничениях сводится к задаче построения бент-
функций от n переменных [185] (см. далее теорему 1).
В теории конечных групп построение элементарных адамаровых раз-
ностных множеств специального вида эквивалентно построению макси-
мально нелинейных булевых функций (см. [19] и теорему 5).
Теория кодирования. В теории кодирования широко известна задача
определения радиуса покрытия произвольного кода Рида—Маллера, кото-
рая эквивалентна (в случае кодов первого порядка) поиску наиболее нели-
нейных булевых функций [132,151]. В теории оптимальных кодов специаль-
ные семейства квадратичных бент-функций определяют класс кодов Кер-
дока [133], обладающих исключительным свойством: вместе с растущим
кодовым расстоянием (при увеличении длины кода) каждый код Кердока
имеет максимально возможную мощность (см. [27,102]). Этим свойством
коды Кердока «обязаны» экстремальной нелинейности бент-функций. От-
метим, что задача построения таких семейств бент-функций, задающих
код Кердока, несложно переводится в задачу поиска ортогональных рас-
щеплений (orthogonal spreads) в конечном векторном пространстве [131],
что представляется элегантным примером связи бент-функций с экстре-
мальными геометрическими объектами. Другим примером из теории коди-
рования служат так называемые бент-коды — линейные двоичные коды,
каждый из которых определенным образом строится из некоторой бент-
функции [78]. В принципе, тем же способом можно строить линейные коды
из любых булевых функций, но только бент-коды имеют максимально воз-
можные кодовые размерности.
Теория информации. Семейства бент-последовательностей из эле-
ментов +1 и −1, построенные на основе бент-функций, имеют предельно
низкие значения как взаимной корреляции, так и автокорреляции (дости-
гают нижней границы Велча) [170]. Поэтому такие семейства успешно при-
меняются в коммуникационных системах коллективного доступа [173]. Не
обходится без бент-функций или их аналогов и в квантовой теории инфор-

13
мации (см. например, [181]).
Цифровая сотовая связь. Бент-функции применяются в CDMA. Тех-
нология цифровой сотовой связи CDMA (Сode Division Multiple Access —
множественный доступ с кодовым разделением каналов) была стандарти-
зована в 1993 году американской телекоммуникационной промышленной
ассоциацией (US TIA) в виде стандарта IS–95. В настоящее время техноло-
гия используется большинством поставщиков беспроводного оборудования
во всем мире согласно стандартам IMT–2000 мобильной связи третьего по-
коления (в России — стандарты IMT–MC 450 или CDMA–450). Для оценки
сигнала в CDMA используется коэффициент отношения пиковой и средней
мощностей сигнала PAPR (peak-to-average power ratio). Чем данный коэф-
фициент ниже, тем сигнал считается лучше, так как снижается стоимость
на усилители мощности, и повышается надежность связи. Минимальное
значение PAPR достигается на кодовых словах специального вида. Таки-
ми словами являются векторы значений бент-функций. Коды, состоящие
из таких слов, называются кодами постоянной амплитуды (см. [173, 200]).
Так возникает задача построения кодов постоянной амплитуды наибольшей
мощности и обладающих хорошей структурой, т. е. задача выбора специ-
альных подмножеств множества бент-функций.
Криптография. Бент-функцию можно определить как функцию, ко-
торая крайне плохо аппроксимируется аффинными функциями. Это ба-
зовое свойство бент-функций используется в криптографии. В блочных и
поточных шифрах бент-функции и их векторные аналоги способствуют
предельному повышению стойкости этих шифров к линейному [154] и диф-
ференциальному [55] методам криптоанализа — основным статистическим
методам криптоанализа блочных шифров.
Например, в 1993 году была обнаружена существенная слабость к ли-
нейному криптоанализу блочного шифра DES. Этот шифр являлся стан-
дартом симметричного шифрования США на протяжении почти двадцати
лет (с 1980 года по 1998 год). Слабость шифра, которая привела к успеш-

14
ной атаке на него, заключалась в плохих криптографических свойствах
его нелинейных компонент, так называемых S-блоков. Математически, S-
блок — это векторная булева функция, отображающая n входных битов
в m выходных битов. Именно эти булевы функции в шифре DES не от-
вечали необходимым криптографическим требованиям, что и послужило
причиной успеха метода линейного криптоанализа. Шифр DES оказался
нестойким и к дифференциальному методу криптоанализа. Причина вновь
заключалась в слабых S-блоках шифра.
Стойкость шифров к упомянутым методам криптоанализа достигается
за счет использования бент-функций, их аналогов и обобщений при по-
строении S-блоков (см. [41,166]). Это было сделано, например, в шифрах
CAST и AES. В канадском шифре CAST S-блоки были изначально спро-
ектированы с использованием бент-функций. Этот шифр был предложен
в 1997 году и поддержан правительством Канады в качестве официаль-
ной замены шифру DES. В шифре AES — новом стандарте симметричного
шифрования США — в качестве S-блока используется специального вида
дифференциально 4-равномерная функция, являющаяся одним из обобще-
ний векторных бент-функций. Блочный шифр AES является американским
стандартом шифрования с 2002 года.
Бент-функции и их обобщения находят свое применение также в схемах
аутентификации [84], хэш-функциях (см. HAVAL) и псевдослучайных гене-
раторах [22]. См. также пример использования бент-функций в поточном
шифре Grain.
Обобщения бент-функций. Широко исследуются различные обоб-
щения, подклассы и надклассы бент-функций (см. далее Главу 2). С од-
ной стороны, эти исследования мотивированы высокой сложностью зада-
чи описания бент-функций и являются попытками перехода к более общим
(или более частным) ее постановкам — в надежде на частичное решение
основной проблемы. С другой стороны, интерес к обобщениям постоянно
стимулируется новыми запросами со стороны приложений.

15
Фотография с одной из криптографических конференций, Франция, 2000-е.

Обзоры некоторых результатов о бент-функциях можно найти в заме-


чательной российской монографии 2004 г. О. А. Логачева, А. А. Сальникова
и В. В. Ященко [19], статье немецких криптографов Х. Доббертина и Г. Ле-
андера [113] 2004 г., главах [78,79] французского математика и криптографа
К. Карле, написанных для готовящейся к печати книги «Boolean Methods
and Models» (2008 г.). См. также более ранние работы Ю. В. Кузнецова и
С. А. Шкарина [11] 1996 г., Дж. Ф. Диллона [106] 1972 г. и др.

1.5 Критерии и свойства

Всюду далее n предполагается четным числом.


Напомним, что матрицей Адамара называется квадратная k×k-матрица
A с элементами ±1, такая, что AAT = kE, где E — единичная матрица.
Строки и столбцы матрицы размера 2n × 2n занумеруем векторами u, v
длины n. Справедлива [185]

16
Теорема 1. Следующие утверждения эквивалентны:
(i) булева функция f от n переменных является бент-функцией;
1
(ii) матрица A = (au,v ), где au,v = 2n/2
Wf (u ⊕ v), является матрицей
Адамара;
(iii) матрица D = (du,v ), где du,v = (−1)f (u⊕v) , является матрицей
Адамара;
(iv) для любого ненулевого вектора u функция f (v) ⊕ f (v ⊕ u) сбалан-
сирована, т. е. принимает значения 0 и 1 одинаково часто.

Пункт (iv) теоремы носит название критерия распространения PC(n)


порядка n. В качестве важного свойства бент-функций можно отметить
следующий факт [185]. Согласно [13] он был получен также В. А. Елисее-
вым и О. П. Степченковым еще в 1962 г.

Теорема 2. Степень нелинейности deg(f ) любой бент-функции f от


n > 4 переменных не превосходит числа n/2.

Аффинная функция, как нетрудно видеть, не может быть бент-функцией.


Сразу отметим, что бент-функции любой другой возможной степени су-
ществуют. Например, квадратичной бент-функцией при любом четном n
является функция

f (v1 , . . . , vn ) = v1 v2 ⊕ v3 v4 ⊕ . . . ⊕ vn−1 vn . (1.1)

Интересно, что любую другую квадратичную бент-функцию g можно по-


лучить из f аффинным преобразованием. Приведем необходимое опреде-
ление. Булевы функции f и g от n переменных аффинно эквивалентны,
если существуют невырожденная n × n матрица A, векторы b, c длины n
и константа λ ∈ Z2 , такие, что

g(v) = f (Av ⊕ b) ⊕ hc, vi ⊕ λ.

Согласно [94] (см. [20,106]), выполняется

Теорема 3. Любая квадратичная бент-функция от n переменных аф-


финно эквивалентна функции (1.1).

17
Для бент-функций степени 3 и выше подобных результатов нет. Спра-
ведлива

Теорема 4. Класс Bn бент-функций замкнут относительно


(i) любого невырожденного аффинного преобразования переменных;
(ii) прибавления любой аффинной функции.

В силу теоремы 4 имеет смысл вопрос об аффинной классификации


бент-функций, который для функций степени > 3 пока остается откры-
тым. Подробнее о методах аффинной и линейной классификации булевых
функций можно прочитать в [37].
Часто с бент-функцией f связывают так называемую дуальную булеву
функцию fe от n переменных, которая определяется равенством Wf (v) =
2n/2 (−1)f (v) . Определение корректно, поскольку Wf (v) = ±2n/2 для каж-
e

дого вектора v. Несложно доказать, что булева функция fe является бент-


функцией. Справедливо fe = f . Отметим, что если deg(f ) = n/2, то степень
e

fe также максимальна: deg(fe) = n/2. Самодуальные бент-функции, т. е. та-


кие, что f = fe, изучались в [81].
Дуальные бент-функции потребуются далее в теореме 14.

1.6 Эквивалентные представления бент-функций

Рассмотрим ряд попыток найти бент-функциям комбинаторные или алгеб-


раические «эквиваленты».

1.6.1 Разностные множества и блок-схемы

С самого начала бент-функции изучались в связи с разностными множе-


ствами [106]. Пусть конечная абелева группа G имеет порядок v и дана
в аддитивной записи. Подмножество D ⊆ G мощности k называется раз-
ностным множеством с параметрами (v, k, λ), если каждый ненулевой

18
элемент g ∈ G можно представить в виде g = b − d ровно λ способами, где
b, d — элементы множества D. Справедлива [106]

Теорема 5. Булева функция f от n переменных является бент-функ-


цией, если и только если множество D = { (v, f (v)) | v ∈ Zn2 } является
разностным множеством с параметрами (2n+1 , 2n , 2n−1 ) в аддитивной
группе Z2n+1 .

Действительно, этот факт несложно следует из пункта (iv) теоремы 1.


Разностные множества с приведенными в теореме 5 параметрами называ-
ются элементарными адамаровыми. Примеры таких множеств были из-
вестны еще до появления бент-функций [106].
Известно [36], что разностные множества тесно связаны с блок-схемами.
Напомним, что блок-схемой с параметрами (v, k, λ) называется система k-
элементных подмножеств (или блоков) v-элементного множества, такая,
что каждая пара различных элементов содержится ровно в λ блоках. Блок-
схема симметрична, если число блоков равно числу элементов, т. е. равно
v. Теорема 5 имеет следующий эквивалентный вид.

Теорема 6. Булева функция f от n переменных является бент-функ-


цией, если и только если система множеств Dz = D ⊕ z, где вектор z
пробегает множество Zn+1
2 , является симметричной блок-схемой с па-
раметрами (2n+1 , 2n , 2n−1 ).

1.6.2 Линейные разветвления

В. В. Ященко [39] в 1997 г. предложил следующее описание класса бент-


функций. В его основе лежит тот факт, что любая булева функция f от n
переменных может быть представлена в виде линейного разветвления

f (u0 , u00 ) = hu0 , h(u00 )i ⊕ g(u00 ), где u0 ∈ Zr2 , u00 ∈ Zk2 (1.2)

для подходящих чисел r и k таких, что n = r + k, отображения h : Zk2 → Zr2


и булевой функции g от k переменных. Максимально возможное значение r

19
в таком представлении называется индексом линейности булевой функции
f.
Подмножество M пространства Zn2 называется бент-множеством, если
его мощность равна 22` при некотором ` и для любого ненулевого вектора
z ∈ Zn2 множество M ∩ (z ⊕ M ) либо пусто, либо имеет четную мощность.
Пара (g; M ), где g — булева функция от k переменных, M — бент-
множество, называется частичной бент-функцией, если для любого v 0 ∈
Zr2 и ненулевого v 00 ∈ Zk2 функция g(u00 ) ⊕ g(u00 ⊕ v 00 ) сбалансирована на
множестве M ∩ ((v 0 , v 00 ) ⊕ M ).

Теорема 7. Булева функция f вида (1.2) является бент-функцией то-


гда и только тогда, когда n > 2r и для любого вектора u0 ∈ Zr2 выполня-
ются условия:
(i) мощность множества h−1 (u0 ) равна 2n−2r ;
(ii) множество h−1 (u0 ) является бент-множеством;
(iii) пара (g; h−1 (u0 )) является частичной бент-функцией.

Позднее в 2004 г. К. Карле независимо предложил конструкцию бент-


функций, представляющую собой частный случай данного описания (см.
далее теорему 17).

1.6.3 Наборы подпространств

Приведем геометрическое описание класса бент-функций, которое предло-


жили в 1998 г. К. Карле и Ф. Гуилло [87] (см. также более раннюю работу
[86]).
Пусть f — булева функция от n переменных. Пусть IndS : Zn2 → Z2 —
характеристическая функция подмножества S ⊆ Zn2 , т. е. IndS принимает
значение 1 на элементах из S и значение 0 на остальных элементах.

Теорема 8. Функция f является бент-функцией тогда и только то-


гда, когда существуют подпространства E1 , . . . , Ek размерности n/2 или

20
(n/2) + 1 пространства Zn2 и ненулевые целые числа m1 , . . . , mk , такие,
что для любого v ∈ Zn2 выполняется
k
X
mi IndEi (v) = ±2(n/2)−1 Ind{0} (v) + f (v).
i=1

Авторы [87] вводят ограничения на способ выбора пространств E1 , . . . , Ek ,


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

1.6.4 Сильно регулярные графы

Другой подход предложили в 1999 г. А. Бернаскони и Б. Коденотти [50],


затем к ним присоединился и Дж. Ван-дер-Кам [51].
Пусть f — булева функция от n переменных. Через supp(f ) обозна-
чим ее носитель, т. е. множество всех двоичных векторов длины n, на
которых функция f принимает значение 1. Рассмотрим граф Кэли Gf =
G(Zn2 , supp(f )) булевой функции f . Вершинами графа являются все век-
торы длины n. Две вершины u, v соединяются ребром, если вектор u ⊕ v
принадлежит множеству supp(f ).
Регулярный граф G называется сильно регулярным (strongly regular),
если существуют неотрицательные целые числа λ, µ такие, что для любых
двух вершин x, y число общих смежных им вершин равно λ или µ в за-
висимости от того, соединены вершины x, y ребром или нет. В работе [51]
доказана

Теорема 9. Булева функция f является бент-функцией тогда и толь-


ко тогда, когда граф Gf является сильно регулярным, причем λ = µ.

1.6.5 Бент-прямоугольники

С. В. Агиевич в 2000 г. [43] установил биекцию между множеством всех


бент-функций от n переменных и множеством бент-прямоугольников.

21
Пусть f — булева функция от n переменных, n = r + k. Вектор W f ко-
эффициентов Уолша—Адамара назовем спектральным вектором функции
f . Представим двоичный вектор f в виде f = (f (1) , . . . , f (2r ) ), где каждый
вектор f (i) имеет длину 2k . Пусть f(i) — булева функция от k перемен-
ных, для которой f (i) является вектором значений, i = 1, . . . , 2r . Свяжем
с функцией f матрицу Mf размера 2r × 2k , строками которой являются
спектральные векторы W f(1) , . . . , W f(2r ) .
Матрица размера 2r × 2k называется бент-прямоугольником, если каж-
дая ее строка и каждый столбец, домноженный на 2r−(n/2) , являются спек-
тральными векторами для подходящих булевых функций. Согласно [43],
выполняется

Теорема 10. Булева функция f является бент-функцией тогда и толь-


ко тогда, когда матрица Mf является бент-прямоугольником.

Данный подход позволил [43] дать описание всех бент-функций от ше-


сти переменных (см. далее) и получить алгоритм построения специально-
го класса бент-функций от произвольного числа переменных n. В работе
[45] С. В. Агиевич исследует соответствие между бент-прямоугольниками
и регулярными q-значными бент-функциями [141], описывает аффинные
трансформации первых и переводит на язык бент-прямоугольников основ-
ные конструкции бент-функций. Дальнейшее развитие этого подхода пред-
ставляется весьма перспективным.
Здесь перечислены лишь некоторые возможные характеризации бент-
функций.

1.7 Бент-функции от малого числа переменных

Задача описания всех бент-функций от n переменных решена лишь при


малых значениях n. Приведем эти результаты.
n = 2. Функция v1 v2 является представителем единственного класса

22
аффинной эквивалентности. Класс B2 состоит из восьми функций. Это все
функции, векторы значений которых содержат нечетное число единиц.
n = 4. Множество B4 состоит из 896 булевых функций, причем каждая
функция является квадратичной. Все бент-функции от четырех перемен-
ных аффинно эквивалентны функции v1 v2 ⊕ v3 v4 . Множество B4 можно
разделить на 28 классов по 32 функции. Алгебраические нормальные фор-
мы функций из каждого класса обладают одинаковой квадратичной ча-
стью, произвольной линейной частью и любым свободным членом. Если
рассмотреть граф на множестве переменных, а ребрами соединить те вер-
шины, которые образуют слагаемое в квадратичной части АНФ функции,
то эти 28 типов можно задать следующим образом:
r r r r r r r r
@
r r r r r r r @r
(3) (12) (12) (1)

Под каждым графом указано число типов, которые он определяет. Напри-


мер, имеется 3 типа квадратичной части, состоящей из двух слагаемых:
v1 v2 ⊕ v3 v4 , v1 v3 ⊕ v2 v4 , v1 v4 ⊕ v2 v3 , и только один тип из шести слагаемых.
n = 6. Аффинная классификация бент-функций от 6 переменных была
получена еще в работе О. Ротхауса [185]: множество B6 состоит из четырех
классов аффинной эквивалентности, представителями которых являются
следующие функции:
v1 v2 ⊕ v3 v4 ⊕ v5 v6 ,
v1 v2 v3 ⊕ v1 v4 ⊕ v2 v5 ⊕ v3 v6 ,
v1 v2 v3 ⊕ v2 v4 v5 ⊕ v1 v2 ⊕ v1 v4 ⊕ v2 v6 ⊕ v3 v5 ⊕ v4 v5 ,
v1 v2 v3 ⊕ v2 v4 v5 ⊕ v3 v4 v6 ⊕ v1 v4 ⊕ v2 v6 ⊕ v3 v4 ⊕ v3 v5 ⊕ v3 v6 ⊕ v4 v5 ⊕ v4 v6 .
В работе [204] приводится подобная алгебраическая классификация. Пусть
GF (26 ) = {0, 1, α, α2 , . . . , α62 }, где α — корень многочлена x6 + x + 1.
Пусть булева функция отождествляется с функцией f (v) : GF (26 ) →
GF (2), где v рассматривается как элемент поля GF (26 ). Тогда в качестве
представителей классов аффинной эквивалентности множества B6 можно

23
выбрать функции: tr(v 3 + α5 v 5 ), tr(α3 v 7 + v 9 ), tr(αv 3 + α6 v 7 + α60 v 13 ),
tr(v 7 + αv 9 + v 21 ), где tr — функция следа из GF (26 ) в GF (2).
Дж. Диллоном [106] (см. также [59]) было показано, что любая бент-
функция от шести переменных аффинно эквивалентна функции из класса
Мэйорана—МакФарланда (см. далее теорему 16).
Класс B6 содержит 5 425 430 528 ' 232,3 функций. Описание было дано
С. В. Агиевичем [43] с использованием бент-квадратов, т. е. бент-прямоу-
гольников при r = k (см. теорему 10). Скажем, что две бент-функции
квадратно-эквивалентны, если бент-квадрат одной из них может быть по-
лучен из бент-квадрата второй изменением знаков элементов и перестанов-
кой строк и столбцов. Пусть r = k = 3. Все функции класса B6 разбиваются
на восемь классов квадратной эквивалентности. Ниже приводятся соответ-
ствующие бент-квадраты размера 23 × 23 и количество функций в каждом
классе.
8 0 0 0 0 0 0 0 -4 4 4 4 0 0 0 0 -4 4 4 4 0 0 0 0 -4 4 4 4 0 0 0 0
0 8 0 0 0 0 0 0 4 -4 4 4 0 0 0 0 4 -4 4 4 0 0 0 0 4 -4 0 0 4 4 0 0
0 0 8 0 0 0 0 0 4 4 -4 4 0 0 0 0 0 0 -4 4 4 4 0 0 4 0 -4 0 4 0 4 0
0 0 0 8 0 0 0 0 4 4 4 -4 0 0 0 0 0 0 4 -4 4 4 0 0 4 0 0 -4 0 4 4 0
0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 4 4 0 0 -4 4 0 0 0 4 4 0 0 4 -4 0
0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 4 4 0 0 4 -4 0 0 0 4 0 4 -4 0 4 0
0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 4 4 4 -4 0 0
0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8

(215 · 32 · 5 · 7) (218 · 3 · 72 ) (221 · 3 · 72 ) (225 · 3 · 7)

-4 4 4 4 0 0 0 0 -4 4 4 4 0 0 0 0 -4 4 4 4 0 0 0 0 -6 2 2 2 2 2 2 2
4 -4 4 4 0 0 0 0 4 -4 4 4 0 0 0 0 4 -4 0 0 4 4 0 0 2 -6 2 2 2 2 2 2
4 4 -4 4 0 0 0 0 0 0 -4 4 4 4 0 0 4 0 -4 0 4 0 4 0 2 2 -6 2 2 2 2 2
4 4 4 -4 0 0 0 0 0 0 4 -4 4 4 0 0 4 0 0 -4 0 4 4 0 2 2 2 -6 2 2 2 2
0 0 0 0 -4 4 4 4 0 0 0 0 -4 4 4 4 0 4 4 0 -4 0 0 4 2 2 2 2 -6 2 2 2
0 0 0 0 4 -4 4 4 0 0 0 0 4 -4 4 4 0 4 0 4 0 -4 0 4 2 2 2 2 2 -6 2 2
0 0 0 0 4 4 -4 4 4 4 0 0 0 0 -4 4 0 0 4 4 0 0 -4 4 2 2 2 2 2 2 -6 2
0 0 0 0 4 4 4 -4 4 4 0 0 0 0 4 -4 0 0 0 0 4 4 4 -4 2 2 2 2 2 2 2 -6

(219 · 72 ) (220 · 32 · 72 ) (223 · 3 · 72 ) (223 · 32 · 5 · 7)

Отметим, что мощность B6 была найдена раньше в диссертации Б. Пре-


нела [179]. В 2004 г. авторы [158] перечислили функции класса B6 способом,
отличным от приведенного в [43].

24
n = 8. Аффинная классификация бент-функций от восьми переменных
степени не выше 3 была получена в работах [126] и [59], см. также работу
[44], посвященную кубическим бент-функциям специального вида. Бент-
функции от восьми переменных степени не выше 3 делятся на 10 классов
аффинной эквивалентности, представителями которых являются:
v1 v2 ⊕ v3 v4 ⊕ v5 v6 ⊕ v7 v8 ,
v1 v2 v3 ⊕ v1 v4 ⊕ v2 v5 ⊕ v3 v6 ⊕ v7 v8 ,
v1 v2 v3 ⊕ v2 v4 v5 ⊕ v3 v4 ⊕ v2 v6 ⊕ v1 v7 ⊕ v5 v8 ,
v1 v2 v3 ⊕ v2 v4 v5 ⊕ v1 v3 ⊕ v1 v5 ⊕ v2 v6 ⊕ v3 v4 ⊕ v7 v8 ,
v1 v2 v3 ⊕ v2 v4 v5 ⊕ v3 v4 v6 ⊕ v3 v5 ⊕ v2 v6 ⊕ v2 v5 ⊕ v1 v7 ⊕ v4 v8 ,
v1 v2 v3 ⊕ v2 v4 v5 ⊕ v3 v4 v6 ⊕ v3 v5 ⊕ v1 v3 ⊕ v1 v4 ⊕ v2 v7 ⊕ v6 v8 ,
v1 v2 v3 ⊕ v2 v4 v5 ⊕ v3 v4 v6 ⊕ v3 v5 ⊕ v2 v6 ⊕ v2 v5 ⊕ v1 v2 ⊕ v1 v3 ⊕ v1 v4 ⊕ v7 v8 ,
v1 v2 v3 ⊕ v2 v4 v5 ⊕ v3 v4 v6 ⊕ v3 v5 ⊕ v1 v6 ⊕ v2 v7 ⊕ v4 v8 ,
v1 v2 v7 ⊕ v3 v4 v7 ⊕ v5 v6 v7 ⊕ v1 v4 ⊕ v3 v6 ⊕ v2 v5 ⊕ v4 v5 ⊕ v7 v8 ,
v1 v2 v3 ⊕ v2 v4 v5 ⊕ v3 v4 v6 ⊕ v1 v4 v7 ⊕ v3 v5 ⊕ v2 v7 ⊕ v1 v5 ⊕ v1 v6 ⊕ v4 v8 .
В диссертации [59] также показано, что все эти функции аффинно эквива-
лентны функциям из класса Мэйорана—МакФарланда.
Нижняя 270,4 и верхняя 2129,2 оценки числа всех функций в классе B8
были получены соответственно в [43] и [146]. Некоторые результаты по ча-
стичному описанию класса B8 на основе исследования групп автоморфиз-
мов бент-функций приводит У. Демпвольф в работах [103, 104]. М. Янг,
К. Менг и Х. Жанг [204] показали, что множество B8 состоит не менее чем
из 129 классов аффинной эквивалентности. Представители всех найден-
ных ими классов приводятся в их работе. Это 53 функции вида tr(αi v d1 +
αj v d2 + αk v d3 ) и 76 функций вида tr(αi v d1 + αj v d2 + αk v d3 + α` v d4 ), где
tr : GF (28 ) → GF (2) — функция следа. Авторы [117] показали, что мно-
жество B8 ∩ PS содержит функции из не менее чем шести классов аффин-
ной эквивалентности, где PS — класс бент-функций, полученных методом
частичного расщепления (см. далее теорему 18).
По последним данным аффинная классификация бент-функций от вось-

25
ми переменных четвертой степени завершена [143]. Описаны все 536 воз-
можных вариантов для части четвертой степени1 АНФ бент-функции от
восьми переменных. Установлено точное число всех бент-функций от вось-
ми переменных [143]. Оно равно
29 × 193 887 869 660 028 067 003 488 010 240 ' 2106,29 .
При n > 10 класс Bn не описан, его мощность неизвестна. В работе
[204] построено большое число бент-функций от десяти переменных; уста-
новлено, что среди них содержится как минимум несколько сотен попарно
аффинно неэквивалентных функций. Некоторую информацию о классах
B10 , B12 можно найти на сайте [104].

1.8 Оценки числа бент-функций

Информации об оценках числа бент-функций от n переменных немного.


Приведем нижнюю оценку этого числа, которую дает конструкция Мэйо-
рана—МакФарланда (см. далее теорему 16).
n/2
Теорема 11. Справедливо |Bn | > 22 (2n/2 )!.
(n/2)+1 n/2

Асимптотически, эта оценка имеет вид ( 2 e )2 2(n/2)+1 π, или, если
n/2
совсем грубо, 22 . Следует отметить, что в работе [43] приводится уточ-
нение оценки теоремы 11, являющееся на данный момент лучшим. Однако
охарактеризовать асимптотическое поведение оценки [43] достаточно труд-
но.
Тривиальная верхняя оценка следует из того факта, что, согласно тео-
реме 2, степень бент-функции не превышает n/2. Имеем
n
 n n
 n

1+ + +...+ 2n−1 + 21
|Bn | 6 2 1 2 n/2
=2 n/2
.

К. Карле и А. Клаппер в 2002 г. [88] немного улучшили эту оценку:


1
Под частью степени i АНФ функции понимаем набор всех тех слагаемых ее АНФ, степень которых
равна i.

26
Теорема 12. Пусть n > 6 и выполняется ε = √1 n . Тогда
2O( 2 /n)

n
 n

2n−1 + 12 −2n/2 +(n/2)+1 2n−1 − 21
|Bn | 6 2 n/2
(1 + ε) + 2 n/2
.
n
Хотя по-прежнему верхняя оценка близка к тривиальной 22 . Верхняя
оценка обсуждается также в работе [202].
Кажется интересным, что аналогичная проблема сильного разрыва меж-
ду нижней и верхней оценками наблюдается и для числа других комбина-
торных объектов.
Например, для совершенных двоичных кодов длины n = 2s − 1 с рассто-
n/2
янием 3 (см. определение в [20]). Нижнюю оценку вида 22 дает конструк-
ция Ю. Л. Васильева 1962 г. [5], и с ней схожа, на мой взгляд, конструк-
ция Мэйорана—МакФарланда для бент-функций; схожа по своей просто-
те и изяществу, и той роли основного, базового класса, которую играет в
множестве бент-функций. А тип верхней оценки числа совершенных кодов
n
по-прежнему остается тривиальным: 22 . Небольшие улучшения нижней и
верхней оценок приводятся соответственно в [140] и [1].

1.9 Конструкции бент-функций

Очень сложно не только классифицировать бент-функции, но и предло-


жить отдельные способы их построения. В этом разделе мы следуем в ос-
новном работе [78] К. Карле, в которой всевозможные конструкции бент-
функций представлены наиболее полно. Конструкции принято делить на
первичные (primary) и вторичные (secondary). К первой группе относят те,
с помощью которых бент-функции строятся напрямую, ко второй группе
— конструкции, опирающиеся на уже известные бент-функции (например,
от меньшего числа переменных).

27
1.9.1 Итеративные конструкции

Ко вторичным конструкциям относится простая итеративная конструк-


ция [185].

Теорема 13. Функция f (u0 , u00 ) = g(u0 ) ⊕ h(u00 ), где векторы u0 , u00
имеют четные длины r, k соответственно, является бент-функцией
тогда и только тогда, когда функции g, h — бент-функции.

Конструкция легко может быть описана в терминах бент-прямоугольников


[45]. Приведем следующее обобщение этой простой конструкции, получен-
ное в [71].

Теорема 14. Пусть n = r + k, где r и k четны, f — булева функция


от n переменных. Пусть u0 , u00 пробегают Zr2 и Zk2 соответственно.
Предположим, что функции

fu00 (u0 ) = f (u0 , u00 )

являются бент-функциями при любых u00 . Определим gu0 (u00 ) = ff 0


u00 (u ).
Тогда f — бент-функция, если и только если gu0 — бент-функция для
любого u0 .

Заметим, что теорема 13 следует из теоремы 14. Итеративный способ


построения бент-функций от n + 2 переменных из бент-функций от n пе-
ременных приводится в [98]. В качестве упражнения можно доказать сле-
дующий факт (см. [128]).

Теорема 15. Пусть f — булева функция от n переменных, h — пере-


становка на Zn2 . Обозначим через h1 , . . . , hn булевы функции такие, что
h(v) = (h1 (v), . . . , hn (v)). Функция f ◦ h−1 является бент-функцией, если
для каждого u выполняется
n
M
dist(f, ui hi ) = 2n−1 ± 2(n/2)−1 .
i=1

28
Москва шестидесятых, СССР.

1.9.2 Класс Мэйорана—МакФарланда

К первичным конструкциям принадлежит простая и богатая конструкция


Мэйорана—МакФарланда 1973 г. [157,107].
n/2
Теорема 16. Пусть h — любая перестановка на Z2 , пусть g — про-
извольная булева функция от n/2 переменных. Тогда функция f (u0 , u00 ) =
hu0 , h(u00 )i ⊕ g(u00 ) является бент-функцией от n переменных.

29
Основной идеей конструкции служит, по выражению К. Карле [78], «кон-
катенация аффинных функций». Действительно, при каждом фиксирован-
ном значении переменных из второй половины функция f является аффин-
ной от n/2 первых переменных. С другой стороны, аффинные функции
возникают и при рассмотрении соответствующих бент-квадратов. А имен-
но, бент-функция принадлежит классу Мэйорана—МакФарланда, если и
только если строки и столбцы ее бент-квадрата являются спектральными
векторами аффинных булевых функций [43].
Из теоремы легко следует, что существуют бент-функции с любой степе-
нью нелинейности d, такой, что 2 6 d 6 n/2. Итак, в теореме 16 перемен-
ные функции f разбиваются пополам. В 2004 г. К. Карле [75] (см. также
[78]) обобщил идею Мэйорана—МакФарланда, рассмотрев разбиение пере-
менных на неравные части.

Теорема 17. Пусть n = r + k. Пусть h : Zk2 → Zr2 — любое отобра-


жение, такое, что для каждого вектора u длины r множество h−1 (u)
образует подпространство в Zk2 размерности n − 2r. Пусть g — булева
функция от k переменных, сужение которой на h−1 (u) для каждого u
является бент-функцией при n > 2r. Тогда булева функция f (u0 , u00 ) =
hu0 , h(u00 )i ⊕ g(u00 ) является бент-функцией от n переменных.

Отметим, что конструкция К. Карле имеет сильные сходства с методом


описания бент-функций, предложенным В. В. Ященко [39] еще в 1997 г. (см.
выше теорему 7).
Теорема 16 представляет частный случай теоремы 17 при r = k = n/2.

1.9.3 Partial Spreads

Следующая первичная конструкция Дж. Диллона [107] 1974 г. опирается


на специальные семейства подпространств n-мерного пространства и носит
название частичного расщепления (Partial Spreads).

30
Пусть IndS : Zn2 → Z2 — характеристическая функция подмножества
S ⊆ Zn2 .

Теорема 18. Пусть число q равно 2(n/2)−1 или 2(n/2)−1 + 1. Пусть L1 ,


. . ., Lq — линейные подпространства размерности n/2 пространства Zn2
такие, что любые два из них пересекаются лишь по нулевому вектору.
q
L
Тогда функция f (v) = IndLi (v) является бент-функцией.
i=1

Случай q = 2(n/2)−1 определяет класс бент-функций PS − .


Случай q = 2(n/2)−1 + 1 задает класс бент-функций PS + .
Вместе PS − и PS + составляют класс PS.
Более общие геометрические конструкции можно найти, например, в
работе [70].

1.9.4 Алгебраические конструкции

Приведем несколько алгебраических конструкций.


Первая серия конструкций называется степенные или мономиальные
бент-функции (power/monomial bent functions). Пусть векторное простран-
ство Zn2 отождествляется с полем Галуа GF (2n ). Булевы функции от n
переменных можно рассматривать как функции из GF (2n ) в GF (2), сопо-
ставляя каждому вектору v соответствующий элемент поля GF (2n ), кото-
рый будем обозначать тем же символом. Пусть tr : GF (2n ) → GF (2) —
n−1
функция следа, т. е. tr(v) = v + v 2 + · · · + v 2 . Бент-функции, имеющие
вид
f (v) = tr(av d ),

где a ∈ GF ∗ (2n ) — некоторый параметр, называются степенными или


мономиальными, а целое число d называется бент-показателем. Здесь
GF ∗ (2n ) — множество ненулевых элементов поля. Бент-функции такого
вида интересны в первую очередь для криптографических приложений в

31
силу своей простой вычислимости. Хотя криптографы до сих пор не опре-
делились: считать простоту вычислимости бент-функции ее достоинством
или скорее недостатком [78].
Пусть gcd(·, ·) — наибольший общий делитель двух чисел.

Теорема 19. Следующие значения d являются бент-показателями:


d = 2n/2 − 1 (Диллон , 1974, [107]);
n
d = 2i + 1, где gcd(n,i) четно (показатель Голда †);
d = 22k − 2k + 1, где gcd(k, n) = 1 (показатель Касами);
d = (2k + 1)2 , где n = 4k, k нечетно (Канто–Леандер †, 2004, [147]);
d = 22k + 2k + 1, где n = 6k (Канто–Шарпин–Карегян †, 2006, [67]).

Известно, что три типа степенных бент-функций (в теореме их показате-


ли помечены знаком †) можно описать с помощью конструкции Мэйорана—
МакФарланда, а один тип (помечен знаком ) содержится в классе PS − .
Существуют ли степенные бент-функции с другими показателями? Можно
ли для степенных бент-функций найти простое комбинаторное описание?
Ответов на эти вопросы пока нет.
Вторая серия бент-функций состоит из функций вида

f (v) = tr(a1 v d1 + a2 v d2 ) (1.3)

для подходящих элементов a1 , a2 ∈ GF (2n ) и показателей d1 , d2 . Известны


примеры таких функций со специальными степенными показателями —
так называемыми показателями Нихо вида d ≡ 2i mod (2n/2 − 1). Без
ограничения общности [113] пусть первый показатель равен d1 = (2(n/2) −
1) 21 + 1. Справедлива [112]

Теорема 20. Если выполняется d2 = (2(n/2) − 1)λ + 1, где λ равно 1/6,


1/4 или 3, то существуют элементы a1 , a2 ∈ GF (2n ) такие, что (1.3)
является бент-функцией.

Алгоритмические вопросы построения функций такого вида разбирают-


(n−1)/2
i
ci tr(v 1+2 ) изучались в [93, 129,
P
ся в [204]. Бент-функции вида f (v) =
i=1

32
134, 135, 204, 207].
Следует отметить, что алгебраические конструкции бент-функций но-
сят весьма случайный характер: каждый раз исследуются функции лишь
некого специального вида. Общий алгебраический подход к описанию бент-
функций мог бы основываться на том, что любая булева функция f :
GF (2n ) → GF (2) может быть представлена с помощью следа (в так на-
зываемой trace form), т. е. в виде
!
X X
f (v) = tr ad v d = tr(ad v d ) (1.4)
d∈CS d∈CS

для подходящих элементов ad ∈ GF (2n ), где CS — множество представите-


лей циклотомических классов по модулю 2n − 1. Эволюционный алгоритм
на основе такого представления был предложен М. Янгом, К. Менгом и
Х. Жангом [204]. Эта работа уже упоминалась нами в связи с классифика-
цией бент-функций от 6 и 8 переменных. На основе многочисленных ком-
пьютерных исследований авторы делают в этой работе некоторые пред-
положения относительно общего алгебраического вида бент-функций. В
частности, они предполагают, что бент-функцию — представителя класса
аффинной эквивалентности — можно представить в виде (1.4) с участием
небольшого числа мономов. Причем более вероятными ненулевыми коэф-
фициентами ad в этом представлении авторы [204] считают те, для которых
d является бент-показателем (см. теорему 19).
Но общего подхода к алгебраическому описанию бент-функций пока нет.
Более полно (с доказательствами) конструкции бент-функций представ-
лены в обзорах [19, 78, 113], см. также другие конструкции в работах [71,
109].

1.10 Алгоритмы генерации бент-функций

Серия работ посвящена алгоритмическим методам построения бент-функ-


ций. Каждый метод основывается, как правило, на одном из возможных

33
представлений булевой функции и использует те его особенности, которые
проявляются в случае, когда булева функция оказывается бент-функцией.
К таким базовым представлениям относятся: таблица истинности [158,159],
АНФ [115,116], спектральный вектор булевой функции [97], представление
с помощью следа [204] и др.
В диссертации Дж. Е. Фаллер [115] подробно разбираются эвристиче-
ские методы построения бент-функций. Их основная идея заключается
в постепенном изменении начальной булевой функции с улучшением тех
или иных ее криптографических свойств, включающих нелинейность. Так,
для построения бент-функций применяются: генетический алгоритм [162],
алгоритмы случайного поиска [163, 115], алгоритм имитации отжига [96].
В диссертации [115] предлагается достаточно быстрый алгоритм построе-
ния псевдослучайных бент-функций степени не выше некоторой заданной:
функции строятся из случайной квадратичной бент-функции g путем ите-
ративного добавления к АНФ(g) слагаемых более высоких степеней. При
этом основная трудность — «отбраковка» бо́льшей части слагаемых — пре-
одолевается за счет существенного использования комбинаторных свойств
бент-функций.
В 2004 г. К. Менг с соавторами предложили алгоритм [158], позволяю-
щий (теоретически) построить все бент-функции от любого числа перемен-
ных n. По сравнению с полным перебором сложность данного алгоритма
ниже за счет использования соотношений между отдельными коэффици-
ентами Уолша—Адамара произвольной булевой функции и спектральными
векторами ее подфункций, а также за счет оперирования свойствами бент-
функций, приведенными в теореме 4. Практически, данный алгоритм и
его модификации оказались применимы пока только для генерации всех
бент-функций от 6 переменных, всех однородных [180] бент-функций сте-
пени 3 от 8 переменных и доказательства несуществования однородных
бент-функций степени 4 от 10 переменных.
С. В. Агиевичем [43] приводится алгоритм порождения достаточно боль-

34
шого числа бент-функций, основанный на использовании бент-прямоуголь-
ников (см. теорему 10). Данный алгоритм позволил установить лучшую на
данный момент нижнюю оценку числа бент-функций от n переменных.
Эволюционный алгоритм на основе представления булевых функций с по-
мощью следа предложен в [204]. Подробнее о применении эволюционных
вычислений для генерации бент-функций см. также в [97,116, 159]. Отдель-
ные аспекты порождения случайных бент-функций обсуждаются в работе
[119].

1.11 Другие результаты

Случайные булевы функции. В 1998 г. Д. Оледжар и М. Станек [169]


исследовали криптографические свойства случайной булевой функции от
n переменных. В частности, ими была доказана

Теорема 21. Существует константа c такая, что при достаточно


больших n почти для каждой булевой функции f от n переменных вы-

полняется Nf > 2n−1 − c n 2n/2 .

Позднее в 2002 г. этот факт был независимо получен К. Карле [74].


Выражение «почти для каждой» следует понимать как «с вероятностью,
стремящейся к 1».
Пусть нелинейность произвольной булевой функции g от n переменных
имеет вид Ng = 2n−1 − S(g), где S(g) — некоторая функция. В 2006 г.
Ф. Родье [182] установил асимптотическое значение нелинейности булевой
функции. Пусть V ∞ — множество бесконечных двоичных последователь-
ностей, почти все элементы которых равны нулю. Пусть f : V ∞ → Z2 .
Обозначим через fn сужение функции f на множество Zn2 (см. подробнее
[182]).

Теорема 22. Почти для каждой функции f : V ∞ → Z2 верно


S(fn ) √
lim n/2 √ = 2 ln 2.
n→∞ 2 n
35
Т. е. с ростом n нелинейность случайной булевой функции от n перемен-
ных становится достаточно высокой, и даже сопоставимой с нелинейностью
бент-функции!
Для криптографических приложений булева функция кроме нелиней-
ности должна обладать целым рядом других свойств. Можно сказать, что
теорема 22 «гарантирует» возможность выбора функции с высокой нели-
нейностью не в ущерб этим свойствам. Но хотя нелинейность почти всех
булевых функций высока, это не означает, что такие функции легко постро-
ить. Подобные «парадоксы» уже возникали для булевых функций, напри-
мер при исследовании их сложностных характеристик2 . В данном случае
асимптотическая оценка теоремы 22 задает некий уровень нелинейности, с
которым имеет смысл сравнивать нелинейность той или иной криптогра-
фической булевой функции [183].
Группы автоморфизмов. В 2010 году была установлена [34] груп-
па автоморфизмов множества всех бент-функций. Группой автоморфиз-
мов подмножества булевых функций M называется группа изометричных
отображений множества всех булевых функций в себя, оставляющих непо-
движным множество M. Напомним, что полная аффинная группа GA(n)
состоит из всех отображений вида g(x) → g(Ax ⊕ b), где A — невырожден-
ная матрица, b — произвольный вектор. Справедлива [34]

Теорема 23. Группа автоморфизмов множества всех бент-функций


от n переменных равна полупрямому произведению полной аффинной груп-
пы GA(n) на Zn+1
2 .

С доказательством этот факт приводится в Главе 3.


В 2006 г. У. Демпвольф [103] предпринял попытку исследования групп
автоморфизмов отдельных бент-функций. Более точно — групп автомор-
физмов соответствующих элементарных адамаровых разностных множеств
2
К. Шенноном было доказано, что почти все булевы функции имеют очень большую сложность
реализации, асимптотически равную сложности «самой сложной» функции [23], но ни одну такую
функцию построить пока не удалось.

36
(см. теорему 5). У. Демпвольф показал, что каждое такое разностное мно-
жество, при наличии определенного свойства у его группы автоморфизмов,
относится к одному из пяти указанных им специальных классов. В целом
группы автоморфизмов бент-функций исследованы пока крайне мало.
Метрические свойства класса бент-функций. В 2009 году Н. А. Ко-
ломейцем и А. В. Павловым было исследовано минимальное расстояние
между бент-функциями. Ими был доказан следующий факт [9].

Теорема 24. Минимальное расстояние между двумя различными бент-


функциями от n переменных равно 2n/2 . Две бент-функции находятся на
минимальном расстоянии тогда и только тогда, когда они различаются
на некотором аффинном подпространстве размерности n/2, причем обе
функции на нем аффинны.

1.12 Векторные бент-функции

С 90-х годов XX века стали исследоваться функции f : Zn2 → Zm


2 , получив-
шие название векторных булевых функций, или (n, m)-функций. Интерес
к ним вызван тем, что нелинейные такие функции имеют непосредственные
криптографические приложения. Например, в шифрах они используются
в качестве S-блоков.
Рассмотрим нелинейные свойства векторных функций.
Преобразованием Уолша—Адамара (n, m)-функции f называется отоб-
ражение Wfvect : Zn2 × Zm
2 → Z, заданное равенством
X
vect
Wf (a, b) = (−1)ha,vi⊕hb,f (v)i для любых a ∈ Zn2 , b ∈ Zm
2 .
v∈Zn2

Нелинейностью (n, m)-функции f называется минимальная из нели-


нейностей булевых функций fb от n переменных, где fb (v) = hb, f (v)i при
различных значениях b ∈ Zm
2 , b 6= 0. Справедливо

1
Nf = min dist(fb , An ) = 2n−1 − max m ∗ |Wfvect (a, b)|.
m ∗
b∈(Z2 ) 2 a∈Z2 ,b∈(Z2 )
n

37

Здесь через (Zm
2 ) обозначено множество ненулевых двоичных векторов
длины m. Для нелинейности векторной булевой функции имеется та же
самая верхняя оценка, что и в случае обычной булевой функции:

Nf 6 2n−1 − 2(n/2)−1 . (1.5)

Векторная (n, m)-функция называется бент-функцией, если параметр Nf


достигает своего максимального возможного значения, т. е. если каждая

булева функция fb , где b ∈ (Zm
2 ) , является бент-функцией. Справедлива

Теорема 25. Векторная (n, m)-функция f является бент-функцией


тогда и только тогда, когда для любого ненулевого вектора u функция
f (v)⊕f (v⊕u) сбалансирована, т. е. принимает каждое из 2m возможных
значений ровно 2n−m раз.

Следующий важный факт о существовании векторных бент-функций


получила К. Ньюберг [166] в 1991 г.

Теорема 26. Бент (n, m)-функции существуют тогда и только то-


гда, когда n четно и m 6 n/2.

Легко построить примеры таких функций, например, применяя кон-


струкцию Мэйорана—МакФарланда в новой, векторной, форме, предло-
n/2
женной К. Ньюберг [166]. Отождествим пространство Z2 с полем Га-
луа GF (2n/2 ), а пространство Zn2 — с прямым произведением GF (2n/2 ) ×
GF (2n/2 ). Пусть n четно, m 6 n/2. Справедлива

Теорема 27. Пусть h : GF (2n/2 ) → GF (2n/2 ) — любое взаимно од-


нозначное отображение, g — произвольная (n/2, m)-функция. Пусть L :
n/2
GF (2n/2 ) → Z2 — любое линейное или аффинное отображение «на». То-
гда векторная (n, m)-функция f (u0 , u00 ) = L(u0 · h(u00 )) ⊕ g(u00 ) является
бент-функцией.

Конструкция Мэйорана—МакФарланда является не единственной, ко-


торая переносится на векторный случай (см. подробнее [79]).

38
Поскольку бент (n, m)-функций не существует при m > n/2, то оценка
(1.5) в этом случае не точна. В 1971 г. В. М. Сидельников [26] и независимо
в 1994 г. Ф. Шабат, С. Ваденай [91] установили следующий факт.

Теорема 28. Пусть m > n − 1. Для любой (n, m)-функции f выпол-


няется r
1 (2n − 1)(2n−1 − 1)
Nf 6 2n−1 − 3(2n ) − 2 − 2 . (1.6)
2 2m − 1
При n/2 < m < n − 1 оценки, улучшающей (1.5), пока не известно.
Случай n = m выделяется особо. В этом случае оценка (1.6) имеет вид

Nf 6 2n−1 − 2(n−1)/2 .

Векторная (n, n)-функция f называется почти бент-функцией (AB func-


tion — almost bent function), если параметр Nf достигает своего макси-
мального возможного значения, Nf = 2n−1 − 2(n−1)/2 . Следует отметить,
что по смыслу слово «почти» здесь совершенно лишнее, поскольку речь
идет о максимальном значении Nf . Но термин в таком виде уже устоялся.
AB-функции существуют, только если n нечетно. К. Карле, П. Шарпин и
В. Зиновьев [80] доказали, что степень нелинейности любой такой функции
не превышает величины (n + 1)/2.
Более широким является класс APN-функций.
Эти векторные (n, n)-функции стала рассматривать в 1993 г. К. Ньюберг
[167] при исследовании устойчивости шифров к дифференциальному крип-
тоанализу [55]. Стойкость S-блока, заданного векторной функцией f , к
дифференциальному криптоанализу тем выше, чем меньше значение δf =
maxa∈(Zn2 )∗ ,b∈Zn2 δf,a,b , где через δf,a,b обозначено число решений уравнения
f (v) ⊕ f (v ⊕ a) = b. Параметр δf и его связи с другими нелинейными ха-
рактеристиками исследовались в работах [17,40, 63]. Наименьшее возмож-
ное значение параметра δf равно двум3 . Векторная (n, n)-функция, для
которой этот минимум достигается, называется почти совершенно нели-
нейной (APN function — almost perfectly nonlinear function). И снова, по
3
Интересно, что при рассмотрении q-значных векторных функций, q 6= 2, возможно и δf = 1.

39
иронии, слово «почти» здесь абсолютно ни при чем. Эквивалентно, APN-
функция может быть определена как функция, сужение которой на лю-
бое двумерное аффинное подпространство пространства Zn2 является неаф-
финной функцией. Подробный обзор результатов о APN-функциях приво-
дится в обзоре М. Э. Тужилина [35], см. также обзор в [79].
AB- и APN- функции тесно связаны.

Теорема 29. Каждая AB-функция является APN-функцией.

Теорема 30. Квадратичная APN-функция является AB-функцией.

Приведем одно определение для обычных булевых функций. Булева


функция f называется платовидной (plateaued function), если существу-
ет положительное целое число M такое, что любой коэффициент Уолша—
Адамара Wf (v) равен 0 или ±M . Из равенства Парсеваля следует, что
M = 2β , и показатель β может принимать целые значения от n/2 до n. Чис-
ло 2(n − β) называют порядком платовидной функции f . Бент-функции и
аффинные функции являются крайними частными случаями платовидных
функций (порядков m и 0 соответственно). Справедлива

Теорема 31. Векторная функция f является AB-функцией тогда и


только тогда, когда она APN-функция и все булевы функции fb при b 6= 0
являются платовидными, причем одного порядка.

Более общим понятием по отношению к понятию APN-функции явля-


ется следующее. Векторная (n, n)-функция f называется дифференциаль-
но δ-равномерной (differential δ-uniform), δ — целое число, если уравнение
f (v)⊕f (v ⊕a) = b при любых a ∈ (Zn2 )∗ , b ∈ Zn2 имеет не более δ решений,
т. е., другими словами, δf = δ. APN-функции представляют собой частный
случай таких функций при δ = 2. Дифференциально 4-равномерные функ-
ции (см., например, [60]) используются в S-блоках симметричного алгорит-
ма блочного шифрования AES (или Rijndael), являющегося с 26 мая 2002 г.
американским стандартом шифрования.

40
AB, APN, δ-равномерные функции и вопросы их эквивалентности ши-
роко исследуются. В частности [61], уже выдвинута гипотеза, что все сте-
пенные AB- и APN-функции найдены (Х. Доббертин [110]) и обозначена
проблема существования новых комбинаторных конструкций таких функ-
ций (см. подробнее [62, 79]). При n 6 25 для APN-функций и при n 6 33
для AB-функций гипотеза Доббертина уже подтвердилась [111, 148].
За пределами обзора остались скрюченные функции (crooked functions)
— специальный подкласс APN-функций, введенный в 1998 г. Т. Бендингом
и Д. Г. Фон-дер-Флаассом [49]. С помощью таких функций оказалось воз-
можно строить новые дистанционно регулярные графы, симметричные схе-
мы отношений и равномерно упакованные коды типа БЧХ и Препараты
[100, 101] (см. также на эту тему работу [65]).

1.13 Открытые вопросы

Приведем серию нерешенных задач в области бент-функций, представля-


ющихся наиболее интересными:
• Получить аффинную классификацию бент-функций (от 10, 12 и т. д.
переменных);
• Получить алгебраическую классификацию бент-функций (от 10, 12 и
т. д. перем.);
• Получить асимптотику числа бент-функций от n переменных;
• Улучшить нижнюю и верхнюю оценки числа бент-функций;
• Предложить новые конструкции бент-функций. В частности — век-
торных;
• Разработать эффективные алгоритмы порождения бент-функций;
• Исследовать взаимосвязи между нелинейностью и другими крипто-
графическими характеристиками булевой функции;
• Разработать эффективные методы построения уравновешенных буле-
вых функций с высокой нелинейностью (и др. криптографическими свой-

41
ствами) из бент-функций;
• Исследовать максимально нелинейные функции от нечетного числа
переменных;
• Исследовать метрическую структуру класса бент-функций;
• Получить конструкции оптимальных кодов, кодовые слова которых
являются векторами значений бент-функций;
• Исследовать взаимосвязи между различными обобщениями бент-функций;
• Получить новые конструкции обобщенных бент-функций, исследовать
их свойства;
• Получить новые эквивалентные представления бент-функций, полнее
отражающие содержательную сторону этих объектов;
• Предложить более общие подходы к исследованию бент-функций, за
счет установления взаимосвязей с другими дискретными (и не только) объ-
ектами;
• Исследовать новые приложения бент-функций в криптографии, тео-
рии кодирования и т.д.
Каждому неравнодушному читателю предлагается принять участие в
сокращении этого «проблемного» списка!

42
Глава 2

Обобщения бент-функций: обзор работ

Термин «обобщенная бент-функция» употребляется в статьях доволь-


но часто. И почти каждый раз он означает нечто новое. Бент-функции,
в силу своих многочисленных приложений в теории информации, крип-
тографии, теории кодирования и других областях, интенсивно изучаются.
Новые постановки задач приводят к возникновению большого числа обоб-
щений бент-функций, разобраться в которых становится все труднее.
В данной главе предлагается систематический обзор существующих обоб-
щений бент-функций и сделана попытка установить (где это возможно)
взаимосвязи между различными обобщениями.
Обобщения бент-функций разделены на несколько групп. Сразу отме-
тим, что разделение довольно условное, но оно показалось удобным для
изложения материала. При описании каждого обобщения внимание, по воз-
можности, обращается на то когда, кем и почему было введено обобщение;
какой вид имеют функции и преобразование Уолша—Адамара (или Фурье),
как правило возникающее в каждом случае; какие известны результаты о
данном обобщении; как рассматриваемое обобщение связано с другими и
пр. По каждому обобщению приводятся соответствующие ссылки.
Приведем краткий список обозначений и определений, использующихся
в данной главе.
q, n — натуральные числа;

43
+ — сложение по модулю q;
x = (x1 , . . . , xn ) — q-значный вектор;
Znq — множество всех q-значных векторов длины n;
Fqn — поле Галуа порядка q n ;
hx, yi = x1 y1 + . . . + xn yn — скалярное произведение векторов;
f : Zn2 → Z2 — булева функция от n переменных;
(−1)hx,yi+f (x) — преобразование Уолша—Адамара;
P
Wf (y) =
x∈Zn2
Nf — нелинейность булевой функции f , т. е. расстояние Хэмминга от
данной функции до множества всех аффинных функций;
бент-функция (n четное) — булева функция такая, что все ее коэффи-
циенты Уолша—Адамара равны ±2n/2 ;
Bn — класс бент-функций от n переменных.

2.1 Алгебраические обобщения бент-функций

В этом разделе приводятся обобщения, в которых рассматриваемые функ-


ции отличаются от булевых. Как правило, это отображения из одной ал-
гебраической системы в другую.

2.1.1 q-Значные бент-функции

Это естественное обобщение бент-функций предложили в 1985 году П. В. Ку-


мар, Р. А. Шольц и Л. Р. Велч [141] с целью построения q-значных бент-
последовательностей, применимых в системах CDMA (см. подробнее даль-
ше).

Пусть q > 2 — натуральное число, i = −1 — мнимая единица. Пусть
ω — примитивный комплексный корень степени q из единицы, ω = e2πi/q .
Рассмотрим q-значную функцию f : Znq → Zq .
Преобразованием Уолша—Адамара функции f называется комплексная

44
функция
X
Wf (y) = ω hx,yi+f (x) , для любого y ∈ Znq , (2.1)
x∈Znq

где скалярное произведение и сложение + рассматриваются по модулю q.


Пусть далее |c| обозначает модуль комплексного числа c.

Определение 1. (Кумар, Шольц и Велч, 1985) Пусть q — нату-


ральное число. Функция f : Znq → Zq называется q-значной бент-функцией,
если |Wf (y)| = q n/2 для каждого y ∈ Znq .

При q = 2 это понятие совпадает с понятием булевой бент-функции.


Множество всех q-значных бент-функций от n переменных обозначим через
Bn,q . В [141] были получены следующие результаты.

Теорема 32. Класс Bn,q замкнут относительно


(i) любого невырожденного аффинного преобразования переменных;
(ii) прибавления любой q-значной аффинной функции.

Квадратная n × n-матрица A из целых степеней элемента ω называет-


T
ся обобщенной матрицей Адамара, если AA = nE, где E — единичная
матрица.

Теорема 33. Следующие утверждения эквивалентны


(i) q-значная функция f является бент-функцией;
(ii) матрица A = (ax,y ), где ax,y = ω f (x+y) , является обобщенной матри-
цей Адамара.

Отметим, что при q = 2 теоремы 32, 33 представляют собой хорошо


известные факты о булевых бент-функциях, см. Главу 1. К особенностям
q-значного случая относится тот факт [141], что функция f остается бент-
функцией при замене ω в определении Wf (y) на любой другой примитив-
ный корень γ степени q из единицы. Отметим также, что q-значные бент-
функции существуют как для четных, так и для нечетных n.

45
Теорема 34. Пусть m, n, q — любые. Для произвольных функций g ∈
Bm,q , h ∈ Bn,q функция f (x0 , x00 ) = g(x0 ) + h(x00 ) является q-значной бент-
функцией.

Имеет место аналог теоремы Мэйорана—МакФарланда [157].

Теорема 35. Пусть n четно, q — любое число. Тогда функция f (x0 , x00 ) =
hx0 , h(x00 )i + g(x00 ), где g — произвольная q-значная функция от n/2 пере-
n/2
менных, h — любая перестановка на множестве Zq , является q-значной
бент-функцией.

Пусть n нечетно, q = 2 mod 4, q > 2. В [141] показано, что если су-


ществует целое число b такое, что 2b + 1 делится на q/2, то q-значных
бент-функций от n переменных не существует.
Для каждого q такого, что q 6= 2 mod 4, и любого n бент-функции суще-
ствуют. Они могут быть построены, например, с помощью теоремы 34 из
следующих одномерных (n = 1) функций:

Теорема 36. Следующие q-значные функции от одной переменной яв-


ляются бент-функциями:
(i) f (x) = x2 + cx, где c ∈ Zq — любая константа (если q нечетно);
(ii) f (x) = rx0 h(x00 ) + g(x00 ), где x = rx0 + x00 ∈ Zq , 0 6 x0 , x00 6 r − 1, h —
любая перестановка на Zr , g — любая функция вида Zr → Zq (если q = r2
для некоторого r).

См. подробнее [141]. Конструкции q-значных бент-функций, полученные


с помощью цепных колец, были предложены К. Хоу [126].
Наиболее полно свойства булевых бент-функций сохраняются для регу-
лярных q-значных бент-функций. Бент-функция f : Znq → Zq называется
регулярной, если любой ее коэффициент Уолша—Адамара представляется
в виде Wf (y) = q n/2 ω g(y) для некоторой q-значной функции g. Можно до-
казать [141], что g также является регулярной бент-функций, ее называют
дуальной к функции f .

46
Приведем несколько примеров.
При n = 1, q = 4 функция f (x) = x3 + 3x2 является регулярной бент-
функцией. Ее спектр Уолша—Адамара (т. е. набор коэффициентов в поряд-
ке возрастания аргумента) имеет вид (2, 2i, 2, −2i) = (2ω 0 , 2ω 1 , 2ω 0 , 2ω 3 ),
где ω = eπi/2 ; дуальная функция g(x) = x3 .
При n = 1, q = 3 бент-функция f (x) = x2 не является регулярной,
√ 3 √ √
ее спектр равен ( 3i, 2 − 2 i, 2 − 23 i), или, представляя через степени
3 3
√ √ √
примитивного корня, ( 3ω 3/4 , 3ω 11/4 , 3ω 11/4 ), где ω = e2πi/3 . При этом
все показатели степеней ω не целые.
Несложно заметить, что булева бент-функция (q = 2) всегда является
регулярной. Бент-функции, построенные в теоремах 35, 36 (при q = 1 mod 4
в пункте (i)) являются регулярными. При нечетном n и q = 2, 3 mod 4 регу-
лярных бент-функций не существует [141]. С. В. Агиевичем [45] показано,
что регулярные q-значные бент-функции могут быть описаны с помощью
бент-прямоугольников, — для двоичного случая такое описание приводи-
лось Главе 1.
Далее о q-значных бент-функциях см. например, работы [127, 123], о
бент-последовательностях см. [170].

2.1.2 Бент-функции над конечным полем

А. С. Амбросимов [3] в 1994 году предложил другое — вероятностное —


определение q-значных бент-функций. В отличие от предыдущего случая
здесь рассматриваются только q-значные функции над конечным полем
Fq n .
Пусть q = p` , где p — простое, ` — натуральное. Пусть ω — примитивный
комплексный корень степени p из единицы, ω = e2πi/p .
Пусть f : Fqn → Fq — q-значная функция. Предположим, что вектор
x ∈ Fqn выбирается случайно и равновероятно. Для случайной величины
ξ = f (x) определяется характеристическая функция ϕξ (z) = E ω hξ,zi , z ∈
Fq , где элементы ξ и z рассматриваются как векторы длины ` над полем

47
Fp , и скалярное произведение hξ, zi берется по модулю p. При фиксирован-
ном z ∈ Fq преобразование Уолша—Адамара функции f определяется как
Wf, z (y) = q n ϕhx,yi+f (x) (z), или, что то же самое,

Wf, z (y) = q n E ω hhx,yi+f (x),zi , для любого y ∈ Fqn ,

где скалярное произведение hx, yi рассматривается по модулю q. Расписы-


вая математическое ожидание, получаем
X
Wf, z (y) = ω hhx,yi+f (x),zi , для y ∈ Fqn . (2.2)
x∈Fqn

Отметим, что в определении (2.1) Кумара, Шольца и Велча и определении


(2.2) Амбросимова используются примитивные корни из единицы разных
степеней — степени q и p соответственно. Параметр z, появившийся в опре-
делении (2.2), задает проекцию элемента hx, yi + f (x) из поля Fq в простое
поле Fp .
Можно предложить и эквивалентное определение:
X
0
Wf, z (y) = ω T r(hx,yi+zf (x)) ,
x∈Fqn

заменив скалярное произведение на функцию следа T r : Fq → Fp . При


таком определении значения Wf, z (y) и Wf,0 z (y) будут отличаться лишь с
точностью до перестановки на элементах z, y.
Согласно [3] для любой функции f и любого ненулевого z выполняет-
ся равенство Парсеваля y∈Fqn |Wf, z (y)|2 = q 2n , из которого следует, что
P

max |Wf,z (y)| > q n/2 .


y∈Fqn

Определение 2. (Амбросимов, 1994) Пусть q = p` , p — простое.


Функция f : Fqn → Fq называется бент-функцией, если при любых векто-
рах z ∈ Fq \{0}, y ∈ Fqn выполняется |Wf, z (y)| = q n/2 .

Заметим, что
• При q = p, ` = 1 данное определение q-значной бент-функции совпа-
дает с определением 1 Кумара, Шольца и Велча.

48
• В определении 2 коэффициенты Уолша—Адамара должны быть оди-
наковыми по модулю при любой ненулевой проекции показателя степени
примитивного элемента в (2.2) из поля Fq в поле Fp . Тогда как в определе-
нии 1 они одинаковы по модулю без рассмотрения проекций (кроме того,
Zq может не быть полем).
Приведем несколько примеров. Любая q-значная функция от одной пе-
ременной вида f (x) = a2 x2 + a1 x + a0 , где a2 6= 0 и p 6= 2 является
бент-функцией по Амбросимову. Любая функция от двух переменных вида
f (x1 , x2 ) = x1 x2 + a2 x21 + b2 x22 + a1 x1 + b1 x2 + c над полем характеристики
2 — также бент-функция.
Для бент-функций над полем справедлив [3] критерий Ротхауса.

Теорема 37. Функция f : Fqn → Fq является бент-функцией то-


гда и только тогда, когда при любом фиксированном y ∈ Fqn функция
f (x + y) − f (x) имеет равномерное распределение на Fq при равномерном
распределении аргумента x на Fqn .

В [3] приводится описание всех квадратичных q-значных бент-функций


от n переменных и подсчитывается их число, которое обозначим через
Mq (n).

Теорема 38. Пусть q = p` . Справедливы


  утверждения
n
+2n+1 Q
n/2
(i) если p = 2, ` > 2, то Mq (n) = q 2 j=1 (1 − q
−2j+1
) при четном
n, и Mq (n) = 0, если n — нечетно.
(ii) если p 6= 2, то Mq (n) = (q − 1)q n Mq (n − 1) + q n+1 (q n−1 − 1)Mq (n − 2)
при n > 3.

К сожалению, в [3] не прослеживается явно взаимосвязь между бент-


функциями Амбросимова и бент-функциями Кумара, Шольца и Велча.
При q = p` не ясно, например, является ли бент-функция в одном смысле
бент-функцией в другом.

49
Вечернее небо. Подмосковье, Россия.

2.1.3 Обобщенные булевы бент-функции Шмидта

Другое обобщение бент-функций стал рассматривать в 2006 году К. Шмидт


[188] в связи с построением четверичных кодов постоянной амплитуды
(quaternary constant-amplitude codes) для мультикодовых систем CDMA.
Остановимся на этом подробнее.
Технология цифровой сотовой связи CDMA (Сode Division Multiple Access
— множественный доступ с кодовым разделением каналов) была стандар-
тизована в 1993 году американской телекоммуникационной промышлен-
ной ассоциацией (US TIA) в виде стандарта IS–95 («Mobile Station — Base
Station Compatibility Standard for Dual–Mode Wideband Spread Spectrum
Cellular System»). В настоящее время технология активно используется
большинством поставщиков беспроводного оборудования во всем мире со-
гласно стандартам IMT–2000 мобильной связи третьего поколения (в Рос-
сии — стандарты IMT–MC 450 или CDMA–450). Отметим, что первая рабо-

50
та [2], посвященная этой технологии, была опубликована в СССР еще в 1935
г. Д. В. Агеевым. В системах CDMA применяются широкополосные сигна-
лы, при этом вся полоса частот канала одновременно используется многими
абонентами. Поскольку каждому абоненту присваивается свой уникальный
код, он легко выделяется из общего «шума». В системах CDMA существен-
но повышается пропускная способность канала, кроме того, они являются
весьма экономичными.
Связь между бент-функциями и кодами для CDMA установил в 2000
году Т. Вада [200], см. также работу [174] К. Г. Патерсона.
Рассмотрим простейшую модель передачи информации в мультикодо-
вой системе CDMA. Пусть N = 2n — степень двойки, AN = (ajt ) — матри-
ца Адамара типа Сильвестра размера N × N . Имеются N параллельных
потоков данных. Передаваемую информацию можно представить двоич-
ным вектором c длины N (по биту от каждого потока). Сигнал в MC-
PN −1 cj
CDMA моделируется как Sc (t) = j=0 (−1) ajt , где t = 0, 1, . . . , N − 1
— дискретный параметр времени. Т. е. j-я строка матрицы A домножа-
ется на (−1)cj , а передаваемый сигнал Sc является суммой этих новых
строк. В каждый момент времени передается один бит последовательно-
сти Sc . Важным параметром является отношение пиковой и средней мощ-
ностей сигнала (peak-to-average power ratio), которое определяется как
1
PAPR(c) = N maxt |Sc (t)|2 . Отметим, что 1 6 PAPR(c) 6 N . Величи-
на |Sc (t)|2 пропорциональна мощности, необходимой для передачи данно-
го сигнала, поэтому наиболее подходящими для передачи являются та-
кие векторы c, для которых PAPR(c) минимальна. Можно считать, что
векторы c выбираются из некоторого двоичного кода C длины N , пусть
PAPR(C) = maxc∈C PAPR(c). Если PAPR(C) = 1, то C называется кодом
постоянной амплитуды. Задача построения таких кодов с большой мощ-
ностью и большим кодовым расстоянием весьма актуальна. Справедлива
[200, 174]

Теорема 39. Код C длины 2n является кодом постоянной амплитуды

51
тогда и только тогда, когда каждое его кодовое слово — вектор значений
некоторой бент-функции от n переменных.

Действительно, заметим, что если c — вектор значений булевой функции f


1
от n переменных, то PAPR(c) = 2n maxx∈Zn2 |Wf (x)|2 . Таким образом, бент-
функции играют существенную роль при построении кодов для CDMA си-
стем.

Обобщение К. Шмидта [188] состоит в следующем. Пусть q > 2 — нату-


ральное число, ω — примитивный комплексный корень степени q из еди-
ницы, ω = e2πi/q . Функция f : Zn2 → Zq называется обобщенной булевой
функцией. Ее преобразованием Уолша—Адамара называется комплексная
функция
X
Wf (y) = (−1)hx,yi ω f (x) , для любого y ∈ Zn2 .
x∈Zn2

Определение 3. (Шмидт, 2006) Пусть q — натуральное. Функция


f : Zn2 → Zq называется обобщенной бент-функцией, если для каждого
y ∈ Zn2 выполняется |Wf (y)| = 2n/2 .

С помощью таких функций строятся коды постоянной амплитуды для


q-значного варианта MC-CDMA, в котором двоичный вектор c длины N мо-
P −1 cj
делируется как Sc,q (t) = N
j=0 ω ajt . Отметим также, что для некоторых
задач в области циклических кодов определение Шмидта представляет-
ся более естественным, чем определение q-значной бент-функции Кумара,
Шольца и Велча.
К. Шмидт [188] подробно разбирает случай q = 4, исследует взаимосвязи
между обобщенными бент-функциями, кодами постоянной амплитуды и
известными Z4 -линейными кодами.
Интересным остается вопрос о том, как соотносятся между собой бент-
функции Шмидта, q-значные и булевы бент-функции.
В работе [195] был дан ответ на этот вопрос в одном частном случае.
Пусть обобщенная булева функция f : Zn2 → Z4 (q = 4) представляется в

52
виде f (x) = a(x) + 2b(x), где a, b — булевы функции от n переменных. В
[195] показано, что f — обобщенная бент-функция тогда и только тогда,
когда функции b и a + b являются обычными бент-функциями.
Отметим, что действительно-значные бент-функции (real-valued bent
functions) вида Zn2 → {0, 1/2, 1, 3/2}, рассматривавшиеся в [153], совпадают
с обобщенными бент-функциями при q = 4.

2.1.4 Бент-функции из конечной абелевой группы в множество


комплексных чисел единичной окружности

В 1997 году О. А. Логачев, А. А. Сальников и В. В. Ященко [16] ввели


понятие бент-функции на произвольной конечной абелевой группе. В слу-
чае, если группа является элементарной абелевой 2-группой, это понятие
совпадает с понятием булевой бент-функции.
Пусть (A, +) — конечная абелева группа порядка n и максимальный
порядок ее элементов (или экспонента группы) равен q. Пусть

Tq = {e2πik/q | k = 0, 1, . . . , q − 1}

— группа корней степени q из единицы. Через A


b обозначим группу гомо-
морфизмов χ : A → Tq . Она называется группой характеров группы A
(или ее дуальной группой). Известно, что группы A и A
b изоморфны, пусть
y → χy — некоторый фиксированный изоморфизм, y ∈ A.
Вместо преобразования Уолша—Адамара удобно ввести преобразование
Фурье комплекснозначной функции f : A → C. Оно определяется как
X
fb(y) = f (x)χy (x).
x∈A

Далее рассматриваются только такие функции из A в C, все значения


которых лежат на единичной окружности S1 (C) с центром в нуле.

Определение 4. (Логачев, Сальников, Ященко, 1997) Пусть A —


конечная абелева группа порядка n. Функция f : A → S1 (C) называется
бент-функцией, если |fb(y)|2 = n при любом y ∈ A.

53
Сделаем следующие замечания:
• Если A — элементарная абелева 2-группа, т. е. q = 2, n = 2m для
целого m, то данное понятие совпадает с понятием обычной бент-функции
от m переменных.
• Пусть q, m — целые. Тогда q-значные бент-функции Кумара, Шольца
и Велча от m переменных (см. определение 1) являются частным случаем
бент-функций из определения 4 при A = Zm m
q и n = q . Для этого необхо-
дима лишь небольшая модификация: от функций вида f : Zm
q → Zq нужно
перейти к функциям f 0 : Zm 0
q → Tq ⊂ C, где f (x) = ω
f (x)
. А в качестве
изоморфизма между A и ее группой характеров A b выбрать соответствие
y → χy (x) = ω hx,yi , где ω = e2πi/q .
Функция f : A → S1 (C) называется уравновешенной, если выполняется
P
x∈A f (x) = 0. Критерий Ротхауса для бент-функций на группе приобре-
тает вид [16]

Теорема 40. Функция f — бент-функция на группе A тогда и только


тогда, когда функция f (x)f (x+y) уравновешена для каждого y ∈ A, y 6= 0.

В [16] можно найти и другие критерии.


Для бент-функции f на группе A так же как в булевом случае можно
определить дуальную функцию fe : A → S1 (C). Она задается равенством
fe(x) = √1 fb(x) и тоже является бент-функцией.
n
Если для некоторого разложения группы A в прямое произведение групп
A1 и A2 функция f : A → S1 (C) может быть представлена в виде f (x0 , x00 ) =
f1 (x0 )f2 (x00 ), где f1 : A1 → S1 (C), f2 : A2 → S1 (C), то функция f называ-
ется разложимой. Справедлива [16]

Теорема 41. Разложимая функция f является бент-функцией на груп-


пе A тогда и только тогда, когда f1 и f2 — бент-функции на группах A1
и A2 соответственно.

54
2.1.5 Бент-функции из конечной абелевой группы в другую ко-
нечную абелеву группу

В. И. Солодовников [28] в 2002 году предложил наиболее общий подход к


алгебраическому обобщению бент-функций. При изложении его результа-
тов будем использовать как оригинальные обозначения, так и обозначения
работы [82], представляющиеся иногда более удобными. Следует отметить,
что в 2004 году К. Карле и К. Динг [82] повторили результаты В. И. Соло-
довникова, к сожалению, без ссылки на предшественника.
Пусть (A, +) и (B, +) — конечные абелевы группы порядков n и m со-
ответственно, a и b — максимальные порядки элементов в этих группах.
Пусть AbиBb — группы характеров групп A и B. Зафиксируем изоморфиз-
мы y → χy и z → ηz между A и A, b соответственно, где χy : A → Ta
b BиB
и ηz : B → Tb — характеры. Пусть f : A → B — произвольная функция.
Следующие определения из [28] приведем в несколько иной форме (введем
нормировочные множители), не искажая при этом их смысл. Преобразова-
нием Фурье характера функции f при фиксированном z ∈ B называется
функция
X
fbz (y) = ηz (f (x))χy (x), где y ∈ A. (2.3)
x∈A
2
= n2 .
P
При любом z выполняется равенство Парсеваля y∈A |fz (y)|
b

Определение 5. (Солодовников, 2002) Функция f : A → B называ-


ется бент-функцией, если для любого z ∈ B, z 6= 0 и произвольного y ∈ A
справедливо |fbz (y)|2 = n.

Фиксируя элемент z ∈ B, от функции f можно перейти к комплексно-


значной функции ηz ◦ f : A → Tb . Можно сказать, что (2.3) является разло-
жением этой функции1 по группе характеров A. b Функции вида A → S1 (C)
уже рассматривались Логачевым, Сальниковым и Ященко (см. определе-
ние 4). Имеет место [28, 82]
1
Здесь и далее запись g ◦ f (x) означает функцию g(f (x)).

55
Теорема 42. Функция f : A → B является бент-функцией тогда и
только тогда, когда при каждом z 6= 0 функция ηz ◦ f — бент-функция в
смысле Логачева, Сальникова и Ященко.

Производной функции f по направлению y ∈ A называется функция


Dy f (x) = f (x + y) − f (x). Справедлива [28, 82]

Теорема 43. Функция f : A → B является бент-функцией, если и


только если функция Dy f (x) уравновешена для каждого ненулевого y ∈ A,
т. е. мощности всех ее прообразов одинаковы.

Пусть f — бент-функция. Тогда для любой линейной или аффинной пе-


рестановки π на группе A, функция f ◦π : A → B является бент-функцией.
Если ` : B → C — линейная функция «на» (C — конечная абелева группа),
то функция ` ◦ f : A → C — также бент-функция.
В. И. Солодовниковым [28] определяется функция близости двух функ-
ций f , g : A → B как
 1/2
1 X |{x : f (x) − g(x) = y}|
 1 2

δ(f, g) =  − . (2.4)
m n m
y∈B

С помощью этой функции предполагается оценивать качество (или эф-


фективность) замены одной функции на другую. Чем меньше значение
параметра δ(f, g), тем менее «близки» друг другу функции f и g. Из опре-
деления близости следует, что δ(f, g) = 0 тогда и только тогда, когда f и
g отличаются на уравновешенную функцию.
Пусть Hom(A, B) — множество всех гомоморфизмов группы A в груп-
пу B. По определению для каждого гомоморфизма h производная Dy h(x)
по любому ненулевому направлению y ∈ A является постоянной функци-
ей. Тогда функцию f : A → B такую, что для любого ненулевого y ∈ A
функция Dy f (x) уравновешена, естественно называть [28] абсолютно него-
моморфной. Согласно теореме 43 абсолютно негомоморфные функции и
бент-функции совпадают. Справедлива также

56
Теорема 44. Для любой бент-функции f и произвольного гомоморфиз-

m−1
ма h выполняется δ(f, h) = √ .
m n

Другими словами, бент-функция находится в одинаковой «близости»


от всех гомоморфизмов. Интересно рассмотреть минимальные функции
— функции наименее близкие к гомоморфизмам, т. е. такие для которых
значение
δf = δ(f, Hom(A, B))

минимально. При A = Z`q , B = Zrq показано [28], что функция f минималь-



m−1
на, если δf = √ .
m n
Функция называется абсолютно минимальной, если ее
свойство минимальности инвариантно относительно любых эпиморфизмов
группы B.

Теорема 45. Пусть q — простое, A = Z`q , B = Zrq и бент-функции из


A в B существуют. Тогда
(i) любая бент-функция является абсолютно минимальной;
(ii) при q = 2 класс всех бент-функций совпадает с классом всех абсо-
лютно минимальных функций.

См. далее на эту тему работу [83]. Скоро, видимо, появятся работы о
бент-функциях и на конечных неабелевых группах [176].

2.1.6 Векторные G-бент-функции

Идея этого обобщения для функций вида f : A → B впервые была пред-


ложена В. И. Солодовниковым в работе [28] 2002 года. Л. Поинсо и С. Ха-
рари [177] в 2004 году подробно ее рассмотрели для случая A = (Zk2 , +) и
B = (Zr2 , +), т. е. векторных булевых функций. Основу обобщения состав-
ляет возможность иначе определить производную функции f : A → B.
А именно, пусть S(A) — симметрическая группа A в мультипликативной
записи. Перестановка σ ∈ S(A) называется инволюцией, если σσ = e, где e
— тождественная перестановка. Перестановка σ без неподвижных точек,
если для любого x ∈ A справедливо σ(x) 6= x. Множество всех инволюций

57
σ без неподвижных точек обозначим через Inv(A). Подгруппа G группы
S(A) такая, что G ⊆ Inv(A) ∪ {e} называется группой инволюций группы
A.
2k !
Пусть теперь A = Zk2 , B = Zr2 . Отметим, что |Inv(Zk2 )| = 2k−1 !22k−1
. В
работе [177] показано, что любая группа инволюций G группы Zk2 является
абелевой и |G| 6 2k . Будем рассматривать только группы G максимального
порядка 2k . Простым примером такой группы является группа трансляций
T (Zk2 ), состоящая из всех перестановок σy , y ∈ Zk2 , таких, что σy (x) = x+y.
Но существуют [177] и другие максимальные группы инволюций.
Пусть f : Zk2 → Zr2 , G — максимальная группа инволюций группы Zk2 .
Обобщенной производной f по направлению σ ∈ G называется функция
Dσ f (x) = f (σ(x)) − f (x). Отметим, что, если G — группа трансляций
T (Zk2 ), то обобщенная производная совпадает с обычной, Dy f (x) = f (x +
y) − f (x).

Определение 6. (Поинсо, Харари, 2004) Пусть A = (Zk2 , +), B =


(Zr2 , +), G — максимальная группа инволюций группы A. Функция f : A →
B называется G-бент-функцией, если обобщенная производная Dσ f (x) по
каждому направлению σ ∈ G, σ 6= e, уравновешена.

В интерпретации В. И. Солодовникова G-бент-функция — это функция


f , которую любая перестановка σ ∈ G, σ 6= e, изменяет настолько сильно,
насколько это возможно, т. е. каждый раз выполняется δ(f, f ◦ σ) = 0.
В работе [177] предлагается перевод определения G-бент-функции на
язык обобщенных коэффициентов Фурье, но пока, как представляется, он
не вполне доработан и содержит неточности. Не ясно также в какой мере
подход [177] применим, если A и B — произвольные абелевы группы.

2.1.7 Многомерные бент-функции на конечной группе

Это прямое обобщение бент-функций О. А. Логачева, А. А. Сальникова и


В. В. Ященко [16] предложил рассматривать Л. Поинсо [175] в 2005 году.

58
Пусть Cm — m-мерное унитарное пространство с обычным скалярным
произведением hx, yi = m 2
P
j=1 xj y j , нормой kxk = hx, xi и метрикой d(x, y) =
ky − xk. Пусть S1 (Cm ) — множество его точек, лежащих на сфере радиуса
1 с центром в нуле.
Пусть, как и выше, A — конечная абелева группа порядка n. Пусть
b = {χy | y ∈ A} — ее группа характеров.
A
Преобразованием Фурье функции f : A → Cm называется следующая
функция из A в Cm :
X
fb(y) = f (x)χy (x).
x∈A

Определение 7. (Поинсо, 2005) Пусть A — конечная абелева груп-


па порядка n. Функция f : A → S1 (Cm ) называется многомерной бент-
функцией, если ||fb(y)||2 = n для каждого y ∈ A.

При m = 1 данное определение полностью совпадает с определением 4.


Аналогично, для многомерных бент-функций выполняется критерий Рот-
хауса, определяется дуальная многомерная бент-функция и т. п. [175]. Но
пока не ясно представляют ли многомерные бент-функции самостоятель-
ный интерес, или же являются несколько формальным обобщением бент-
функций из определения 4.

2.2 Комбинаторные обобщения бент-функций

В этом разделе рассматриваются довольно естественные обобщения. Мож-


но сказать, что в основу каждого из них заложена простая комбинаторная
идея.

2.2.1 Частично определенные бент-функции

Пусть S ⊆ Zn2 — произвольное подмножество, f : S → Z2 — частично опре-


деленная булева функция. Ее неполным преобразованием Уолша—Адамара

59
называется отображение
X
Wf,S (y) = (−1)hx,yi+f (x) , для любого y ∈ Zn2 .
x∈S

Для такого преобразования справедлив аналог равенства Парсеваля:


X
2
Wf,S (y) = 2n |S|.
y∈Zn2

Определение 8. Булева функция f называется частично определен-


p
ной бент-функцией, если Wf,S (y) = ± |S| для любого y ∈ Zn2 .

Подробнее такие функции разбираются в [19, гл. 6]. Здесь отметим лишь,
что пока не известно при каких условиях на множество S частично опре-
деленные бент-функции существуют.

2.2.2 Платовидные функции

Это достаточно известное обобщение бент-функций, на котором также не


будем останавливаться подробно.

Определение 9. Булева функция называется платовидной, если все


ее ненулевые коэффициенты Уолша—Адамара равны по модулю.

Из равенства Парсеваля следует, что ненулевые коэффициенты должны


иметь вид ±2n−h для некоторого целого h, где 0 6 h 6 n. Количество таких
ненулевых коэффициентов должно быть равно 22h . Показатель 2h и вели-
чину 2n−h называют соответственно порядком и амплитудой платовидной
функции. Бент-функции и аффинные функции являются крайними част-
ными случаями платовидных функций (порядков n и 0 соответственно).
Результаты о таких функциях можно найти в обзорах [19, 78], а также
в работах [210, 211, 89].

2.2.3 Z-бент-функции

В 2005 году Х. Доббертин, см. [114], предложил исследовать бент-функции


в контексте более общего подхода, который можно назвать рекурсивным.

60
Не будем различать обычную булеву функцию f (x), где x ∈ Zn2 , и це-
лочисленную функцию F (x) = (−1)f (x) . Преобразование Фурье функции
F : Zn2 → Z определяется как
1 X
F (y) = n/2
b (−1)hx,yi F (x).
2 x∈Zn
2

Тогда ±1-значная функция F является бент-функцией, если и только если


Fb также ±1-значная. Обобщение состоит в следующем.

Определение 10. (Доббертин, 2005) Пусть T ⊆ Z — любое под-


множество. Функция F : Zn2 → T называется T -бент-функцией, если все
значения функции Fb принадлежат множеству T .

Доббертин выделил естественную цепочку вложенных друг в друга мно-


жеств:
T0 = {−1, +1};
Tr = {w ∈ Z | − 2r−1 6 w 6 2r−1 } (при r > 0).
Tr -бент-функция называется Z-бент-функцией уровня r, а все такие бент-
функции (при r ∈ Z) составляют класс Z-бент-функций. В работе [114]
исследуются возможности рекурсивного построения (разложения) Z-бент-
функций с повышением или понижением их уровня и числа переменных.

2.2.4 Однородные бент-функции

Этот подкласс бент-функций был выделен авторами [180] как состоящий


из функций с относительно простыми алгебраическими нормальными фор-
мами.

Определение 11. (Ку, Себерри, Пипджик, 2000) Бент-функция


называется однородной, если все одночлены ее алгебраической нормальной
формы имеют одинаковые степени.

В своей работе Ч. Ку, Дж. Себерри и Й. Пипджик перечислили все од-


нородные бент-функции степени 3 от 6 переменных (их оказалось ровно

61
30) и поставили вопрос о классификации таких бент-функций от больше-
го числа переменных. К. Чарнес, М. Роттелер и Т. Бет [92] доказали, что
существуют однородные бент-функции степени 3 от любого числа перемен-
ных n > 2. В работе [203] Т. Кси, Дж. Себерри, Й. Пипджик и К. Чарнес
установили, что однородных бент-функций от n переменных максимальной
возможной степени n/2 не существует при n > 3. Исследователи из Китая
К. Менг, Х. Жанг, М. Янг и Дж. Цуи [160, 161] показали, что не суще-
ствует также однородных бент-функций степени (n/2) − 1 при n > 4. Но
какова же точная верхняя оценка степени нелинейности однородной бент-
функции? На этот вопрос нет ответа. Есть только предположение авторов
[160] о том, что для любого k > 1 найдется такое N > 2, что однородная
бент-функция степени k от n переменных существует при каждом n > N .

2.2.5 Нормальные бент-функции

Булева функция f от n переменных называется нормальной (слабо нор-


мальной), если существует (n/2)-мерное подпространство пространства Zn2 ,
такое что f на нем является константой (аффинной функцией). Впервые
такие функции стал рассматривать Х. Доббертин [109] в 1995 году для
построения уравновешенных булевых функций с высокой нелинейностью.
Десять лет построить бент-функции, не являющиеся нормальными и
слабо нормальными, не удавалось. В 2005 году авторам [68] это удалось.

2.3 Криптографические обобщения бент-функций

Как известно, одной высокой нелинейности для хорошей криптографиче-


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

62
2.3.1 Уравновешенные бент-функции

С точки зрения криптографии, к важным критериям, которым должна


удовлетворять булева функция f от n переменных, относятся следующие
[18, 78]:
• уравновешенность (или сбалансированность) — функция f принимает
значения 0 и 1 одинаково часто;
• критерий распространения P C(k) порядка k (Propagation Criterion)
— для любого ненулевого вектора y ∈ Zn2 веса не более k, где 1 6 k 6 n,
функция f (x + y) + f (x) уравновешена [178];
• максимальная нелинейность — функция f такова, что значение ее
нелинейности Nf максимально;
• равномерность корреляции с линейными функциями. Значение кор-
dist(f,g)
реляции между функциями f и g определяется как c(f, g) = 1 − 2n−1 .
Для функции f равномерная корреляция означает, что значение |c(f, g)|
постоянно при любой линейной функции g.
Но криптографические критерии противоречат друг другу. Бент-функции
являются максимально-нелинейными, удовлетворяют критерию P C(n), об-
ладают равномерной корреляцией с линейными функциями (значение рав-
но ±2−n/2 ), но не являются уравновешенными. Довольно естественно воз-
никает следующее определение.

Определение 12. Булева функция f от n переменных называется урав-


новешенной бент-функций, если она уравновешена и имеет при этом мак-
симально возможную нелинейность.

В [42] было установлено, что, если n нечетно и f — уравновешенная


функция, то Nf 6 2n−1 − 2(n−1)/2 .
В 1994 году С. Чи, С. Ли и К. Ким [95] предложили способ построе-
ния уравновешенных бент-функций от нечетного числа переменных, име-
ющих при этом почти равномерную корреляцию с линейными функциями
и удовлетворяющих критерию P C(k) для достаточно большого k. Приве-

63
дем этот способ.
Пусть n — нечетно, A — невырожденная двоичная матрица размера
(n − 1) × (n − 1), b — двоичный вектор длины n − 1.

Теорема 46. Пусть f0 — бент-функция от n − 1 переменной, f1 —


эквивалентная ей бент-функция: f1 (x) = f0 (Ax + b) + 1. Тогда функция
g(x, z) = fz (x) от n переменных, где x ∈ Zn−1
2 , z ∈ Z2 ,
(i) является уравновешенной бент-функцией;
(ii) является почти бент-функцией (см. определение далее);
(iii) имеет следующие возможные значения корреляции с любой линей-
ной функцией: 0, ±2−(n−1)/2 ;
(iv) удовлетворяет критерию P C для любого ненулевого вектора (y, 0),
где y ∈ Zn−1
2 ;
(v) удовлетворяет критерию P C(n − 1), если A = E и b — вектор из
всех единиц.

2.3.2 Частично бент-функции

Как уже было отмечено, бент-функции не являются ни уравновешенными,


ни корреляционно-иммунными. К. Карле [69] предложил свой способ рас-
ширить класс Bn функциями, обладающими данными свойствами и име-
ющими при этом достаточно высокую нелинейность. Определение таких
частично бент-функций дается с помощью следующего экстремального
(−1)f (x)+f (x+y) — автокорреляция булевой
P
свойства. Пусть ∆f (y) =
x∈Zn2
функции f по направлению y. Пусть N Wf и N ∆f — количества ненулевых
коэффициентов Уолша—Адамара и коэффициентов автокорреляции буле-
вой функции f , соответственно. Тогда [69] для любой булевой функции
выполняется N Wf · N ∆f > 2n .

Определение 13. (Карле, 1993) Булева функция f , для которой


N Wf · N ∆f = 2n , называется частично бент-функцией.

64
Теорема 47. Следующие утверждения эквивалентны:
(i) функция f — частично бент-функция;
(ii) существует вектор z такой, что для любого x значение автокор-
реляции ∆f (x) равно 0 или (−1)hx,zi 2n ;
(iii) существуют вектор z и разбиение пространства Zn2 в прямую
сумму подпространств L и L0 такие, что f |L0 — частично определен-
ная бент-функция (в смысле определения 8) и для любых x ∈ L, y ∈ L0
выполняется f (x + y) = hx, zi + f (y).

Далее z обозначает вектор, определенный в теореме. Подпространство


L для частично бент-функции f определяется как множество векторов x
таких, что ∆f (x) 6= 0. Эквивалентно, можно определить L как простран-
ство линейных структур f , т. е. пространство, состоящее из всех векторов y
таких, что f (x + y) + f (x) = const. Подпространство L0 для разложения Zn2
в прямую сумму выбирается произвольно. Заметим, что размерность под-
пространства L0 должна быть четной, пусть она равна 2h. Согласно [69]
справедливы следующие результаты (необходимые определения см. в [19]).

Теорема 48. Частично бент-функция является


(i) уравновешенной тогда и только тогда, когда f |L 6= const;
(ii) неуравновешенной веса w тогда и только тогда, когда f |L — кон-
станта, причем w = 2n−1 ± 2n−h−1 , где dim L = n − 2h;
(iii) платовидной порядка 2h;
(iv) корреляционно-иммунной порядка k, если и только если смежный
класс z + L⊥ не содержит векторов веса w, 1 6 w 6 k;
(v) уравновешенной корреляционно-иммунной порядка k, если и только
если класс z + L⊥ не содержит векторов веса не больше k;
(vi) удовлетворяет критерию распространения P C(k) тогда и только
тогда, когда L не содержит векторов веса w, 1 6 w 6 k.

Отметим, что частично бент-функциями являются все аффинные, квад-


ратичные и бент-функции. Справедлива [69]

65
Теорема 49. Пусть f — частично ( бент-функция, dimL = n − 2h.
±2n−h , если x ∈ z + L⊥ ;
Тогда Nf = 2n−1 − 2n−h−1 , Wf (x) =
0, иначе.
Очевидно, что чем меньше размерность подпространства L, тем выше
нелинейность частично бент-функции.
См. далее на эту тему работы [78, 201].

2.3.3 Гипербент-функции

А. М. Йоссеф и Г. Гонг [205] в 2001 году ввели понятие гипербент-функции2 .


Их работе предшествовала статья С. В. Голомба и Г. Гонга [118] 1999 года,
в которой алгоритм шифрования DES рассматривался как регистр сдви-
га с нелинейными обратными связями и проводился анализ его S-блоков.
При таком подходе авторы [118] предложили использовать для приближе-
ния координатных функций S-блоков вместо линейных булевых функций
собственные мономиальные функции. Эта идея и была развита в [205].
Булеву функцию от n переменных можно рассматривать как функцию
из F2n в F2 , сопоставляя каждому вектору x соответствующий элемент поля
F2n . Известно, что любая линейная функция hx, yi может быть представ-
лена как T r(ax y) для подходящего элемента ax ∈ F2n , где T r : F2n → F2 —
функция следа. Тогда преобразование Уолша—Адамара приобретает сле-
(−1)T r(yx)+f (x) . Функция вида
P
дующий, эквивалентный, вид Wf (y) =
x∈F2n
T r(ax y ), где целое число s такое, что 1 6 s 6 2n − 1 и gcd (s, 2n − 1) = 1,
s

называется собственной мономиальной функцией. Расширенное преобра-


зование Уолша—Адамара булевой функции f имеет вид
s
X
Wf,s (y) = (−1)T r(yx )+f (x) .
x∈F2n

Определение 14. (Йоссеф, Гонг, 2001) Булева функция f называ-


ется гипербент-функцией, если для любого y ∈ F2n и любого целого s,
2
До этого термин гипербент-функция однажды использовался в работе [72] для обозначения другого
класса функций, но больше в этом значении он не употребляется.

66
gcd (s, 2n − 1) = 1, выполняется |Wf,s (y)| = 2n/2 .

Другими словами, гипербент-функция одинаково плохо приближается


всеми собственными мономиальными функциями, ее обобщенная нелиней-
ность
1
N LG(f ) = 2n−1 − max |Wf,s (y)|
2 y, s
gcd (s, 2n − 1) = 1

максимальна, т. е. равна 2n−1 − 2(n/2)−1 . Авторы [205] для каждого четно-


го n доказали существование гипербент-функций, предложили их вектор-
ный вариант, для малого числа переменных рассмотрели уравновешенные
гипербент-функции. В 2006 году К. Карле и П. Габори [85] и независимо
А. С. Кузьмин, В. Т. Марков, А. А. Нечаев и А. Б. Шишков [12] показа-
ли, что степень нелинейности любой гипербент-функции от n переменных
равна n/2.
А. С. Кузьмин и др. [14, 13] обобщили понятие гипербент-функции: от
булевых функций они перешли к функциям над произвольным конечным
полем характеристики 2.
А именно, пусть q = 2` . В работе [13] рассматривается задача прибли-
жения произвольной функции из Fnq в Fq (как и выше она отождествля-
ется с функцией f : Fqn → Fq ) функциями из некоторого ограниченного
класса A. Для оценки эффективности приближения функции f функцией
g ∈ A, вводится параметр согласие ∇(f, g), связанный с функцией бли-
зости В. И. Солодовникова, см. (2.4), соотношением ∇(f, g) = √ q δ(f, g),
q−1
если конечные группы выбирать как A = (Fqn , +) и B = (Fq , +). Этот па-
раметр представляется более естественным, поскольку 0 6 ∇(f, g) 6 1 и
при крайних значениях 0 и 1 функции f и g отличаются, соответственно,
на уравновешенную функцию и на константу. При q = 2 справедливо
1 ∇(f, g)
P(f = g) − = .
2 2
Т. е., чем меньше согласие между функциями, тем ниже эффективность за-
мены одной на другую. Пусть ∇(f, A) = maxg∈A ∇(f, g) — эффективность

67
аппроксимации функции f функциями из A. Тогда
• Если A = Hom(A, B) — класс всех гомоморфизмов из A в B, то
функция f : Fqn → Fq такая, что параметр ∇(f, Hom(A, B)) принимает
минимальное возможное значение q −n/2 , является бент-функцией в смысле
определения 5.
• Пусть A = M — класс всех собственных обобщенных мономиальных
функций, т. е. функций вида g(x) = h(xs ), где h ∈ Hom(A, B), s — целое,
gcd (s, q n − 1) = 1.

Определение 15. (Кузьмин и др., 2007) Функция f : Fqn → Fq


называется гипербент-функцией, если параметр ∇(f, M) принимает ми-
нимальное возможное значение q −n/2 .

При q = 2 это определение совпадает с определением 14.


В [14] проведено детальное исследование таких обобщенных гипербент-
функций. Приведем здесь лишь одну конструкцию таких функций. Муль-
типликативная группа поля Fqn есть прямое произведение (Fqn/2 , ·) на цик-
лическую группу V порядка q n/2 +1. Для a, d ∈ Fq пусть za,d равно единице
(нулю), если элементы a и d равны (не равны) соответственно.

Теорема 50. Пусть задана функция g : V → Fq такая, что найдется


элемент d ∈ Fq , при котором число решений уравнения g(x) = a в множе-
стве V равно q (n/2)−1 + za,d , где a ∈ Fq . Тогда функция f : Fqn → Fq такая,
n/2
−1
что f (0) = d, f (x) = g(xq ) при x 6= 0, является гипербент-функцией.

См. далее на эту тему работы [206, 15]. Мономиальные приближения


булевых функций также изучались А. В. Ивановым [6, 7]. Например, им
было показано [8], что свойство бент-функции быть гипербент-функцией,
вообще говоря, зависит от выбора базиса, при котором рассматривается ее
приведенное представление.

68
2.3.4 Почти бент-функции

Бент-функции существуют только для четного числа переменных. При


нечетном n одним из их аналогов можно считать почти бент-функции, об-
ладающие достаточно высокой нелинейностью.

Определение 16. Булева функция f от n переменных называется по-


чти бент-функцией, если каждый ее коэффициент Уолша—Адамара равен
либо нулю, либо ±2(n+1)/2 .

Почти бент-функции есть ничто иное как платовидные функции макси-


мального порядка n − 1 от нечетного числа переменных, см. определение
9. Не будем рассматривать их подробно. Отметим лишь, что булевы функ-
ции, имеющие три различных значения в спектре Уолша—Адамара, инте-
ресны для обеспечения защиты от так называемой soft output joint attack
на генераторы псевдошумовых последовательностей (PN-generators), см.
[150]. Такие генераторы используются в уже упоминавшемся выше стан-
дарте IS–95 технологии CDMA. Почти бент-функции используются также
для построения криптографически стойких S-блоков [105].
См. о почти бент-функциях работы [108, 149].

2.3.5 Бент-функции более высокого порядка нелинейности

Это довольно естественное направление, тесно связанное с нелинейными


обобщениями различных методов криптоанализа.
Известно, что эффективность приближения бент-функции любой линей-
ной функцией является самой низкой. Расширяя класс линейных функций,
естественно рассматривать для приближения булевы функции степени не
выше r, где 2 6 r 6 n − 1. При этом возникает понятие нелинейности r-го
порядка Nr (f ) булевой функции f как расстояния Хэмминга от f до всех
таких функций.

Определение 17. Булева функция, удаленная от всех функций сте-


пени не выше r на максимальное расстояние, называется бент-функцией

69
порядка r.

Но трудность заключается в определении этого максимального возмож-


ного значения для Nr (f ). При r > 2 это нерешенная задача, более из-
вестная в теории кодирования как определение радиуса покрытия кода
Рида—Маллера порядка r. Известны пока некоторые оценки для Nr (f ),
его асимптотическое значение, связь с другими криптографическими па-
раметрами и т. п. Подробнее на эту тему см. обзор К. Карле [77] 2008 года.

2.3.6 k-Бент-функции

В 2007 году автором было введено следующее понятие, см. [29], основной
идеей которого было рассмотрение аппроксимирующих функций, отлич-
ных от линейных, но являющихся в какой-то степени их аналогами.
Пусть x, y — двоичные векторы длины n. Пусть k — любое целое число,
такое что 1 6 k 6 n/2. Определим бинарную операцию
X k
k X 
hx, yik = (x2i−1 + x2i )(x2j−1 + x2j )(y2i−1 + y2i )(y2j−1 + y2j ) + hx, yi,
i=1 j=i

которая служит нелинейным аналогом скалярного произведения. Заметим,


что компоненты векторов неравноправны в этой операции: 2k первых ком-
понент каждого из них входят в квадратичные и линейные слагаемые;
остальные — только в линейные.
Функция
(k)
X
Wf (y) = (−1)hx,yik +f (x)
x∈Zn2
называется k-преобразованием Уолша—Адамара булевой функции f . При
k = 1 имеем эквивалентную запись обычного преобразования Уолша—
Адамара. Справедливо равенство Парсеваля,
X  (k) 2
Wf (y) = 22n .
y∈Zn2

Функция f называется k-бент-функцией при фиксированном порядке пе-


(j)
ременных, если все ее коэффициенты Wf (y), j = 1, . . . , k равны ±2n/2 .

70
Такие функции рассматривались в [29]. Однако, их недостатком являлась
зависимость от порядка переменных функции. Приведем более общее опре-
деление, избавленное от этого недостатка.

Определение 18. Булева функция f от n переменных называется k-


бент-функцией, если для произвольной подстановки π ∈ Sn , любого j =
(j)
1, . . . , k и любого вектора y выполняется Wf ◦π (y) = ±2n/2 .

Поясним смысл определения. Рассмотрим множества функций

Akn (π) = { hπ(x), yik + a | y ∈ Zn2 , a ∈ Z2 }

от n переменных. Векторы значений функций из каждого класса Akn (π)


образуют двоичный код Адамара. Этот код является нелинейным (при
k > 1), но у него существует линейный прообраз в пространстве Zn4 от-
носительно некоторого простого отображения, см. подробнее [29]. Поэтому
функции из Akn (π) можно считать аналогами аффинных функций. Заме-
тим, что они являются квадратичными. k-Нелинейностью булевой функ-
(k)
ции f называется минимальное расстояние Хэмминга Nf от нее до мно-
жества всех функций вида hπ(x), yik + a, где π — любая перестановка.
Справедливо равенство
(k) 1 (k)
Nf = 2n−1 − max maxn |Wf ◦π (y)|.
2 π∈Sn y∈Z2
(j)
Таким образом, k-бент-функция — это функция, для которой Nf мак-
(j)
симально, Nf = 2n−1 − 2(n/2)−1 , при любом j = 1, . . . , k, т. е. она одно-
временно максимально удалена от всех классов функций Ajn (π), π ∈ Sn ,
j = 1, . . . , k. Заметим, что 1-бент-функции совпадают с обычными бент-
функциями. С ростом k нелинейные свойства функций усиливаются, по-
этому наиболее интересной задачей представляется описание класса всех
(n/2)-бент-функций. Как следует из [29], этот класс не пуст, при любом
четном n ему принадлежат, например, все симметричные бент-функции:
f (x) = ni=1 nj=i+1 xi xj , f (x) + 1, f (x) + ni=1 xi , f (x) + ni=1 xi + 1, ха-
P P P P

рактеризация которых приводится в [187].

71
При n = 4 все (n/2)-бент-функции были описаны в работе [31]. Это 128
квадратичных функций с квадратичной частью одного из четырех видов:
x1 x2 + x3 x4 , x1 x3 + x2 x4 , x1 x4 + x2 x3 , x1 x2 + x1 x3 + x1 x4 + x2 x3 + x2 x4 + x3 x4
и произвольной линейной частью. См. также на эту тему [30].
Подробнее k-бент-функции рассматриваются в Главе 4.

2.4 Квантовые обобщения бент-функций

2.4.1 Нега-бент-функции, бент4 -функции, I-бент-функции

Бент-функцию часто определяют как функцию, имеющую плоский спектр


относительно преобразования Уолша—Адамара. Плоский — означает, что
модули всех коэффициентов Уолша—Адамара равны. В 2006 году К. Риера
и М. Паркер [181] стали исследовать булевы функции, имеющие плоские
спектры относительно множества унитарных преобразований специального
вида. Напомним, что преобразование пространства Cn , заданное квадрат-
ной матрицей A, унитарно, если AĀT = E, где E — единичная матри-
ца. Выбранные преобразования используются при анализе стабилизаторов
квантовых состояний [181]. Пусть
! ! !
1 1 1 1 0 1 1 i
H=√ , I= , N=√ .
2 1 −1 0 1 2 1 −i
Для любой 2 × 2-матрицы A пусть Aj = I ⊗ . . . ⊗ I ⊗ A ⊗ I ⊗ . . . ⊗ I
— тензорное (Кронекерово) произведение n матриц, где A встречается на
j-ом месте. Рассмотрим следующие множества преобразований:
n−1
X {H}n — состоящее из одного преобразования U =
Q
Hj . Если F =
j=0
f
(−1) — функция знака булевой функции f от n переменных, то вектор
спектральных значений f относительно преобразования U определяется
как Fb = U F . Тогда f — бент-функция (в обычном смысле), если ее спектр
относительно U — плоский, т. е. каждая компонента Fb равна ±1.
n−1
n
Q
X {N } — состоящее из преобразования U = Nj .
j=0

72
Определение 19. (Риера, Паркер, 2006) Булева функция с плоским
спектром относительно U называется нега-бент-функцией.

Отметим, что поскольку U — комплексная матрица, при определении спек-


тра функции здесь возникают свои особенности, см. [172]. Любая аффин-
ная булева функция является нега-бент. М. Паркер (2000, 2007) и А. Потт
(2007) изучали нега-бент-функции в работах [171] и [172]. В последней рабо-
те исследовался вопрос о пересечении классов бент- и нега-бент-функций,
полностью разрешенный для квадратичных функций.
X {H, N }n — состоящее из 2n преобразований вида
Q Q
Hj Nj , где
j∈RH j∈RN
RH и RN разбивают множество {0, 1, . . . , n − 1}. Булева функция f от
n переменных является бент4 -функцией, если существует хотя бы одно
разбиение RH , RN , относительно которого f имеет плоский спектр.
X {I, H}n — состоящее из 2n преобразований вида
Q Q
Ij Hj , где
j∈RI j∈RH
RI и RH разбивают множество {0, 1, . . . , n − 1}. Аналогично предыдущему
случаю функция f является I-бент-функцией, если существует хотя бы
одно разбиение RI , RH , где |RI | < n, относительно которого спектр f —
плоский.
X {I, H, N }n — состоящее из 3n преобразований
Q Q Q
Ij Hj Nj ,
j∈RI j∈RH j∈RN
где RI , RH и RN разбивают {0, 1, . . . , n − 1}. В этом случае определяют-
ся так называемые I-бент4 -функции, не представляющие, однако, особого
интереса, так как этому классу принадлежит любая булева функция.
К. Риера и М. Паркер [181] развивают квантовый мотив своих исследо-
ваний, изучают свойства бент-функций нового типа и их связь с графами.

73
74
Глава 3

Группа автоморфизмов множества


бент-функций

Одним из открытых вопросов в области бент-функций долгое время оста-


вался вопрос о группе автоморфизмов множества этих функций. В данной
главе дается ответ на этот вопрос.
Пусть A — невырожденная двоичная n×n–матрица, пусть b и c — двоич-
ные векторы длины n, и d — константа. Известно, что любое отображение
вида g(x) → g(Ax ⊕ b) ⊕ hc, xi ⊕ d, заданное на множестве булевых функ-
ций от n переменных, оставляет класс бент-функций на месте. Существуют
ли другие изометричные отображения множества булевых функций в себя,
оставляющие неподвижным класс бент-функций? Мы покажем, что других
таких отображений нет.
Рассмотрим структуру главы. Основная ее часть посвящена доказатель-
ству того, что для любой неаффинной функции f найдется такая бент-
функция g, что функция f ⊕ g не является бент-функцией (теорема 51).
Другими словами, множество бент-функций замкнуто относительно при-
бавления только аффинных булевых функций. Из этого факта будет сле-
довать, что аффинные функции — это в точности все те булевы функции,
которые удалены от класса бент-функций на максимально возможное рас-
стояние. Т. е. существует в некотором смысле «дуальность» между опреде-
лениями бент-функций и аффинных функций. Далее устанавливается, что

75
множество бент-функций и множество аффинных функций имеют одина-
ковые группы автоморфизмов. Этой общей группой является полупрямое
произведение полной аффинной группы GA(n) на Zn+1
2 (теорема 52).

3.1 Определения и факты

Напомним некоторые определения и обозначения. Пусть hx, yi обозначает


обычное скалярное произведение двоичных векторов x, y ∈ Zn2 по модулю
2. Расстоянием Хэмминга d(x, y) между векторами x и y называется число
координат, в которых они различаются.
Под расстоянием dist(f, g) между булевыми функциями f и g будем
понимать расстояние между их векторами значений. Через supp(f ) обо-
значим носитель функции f , т. е. множество тех векторов, на которых f
равна единице. Известно, что каждая булева функция f может быть пред-
ставлена в алгебраической нормальной форме, степень которой обозначим
через deg(f ). Булевы функции степени 1 называются аффинными и имеют
вид hc, xi ⊕ d для подходящего вектора c и константы d. Множество всех
аффинных функций от n переменных обозначим через An .
Преобразованием Уолша—Адамара булевой функции f от n перемен-
ных называется целочисленная функция Wf (y) = x (−1)hx,yi⊕f (x) . Бент-
P

функцией называется булева функция от n переменных (n четно) такая,


что модуль каждого коэффициента Уолша—Адамара Wf (y) этой функции
равен 2n/2 . Производной булевой функции f по направлению y называется
функция f (x) ⊕ f (x ⊕ y). Заметим, что булева функция f аффинна тогда
и только тогда, когда ее производная по любому направлению является
константой.
Эквивалентно, бент-функции могут быть определены следующим обра-
зом [19]. Напомним, что этот факт не что иное как пункт (iv) теоремы 1 из
Главы 1.

Утверждение 1. Булева функция g является бент-функцией, тогда

76
и только тогда, когда ее производная по любому ненулевому направлению
y уравновешена, т. е. выполняется x (−1)g(x)⊕g(x⊕y) = 0.
P

Множество всех бент-функций от n переменных обозначим через Bn .


Хорошо известно следующее свойство бент-функций (см. теорему 4).

Утверждение 2. Пусть A — невырожденная двоичная n×n–матрица,


b и c — двоичные векторы, d — константа. Любое отображение вида
g(x) → g(Ax ⊕ b) ⊕ hc, xi ⊕ d, заданное на множестве булевых функций
от n переменных, оставляет класс бент-функций на месте.

Нам потребуется конструкция МакФарланда [157], см. теорему 16, ко-


торую приведем здесь еще раз.

Утверждение 3. Функция f (x0 , x00 ) = hx0 , π(x00 )i ⊕ h(x00 ) является


n/2
бент-функцией от n переменных, где π — любая перестановка на Z2
и булева функция h от n/2 переменных произвольна.

Заметим, что разбиение переменных на две равные части x0 и x00 может


быть любым.
Рассмотрим векторы, у которых фиксированы значения некоторых n −
k координат, а значения остальных координат выбираются произвольно.
Множество всех таких векторов называется гранью размерности k про-
странства Zn2 . Например, множество Γ = { (x0 , x00 ) : x00 = a } является
n/2
гранью размерности n/2, где x0 , x00 ∈ Z2 .

3.2 О сдвигах класса бент-функций

Докажем следующий факт, из которого в качестве следствий и будут по-


лучены основные результаты главы.

Теорема 51. Для любой неаффинной функции f найдется такая бент-


функция g, что функция f ⊕ g не является бент-функцией.

77
Доказательство. Предположим, что для некоторой фиксированной
функции f такой, что deg(f ) > 2, справедливо f ⊕ Bn = Bn . Покажем,
что это приведет к противоречию.
Идея доказательства состоит в следующем. Сначала покажем, что неко-
торая сумма должна быть равна нулю для любой бент-функции, см. далее
сумму (3.1). Затем в классе МакФарланда найдем бент-функцию–контр-
пример g 0 , для которой это равенство не будет выполняться. Бент-функция
g 0 будет получена из специально выбранной бент-функции g инвертирова-
нием ее значений на некоторой грани Γ размерности n/2. Ключевым усло-
вием для возможности выбора такой грани является то, что для некоторого
ненулевого y, множество D = supp(f (x)⊕f (x⊕y)) будет собственным под-
множеством пространства Zn2 , что возможно тогда и только тогда, когда f
неаффинна.
Доказательство удобно разделить на несколько этапов.

Равенство для любой бент-функции. Поскольку deg(f ) > 2, то най-


дется такой ненулевой вектор y, что производная функции f по направле-
нию y не является константой. Можно считать, что y = 1. Действительно,
так как если y — другой ненулевой вектор, то от функции f перейдем к
функции f 0 (x) = f (Ax), где A · 1 = y. Очевидно, что производная функ-
ции f 0 по направлению 1 не константа, и так же как и для f , выполняется
равенство f 0 ⊕ Bn = Bn (т. е. можно доказывать теорему для f 0 ). Поэтому
всюду далее считаем, что y = 1.
Пусть g — произвольная бент-функция. Тогда f ⊕ g — также бент-
функция, и согласно утверждению 1 выполняются равенства
X
(−1)g(x)⊕g(x⊕y) = 0,
x
X
(−1)g(x)⊕f (x)⊕g(x⊕y)⊕f (x⊕y) = 0.
x
Вычитая из первого равенства второе, получаем
X
(−1)g(x)⊕g(x⊕y) (1 − (−1)f (x)⊕f (x⊕y) ) = 0.
x

78
Обозначим через D множество supp(f (x) ⊕ f (x ⊕ y)). Тогда для любой
бент-функции g должно выполняться
X
(−1)g(x)⊕g(x⊕y) = 0. (3.1)
x∈D

Выбор грани. Так как функция f (x) ⊕ f (x ⊕ y) — не константа, то


множество D не пусто и не совпадает со всем булевым кубом. Тогда суще-
ствует (n/2)-мерная грань Γ такая, что она имеет непустое пересечение и
с множеством D и с его дополнением Zn2 \ D, т. е. выполняется

0 < m < |Γ| = 2n/2 , (3.2)

где m = |Γ ∩ D|. Действительно, такую грань всегда можно построить,


например, через любой вектор u ∈
/ D и один из векторов v или v ⊕ y,
где v ∈ D, так как либо расстояние d(u, v) либо d(u, v ⊕ y) окажется не
превосходящим n/2.
Заметим, что грань Γ ⊕ y также имеет пересечение мощности m с мно-
жеством D, поскольку, как нетрудно заметить, D ⊕y = D. Отметим также,
что грани Γ и Γ ⊕ y не пересекаются (в силу выбора y = 1). Имеет место
следующее разбиение множества D:
     
D = Γ ∩ D ∪ (Γ ⊕ y) ∩ D ∪ D \ (Γ ∪ (Γ ⊕ y)) , (3.3)

которое потребуется нам в дальнейшем.


Без ограничения общности считаем, что грань Γ имеет вид
n/2
Γ = {(x0 , x00 ) : x00 = a} для некоторого вектора a ∈ Z2

(в случае, если фиксированные координаты грани расположены иначе, до-


казательство проводится аналогично). Пусть множество Γ ∩ D представля-
ется в виде
Γ ∩ D = {(b(1) , a), (b(2) , a), . . . , (b(m) , a)},

для подходящих векторов b(1) , b(2) , . . . , b(m) длины n/2.

79
Специальное подмножество бент-функций. Рассмотрим подмно-
жество G бент-функций вида g(x0 , x00 ) = hx0 , π(x00 )i из класса МакФарланда
таких, что перестановки π являются линейными преобразованиями про-
странства, т. е. каждая π определяется как π(x00 ) = Ax00 , для подходящей
невырожденной матрицы A. Покажем, что в классе G найдется такая бент-
функция g, что сумма
X
S= (−1)g(x)⊕g(x⊕y)
x∈Γ∩D

будет не равна нулю. Действительно, распишем эту сумму, подставляя вид


произвольной функции из G. Поскольку π(x00 ⊕ y 00 ) = A(x00 ⊕ y 00 ) = Ax00 ⊕
Ay 00 , где y = (y 0 , y 00 ), имеем

g(x) ⊕ g(x ⊕ y) = hx0 , Ax00 i ⊕ hx0 ⊕ y 0 , Ax00 ⊕ Ay 00 i =

hx0 , Ay 00 i ⊕ hy 0 , Ax00 ⊕ Ay 00 i.

Тогда, подставляя в сумму S, получаем


m
(i)
,Ay 00 i
X
S = (−1) γ
(−1)hb ,
i=1

где γ = hy 0 , Aa ⊕ Ay 00 i — константа, зависящая от конкретного выбора


матрицы A. Поскольку y 00 — ненулевой вектор (по нашему выбору y 00 = 1), и
матрица A может быть любой невырожденной матрицей, то вектор z = Ay 00
также может быть произвольным ненулевым вектором длины n/2. Таким
образом, наша задача — показать, что найдется такой ненулевой вектор z,
что не равна нулю сумма
m
(i)
X
(−1)hb ,zi
. (3.4)
i=1

Поиск вектора z. Предположим обратное. Пусть для каждого ненуле-


вого вектора z сумма (3.4) равна нулю. Рассмотрим двоичную матрицу M
размера (n/2) × m, столбцами которой являются все векторы b(1) , . . . , b(m) .
Тогда сумма (3.4) есть ни что иное как разность между числом нулей и

80
числом единиц в линейной комбинации строк матрицы M , определяемой
вектором z (строка i входит в комбинацию, если zi = 1). По предположе-
нию, матрица M должна удовлетворять условию: любая ненулевая линей-
ная комбинация строк матрицы M содержит одинаковое число нулей и
единиц. Несложно понять, что с точностью до перестановки столбцов, эта
матрица должна иметь вид
 
0...0 0...0 0...0 0...0 1...1 1...1 1...1 1...1
 
 0...0 0...0 1...1 1...1 0...0 0...0 1...1 1...1 
 
 0...0 1...1 0...0 1...1 0...0 1...1 0...0 1...1 
 
... ... ... ... ... ... ... ...
|{z} |{z} |{z} |{z} |{z} |{z} |{z} |{z}
m/8 m/8 m/8 m/8 m/8 m/8 m/8 m/8
Отсюда сразу замечаем, что число столбцов матрицы должно быть не мень-
ше чем 2n/2 , где n/2 — число строк. Таким образом, для существования
такой матрицы M необходимо, чтобы выполнялось m > 2n/2 . Но это про-
тиворечит условию на выбор грани Γ, а именно неравенству (3.2). Следо-
вательно, всегда найдется вектор z такой, что сумма (3.4) не равна нулю.
Зафиксируем этот вектор z.

Построение функции–контрпримера. Пусть A — невырожденная


матрица такая, что Ay 00 = z, пусть перестановка π определяется равен-
ством π(x00 ) = Ax00 . Из условия выбора вектора z следует, что для функции
g(x0 , x00 ) = hx0 , π(x00 )i справедливо
X
S= (−1)g(x)⊕g(x⊕y) 6= 0. (3.5)
x∈Γ∩D

Определим новую бент-функцию g 0 , отличающуюся от g лишь на грани Γ.


Далее мы увидим, что функции f ⊕ g и f ⊕ g 0 не могут одновременно быть
бент-функциями, что и приведет к противоречию с основным предположе-
нием. Итак, пусть g 0 (x0 , x00 ) = g(x0 , x00 ) ⊕ h(x00 ), где
(
00 1, если x00 = a;
h(x ) =
0, иначе.

81
Другими словами, g 0 получена из функции g инвертированием ее значений
на грани Γ. Так как g из класса МакФарланда, то функция g 0 тоже бент-
функция. Заметим, что тогда в силу разбиения (3.3) имеем
 X 
g 0 (x)⊕g 0 (x⊕y)
X
g(x)⊕1⊕g(x⊕y)⊕0
(−1) = (−1) +
x∈D x∈Γ∩D

 X   X 
g(x)⊕0⊕g(x⊕y)⊕1 g(x)⊕g(x⊕y)
(−1) + (−1) =
x∈(Γ⊕y)∩D x∈(D\(Γ∪(Γ⊕y))

 X 
g(x)⊕g(x⊕y)
(−1) − 2S.
x∈(D\(Γ∪(Γ⊕y))

Таким образом,
g 0 (x)⊕g 0 (x⊕y)
X X
(−1) = (−1)g(x)⊕g(x⊕y) − 4S.
x∈D x∈D

Отсюда из равенства (3.1) и неравенства (3.5) следует, что


0 0
X
(−1)g (x)⊕g (x⊕y) 6= 0.
x∈D

Но равенство (3.1) должно выполняться для любой бент-функции, в том


числе и для g 0 . Полученное противоречие доказывает теорему. 

3.3 Дуальность определений бент-функций и аффин-


ных функций

При четном n класс бент-функций Bn можно определить как множество


функций, отстоящих от класса всех аффинных булевых функций An на
максимально возможное расстояние Nmax , т. е.

Bn = {g : dist(g, An ) = Nmax }.

82
При этом известно, что Nmax = 2n−1 − 2(n/2)−1 . Но можно ли обратить
это определение? Другими словами, верно ли, что An — это множество
всех булевых функций, отстоящих от класса Bn на максимально возможное
0
расстояние Nmax ? Пусть

A0n = {f : dist(f, Bn ) = Nmax


0
}.

Покажем, что подобное обращение определений действительно возможно,


0
т. е. справедливо Nmax = Nmax и An = A0n .

0
Утверждение 4. Справедливо Nmax = 2n−1 − 2(n/2)−1 .

0
Доказательство. По определению Nmax = maxf ming∈Bn dist(f, g). За-
метим, что dist(f, g) = 2n−1 − 21 Wf ⊕g (0). Поэтому

0 1
Nmax = 2n−1 − min max |Wf ⊕g (0)|.
2 f g∈Bn
Зафиксируем любую бент-функцию g 0 от n переменных. Поскольку класс
Bn замкнут относительно добавления аффинных функций, то каждая функ-
ция вида g 0 ⊕ `a , где `a (x) = ha, xi, является бент-функцией. Заметим, что
Wf ⊕g0 ⊕`a (0) = Wf ⊕g0 (a). Тогда, очевидно

max |Wf ⊕g (0)| > max |Wf ⊕g (0)| = max |Wf ⊕g0 (a)|.
g∈Bn g ∈ Bn , g = g 0 ⊕ `a a
для некоторого a

Но из равенства Парсеваля для булевой функции f ⊕ g 0 следует, что

max |Wf ⊕g0 (a)| > 2n/2 .


a

0
Отсюда получаем Nmax 6 2n−1 − 2(n/2)−1 . С другой стороны, расстояние
2n−1 − 2(n/2)−1 до класса бент-функций достигается, например, для любой
аффинной функции f . Утверждение доказано. 

Утверждение 5. Выполняется An = A0n .

83
Доказательство. Очевидно, что An ⊆ A0n . Предположим, что суще-
ствует функция f ∈ A0n \ An . Тогда по теореме 51 найдется бент-функция g
такая, что f ⊕ g не является бент-функцией. Т. е. существует вектор a та-
кой, что |Wf ⊕g (a)| > 2n/2 . Рассмотрим бент-функцию g 0 (x) = g(x) ⊕ ha, xi.
Для нее справедливо Wf ⊕g0 (0) = Wf ⊕g (a) и в силу равенства dist(f, Bn ) =
0
2n−1 − 21 maxg∈Bn |Wf ⊕g (0)| заключаем, что dist(f, Bn ) < Nmax , что проти-
воречит выбору f . Таким образом, An = A0n . 

Заметим, что ключевым фактом, позволившим установить «дуальность»


между определениями аффинных функций и бент-функций является тео-
рема 51.

3.4 Автоморфизмы бент-функций

Отображение ϕ множества всех булевых функций от n переменных в себя


называется изометричным, если оно сохраняет расстояния между булевы-
ми функциями, т. е. dist(ϕ(f ), ϕ(g)) = dist(f, g). Известно, что любое такое
отображение однозначно представляется в виде
g(x) → g(s(x)) ⊕ f (x), (3.6)
где s : Zn2 → Zn2 — любая подстановка, f — произвольная функция от n
переменных.
Группой автоморфизмов подмножества булевых функций M называет-
ся группа изометричных отображений множества всех булевых функций
в себя, оставляющих неподвижным множество M. Обозначим эту группу
через Aut(M).
Напомним, что полная аффинная группа GA(n) состоит из всех отоб-
ражений вида g(x) → g(Ax ⊕ b), где A — невырожденная матрица, b —
произвольный вектор. Справедливо

Утверждение 6. Группа Aut(An ) равна полупрямому произведению


полной аффинной группы GA(n) на Zn+1
2 .

84
Действительно, для любого автоморфизма (3.6) сдвиг на функцию f мо-
жет определяться только аффинной функцией (т. к. образ нулевой функ-
ции — также аффинная функция). Множество всех аффинных функций
от n переменных образует группу, изоморфную Zn+1
2 . Остается отметить,
что каждая перестановка s, как известно, должна принадлежать группе
GA(n), см. например, [20].

Теорема 52. Справедливо Aut(Bn ) = Aut(An ) = GA(n) n Zn+1


2 .

Доказательство. Очевидно, что Aut(An ) ⊆ Aut(Bn ). Действительно,


для любого отображения ϕ ∈ Aut(An ) и любой бент-функции g имеем
dist(g, An ) = dist(ϕ(g), ϕ(An )) = dist(ϕ(g), An ). А следовательно, лю-
бая бент-функция под действием ϕ переходит в некоторую другую бент-
функцию.
Аналогично, Aut(Bn ) ⊆ Aut(An ). А именно для любого автоморфизма
ψ ∈ Aut(Bn ) и любой аффинной функции f выполняется dist(f, Bn ) =
dist(ψ(f ), ψ(Bn )) = dist(ψ(f ), Bn ). Отсюда согласно утверждениям 4 и 5
следует, что ψ(An ) = An .
Получаем, что Aut(Bn ) = Aut(An ). Из утверждения 6 следует конкрет-
ный вид этой группы. 

Таким образом, если отображение (3.6) переводит класс бент-функций


в себя, то оно имеет вид g(x) → g(Ax ⊕ b) ⊕ hc, xi ⊕ d. Напомним, что бент-
функции, получающиеся одна из другой с помощью такого отображения
называются аффинно эквивалентными. Из полученных результатов следу-
ет, что более общего подхода к эквивалентности бент-функций на основе
изометричных отображений не существует.

85
86
Глава 4

Понятие k-бент-функции.
Конструкции и свойства

Глава посвящена k-бент-функциям — новому обобщению бент-функций.


Сначала рассматриваются нелинейные двоичные коды типа Адамара спе-
циального вида, на которых возможно задание групповой операции, со-
гласованной с метрикой Хэмминга. Затем на основе этих кодов определя-
ется бинарная операция на множестве всех двоичных векторов, облада-
ющая многими свойствами скалярного произведения. Далее определяется
k-преобразование Уолша—Адамара и с его помощью вводится понятие k-
бент-функции.

4.1 Определения и обозначения

Введем понятия и обозначения, которые потребуются далее. Вектор дли-


ны m с компонентами из кольца Z4 будем называть четверичным. Весом
Ли wtL (·) четверичного вектора называется обычная сумма весов его ком-
понент, где

wtL (0) = 0, wtL (1) = wtL (3) = 1, wtL (2) = 2.

Расстояние Ли dL (x, y) между четверичными векторами x и y одинаковой


длины определяется равенством dL (x, y) = wtL (x − y). Пусть hZn4 , dL i —

87
метрическое пространство на множестве всех четверичных векторов дли-
ны n с метрикой Ли. Знаком + будем обозначать операцию сложения по
модулю 4. Параметры четверичного кода обозначим через (n, M, d)4 . Через
0, 1, 2 и 3 обозначим векторы со всеми компонентами, равными 0, 1, 2 и 3
соответственно. Пусть β, γ : Z4 → Z2 — следующие отображения:
c β(c) γ(c)
0 0 0
1 0 1
2 1 1
3 1 0
Пусть ϕ : Z4 → Z22 — отображение Грея: ϕ(c) = (β(c), γ(c)) для c ∈ Z4 .
Отметим, что ϕ в отличие от β, γ взаимно однозначно. Отображения β, γ
и ϕ покоординатно продолжаются до отображений β, γ : Zi4 → Zi2 и ϕ :
Zi4 → Z2i
2 для любого целого i. Напомним, что ϕ согласно [120] является
изометрией, т. е. для любых x, y ∈ Zi4
dL (x, y) = dH (ϕ(x), ϕ(y)).
Код длины n над Z4 называется линейным, если он является подгруппой
группы Zn4 (правильнее такой код было бы называть групповым). Двоич-
ный код C называется Z4 -линейным, если код ϕ−1 (C) линеен.

4.2 Коды с параметрами кодов Адамара

В этом разделе определяются двоичные коды Akm типа Адамара с заданной


на них групповой операцией.
Пусть m — натуральное, n = 2m , k — фиксированное целое такое, что
0 6 k 6 m/2. Пусть Gkm — четверичная матрица размера (m − k) × n,
состоящая из лексикографически упорядоченных столбцов zT , где z ∈ Zk4 ×
(2Z4 )m−2k . Например,
!
  0022  
G1 = 02 , G02 =
0
, G12 = 0123 ,
0202

88
 
00002222 !
00112233
G03 = 
  1
00220022 , G3 = ,
  02020202
02020202
 
0000111122223333 !
0000111122223333
G14 = 
  2
0022002200220022  , G4 = .
  0123012301230123
0202020202020202

Матрицы такого вида впервые рассматривались Д. С. Кротовым в ра-


ботах [10] и [139] для построения Z4 -линейных кодов типа Адамара длины
2n и получения их полной классификации.
Определим отображение ϕk : Zk4 × Zm−2k
2 → Zm
2 по правилу:

ϕk : (u0 , u00 ) → (ϕ(u0 ), u00 ) для любых векторов u0 ∈ Zk4 , u00 ∈ Zm−2k
2 .

Аналогично тому, как это сделано в [57], определим бинарную операцию

? : Zm m m
2 × Z2 → Z2

следующим образом:

u ? v = ϕk (ϕ−1 −1 m
k (u)+̇ϕk (v)) для любых векторов u, v ∈ Z2 ,

где +̇ обозначает сложение над Z4 для первых k координат векторов ϕ−1


k (u),
ϕ−1
k (v) и сложение над Z2 для оставшихся m − 2k координат. Пусть четве-
ричный вектор hu длины n определяется как

hu = ϕ−1 k
k (u) · Gm . (4.1)

Нетрудно заметить, что для любых векторов u, v ∈ Zm


2 справедливо

hu + hv = hu?v . (4.2)

Рассмотрим четверичную квадратную матрицу Ckm = (cku,v ), u, v ∈ Zm


2 ,
порядка n, строками которой являются всевозможные векторы hu , распо-
ложенные в порядке лексикографического возрастания векторов ϕ−1
k (u).
Например,

89
   
0000 0000
!    
00 0202 0123
C01 = , C02 =   , C12 = 
   
,
02 0022
 
0202
 

0220 0321
   
00000000 00000000
   
02020202 02020202
   
   
00220022 00112233
   
02200220 02132031
C03 =   , C13 =  .
   
00002222 00220022
   
02022020 02200220
   
   
00222200 00332211
   
02202002 02312013
Считаем, что столбцы матрицы Ckm также нумеруются векторами v в по-
рядке лексикографического возрастания векторов ϕ−1
k (v). Например, век-
торы u для нумерации строк матриц C14 и C24 в нужном порядке приведены
в таблицах 1 и 2. При этом каждому вектору u удобно сопоставлять целое
число ũ = 8u1 + 4u2 + 2u3 + u4 .
В таблицах 3 и 4 приведены матрицы C14 и C24 вместе с нумерацией их
строк и столбцов.
Пусть Js — квадратная матрица порядка s (где s — любое натуральное
число), состоящая из всех единиц. Для квадратных матриц A = (ai,j ) и
B порядков p и q соответственно обозначим через A ⊗ B их кронекерово
произведение  
a B . . . a1p B
 11 
A⊗B =
 ... ... ... .

ap1 B . . . app B

90
ũ u ϕ−1
1 (u) ũ u ϕ−1
2 (u)
0 0000 000 0 0000 00
1 0001 001 1 0001 01
2 0010 010 3 0011 02
3 0011 011 2 0010 03
4 0100 100 4 0100 10
5 0101 101 5 0101 11
6 0110 110 7 0111 12
7 0111 111 6 0110 13
12 1100 200 12 1100 20
13 1101 201 13 1101 21
14 1110 210 15 1111 22
15 1111 211 14 1110 23
8 1000 300 8 1000 30
9 1001 301 9 1001 31
10 1010 310 11 1011 32
11 1011 311 10 1010 33

Таблица 1. Векторы для C14 . Таблица 2. Векторы для C24 .

c1u,v 0 1 2 3 4 5 6 7 12 13 14 15 8 9 10 11 c2u,v 0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 1 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
2 0 0 2 2 0 0 2 2 0 0 2 2 0 0 2 2 3 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2
3 0 2 2 0 0 2 2 0 0 2 2 0 0 2 2 0 2 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1
4 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 4 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3
5 0 2 0 2 1 3 1 3 2 0 2 0 3 1 3 1 5 0 1 2 3 1 2 3 0 2 3 0 1 3 0 1 2
6 0 0 2 2 1 1 3 3 2 2 0 0 3 3 1 1 7 0 2 0 2 1 3 1 3 2 0 2 0 3 1 3 1
7 0 2 2 0 1 3 3 1 2 0 0 2 3 1 1 3 6 0 3 2 1 1 0 3 2 2 1 0 3 3 2 1 0
12 0 0 0 0 2 2 2 2 0 0 0 0 2 2 2 2 12 0 0 0 0 2 2 2 2 0 0 0 0 2 2 2 2
13 0 2 0 2 2 0 2 0 0 2 0 2 2 0 2 0 13 0 1 2 3 2 3 0 1 0 1 2 3 2 3 0 1
14 0 0 2 2 2 2 0 0 0 0 2 2 2 2 0 0 15 0 2 0 2 2 0 2 0 0 2 0 2 2 0 2 0
15 0 2 2 0 2 0 0 2 0 2 2 0 2 0 0 2 14 0 3 2 1 2 1 0 3 0 3 2 1 2 1 0 3
8 0 0 0 0 3 3 3 3 2 2 2 2 1 1 1 1 8 0 0 0 0 3 3 3 3 2 2 2 2 1 1 1 1
9 0 2 0 2 3 1 3 1 2 0 2 0 1 3 1 3 9 0 1 2 3 3 0 1 2 2 3 0 1 1 2 3 0
10 0 0 2 2 3 3 1 1 2 2 0 0 1 1 3 3 11 0 2 0 2 3 1 3 1 2 0 2 0 1 3 1 3
11 0 2 2 0 3 1 1 3 2 0 0 2 1 3 3 1 10 0 3 2 1 3 2 1 0 2 1 0 3 1 0 3 2

Таблица 3. Матрица C14 . Таблица 4. Матрица C24 .

Далее будут использоваться следующие свойства матриц Ckm .

91
Утверждение 7. При любых целых m, k таких, что 0 6 k 6 m/2,
справедливы равенства
(i) Ckm+1 = (Ckm ⊗ J2 ) + (Jn ⊗ C01 );
k+1
(ii) Cm+2 = (J4 ⊗ Ckm ) + (C12 ⊗ Jn );
(iii) (Ckm )T = Ckm .

Доказательство. Пусть Gkm = (zT1 , . . . , zTn ). Тогда матрица Gkm+1 имеет


вид
 zT zT . . . zT zT 
1 1 n n
Gkm+1 = .
0 2 ... 0 2
Пусть hu = (h1 , . . . , hn ). По определению имеем h(u,a) = ϕ−1 k
k (u, a) · Gm+1 .
Используя определение отображения ϕ−1
k , получаем h
(u,a)
= (ϕ−1
k (u), a) ·
Gkm+1 = (h1 , h1 + 2a, . . . , hn , hn + 2a) для любого a ∈ Z2 . Таким образом,
чтобы получить матрицу Ckm+1 , каждый элемент cku,v матрицы Ckm надо
!
cku,v cku,v
заменить на матрицу k k
. Другими словами, имеем Ckm+1 =
cu,v cu,v + 2
(Ckm ⊗ J2 ) + (Jn ⊗ C01 ), т. е. справедливо (i).
Пусть δ = ϕ−1 (a, b) для a, b ∈ Z2 . Непосредственно из вида матрицы
 0...0 1...1 2...2 3...3 
Gk+1
m+2 =
Gkm Gkm Gkm Gkm

следует, что h(a,b,u) = (δ, ϕ−1 k+1 u u u u


k (u)) · Gm+1 = (h , h + δ1, h + δ2, h + δ3),
откуда получаем соотношение (ii).
Равенство (iii) следует из (i), (ii) и равенства (A ⊗ B)T = AT ⊗ B T . 

Пусть четверичный код Akm состоит из всех векторов hu и hu + 2.

Утверждение 8 [139]. Код Akm линеен и имеет параметры (n, 2n, n)4 .

Определим следующие двоичные коды длин n и 2n соответственно:

Akm = β(Akm ), k
Hm = ϕ(Akm ).

92
Несложно убедиться в том, что мощности этих кодов совпадают и равны
2n. Код Akm можно определить также как γ(Akm ). Отметим, что согласно
[139] любой Z4 -линейный код типа Адамара длины 2n эквивалентен одному

из кодов ϕ Akm ∪ (Akm + 1) , где k пробегает значения 1, . . . , bm/2c.
Ядром двоичного кода C, содержащего нулевой вектор, называется мак-
симальный линейный подкод Ker(C) кода C такой, что x ⊕ C = C для
любого вектора x ∈ Ker(C).

0 1
Утверждение 9 [139] . Коды Hm и Hm линейны. При k > 1 справедли-
k
во равенство | Ker(Hm )| = 2m−k+1 .

Нетрудно установить следующий факт.

Утверждение 10. При любом целом k, 0 6 k 6 m/2, справедливо


равенство Ker(Akm ) = β(ϕ−1 (Ker(Hm
k
))).

k
Доказательство. Пусть ϕ(x) ∈ Ker(Hm ) для некоторого x ∈ Akm . То-
k k
гда ϕ(x) ⊕ Hm = Hm и следовательно, β(x) ⊕ Akm = Akm . Отсюда следует,
что Ker(Akm ) ⊇ β(ϕ−1 (Ker(Hm
k
))).
Обратно, пусть β(x) ∈ Ker(Akm ) для некоторого x ∈ Akm . Сначала пока-
жем, что вектор γ(x) также принадлежит Ker(Akm ). Действительно, из ли-
нейности четверичного кода Akm и равенства β(2x + Akm ) = β(2x) ⊕ Akm сле-
дует, что β(2x) ∈ Ker(Akm ). В силу линейности двоичного подкода Ker(Akm )
получаем γ(x) = β(x) ⊕ β(2x) ∈ Ker(Akm ). Тогда из равенства Akm =
β(Akm ) = γ(Akm ) и того, что векторы β(x), γ(x) принадлежат множеству
Ker(Akm ), следует ϕ(x) ∈ Ker(Hm
k
) (для этого достаточно заметить, что если
β(x) ⊕ β(y) = β(z) для некоторых векторов y, z, то справедливо также ра-
венство γ(x) ⊕ γ(y) = γ(z)). Таким образом, Ker(Akm ) ⊆ β(ϕ−1 (Ker(Hm
k
))).
Утверждение 10 доказано. 

Напомним, что двоичные коды C и C 0 длины n эквивалентны, если


существуют вектор x ∈ Zn2 и подстановка τ на n элементах такие, что

93
выполняется x ⊕ C = τ (C 0 ), где τ (C 0 ) = { τ (y) | y ∈ C 0 }. Отметим, что
на множестве Akm отображение β обратимо, что, вообще говоря, неверно
bm/2c
для Zn2 . Поэтому из утверждений 9 и 10 следует, что коды A1m , . . . , Am
попарно неэквивалентны.
На кодовых словах кода Akm определим бинарную операцию

• : Akm × Akm → Akm ,

согласованную с операцией + на множестве Akm . А именно пусть

x • y = β(β −1 (x) + β −1 (y)) для любых векторов x, y ∈ Akm . (4.3)

Нетрудно видеть, что (Akm , •) является абелевой группой. Через x−1 обо-
значим вектор, обратный вектору x ∈ Akm относительно операции •. Имеет
место равенство β −1 (x−1 ) = −β −1 (x).
Приведем некоторые свойства, которыми обладает операция •.

Утверждение 11. Для любых x, y, z ∈ Akm верны соотношения:


(i) wtH (x) = 12 wtL (β −1 (x));
(ii) dH (x, y) = wtH (x • y−1 );
(iii) dH (x, y) = 12 dL (β −1 (x), β −1 (y)).

Доказательство. (i) Пусть x0 = β −1 (x) — соответствующий кодовый


вектор кода Akm . Обозначим через bc число координат вектора x0 , равных c,
где c ∈ Z4 . Имеем wtL (x0 ) = b1 + 2b2 + b3 и wtH (x) = b2 + b3 . По построению
матрицы Gkm для любого ее столбца zT1 найдется единственный столбец zT2
этой матрицы такой, что zT2 = 3zT1 (возможно zT1 = zT2 ). Отсюда следует,
что в любом кодовом слове кода Akm число компонент, равных 1, совпадает
с числом компонент, равных 3. Таким образом, из того что b1 = b3 , следует
требуемое равенство.
(ii) Пусть x0 = β −1 (x), y0 = β −1 (y) — соответствующие кодовые векторы
кода Akm . Тогда
1 1
wtH (x • y−1 ) = wtL (β −1 (x • y−1 )) = wtL (x0 − y0 ).
2 2
94
Множество ненулевых компонент произвольного двоичного вектора v обо-
значим через supp(v). Через Ic обозначим множество всех компонент векто-
ра x0 −y0 равных c, c ∈ Z4 , и пусть |Ic | = bc . Имеем wtL (x0 −y0 ) = b1 +2b2 +b3 .
Согласно (4.3) имеем
supp(x • y−1 ) = I2 ∪ I3 ,

и, следовательно, wtH (x • y−1 ) = b2 + b3 . Для любого c ∈ Z4 определим


подмножество Ic1,3 множества Ic , состоящее из всех компонент s ∈ Ic таких,
что ys0 ∈ {1, 3}. Тогда, исходя из определения отображения β, получаем

supp(x ⊕ y) = I11,3 ∪ I2 ∪ (I3 \ I31,3 ).

Заметим, что, вообще говоря, вектор x ⊕ y не принадлежит коду Akm .


Опираясь на упомянутое в пункте (i) свойство матрицы Gkm (для любо-
го ее столбца zT1 найдется единственный столбец zT2 этой матрицы такой,
что zT2 = 3zT1 ), получаем, что |I11,3 | = |I31,3 | = r. Отсюда следует, что
dH (x, y) = wtH (x ⊕ y) = r + b2 + (b3 − r) = b2 + b3 = wtH (x • y−1 ).
Равенство (iii) несложно вытекает из (i) и (ii). 

Согласно утверждениям 8 и 11 код Akm имеет кодовое расстояние n/2.


Таким образом, из утверждений 8, 9, 10 и 11 следует

Теорема 53. При целых m, k, таких что 1 6 k 6 m/2, выполняется


(i) код Akm является (n, 2n, n/2)2 -кодом типа Адамара;
(ii) код A1m линеен, при k > 2 справедливо | Ker(Akm )| = 2m−k+1 , где через
Ker(Akm ) обозначено ядро кода.
(iii) операция •, заданная на Akm , согласована с метрикой Хэмминга:
для любых x, y ∈ Akm имеет место dH (x, y) = wtH (x • y−1 ), где y−1 обо-
значает кодовое слово Akm такое, что y • y−1 = 0.

95
4.3 Бинарная операция hu, vik

Итак, пусть Ckm = (cku,v ) — выше определенная четверичная квадратная


матрица порядка n, где векторы u, v пробегают пространство Zm
2 в порядке
лексикографического возрастания векторов ϕ−1 −1
k (u) и ϕk (v) соответствен-
но. При любом целом k, 0 6 k 6 m/2, определим бинарную операцию

h·, ·ik : Zm m
2 × Z2 → Z2

следующим образом:

hu, vik = β(cku,v ) для любых u, v ∈ Zm


2 . (4.4)

Операция h·, ·i0 совпадает с обычным скалярным произведением, т. е.

hu, vi0 = hu, vi.

Далее будем использовать оба эти обозначения.


Пусть πk обозначает подстановку (1, 2)(3, 4) . . . (2k − 1, 2k) на m элемен-
тах, представленную в виде произведения транспозиций. Другими слова-
ми, вектор πk (u) получается из вектора u ∈ Zm
2 , если поменять местами
координаты в каждой паре, образующей (под действием отображения ϕ−1
k )
Z4 -координату. Заметим, что для любого вектора u ∈ Zm
2 сумма строк
матрицы Ckm , отвечающих векторам u и πk (u), равна нулевому вектору.
Свойства операции h·, ·ik приведены в следующем утверждении.

Утверждение 12. Пусть m ∈ N, k — целое, 0 6 k 6 m/2. Тогда при


любых векторах u, v, w ∈ Zm
2 выполняются соотношения:

(i) hu, vik = hv, uik ;


(ii) hau, vik = ahu, vik для любого a ∈ Z2 ;
(
2m , если u = w,
(−1)hu,vik ⊕hw,vik =
P
(iii)
v∈Zm
2 0 в противном случае;

(iv) h(u, a), (v, b)ik = hu, vik ⊕ ab для любых a, b ∈ Z2 ;

96
(v) h(a, a0 ), (b, b0 )i1 = h(a0 , a), (b, b0 )i0 для любых a, a0 , b, b0 ∈ Z2 ;

(vi) h(a, a0 , u), (b, b0 , v)ik+1 = h(a, a0 ), (b, b0 )iε ⊕ hu, vik , для любых a, a0 , b,
b0 ∈ Z2 , где параметр ε ∈ Z2 определяется как ε = hu, vik ⊕hπk (u), vik ⊕1;

(vii) hu, wik ⊕ hv, wik =  


hu ? v, wik ⊕ hu, wik ⊕ hπk (u), wik hv, wik ⊕ hπk (v), wik .

Доказательство. Соотношение (i) следует из утверждения 7, равен-


ство (ii) — из определения матрицы Ckm .
(iii) Заметим, что левая часть равенства равна 2m − 2dH (β(hu ), β(hw )).
Отсюда и из теоремы 53 вытекает требуемое. Действительно, если u 6= w,
то кодовые слова β(hu ) и β(hw ) кода Akm типа Адамара находятся друг от
друга на расстоянии 2m−1 .
(iv) Согласно утверждению 7, см. (i), справедливо равенство ck(u,a),(v,b) =
cku,v + 2ab, из которого следует (iv).
(v) Следует из определения, согласно которому
h·, ·i0 00011011 h·, ·i1 00011011
00 0 0 0 0 00 0 0 0 0
01 0 1 0 1 01 0 0 1 1
10 0 0 1 1 10 0 1 0 1
11 0 1 1 0 11 0 1 1 0
(vi) Из утверждения 7, см. (ii), следует, что ck+1 −1 0
(a,a0 ,u),(b,b0 ,v) = ϕ (a, a ) ·
ϕ−1 (b, b0 ) + cku,v . Сперва непосредственной проверкой установим, что имеют
место равенства

h(a, a0 ), (b, b0 )i0 = γ(ϕ−1 (a, a0 ) · ϕ−1 (b, b0 )),

h(a, a0 ), (b, b0 )i1 = β(ϕ−1 (a, a0 ) · ϕ−1 (b, b0 )).


Действительно, эти равенства несложно получить, используя пункт (v).
Далее нетрудно видеть, что для любых p, q ∈ Z4 выполняется
(
β(q), если p равно 0 или 2,
β(p + q) = β(p) ⊕
γ(q) в противном случае.

97
Отсюда следует, что h(a, a0 , u), (b, b0 , v)ik+1 = β(ck+1 k
(a,a0 ,u),(b,b0 ,v) ) = β(cu,v ) ⊕
h(a, a0 ), (b, b0 )iε , где ε равно 1, если cku,v ∈ {0, 2}, и равно 0 в противном
случае. Заметим, что cku,v принадлежит {0, 2} тогда и только тогда, ко-
гда β(cku,v ) = γ(cku,v ). Поскольку из определения подстановки πk следует
равенство
ckπk (u),v = 3cku,v ,
и для любого p ∈ Z4 , как нетрудно заметить, β(3p) = γ(p), то для парамет-
ра ε получаем соотношение ε ⊕ 1 = β(cku,v ) ⊕ γ(cku,v ) = β(cku,v ) ⊕ β(3cku,v ) =
hu, vik ⊕ hπk (u), vik .
(vii) Поскольку выполняется hu + hv = hu?v (см. (4.2)), имеем cku,w +
ckv,w = cku?w . Заметим, что для любых p, q ∈ Z4 равенство β(p)⊕β(q) = β(p+
q) справедливо тогда и только тогда, когда хотя бы один из элементов p, q
равен 0 или 2. Согласно предыдущему пункту cku,w принадлежит множеству
k
{1, 3}, если и толькоесли hu, wik ⊕ hπk (u), wik = 1. Поэтому β(c  u,w ) ⊕
β(ckv,w ) = β(cku?v,w ) ⊕ hu, wik ⊕ hπk (u), wik hv, wik ⊕ hπk (v), wik , что и
требовалось показать. Утверждение 12 доказано. 

Замечание. Операция hu, vik не является билинейной формой при k > 2.


Это следует из Утверждения 20, которое будет приведено в разделе 5.5.
Найдем явное представление для произведения hu, vik .

Теорема 54. Пусть m, k — целые, 1 6 k 6 m/2. Для любого целого i,


1 6 i 6 m/2, и любых u, v ∈ Zm
2 пусть Yi = (u2i−1 ⊕ u2i )(v2i−1 ⊕ v2i ). Тогда

k M
M k 
hu, vik = Yi Yj ⊕ hu, vi.
i=1 j=i

Доказательство. Докажем теорему индукцией по k.


При k = 1 согласно пунктам (iv) и (v) утверждения 12 имеем
m
M
hu, vi1 = u2 v1 ⊕ u1 v2 ⊕ ui vi = (u1 ⊕ u2 )(v1 ⊕ v2 ) ⊕ hu, vi = Y1 ⊕ hu, vi.
i=3

98
Заметим, что для любого j справедливо Yj2 = Yj , откуда получаем требуе-
мое.
Пусть теорема справедлива для некоторого k, 1 6 k 6 (m − 2)/2. Пока-
жем, что она имеет место и для k + 1. По утверждению 12, см. пункт (vi),
выполняется

hu, vik+1 = h(u1 , u2 ), (v1 , v2 )iε ⊕ h(u3 , . . . , um ), (v3 , . . . , vm )ik , (4.5)

где ε = h(u3 , . . . , um ), (v3 , . . . , vm )ik ⊕ hπk (u3 , . . . , um ), (v3 , . . . , vm )ik ⊕ 1.


По предположению индукции имеем
k+1 M
M k+1  m
M
h(u3 , . . . , um ), (v3 , . . . , vm )ik = Yi Yj ⊕ us vs ,
i=2 j=i s=3

и, как нетрудно видеть,

hπk (u3 , . . . , um ), (v3 , . . . , vm )ik =


Mk+1 M k+1  M k+1 m
M

Yi Yj ⊕ u2j v2j−1 ⊕ u2j−1 v2j ⊕ us vs .
i=2 j=i j=2 s=2k+3
L 
k+1
Отсюда следует, что ε = j=2 Yj ⊕ 1. Тогда первое слагаемое в правой
части равенства (4.5) согласно пункту (v) утверждения 12 имеет вид

h(u1 , u2 ), (v1 , v2 )iε = (ε ⊕ 1)(u1 v1 ⊕ u2 v2 ) ⊕ ε(u2 v1 ⊕ u1 v2 ) = εY1 ⊕ u1 v1 ⊕ u2 v2 .

Подставляя выражение для ε и используя равенство Y12 = Y1 , получаем


k+1
M 
h(u1 , u2 ), (v1 , v2 )iε = Y1 Yj ⊕ u 1 v 1 ⊕ u 2 v 2 .
j=1

Таким образом, имеем следующее выражение для hu, vik+1 :


k+1
! k+1 M
k+1 m
!
M  M  M
hu, vik+1 = Y1 Yj ⊕ u 1 v 1 ⊕ u 2 v 2 ⊕ Yi Yj ⊕ us vs ,
j=1 i=2 j=i s=3

и следовательно,
k+1 M
M k+1 
hu, vik+1 = Yi Yj ⊕ hu, vi.
i=1 j=i

99


Следствие 1. Для любых векторов u, v ∈ Zm


2 и любого целого k, та-
кого что 1 6 k 6 m/2, выполняется равенство
k
M
hu, vik ⊕ hπk (u), vik = Yi .
i=1

Следствие 2. Для любых u, v ∈ Zm


2 и произвольного целого k, такого
что 1 6 k 6 (m − 2)/2, справедливо равенство
k+1
M 
hu, vik+1 = hu, vik ⊕ Yk+1 Yi .
i=1

Как нетрудно заметить, координаты u1 , . . . , um (также как и v1 , . . . , vm )


участвуют в операции h·, ·ik неравноправно. А именно при данном k в точ-
ности 2k первых координат каждого из векторов u, v входят в квадратич-
ные и линейные слагаемые; остальные координаты — только в линейные.
Из теоремы 54 легко следует, что

hu, vi1 = hu, v̂i, (4.6)

где v̂ получен из вектора v перестановкой координат v1 и v2 .


В качестве примера приведем выражение для операции h·, ·i2 при m = 4:

hu, vi2 = (u1 ⊕ u2 )(u3 ⊕ u4 )(v1 ⊕ v2 )(v3 ⊕ v4 ) ⊕ u2 v1 ⊕ u1 v2 ⊕ u4 v3 ⊕ u3 v4 (4.7)

и операции h·, ·i3 при m = 6:


hu, vi3 = (u1 ⊕ u2 )(u3 ⊕ u4 )(v1 v3 ⊕ v1 v4 ⊕ v2 v3 ⊕ v2 v4 )
⊕(u1 ⊕ u2 )(u5 ⊕ u6 )(v1 v5 ⊕ v1 v6 ⊕ v2 v5 ⊕ v2 v6 )
⊕(u3 ⊕ u4 )(u5 ⊕ u6 )(v3 v5 ⊕ v3 v6 ⊕ v4 v5 ⊕ v4 v6 )
⊕u2 v1 ⊕ u1 v2 ⊕ u4 v3 ⊕ u3 v4 ⊕ u6 v5 ⊕ u5 v6 .

100
4.4 Понятие k-аффинной функции

Пусть каждому вектору кода Akm , где m ∈ N, k — целое, 0 6 k 6 m/2,


отвечает булева функция g ∈ Fm , для которой этот вектор является векто-
ром значений, причем g(v) = hu, vik ⊕ a для некоторых u ∈ Zm
2 , a ∈ Z2 и
произвольного v ∈ Zm
2 . Множество всех таких функций от m переменных
назовем множеством k-аффинных функций 1 и обозначим через Akm . Ясно,
что |Akm | = 2m+1 . Из теоремы 54 следует

Утверждение 13. При любом m ∈ N, целом k, 0 6 k 6 m/2, класс


Akm состоит из функций вида
k M
M k 
g(v) = (u2i−1 ⊕ u2i )(u2j−1 ⊕ u2j )(v2i−1 ⊕ v2i )(v2j−1 ⊕ v2j ) ⊕
i=1 j=i
m
M 
us vs ⊕ a, (4.8)
s=1

где вектор u пробегает Zm


2 и a — любой элемент поля Z2 .

Например, произвольная функция g из класса A24 однозначно определя-


ется двоичным вектором (u1 , u2 , u3 , u4 ) и элементом a ∈ Z2 :

g(v1 , v2 , v3 , v4 ) = (u1 ⊕ u2 )(u3 ⊕ u4 )(v1 v3 ⊕ v1 v4 ⊕ v2 v3 ⊕ v2 v4 ) ⊕


u2 v1 ⊕ u1 v2 ⊕ u4 v3 ⊕ u3 v4 ⊕ a.

Класс A24 состоит из 24 аффинных функций и 8 квадратичных функций.


Квадратичные функции задаются векторами

u ∈ { (0101), (0110), (1001), (1010) }

и произвольным значением a.
Напомним, что степенью нелинейности (или рангом) deg f булевой
функции f называется число переменных в самом длинном слагаемом ее
1
Термин «k-аффинная функция» в другом значении уже использовался М. Л. Буряковым и
О. А. Логачевым [4]. Параметр k в их работе не имеет ничего общего с параметром, определяемым
здесь. К сожалению, такое совпадение терминов было замечено уже достаточно поздно.

101
алгебраической нормальной формы (или многочлена Жегалкина). Из утвер-
ждения 13 следует, что степень булевой функции из произвольного класса
Akm не превышает 2. Справедливо

Утверждение 14. Для любого m ∈ N и целого k, 0 6 k 6 m/2, класс


Akm содержит ровно 2m−k+1 (k + 1) аффинных функций и 2m−k+1 (2k − k − 1)
квадратичных функций.

Доказательство. Согласно утверждению 13 функция g(v) = hu, vik ⊕


a является аффинной тогда и только тогда, когда для вектора u выполнено
любое из следующих условий:
1) для всех j, 1 6 j 6 k, справедливо u2j−1 = u2j ;
2) найдется единственный номер j, 1 6 j 6 k, такой что u2j−1 6= u2j .
Число векторов u первого типа равно 2m−k , второго типа равно k2m−k .
Отсюда следует, что число аффинных функций в Akm равно 2m−k+1 (k + 1).
Число квадратичных функций получаем как 2m+1 − 2m−k+1 (k + 1). 

Таким образом, классы A0m , A1m совпадают с классом всех аффинных


функций. Несложно доказать
m/2
Следствие 3. Доля аффинных функций в Am стремится к нулю с
ростом m.

4.5 Понятие k-бент-функции

Для любого m ∈ N и целого k, 0 6 k 6 m/2, целочисленную функцию


(k)
Wf , заданную на множестве Zm
2 равенством

(k)
X
Wf (v) = (−1)hu,vik ⊕f (u) для любого v ∈ Zm
2 ,
u∈Zm
2

назовем k-преобразованием Уолша—Адамара булевой функции f ∈ Fm .

102
(0)
Заметим, что Wf является обычным преобразованием Уолша—Адамара
Wf . Поскольку матрица β(Ckm ) после замены каждого ее элемента c на
(−1)c является матрицей Адамара (как это следует из теоремы 53), для
(k)
Wf имеет место аналог равенства Парсеваля, см. например, [19, гл. 6].
Для полноты изложения приведем доказательство этого факта.
(k)
Теорема 55. (равенство Парсеваля для Wf ). При любом m ∈ N
и целом k, 0 6 k 6 m/2, для любой функции f ∈ Fm выполняется
X  (k) 2
Wf (v) = 22m .
v∈Zm
2

(k)
Доказательство. По определению преобразования Wf имеем
XX 2
(k)
X
hu,vik ⊕f (u)
(Wf (v))2 = (−1) =
v∈Zm
2 v∈Zm
2 u∈Zm
2
X X
(−1)hu,vik ⊕f (u)⊕hw,vik ⊕f (w) =
v∈Zm m
2 u,w∈Z2

(меняя порядок суммирования и используя пункт (iii) утверждения 12)


X X X
= (−1)f (u)⊕f (w) (−1)hu,vik ⊕hw,vik = 2m = 22m .
u,w∈Zm
2 v∈Zm
2 u∈Zm
2

Расстояние между функцией f ∈ Fm и множеством функций Akm назо-


(k)
вем k-нелинейностью функции f и обозначим через Nf .
(k) (k)
Утверждение 15. Справедливо равенство Nf = 2m−1 − 21 maxm |Wf (v)|.
v∈Z2

Доказательство. Пусть gv = β(hv ), где hv — строка матрицы Ckm ,


отвечающая вектору v ∈ Zm v
2 . Имеем g (u) = hv, uik . Тогда

(k)
Nf = min dist(f, g) = minm { dH (f , gv ), dH (f , gv ⊕ 1) }.
g∈Akm v∈Z2

103
(k)
Из определения Wf и пункта (i) утверждения 12 следуют равенства
1 (k) 1 (k)
dH (f , gv ) = 2m−1 − Wf (v), dH (f , gv ⊕ 1) = 2m−1 + Wf (v),
2 2
из которых получаем
(k)

m−1 1 (k)  1 (k)
Nf = minm 2 − |Wf (v)| = 2m−1 − maxm |Wf (v)|.
v∈Z2 2 2 v∈Z2
Утверждение 15 доказано. 

Из теоремы 55 следует неравенство


(k)
maxm |Wf (v)| > 2m/2 . (4.9)
v∈Z2

Поэтому k-нелинейность функции f не превышает величины 2m−1 −2(m/2)−1 .


По аналогии с определениями максимально нелинейной функции и бент-
функции введем следующие понятия.

Определение 20. Для любых m, k ∈ N, 1 6 k 6 m/2, булеву функцию


(j)
f ∈ Fm назовем максимально k-нелинейной, если каждый параметр Nf ,
j = 1, . . . , k, принимает максимальное возможное значение.

Другими словами, вектор значений максимально k-нелинейной функции


f ∈ Fm удален на максимально возможные расстояния от кодов A1m , . . . , Akm .

Определение 21. Для четного m, целого k, 1 6 k 6 m/2, булеву функ-


(j)
цию f ∈ Fm назовем k-бент-функцией, если все коэффициенты Wf (v),
j = 1, . . . , k, равны ±2m/2 .

В случае четного m эти определения, как станет ясно из дальнейшего,


эквивалентны. Класс всех k-бент-функций от m переменных обозначим
k
через Bm . Из пунктов (iv) и (v) утверждения 12 следует, что
(1)
Wf (v1 , v2 , v3 , . . . , vm ) = Wf (v2 , v1 , v3 , . . . , vm ).
1
Поэтому класс Bm представляет собой класс обычных бент-функций Bm .
1 m/2
Таким образом, Bm = Bm ⊇ · · · ⊇ Bm , и, как покажем далее, каждое
m/2
включение является строгим и Bm 6= ø.

104
4.6 k-Бент-функции от малого числа переменных

Описание. Рассмотрим малые значения параметра m.


Случай m = 2. Класс B21 состоит из всех функций, векторы значений
которых имеют нечетный вес Хэмминга; |B21 | = 8.
Случай m = 4. Сначала приведем пример функции ξ ∈ F4 такой, что
ξ ∈ B41 \ B42 :
ξ(u1 , u2 , u3 , u4 ) = u1 u2 ⊕ u2 u3 ⊕ u3 u4 .

Используя утверждение 12 и теорему 54, выпишем соответствующие на-


боры коэффициентов Wξ1 (v) и Wξ2 (v) в порядке лексикографического воз-
растания вектора v ∈ Z42 . Имеем

Wξ1 = (4, 4, 4, −4, 4, −4, 4, 4, 4, 4, 4, −4, −4, 4, −4, −4),

Wξ2 = (4, 4, 4, −4, 4, 0, 0, 4, 4, 8, 0, −4, −4, −4, 4, −4).

Приведем подробнее, например, вычисление коэффициентов Wξ1 (0101) и


Wξ2 (0101). Имеем
XX 
hu,0101ik ⊕ξ(u)
Wξk (0101) = (−1) для k = 1, 2.
u1 ,u2 u3 ,u4

Согласно теореме 54 имеем

hu, 0101i1 = u1 ⊕ u4 ,

hu, 0101i2 = u1 u3 ⊕ u1 u4 ⊕ u2 u3 ⊕ u2 u4 ⊕ u1 ⊕ u3 .

Поэтому

Wξ1 (0101) = (1 − 1 + 1 + 1) + (1 − 1 − 1 − 1) + (−1 + 1 − 1 − 1)


| {z } | {z } | {z }
(u1 ,u2 )=(00) (u1 ,u2 )=(01) (u1 ,u2 )=(10)
+ (1 − 1 − 1 − 1) = −4,
| {z }
(u1 ,u2 )=(11)

Wξ2 (0101) = (1+1−1+1)+(1−1−1−1)+(−1+1−1−1)+(1+1+1−1) = 0.

105
Из данного примера легко заключаем, что множество B41 \ B42 непусто.
Рассмотрим теперь каждый класс B41 и B42 в отдельности.
Известно [20], что множество B41 состоит из 896-ти булевых функций,
причем каждая функция является квадратичной, т. е. степени нелиней-
ности 2. Множество B41 можно разделить на 28 классов по 32 функции.
Алгебраические нормальные формы (или многочлены Жегалкина, а крат-
ко АНФ) функций из каждого класса обладают одинаковой квадратичной
частью, произвольной линейной частью и любым свободным членом. Если
рассмотреть граф на множестве переменных, а ребрами соединить те вер-
шины, которые образуют слагаемое в квадратичной части АНФ функции,
то эти 28 типов можно задать следующим образом:
r r r r r r r r
@
r r r r r r r @r
(3) (12) (12) (1)

Под каждым графом указано число типов, которые он определяет. Напри-


мер, имеется 12 типов квадратичной части, состоящей из трех слагаемых,
и только один тип из шести слагаемых.
Приведем простое описание класса B42 , используя интерпретацию в тер-
минах графов. Рассмотрим граф на четырех вершинах, которые пронуме-
руем цифрами от 1 до 4. Считаем, что вершина с номером i соответствует
переменной vi . Разделим вершины графа на две доли {1, 2} и {3, 4}. Из
28-ми графов, приведенных выше, выберем только те, в которых число
ребер, соединяющих вершины из разных долей, четно. Получим серию из
следующих 12-ти графов:
r r r r r r r r
@
r r r r r r r @r
(3) (4) (4) (1)

А именно, нумеруя вершины слева направо и сверху вниз, имеем


r r r r r r r r
@ @
r r r r r @r r @r

106
1r 2r r r r r r r r r r r r r r r
@ @ @ @
r r r r r @r r @r r r r @r r @r r r
3 4

Покажем, что множество B42 является объединением 12-ти классов 1-


бент-функций, каждый из которых отвечает одному из указанных графов.
Все функции из одного класса различаются только линейной частью и
свободным членом, их число равно 32. Таким образом, |B42 | = 384.

Переходя от графов к алгебраическим нормальным формам функций,


это утверждение формулируется следующим образом.

Теорема 56. Пусть параметры i1 , i2 , i3 и i4 принимают различные


значения от 1 до 4. Тогда множество функций B42 состоит из всех функ-
ций степени 2 с квадратичными частями вида:
vi1 vi2 ⊕ vi3 vi4 (3 типа);
vi1 vi2 ⊕ vi1 vi3 ⊕ vi2 vi4 при {i1 , i2 } = {1, 2} или {3, 4} (4 типа);
vi1 vi2 ⊕ vi2 vi3 ⊕ vi3 vi4 ⊕ vi1 vi3 при {i1 , i2 } = {1, 2} или {3, 4} (4 типа);
v1 v2 ⊕ v1 v3 ⊕ v1 v4 ⊕ v2 v3 ⊕ v2 v4 ⊕ v3 v4 (1 тип).

Доказательство. Очевидно, что B42 содержит только функции степени


2. Заметим, что если функция f принадлежит B42 , то функция f ⊕ 1 также
содержится в этом классе. Рассмотрим произвольную функцию fw ∈ B41
степени 2 вида fw (v) = f (v)⊕hw, vi, где вектор w фиксирован и через f (·)
обозначена квадратичная часть функции. Выясним при каких условиях
функция fw является 2-бент-функцией, т. е. когда все 2-коэффициенты
Уолша-Адамара этой функции равны ±4. Для произвольного вектора u =
(2)
(u1 , u2 , u3 , u4 ) рассмотрим коэффициент Wfw (u).
Пусть Z42 = V0 ∪ V1 , где множество V1 имеет вид

V1 = { (1010), (1001), (0110), (0101) },

и множество V0 содержит все остальные векторы длины 4. Заметим, что


для любого вектора u ∈ V0 выполняется (u1 ⊕ u2 )(u3 ⊕ u4 ) = 0, тогда как

107
(u1 ⊕ u2 )(u3 ⊕ u4 ) = 1 для любого u ∈ V1 . По определению имеем

hu, vi2 = (u1 ⊕ u2 )(u3 ⊕ u4 )(v1 v3 ⊕ v1 v4 ⊕ v2 v3 ⊕ v2 v4 )⊕


u2 v 1 ⊕ u 1 v 2 ⊕ u 4 v 3 ⊕ u 3 v 4 .

Тогда для любого вектора u ∈ V0 выполняется


(2)
X X
Wfw (u) = (−1)hu,vi2 ⊕fw (v) = (−1)hũ,vi⊕fw (v) = Wfw (ũ),
v∈Zm
2 v∈Zm
2

(2)
где ũ = (u2 , u1 , u4 , u3 ), и следовательно Wfw (u) = ±4, поскольку fw явля-
ется 1-бент-функцией.
Рассмотрим случай u ∈ V1 . Имеем
(2)
X
Wfw (u) = (−1)h ũ,v i⊕gw (v) = Wgw (ũ), (4.10)
v∈Zm
2

где функция gw задана равенством gw (v) = g(v) ⊕ hw, vi и

g(v) = (v1 v3 ⊕ v1 v4 ⊕ v2 v3 ⊕ v2 v4 ) ⊕ f (v).

Выясним при каких условиях данные четыре коэффициента


(2) (2) (2) (2)
Wfw (1010), Wfw (1001), Wfw (0110), Wfw (0101), (4.11)

равны ±4. Для 12-ти из 28 возможных вариантов функции f функция


g является 1-бент-функцией. А именно это 12 квадратичных функций f ,
указанные в формулировке теоремы:

108
f (v) g(v)
q q q q
q q v1 v2 ⊕ v3 v4 q q
@ v1 v2 ⊕ . . . ⊕ v3 v4
q q q q
q q v1 v3 ⊕ v2 v4 q q
@ v1 v4 ⊕ v2 v3
q q q q
q q
@ v1 v4 ⊕ v2 v3 q q v1 v3 ⊕ v2 v4
q q q q
q q
@ v1 v2 ⊕ . . . ⊕ v3 v4 q q v1 v2 ⊕ v3 v4
q q q q
q q v1 v3 ⊕ v2 v4 ⊕ v3 v4 q q
@ v1 v4 ⊕ v2 v3 ⊕ v3 v4
q q q q
q q v1 v2 ⊕ v1 v3 ⊕ v2 v4 q q
@ v1 v2 ⊕ v1 v4 ⊕ v2 v3
q q q q
q@q v1 v4 ⊕ v2 v3 ⊕ v3 v4 q q v1 v3 ⊕ v2 v4 ⊕ v3 v4
q q q q
q@q v1 v2 ⊕ v1 v4 ⊕ v2 v3 q q v1 v2 ⊕ v1 v3 ⊕ v2 v4
q q q q
q q v1 v2 ⊕ v2 v3 ⊕ v2 v4 ⊕ v3 v4 q q
@ v1 v2 ⊕ v1 v3 ⊕ v1 v4 ⊕ v3 v4
q q q q
q@q v1 v2 ⊕ v1 v4 ⊕ v2 v4 ⊕ v3 v4 q q v1 v2 ⊕ v1 v3 ⊕ v2 v3 ⊕ v3 v4
q q q q
q@q v1 v2 ⊕ v1 v3 ⊕ v1 v4 ⊕ v3 v4 q q v1 v2 ⊕ v2 v3 ⊕ v2 v4 ⊕ v3 v4
q q q q
q q v1 v2 ⊕ v1 v3 ⊕ v2 v3 ⊕ v3 v4 q q
@ v1 v2 ⊕ v1 v4 ⊕ v2 v4 ⊕ v3 v4

В каждом из этих 12-ти случаев, так как g есть 1-бент-функция, имеем


(2)
Wfw (u) = Wgw (ũ) = ±4, и следовательно fw принадлежит классу 2-бент-
функций при любом векторе w. Таким образом, мы показали, что класс
B42 содержит по крайней мере 12 × 32 = 384 функции. Проверим, что если
функция g не является 1-бент-функцией, то модуль хотя бы одного (напри-
мер, первого) коэффициента среди коэффициентов (4.11) всегда не равен
4, и следовательно, fw не может быть 2-бент-функцией в этом случае.
Поскольку выполняется
(
fw (v), при v ∈ V0
gw (v) =
fw (v) ⊕ 1, при v ∈ V1 ,
(2)
коэффициент Wfw (1010) согласно (4.10) можно представить в виде
(2)
Wfw (1010) = Wgw (0101) = S0 − S1 ,

где
X
Sδ = (−1)h (0101),v i⊕fw (v) , при δ = 0, 1.
v∈Vδ

109
Так как fw является 1-бент-функцией, имеем Wfw (0101) = S0 + S1 = ±4.
Тогда, как нетрудно заметить, в качестве необходимого условия для равен-
ства S0 − S1 = ±4 величина S1 должна быть равна ±4 или 0. Расписывая
S1 , получаем
 
w1 w3 ⊕f (1010) w4 ⊕f (1001)
S1 = (−1) (−1) + (−1) +
 
(−1)w2 (−1)w3 ⊕f (0110) + (−1)w4 ⊕f (0101) .
Тогда, как несложно заметить, для выполнения S1 ∈ {±4, 0} необходимо,
чтобы на множестве V1 функция f принимала значение 1 четное число раз.
Но АНФ каждой функции f из оставшихся 16-ти содержит нечетное число
одночленов из множества
{v1 v3 , v1 v4 , v2 v3 , v2 v4 },
т. е. при интерпретации на графе — нечетное число ребер между долями
{1, 2} и {3, 4}, а следовательно на множестве V1 каждая такая функция
принимает значение 1 нечетное число раз. Таким образом, необходимое
(2)
условие для Wfw (1010) = ±4 не выполнено, и следовательно в этом случае
функция fw не является 2-бент-функцией ни при каком векторе w. 

Замечания. Интересным следствием из теоремы 56 является тот факт,


что если к 2-бент-функции от четырех переменных прибавить произволь-
ную аффинную функцию, то в результате снова получится 2-бент-функция.
Осмелюсь предположить, что причиной этого является «эффект малых
значений» и при m > 4 подобное свойство для k-бент-функций наблюдать-
ся не будет.
Заметим, что при определении k-бент-функций существенными явля-
ются способ разбиения переменных на пары и порядок этих пар. Можно
рассматривать более общий подход (см. главу 5), при котором аппроксима-
ции булевых функций ведутся всеми функциями вида hu, π(v)ik , где π —
произвольная подстановка на m элементах, и тогда указанные выше огра-
ничения снимаются. Из теоремы 56 следует, что функция f ∈ B41 является

110
2-бент-функцией при любом разбиении переменных на пары тогда и толь-
ко тогда, когда пересечение графа ее квадратичной части с каждым из
графов
r r r r r r
@ @
r @r r @r r r

содержит четное число ребер. Легко видеть, что такому условию удовле-
творяют только функции с квадратичной частью вида
r r r r r r r r
@ @
r r r r r @r r @r

Их число равно 128.

k
m k Информация о классах Bm

2 1 |B21 | = 8

|B41 | = 896, см. описание в [20];


4 1, 2
|B42 | = 384, описание в [31]; число в [29];

|B61 | = 5 425 430 528 ' 232,3 , см. [43, 158, 179];

6 1, 2, 3 |B62 | > 4 · 896 = 3 584, следует из [29];

|B63 | > 4 · 384 = 1 536, следует из [29];

|B81 | > 1 559 994 535 674 013 286 400 ' 270,4 , см. [43];

|B82 | > 234,3 , следует из [43, 158, 179] и [29];


8 1, 2, 3, 4
|B83 | > 16 · 896 = 14 336, следует из [29];

|B84 | > 16 · 384 = 6 144, следует из [29];


Таблица 5. Оценки числа k-бент-функций от малого числа переменных.

111
Несложно теперь заметить, что множество из 28-ми графов квадратич-
ных частей 1-бент-функций разбивается на четыре множества. Одно состо-
ит из четырех указанных выше графов, отвечающих 2-бент-функциям при
любом разбиении переменных на пары, и остальные три множества содер-
жат по восемь графов, отвечающих 2-бент-функциям при каждом из трех
таких возможных разбиений в отдельности.
В таблице 5 приводится та весьма скромная информация о числе k-бент-
функций при малых значениях m, которая известна в настоящий момент.
Результаты по 1-бент-функциям и оценки их числа при любом m можно
найти в [19] и [78].

4.7 Индуктивный способ построения k-бент-функций

Приведем индуктивную конструкцию k-бент-функций от произвольного


числа переменных. А именно с помощью заданной k-бент-функции постро-
им k-бент-функции и (k +1)-бент-функции от большего числа переменных,
см. соответственно утверждения 16 и 17.

Утверждение 16. Пусть m, r ∈ N четны, k ∈ N такое, что 1 6 k 6


m/2, и пусть функция f ∈ Fm+r представима в виде

f (u0 , u00 ) = p(u0 ) ⊕ q(u00 ) для любых u0 ∈ Zm 00 r


2 , u ∈ Z2 ,

где p ∈ Fm , q ∈ Fr — функции с непересекающимися множествами пере-


k
менных. Тогда функция f принадлежит классу Bm+r , если и только если
k
p ∈ Bm , q ∈ Br1 .

Доказательство. Для произвольных v0 ∈ Zm 00 r


2 , v ∈ Z2 и любого ` =
(`)
1, . . . , k рассмотрим коэффициент Wf (v0 , v00 ). Используя пункт (iv) утвер-
ждения 12, несложно убедиться в справедливости

h(u0 , u00 ), (v0 , v00 )i` = hu0 , v0 i` ⊕ hu00 , v00 i.

112
Тогда из разложения f (u0 , u00 ) = p(u0 ) ⊕ q(u00 ) следует, что
(`)
Wf (v0 , v00 ) = Wp(`) (v0 ) · Wq (v00 ).
(`)
k
Если p ∈ Bm , q ∈ Br1 = Br , то, очевидно, |Wf (v0 , v00 )| = 2m/2 ·2r/2 = 2(m+r)/2
для любого `, 1 6 ` 6 k, и следовательно, функция f принадлежит классу
k k
Bm+r . С другой стороны, пусть f ∈ Bm+r . Для каждого `, 1 6 ` 6 k,
(`)
выберем векторы v`0 , v00 такими, чтобы значения |Wp (v`0 )| и |Wq (v00 )| были
максимальны. Тогда из соответствующих равенств Парсеваля получаем

|Wp(`) (v`0 )| > 2m/2 , |Wq (v00 )| > 2r/2 .


(`) (`)
С учетом того, что верно |Wf (v`0 , v00 )| = 2(m+r)/2 , имеем |Wp (v`0 )| = 2m/2 ,
|Wq (v00 )| = 2r/2 для каждого `, 1 6 ` 6 k, что выполняется тогда и только
k
тогда, когда p ∈ Bm и q ∈ Br = Br1 . Утверждение 16 доказано. 

Напомним, что булева функция называется симметрической, если она


постоянна на каждом множестве векторов одного веса. Множество всех
таких функций от двух переменных обозначим через F21 (смысл этого обо-
значения будет раскрыт в разделе 4.8).

Утверждение 17. Пусть m ∈ N четно, k ∈ N такое, что 1 6 k 6


m/2, и пусть функция f ∈ Fm+2 представима в виде

f (a, a0 , u) = s(a, a0 ) ⊕ p(u) для любых a, a0 ∈ Z2 , u ∈ Zm


2 ,

где s ∈ F21 , p ∈ Fm — функции с непересекающимися множествами пере-


k+1
менных. Тогда функция f принадлежит классу Bm+2 , если и только если
s ∈ B21 , p ∈ Bm
k
.
(`+1)
Доказательство. Рассмотрим коэффициент Wf (b, b0 , v), где ` ∈ N,
1 6 ` 6 k, и элементы b, b0 ∈ Z2 , v ∈ Zm
2 — любые. Используя разложение
f (a, a0 , u) = s(a, a0 ) ⊕ p(u), имеем
(`+1) 0 0 0
X X
Wf (b, b0 , v) = (−1)p(u) (−1)h(a,a ,u),(b,b ,v)i`+1 ⊕s(a,a ) .
u∈Zm
2 a,a0 ∈Z2

113
Пусть для каждой пары векторов u, v параметр ε ∈ Z2 однозначно опре-
деляется равенством ε = hu, vi` ⊕ hπ` (u), vi` ⊕ 1. Согласно пункту (vi)
утверждения 12 выполняется равенство
h(a, a0 , u), (b, b0 , v)i`+1 = hu, vi` ⊕ h(a, a0 ), (b, b0 )iε ,
и следовательно,
(`+1)
X
Wf (b, b0 , v) = (−1)hu,vi` ⊕p(u) · Ws(ε) (b, b0 ).
u∈Zm
2

Поскольку функция s является симметрической, нетрудно проверить, что


(ε)
для любых b, b0 ∈ Z2 и любого ε имеет место равенство Ws (b, b0 ) = Ws (b, b0 ).
Таким образом, для каждого `, 1 6 ` 6 k, справедливо равенство
(`+1)
Wf (b, b0 , v) = Ws (b, b0 ) · Wp(`) (v).
Рассуждая далее так же как в доказательстве утверждения 16, получаем
требуемое. Утверждение 17 доказано. 

Непосредственно из утверждений 16 и 17 вытекает

Теорема 57. . Пусть числа m, r > 0 четны, j > 0 — любое, k такое,


что 1 6 k 6 m/2, и пусть функция f ∈ F2j+m+r представима в виде
j
!
M
f (a1 , a01 , . . . , aj , a0j , u0 , u00 ) = si (ai , a0i ) ⊕ p(u0 ) ⊕ q(u00 ),
i=1
где s1 , . . . , sj ∈ F21 , p ∈ Fm и q ∈ Fr — функции с непересекающимися
j+k
множествами переменных. Тогда f принадлежит классу B2j+m+r , если и
только если s1 , . . . , sj ∈ B21 , p ∈ Bm
k
и q ∈ Br1 .
k
Следствие 4. Множество Bm непусто при любом четном m и любом
целом k, 1 6 k 6 m/2.

Доказательство. Рассмотрим любые функции s1 , . . . , sm/2 из F21 ∩ B21 .


Нетрудно видеть, что класс F21 ∩ B21 состоит из следующих четырех функ-
ций от переменных v1 , v2 :
v1 v2 , v1 v2 ⊕ 1, v1 v2 ⊕ v1 ⊕ v2 , v1 v2 ⊕ v1 ⊕ v2 ⊕ 1.

114
Lm/2
Тогда функция f ∈ Fm такая, что f (a1 , a01 , . . . , am/2 , a0m/2 ) = i=1 si (ai , a0i ),
m/2
согласно теореме 57 принадлежит классу Bm , и следовательно, каждому
k
классу Bm . Следствие 4 доказано. 

Радиусом покрытия двоичного кода называется максимальное рассто-


яние, на которое может быть удален от этого кода двоичный вектор. В
общем случае задача нахождения радиуса покрытия произвольного кода
типа Адамара длины 2m (и даже линейного кода Адамара при нечетном
m) является открытой, см. некоторые результаты в этом направлении в
монографии [19] и работе [132]. Заметим, что согласно следствию 4 радиус
покрытия каждого кода Akm равен 2m−1 − 2(m/2)−1 .

Следствие 5. При любом четном m > 4 имеют место строгие вклю-


чения
1 2 m/2
Bm ⊃ Bm ⊃ · · · ⊃ Bm .

Доказательство. При любом k, 1 6 k 6 (m − 2)/2, покажем, что мно-


k k+1
жество Bm \Bm непусто. Выберем произвольно функцию ψ ∈ B41 \B42 (такие
функции согласно пункту 4.6 существуют). Пусть k = 1. Тогда для любой
1
функции q ∈ Bm−4 функция f ∈ Fm такая, что f (u0 , u00 ) = ψ(u0 ) ⊕ q(u00 ),
1 2
по теореме 57 принадлежит множеству Bm \ Bm . Пусть далее k > 1. Выбе-
рем произвольные функции s1 , . . . , sk−1 из множества F21 ∩ B21 и функцию
1
q из множества Bm−2k−2 . Тогдафункция f ∈Fm , заданная равенством
Lk−1
f (a1 , a01 , . . . , ak−1 , a0k−1 , u0 , u00 ) = 0 0 00
i=1 si (ai , ai ) ⊕ ψ(u ) ⊕ q(u ), является
k+1
k-бент-функцией, но не принадлежит классу Bm . Следствие 5 доказано.


Пусть m > 4. Известно (см. например, [19]), что степень нелинейности


произвольной бент-функции от m переменных не превышает m/2, и для
любого d, 2 6 d 6 m/2, существует бент-функция f ∈ Bm такая, что
deg f = d. Для k-бент-функций имеет место

115
Следствие 6. При любом четном m, m > 4, и произвольном k ∈ N,
1 6 k 6 m/2, существуют k-бент-функции с любой степенью нелиней-
ности d такой, что 2 6 d 6 max{2, m2 − k + 1}.

Доказательство. Случай k = 1 совпадает со случаем обычных бент-


функций и не рассматривается. Пусть 2 6 k 6 (m − 2)/2. Для любого d,
m 1
26d6 2 − k + 1, существует функция p ∈ Bm−2k+2 такая, что deg p = d.
Тогда по теореме 57 для произвольных функций s1 , . . . , sk−1 из множества
1 1 0 0
F
L2 ∩ B2 функция  f ∈ Fm , заданная равенством f (a1 , a1 , . . . , ak−1 , ak−1 , u) =
k−1 0
i=1 si (ai , ai ) ⊕ p(u), является k-бент-функцией, причем deg f = d. При
Lm/2
k = m/2 функция i=1 si (ai , a0i ), где si ∈ F21 ∩ B21 , i = 1, . . . , m/2, является
примером m/2-бент-функции степени 2. Следствие 6 доказано. 

Вопрос о существовании k-бент-функций со степенью нелинейности вы-


m
ше чем 2 − k + 1 остается открытым. Пользуясь следствием 6, можно
убедиться в том, что известный класс HB m гипер-бент-функций [205] не
k
совпадает ни с одним из классов Bm , 1 6 k 6 m/2 (это вытекает из того,
что степень нелинейности произвольной гипер-бент-функции от m пере-
менных равна m/2, см. [12, 85]).
1
Как уже отмечалось ранее, мощность класса Bm всех бент-функций от m
переменных не известна. Для k-бент-функций непосредственно из теоремы
57 получаем

Следствие 7. При четном m и любом k, 1 6 k 6 m/2, справедливо


k k−1
неравенство |Bm | > 4|Bm−2 |.

Например для m = 8 имеем:


|B81 | > 270,4 (согласно [43]),
|B82 | > 234,3 (как следует из [179], где установлено, что |B61 | > 232,3 ),
|B83 | > 7 · 211 (в начале раздела было отмечено, что |B41 | = 896),
|B84 | > 29 (поскольку |B21 | = 8).

116
Однако даже для m = 4 оценка следствия 7 является весьма грубой: имеем
|B42 | > 32, хотя точное значение |B42 | равно 384.

4.8 Взаимосвязь k-бент-функций с бент-функциями

Обозначим через Sm,k подгруппу группы Sm подстановок на m координа-


тах, порожденную k транспозициями: (1, 2), (3, 4), . . . , (2k − 1, 2k). Очевид-
но, что группы Sm,k и Zk2 изоморфны. Для произвольного вектора w ∈ Zk2
определим подстановку σkw на m координатах равенством
σkw = (1, 2)w1 · (3, 4)w2 · . . . · (2k − 1, 2k)wk ,
где (i, j)0 обозначает тождественную подстановку. Заметим, что πk ≡ σk1 .
k
Пусть Fm обозначает множество всех функций f ∈ Fm , постоянных на
каждой орбите множества Zm
2 под действием группы Sm,k . Поскольку ко-
личество орбит множества Zm k m−2k
2 равно 3 2 , то справедливо равенство
k m−2k m−k log2 4
k
|Fm | = 23 2
= 22 3
. Покажем, что на каждом множестве функций
k
Fm понятия k-бент-функции и бент-функции совпадают. А именно верна
следующая теорема.

Теорема 58. При любом четном m > 2 и любом целом k, 1 6 k 6


k k k 1
m/2, справедливо равенство Fm ∩ Bm = Fm ∩ Bm .

Доказательство. С помощью утверждения 12 найдем следующее пред-


ставление для произведения hu, vi` , где u, v ∈ Zm
2 — произвольные векторы
и ` такое, что 1 6 ` 6 k. Определим вектор w ∈ Z`2 , зависящий от выбран-
ных векторов u, v, следующим образом: для каждого i = 1, . . . , ` положим
wi = h(u2i+1 , . . . , um ), (v2i+1 , . . . , vm )i`−i
⊕hπ`−i ( (u2i+1 , . . . , um ) ), (v2i+1 , . . . , vm )i`−i ⊕ 1,
если i < `, и пусть w` = 1. Тогда в силу пункта (vi) утверждения 12
справедливо равенство
`
!
M
hu, vi` = h(u2i−1 , u2i ), (v2i−1 , v2i )iwi ⊕ h(u2`+1 , . . . , um ), (v2`+1 , . . . , vm )i
i=1

117
(здесь мы считаем, что в случае ` = m/2 последнее слагаемое отсутствует).
Отсюда, используя пункты (iv) и (v) утверждения 12, получаем

hu, vi` = hσ`w (u), vi.

Заметим, что если вектор v ∈ Zm


2 фиксирован, а вектор u пробегает про-
странство Zm w
2 , то вектор σ` (u) также принимает все возможные значения
0
из Zm m
2 . Действительно, предположим обратное. Пусть векторы u, u ∈ Z2
различны, w, w0 — соответствующие им векторы из Z`2 , и пусть σ`w (u) =
0
σ`w (u0 ). Очевидно, что векторы u, u0 могут различаться только в первых
2` координатах. Обозначим через j, 1 6 j 6 `, номер последней пары
координат (2j − 1, 2j) такой, что векторы u, u0 различаются хотя бы в од-
ной координате из этой пары (в действительности — в обеих координатах).
Заметим, что всегда j < m/2. Тогда wj 6= wj0 согласно предположению,
что невозможно, поскольку u2j+1 = u02j+1 , . . . , um = u0m . Таким образом, из
0
неравенства u 6= u0 следует, что σ`w (u) 6= σ`w (u0 ).
k 1 (`)
Пусть f ∈ Fm ∩ Bm . Рассмотрим коэффициент Wf (v) для произволь-
ного v ∈ Zm
2 . С учетом сделанных выше замечаний получаем
(`) w
X
Wf (v) = (−1)hσ` (u),vi⊕f (u) .
u∈Zm
2

Поскольку f (u) = f (σ`w (u)) для любых u, w, имеем


(`) 0 0
X
Wf (v) = (−1)hu ,vi⊕f (u ) , где u0 = σ`w (u),
u0 ∈Zm
2

(`)
и следовательно, Wf (v) = Wf (v) для каждого ` = 1, . . . , k. Теорема 58
доказана. 

k 1 k
Несложно, однако, показать, что функциями из Fm ∩ Bm весь класс Bm
не исчерпывается. Интересным для дальнейшего исследования представля-
ется вопрос о том, при каких значениях k функции из известных классов
бент-функций являются k-бент-функциями. Другими словами, насколько
сильно нелинейными (в данном смысле) они являются?

118
Глава 5

Квадратичные аппроксимации в
блочных шифрах

В данной главе исследуется возможность квадратичного криптоанализа


блочных шифров (в основу которого положены квадратичные аппрокси-
мации специального вида) и роль k-бент-функций при конструировании
таких шифров. Квадратичный криптоанализ является нелинейной моди-
фикацией известного метода линейного криптоанализа блочных шифров,
предложенного М. Мацуи [154] в 1993 году и являющегося в настоящее
время одним из наиболее часто применяемых.

5.1 Линейный криптоанализ и его модификации

В данном разделе представлен обзор результатов по линейному крипто-


анализу (ЛК) блочных шифров, попыткам его нелинейного обобщения и
описанию идеи квадратичного криптоанализа.

5.1.1 Линейный криптоанализ

Метод линейного криптоанализа для блочного шифра FEAL был предло-


жен М. Мацуи и А. Ямагиши [156] в 1992 году, для шифра DES — М. Мацуи
[154] в 1993 году; в настоящее время этот метод наряду с методом диффе-
ренциального криптоанализа [55] считается одним из наиболее эффектив-

119
ных.
Идея метода состоит в следующем. Сначала для известного алгорит-
ма шифрования определяется линейное соотношение L на биты открытого
текста, шифротекста и ключа, выполняющееся с вероятностью p = 1/2 + ε,
достаточно сильно отличающейся от 1/2. Число ε называется преоблада-
нием соотношения L. Затем при фиксированном неизвестном ключе K
криптоаналитиком собирается статистика из N пар {открытый текст —
соответствующий шифротекст}, и на ее основе с учетом знака ε произво-
дится различение двух простых статистических гипотез: выполняется ли
соотношение L для данного неизвестного ключа K или нет. В результа-
те для битов ключа K устанавливается новое вероятностное соотношение.
Для надежной работы этого метода мощность статистики N должна быть
пропорциональна величине |ε|−2 .
Большое число работ посвящено различным обобщениям и применениям
метода ЛК. Перечислим некоторые из них. Детальное исследование мето-
да ЛК (в частности для DES) провела К. Ниберг [168]; см. также работы
[121, 64, 155]. В 1995 году авторы [99] ввели понятие матрицы корреляций
произвольного булева отображения из Zn2 в Zm
2 , удобное для описания его
свойств, относящихся к линейному криптоанализу. Для повышения эффек-
тивности метода ЛК в [130] было предложено для одной комбинации битов
ключа рассматривать одновременно несколько линейных аппроксимаций;
эту тему продолжает работа [56]. Авторы [186] привели способ улучшения
метода ЛК (в частности для шифра LOKI91), предложив учитывать при
аппроксимации вероятностное поведение некоторых битов вместо их фик-
сированных значений. К числу последних работ о развитии метода ЛК
можно отнести [48] и [189].
Серия работ посвящена вопросам стойкости различных алгоритмов шиф-
рования к методу линейного криптоанализа. Л. Кнудсен [137] рассматривал
вопросы построения схем шифрования типа Фейстеля, стойких к методам
линейного и дифференциального криптоанализа. В. В. Шорин, В. В. Же-

120
лезняков, Э. М. Габидулин [191] доказали в 2001 году стойкость к этим
методам российского алгоритма ГОСТ 28147-89 (с не менее, чем пятью ра-
ундами шифрования — при линейном криптоанализе и семью раундами
— при дифференциальном). Исследования стойкости шифров RC5, RC6,
IDEA, Serpent, AES, Blowfish, Khufu к методу ЛК см. в работах [58, 122,
54, 152, 164].

5.1.2 Проблемы нелинейного криптоанализа

Общий подход к использованию в линейном криптоанализе нелинейных


аппроксимаций предложили в 1996 году Л. Кнудсен и М. Робшау [138].
Основная идея его проста: обогатить класс аппроксимирующих функций
нелинейными функциями и за счет этого повысить качество аппроксима-
ции. Но при этом криптоаналитику придется столкнуться со следующими
трудностями.
Как эффективно выбрать хорошую нелинейную аппроксимацию? В ли-
нейном случае возможно решение такой задачи перебором всех 2m линей-
m
ных функций от m переменных. В общем случае полный перебор 22 буле-
вых функций неосуществим даже при малых значениях m.
Как объединить нелинейные аппроксимации отдельных раундов? Рас-
смотрим простой пример. Пусть i-й раунд шифрования, переводящий про-
межуточный шифротекст C (i−1) в C (i) , устроен таким образом:

C (i) = S i (C (i−1) ⊕ K (i) ),

где K (i) — подключ i-го раунда, S i — известное нелинейное преобразо-


вание. Пусть криптоаналитик установил приближение преобразования S i
функцией f i , т. е. с достаточно высокой вероятностью выполняется ра-
венство S i (x) = f i (x) для произвольного x. Тогда, если функция f i ли-
нейна, то для i-го раунда имеем приближение C (i) = f i (C (i−1) ⊕ K (i) ) =
f i (C (i−1) ) ⊕ f i (K (i) ). Поскольку зависимость от блока C (i−1) и подключа
K (i) здесь выделена явно, такое приближение i-го раунда может участво-

121
вать в общей цепочке раундовых приближений. В общем случае объедине-
ние раундовых приближений затруднено.
В направлении решения первой проблемы можно отметить исследования
Т. Шимоямы и Т. Канеко [190], связанные с поиском квадратичных соот-
ношений для конкретных подстановок, использующихся в S-блоках DES;
экспериментальные исследования Дж. Накахары и др. [165]; работу Ж. Та-
пиадора и др. [198] по применению эвристических алгоритмов для поиска
хороших нелинейных аппроксимаций (с примерами для S-блоков шифра
MARS). Вероятностные аспекты приближения случайной булевой функ-
ции множеством всех квадратичных функций исследовались Б. В. Рязано-
вым и С. И. Чечетой в [25]. Вопросы нелинейных аппроксимаций булевых
функций (с использованием их приведенного представления) рассматри-
вались А. В. Ивановым [6, 7]. Работы, направленные на решение второй
проблемы, автору не известны. В целом метод нелинейного криптоанализа
не получил пока должного развития.

5.1.3 Квадратичный криптоанализ

В данной главе исследуются возможности квадратичного криптоанализа


блочных шифров, в основу которого положены квадратичные аппроксима-
ции специального вида. Будем аппроксимировать булевы функции функци-
ями вида hu, π(v)ik от m переменных v1 , . . . , vm , где π — любая перестанов-
ка на m координатах, параметры u ∈ Zm
2 , k (1 6 k 6 m/2) произвольны.
Множество таких функций состоит из 2m (т. е. всех) линейных функций и
не более чем 2m(1+log2 m) квадратичных функций, что не ограничивает крип-
тоаналитика в возможности их полного перебора. Выбор таких функций
обусловлен наличием простых формул для вычисления расстояния Хэм-
минга от произвольной булевой функции до класса функций hu, π(v)ik при
фиксированных π и k, а также свойствами таких функций, близкими к ли-
нейным.
Исследования носят теоретический характер. Предложены модифика-

122
ции алгоритмов 1 и 2 линейного криптоанализа Мацуи [154] для расширен-
ного класса аппроксимирующих функций. Приведены формулы для вычис-
ления абсолютных значений преобладаний и надежности алгоритмов. По-
казано, что использование k-бент-функций в качестве функций шифрова-
ния позволяет снижать максимальное абсолютное значение преобладания
до его минимального значения, а следовательно максимально повышать
стойкость шифра к данным квадратичным аппроксимациям. Рассмотрены
примеры четырехразрядных подстановок, рекомендованных для примене-
ния в узлах замены (S-блоках ) алгоритмов ГОСТ 28147-89, DES, s3 DES;
с помощью компьютера показано, что для всех этих подстановок (кроме
одной) существуют более вероятные (по сравнению с линейными) квад-
ратичные соотношения специального вида на входные и выходные биты
этих подстановок. Рассмотрены свойства аппроксимирующих функций, ко-
торые могут быть использованы при согласовании нелинейных раундовых
аппроксимаций.

5.2 Класс аппроксимирующих функций ∆m

Рассмотрим следующий класс булевых функций от переменных v1 , . . . , vm ,


где m четно. Для любого k, 1 6 k 6 m/2, и произвольной перестановки
π ∈ Sm на m переменных пусть

Akm,0 (π) = {hu, π(v)ik | u ∈ Zm


2 }.

Заметим, что для любой перестановки π ∈ Sm множество A1m,0 (π) состоит


из всех линейных функций. Булевы функции от переменных v1 , . . . , vm ,
использующиеся при шифровании, будем аппроксимировать функциями
из множества
[ [
∆m = Akm,0 (π),
16k6m/2 π∈Sm

которое всюду далее называем классом аппроксимирующих функций. Го-


воря неформально, за счет произвольных перестановок π на переменных

123
v1 , . . . , vm мы снимаем «неравноправие» этих переменных в функции hu, vik .
Определим мощность класса ∆m и способ перечисления его элементов.
0
Основную трудность здесь представляет тот факт, что множества Akm,0 (π 0 )
00
и Akm,0 (π 00 ), вообще говоря, имеют непустое пересечение.
Для булевой функции f ∈ Fm пусть множество АНФ(f ) состоит из всех
одночленов ее алгебраической нормальной формы. Например, для функ-
ции g(v1 , v2 , v3 , v4 ) = v1 v2 ⊕ v1 v3 ⊕ v1 v4 ⊕ v2 v3 ⊕ v3 v4 ⊕ v2 ⊕ v3 ⊕ 1 имеем
АНФ(g) = {v1 v2 , v1 v3 , v1 v4 , v2 v3 , v3 v4 , v2 , v3 , 1}. При фиксированной
перестановке π ∈ Sm через f π обозначим булеву функцию, заданную ра-
венством f π (v) = f (π(v)). Переменные булевой функции f ∈ Fm разобьем
на пары; паре {v2i−1 , v2i } сопоставим номер i. Через Act(f ) обозначим под-
множество максимальной мощности множества {1, 2, . . . , m/2} такое, что
для любых различных элементов i, j из Act(f ) одночлены

v2i−1 v2j−1 , v2i−1 v2j , v2i v2j−1 , v2i v2j

принадлежат множеству АНФ(f ). Будем говорить, что пара переменных


с номером i активна для f , если i ∈ Act(f ). Заметим, что мощность
Act(f ) для любой функции f либо нулевая, либо не меньше двух. Через
ρ = ρ(f ) обозначим любую перестановку из Sm такую, что |Act(f ρ )| =
max |Act(f π )|. Рассмотрим, например, множество Act(g) для функции g,
π∈Sm
заданной выше. Поскольку одночлены v1 v3 , v1 v4 , v2 v3 принадлежат АНФ(g),
а одночлен v2 v4 — нет, имеем Act(g) = ∅. Однако, при ρ = (1, 3, 2, 4) имеем
Act(g ρ ) = {1, 2}.

Теорема 59. Булева функция f ∈ Fm , степени не больше двух, такая


что f (0) = 0, принадлежит классу ∆m тогда и только тогда, когда f
удовлетворяет условиям
1) для любых различных чисел i, j (1 6 i, j 6 m/2) одночлены

v2i−1 v2j−1 , v2i−1 v2j , v2i v2j−1 , v2i v2j

одновременно принадлежат / не принадлежат множеству АНФ(f ρ );

124
2) множество АНФ(f ρ ) не содержит одночлены вида v2i−1 v2i ;
3) в точности одна из переменных v2i−1 , v2i принадлежит АНФ(f ρ )
для каждого элемента i ∈ Act(f ρ ).

Доказательство. (⇐=) Пусть функция f степени не больше двух,


f (0) = 0, удовлетворяет условиям 1), 2), 3) теоремы. Если множество
Act(f ρ ) пусто, то функция f , согласно 1) и 2) линейна и, следовательно,
принадлежит множеству ∆m .
Предположим далее, что множество Act(f ρ ) не пусто и имеет вид

Act(f ρ ) = {i1 , . . . , ik },

где 2 6 k 6 m/2. Пусть j1 , . . . , j(m/2)−k — номера неактивных пар перемен-


ных функции f ρ . Рассмотрим перестановку τ ∈ Sm такую, что τ (is ) = s
для любого s = 1, . . . , k и τ (js ) = k + s для любого s = 1, . . . , (m/2) − k.
Переставим пары переменных функции f ρ согласно τ . А именно рассмот-
рим функцию f ρ◦π (здесь и далее запись ρ ◦ π означает, что сначала при-
меняется перестановка ρ, а затем π), где π ∈ Sm задается с помощью τ
следующим образом: π(2s − 1) = 2τ (s) − 1, π(2s) = 2τ (s) для любого
s = 1, . . . , m/2. Нетрудно заметить, что условия 1), 2), 3) после замены в
каждом из них функции f ρ на f ρ◦π остаются справедливыми, причем мно-
жество Act(f ρ◦π ) = {1, . . . , k} также как и Act(f ρ ) имеет мощность k. По-
этому далее, без ограничения общности, считаем, что Act(f ρ ) = {1, . . . , k}.
Заметим, что число k согласно условиям 1) и 2) однозначно определяет
квадратичную часть функции f ρ , которая имеет вид
k−1 M
M k
(v2i−1 v2j−1 ⊕ v2i−1 v2j ⊕ v2i v2j−1 ⊕ v2i v2j ). (5.1)
i=1 j=i+1

Покажем, что функция f ρ принадлежит множеству Akm,0 . Рассмотрим век-


тор u ∈ Zm
2 такой, что
(
/ АНФ(f ρ ),
vt ∈ при t = 1, . . . , 2k;
ut = 1 ⇐⇒
vt ∈ АНФ(f ρ ), при t = 2k + 1, . . . , m.

125
Тогда f ρ (v) = hu, vik . Действительно, по теореме 54 имеем
k−1 M k
! k
!
M M
hu, vik = Yi Yj ⊕ (u2i v2i−1 ⊕ u2i−1 v2i )
i=1 j=i+1 i=1
 
m/2
M
⊕ (u2i−1 v2i−1 ⊕ u2i v2i ) , (5.2)
i=k+1

где Yi = (u2i−1 ⊕ u2i )(v2i−1 ⊕ v2i ). Используя условие 3) и определение


вектора u, получаем u2i−1 ⊕ u2i = 1 при i = 1, . . . , k, а значит Yi Yj =
v2i−1 v2j−1 ⊕ v2i−1 v2j ⊕ v2i v2j−1 ⊕ v2i v2j , где 1 6 i < j 6 k. Таким образом,
квадратичная часть функции hu, vik совпадает с (5.1). Непосредственно из
(5.2) получаем, что линейные части функций f ρ и hu, vik также совпадают.
Следовательно, поскольку f ρ (0) = hu, 0ik = 0, и обе функции f ρ и hu, vik
имеют степень 2, они равны. Итак, мы показали, что функция f ρ при-
надлежит классу Akm,0 (id), где id обозначает тождественную перестановку.
Осталось заметить, что справедливо

f σ ∈ Akm,0 (id) ⇐⇒ f ∈ Akm,0 (σ −1 ), для любой перестановки σ ∈ Sm ,

что вытекает из следующей эквивалентности:

∃u : f σ (v) = hu, vik ⇐⇒ ∃u : f (v) = hu, σ −1 (v)ik .

Отсюда, наконец, заключаем, что функция f принадлежит классу Akm,0 (ρ−1 ),


а следовательно и классу ∆m .
(=⇒) Если функция f линейна, то выполнение условий 1), 2), 3) оче-
видно. Пусть f имеет нетривиальную квадратичную часть. Тогда, посколь-
ку f принадлежит некоторому классу Akm,0 (π), мощность квадратичной
!
s
части f равна 4 · для подходящего s, 2 6 s 6 k, что непосред-
2
ственно следует из теоремы 54. Так как f ρ также содержится в классе
∆m , то |Act(f ρ )| = s (например, в качестве ρ можно взять перестановку
π −1 ). Тогда квадратичная часть АНФ(f ρ ) исчерпывается одночленами ви-
да v2i−1 v2j−1 , v2i−1 v2j , v2i v2j−1 , v2i v2j для любых различных i, j ∈ Act(f ρ ),

126
и следовательно выполнены условия 1) и 2). Справедливость 3) вытекает
из теоремы 54. Теорема доказана. 

Следствие 8. Для любого четного m справедливо равенство


 
m/2 
X m (2k − 1)!!

|∆m | = 2m 1 + .
2k 2k
k=2

Доказательство. Класс ∆m содержит ровно 2m линейных булевых


функций. С помощью теоремы 59 для каждого фиксированного k, 2 6
k 6 m/2, определим число квадратичных функций f из ∆m таких, что
|Act(f ρ )| = k. Каждая такая функция f однозначно определяется множе-
ством из k неупорядоченных пар переменных (после действия соответству-
ющей перестановки ρ все эти пары будут активными) и своей линейной
частью. Множество из k неупорядоченных пар можно выбрать

1  m  m − 2   m − 2k + 2  m!
... = k
k! 2 2 2 2 k!(m − 2k)!

способами. Для любой выбранной пары переменных в точности одна пе-


ременная из пары входит в множество АНФ(f ) согласно условию 3) тео-
ремы 59. Переменные, не содержащиеся в выбранных парах, входят или
не входят в АНФ(f ) свободно. Таким образом, число функций f ∈ ∆m ,
|Act(f ρ )| = k, равно

m!  m 
k m−2k
k
·2 ·2 = 2m−k (2k − 1)!!
2 k!(m − 2k)! 2k

Суммируя по всем k, 2 6 k 6 m/2, и учитывая линейные функции, полу-


чаем требуемое выражение для мощности класса ∆m . 

Например, |∆4 | = 28, |∆6 | = 904, |∆8 | = 28 816, а число линейных функ-
ций в каждом из этих классов равно 16, 64 и 256 соответственно. Из след-
ствия 8 несложно вывести, что величина |∆m | не превышает числа e2m m!,

127
что заведомо меньше, чем 2m(1+log2 m) . Отметим, что число всех квадратич-
2
ных функций от m переменных пропорционально величине 2m и функции
вида hu, π(v)ik составляют асимптотически малую их часть при m → ∞.
Теорема 59 и следствие 8 предлагают способ перечисления всех элемен-
тов множества ∆m без повторений.

5.3 Квадратичные аппроксимации в блочных шифрах

Основная идея предлагаемого подхода состоит в расширении области по-


иска наиболее вероятных соотношений для битов открытого текста, шиф-
ротекста и ключа: с множества линейных соотношений на множество ли-
нейных и квадратичных соотношений специального вида. В обозначениях
будем следовать, в основном, книге [19].
Рассмотрим блочный шифр с r раундами шифрования. Пусть

m = mtext — длина открытого текста и шифротекста;


P — открытый текст, P ∈ Zm
2 ;

mkey — длина ключа;


m
K — ключ шифрования, K ∈ Z2 key ;
m
F : Zm
2 ×Z2
key
→ Zm
2 — преобразование, взаимно однозначное при любом
фиксированном втором аргументе;
C = F (P, K) — шифротекст, C ∈ Zm
2 ;

m0key — длина раундового подключа;


m0
K (i) — подключ i-го раунда шифрования, K (i) ∈ Z2 key , 1 6 i 6 r, опре-
деляемый по ключу K;
m0
Fi : Zm
2 × Z2
key
→ Zm
2 — преобразование i-го раунда шифрования, 1 6
i 6 r, взаимно однозначное, если второй аргумент фиксирован;
C (0) = P ;

128
C (i) = Fi (C (i−1) , K (i) ) — промежуточный шифротекст, C (i) ∈ Zm
2 , 1 6
i 6 r;
C = C (r) — итоговый шифротекст;
Предполагаем, что все открытые тексты P (как и ключи K) равноверо-
ятны. Всюду далее считается, что m, mkey , m0key — четные числа.

Первый алгоритм. В основе алгоритма лежит следующее равенство

ha, π(P )ii ⊕ hb, σ(C)ij = hd, τ (K)ik , (5.3)

где
m
a, b ∈ Zm
2 , d ∈ Z2
key
— некоторым образом выбранные векторы;
π, σ ∈ Sm , τ ∈ Smkey — фиксированные перестановки;
i, j, k — целые числа такие, что 1 6 i, j 6 m/2, 1 6 k 6 mkey /2.
Считаем, что равенство (5.3) выполняется с вероятностью p = 1/2 + ε, та-
кой, что 0 < |ε| 6 1/2. Число ε назовем преобладанием равенства (5.3).
Отдельной задачей для каждого конкретного алгоритма шифрования яв-
ляется выбор таких значений параметров a, b, d, π, σ, τ, i, j, k, чтобы вели-
чина |ε| была по возможности максимальной. В данной работе эта задача
рассматриваться не будет. Отметим, что выбор параметров i, j, k отражает-
ся на виде соотношения (5.3) следующим образом. Если данный параметр
(i, j или k) равен 1, то биты соответствующего блока (открытого текста
P , шифротекста C или ключа K) входят в соотношение (5.3) линейно, что
может быть использовано при добавлении такого соотношения в линей-
ную систему уравнений. С ростом параметра (i, j или k) пропорционально
увеличивается число битов блока, участвующих в нелинейной части соот-
ношения.

Пусть фиксирован ключ шифрования K. Рассмотрим набор

{(Pt , Ct ) | t = 1, . . . , N }

известных пар открытого и шифрованного текстов, Ct = F (Pt , K). Следую-


щий алгоритм является модификацией алгоритма Мацуи [154] определения

129
одного бита ключа, основанного на принципе максимального правдоподо-
бия.

Алгоритм 1
• определяем N0 = | { t : ha, π(Pt )ii ⊕ hb, σ(Ct )ij = 0 } |;

N
 0, если (N0 − 2 ) · ε > 0;


• полагаем hd, τ (K)ik =


 1, в другом случае;

• с учетом полученного соотношения подбираем ключ.


Конец алгоритма

Напомним, что надежностью ξ0 алгоритма, основанного на процеду-


ре статистической классификации, называется математическое ожидание
вероятности его корректной работы. В данном случае под корректной ра-
ботой алгоритма понимается установление верного соотношения на биты
ключа. При этом предполагается, что искомый ключ выбран во всем про-
странстве ключей случайно, равновероятно и независимо от набора откры-
тых текстов (см. подробнее [19]). Таким образом,
1 X
ξ0 = E{ξ(K)} = mkey ξ(K),
2 mkey
K∈Z2

где ξ(K) — вероятность выбора открытых текстов P1 , . . . , PN таких, что


будет установлено верное соотношение на биты ключа K. Если p(K) =
1/2 + ε(K), где ε(K) 6= 0, — вероятность выполнения равенства (5.3) для
фиксированного ключа K, то
N/2   s  N −s
X N  1 1
ξ(K) = − |ε(K)| + |ε(K)| .
s=0 s 2 2

Надежность ξ0 алгоритма 1 можно оценить в точности так же как и в слу-


чае линейного криптоанализа (с привлечением дополнительных крипто-
графических предположений, см. подробнее [154, 19]) с помощью функции

130
нормального распределения, а именно

√ Z∞
1 2
ξ0 ' Φ0,1 (−2|ε| N ) = √ e−y /2 dy. (5.4)
√ 2π
−2|ε| N

Приведем формулы для вычисления абсолютных значений преоблада-


ний и выделим те свойства булевых функций, использующихся при шиф-
ровании, наличие которых придает шифру стойкость к рассматриваемым
квадратичным аппроксимациям.
Для фиксированного ключа K, для любых целых i, j таких, что 1 6
i, j 6 m/2, для произвольных перестановок π, σ ∈ Sm обозначим через
i,a,π
εj,b,σ (K; 0) действительное число из отрезка [−1/2, 1/2] такое, что вероят-
ность выполнения равенства

ha, π(P )ii ⊕ hb, σ(F (P, K))ij = 0 (5.5)


i,a,π
равна 1/2 + εj,b,σ (K; 0).

Утверждение 18. Для любого отображения F (·, K) : Zm m


2 → Z2 и
любых перестановок π, σ ∈ Sm выполняется равенство
i,a,π (i)
2m+1 · εj,b,σ (K; 0) = Whb,σ(F (π−1 (·),K))ij (a).

Доказательство. Пусть Zm
2 = M0 ∪ M1 , где

Mx = {u ∈ Zm
2 | ha, π(u)ii ⊕ hb, σ(F (u, K))ij = x}

при x = 0, 1. Из определения i-коэффициента Уолша — Адамара


(i)
Whb,σ(F (π−1 (·),K))ij (a) следует, что
(i)
X
Whb,σ(F (π−1 (·),K))ij (a) = (−1)ha,π(u)ii ⊕hb,σ(F (u,K))ij = |M0 | − |M1 |.
u∈Zm
2

С помощью (5.5) получаем |M0 | = 2m (1/2 + εi,a,π


j,b,σ (K; 0)), и следовательно

|M0 | − |M1 | = 2m+1 · εi,a,π


j,b,σ (K; 0).

131
Утверждение доказано. 

Напомним, что ε(K) обозначает преобладание, с которым выполняется


равенство (5.3) при фиксированном ключе K. Заметим, что для любых k,
d и τ справедливо
|ε(K)| = |εi,a,π
j,b,σ (K; 0)|. (5.6)
m
Теорема 60. Пусть фиксирован ключ K ∈ Z2 key . Если вектор b ∈ Zm
2 ,
перестановки π, σ ∈ Sm и параметр j, 1 6 j 6 m/2, таковы что функция

hb, σ(F (π −1 (·), K))ij : Zm m


2 → Z2

является (m/2)-бент-функцией, то справедливо равенство

max |ε(K)| = min |ε(K)| = 2−(m/2)−1 .


i,k,a,d,τ i,k,a,d,τ

Доказательство. Поскольку функция hb, σ(F (π −1 (·), K))ij принадле-


m/2 (i)
жит классу Bm , имеем |Whb,σ(F (π−1 (·),K))ij (a)| = ±2m/2 для любого a ∈ Zm
2
и каждого i, 1 6 i 6 m/2. Тогда из утверждения 18 и равенства (5.6) сразу
следует, что для любых параметров k, d и τ все значения |ε(K)| равны
2−(m/2)−1 , откуда и вытекает требуемое. 

Из неравенства (4.9) следует, что 2−(m/2)−1 является минимальным воз-


можным значением для maxa∈Zm2 |ε(K)| при любых фиксированных i, j, k,
b, d, π, σ и τ . Согласно теореме 60 это минимальное значение достижимо
только при использовании (m/2)-бент-функций. Задача построения таких
функций представляется автору весьма сложной.

Второй алгоритм. Рассмотрим модификацию улучшенного алгоритма


Мацуи [154], основанную на исследовании промежуточных шифротекстов.
Пусть выбраны целые числа s1 , s2 , такие, что 0 6 s1 < s2 6 r.
Рассмотрим равенство

ha, π(C (s1 ) )ii ⊕ hb, σ(C (s2 ) )ij = hτ (d), Kik , (5.7)

132
m
где a, b ∈ Zm
2 , d ∈ Z2
key
— фиксированные векторы; π, σ ∈ Sm , τ ∈ Smkey
— заданные перестановки; i, j, k — целые числа такие, что 1 6 i, j 6 m/2,
1 6 k 6 mkey /2. Будем считать, что (5.7) выполняется с вероятностью
p̃ = 1/2 + ε̃, такой, что 0 < |ε̃| 6 1/2.
Обозначим через K̃ часть битов ключа K, которых достаточно для на-
хождения значений ha, π(C (s1 ) )ii и hb, σ(C (s2 ) )ij по известным векторам P
и C. Пусть ms1 ,s2 — число битов в блоке K̃.

Алгоритм 2
m
• для каждого K̃ ∈ Z2 s1 ,s2 определяем
(s1 ) (s2 )
N0 (K̃) = | { t : ha, π(Ct )ii ⊕ hb, σ(Ct )ij = 0 } |;

m
• упорядочим все векторы из Z2 s1 ,s2 : K̃1 , . . . , K̃2ms1 ,s2 , так, что
N N
− N0 (K̃1 ) > . . . > − N0 (K̃2ms1 ,s2 ) ;
2 2

• для каждого q от 1 до 2ms1(


,s2

N
0, если (N0 (K̃q ) − 2) · ε̃ > 0;
. полагаем hd, τ (K)ik =
1, в другом случае;

. с учетом полученного соотношения подбираем ключ.


Конец алгоритма

Надежность алгоритма 2 может быть оценена так же как в случае линей-


ного криптоанализа (см. [154, 19]). Для обеспечения требуемой надежности
алгоритма размер статистики N должен быть пропорционален величине
|ε̃|−2 .
Как и в случае алгоритма 1 имеет место взаимосвязь между абсолютной
величиной преобладания ε̃, k-коэффициентами Уолша — Адамара и k-бент-
функциями.

133
Набор подключей K (s1 +1) , . . . , K (s2 ) обозначим через K (s1 +1,...,s2 ) . Пусть
m0key s2 −s1
отображение Fs1 +1,s2 : Zm
2 × Z 2 → Zm2 задано суперпозицией функ-
ций Fs1 +1 , . . . , Fs2 :

Fs1 +1,s2 (C (s1 ) , K (s1 +1,...,s2 ) ) =


Fs2 (Fs2 −1 (. . . (Fs1 +1 (C (s1 ) , K (s1 +1) ), K (s1 +2) ) . . .), K (s2 ) ).

Тогда выполняется

C (s2 ) = Fs1 +1,s2 (C (s1 ) , K (s1 +1,...,s2 ) ).

Аналогично тому, как это было сделано для первого алгоритма, рассмот-
рим равенство

ha, π(C (s1 ) )ii ⊕ hb, σ(Fs1 +1,s2 (C (s1 ) , K (s1 +1,...,s2 ) ))ij = 0 (5.8)

при фиксированном наборе подключей K (s1 +1,...,s2 ) . Пусть оно выполняется


i,a,π i,a,π
с вероятностью 1/2 + ε̃j,b,σ (K (s1 +1,...,s2 ) ; 0), где |ε̃j,b,σ (K (s1 +1,...,s2 ) ; 0)| 6 1/2.
Аналогично утверждению 18 несложно доказать

Утверждение 19. Для любого отображения Fs1 +1,s2 (·, K (s1 +1,...,s2 ) ) :
Zm m
2 → Z2 имеем

i,a,π (i)
2m+1 · ε̃j,b,σ (K (s1 +1,...,s2 ) ; 0) = Whb,σ(F −1 (·),K (s1 +1,...,s2 ) ))i (a).
s1 +1,s2 (π j

Через ε̃(K) обозначим преобладание в равенстве (5.7) при фиксирован-


ном K. Тогда при любых параметрах k, d и τ справедливо
i,a,π
|ε̃(K)| = |ε̃j,b,σ (K (s1 +1,...,s2 ) ; 0)|, (5.9)

если K (s1 +1,...,s2 ) является набором подключей ключа K.


m
Теорема 61. Пусть фиксирован ключ K ∈ Z2 key и целые числа s1 , s2 ,
где 0 6 s1 < s2 6 r. Пусть K (s1 +1,...,s2 ) — набор подключей ключа K. Пусть
вектор b ∈ Zm
2 , перестановки π, σ ∈ Sm и параметр j, 1 6 j 6 m/2,
таковы, что функция

hb, σ(Fs1 +1,s2 (π −1 (·), K (s1 +1,...,s2 ) ))ij : Zm m


2 → Z2

134
является (m/2)-бент-функцией. Тогда справедливо равенство

max |ε̃(K)| = min |ε̃(K)| = 2−(m/2)−1 .


i,k,a,d,τ i,k,a,d,τ

Так же как и для первого алгоритма из теоремы 61 следует, что исполь-


зование (m/2)-бент-функций в качестве промежуточных функций шифро-
вания позволяет снижать величину maxa∈Zm2 |ε̃(K)| до минимума.

5.4 Анализ четырехразрядных подстановок в S-блоках


алгоритмов ГОСТ, DES, s3DES

Известно, что стойкость блочного шифра напрямую зависит от стойко-


сти используемых в нем узлов замены (S-блоков). В данном параграфе
рассматриваются примеры четырехразрядных подстановок для S-блоков
шифров ГОСТ, DES, s3 DES. С помощью компьютера нами показано, что
практически во всех случаях существуют более вероятные (по сравнению
с линейными) квадратичные соотношения специального вида на входные
и выходные биты этих подстановок.

Пример 1. В книге А. Г. Ростовцева и Е. Б. Маховенко [24] приведена се-


рия экстремальных четырехразрядных подстановок, рекомендованных для
S-блоков стандарта ГОСТ 28147-89 (см. подстановки S 1 , . . . , S 10 в таблице
6). Из каждой подстановки путем умножения ее на аффинные подстанов-
ки получается целый класс экстремальных подстановок. Все они выбраны
так, чтобы максимально повысить стойкость шифра к методам линейного
и дифференциального криптоанализа. Рассмотрим их квадратичные ап-
проксимации функциями из класса ∆4 .
Каждому двоичному вектору x = (x1 , x2 , x3 , x4 ) сопоставим целое число
x̃ = 8x1 + 4x2 + 2x3 + x4 от 0 до 15. Пусть P = (p1 , p2 , p3 , p4 ) — двоичные
входы, C = (c1 , c2 , c3 , c4 ) — двоичные выходы некоторой четырехразряд-
ной подстановки S, т. е. S(P̃ ) = C̃. Например, действие подстановки S 2
представлено в таблице 7. Найдем наиболее вероятные квадратичные и ли-

135
нейные зависимости между входными и выходными битами подстановки
S, используя класс функций ∆4 . Согласно следствию 8 число функций в
∆4 равно 28. Из них 16 — линейные функции, 12 — квадратичные, которые
можно перечислить следующим образом:

h0101, v1 v2 v3 v4 i2 , h0110, v1 v2 v3 v4 i2 , h1001, v1 v2 v3 v4 i2 , h1010, v1 v2 v3 v4 i2 ,


h0101, v1 v3 v2 v4 i2 , h0110, v1 v3 v2 v4 i2 , h1001, v1 v3 v2 v4 i2 , h1010, v1 v3 v2 v4 i2 ,
h0101, v1 v4 v2 v3 i2 , h0110, v1 v4 v2 v3 i2 , h1001, v1 v4 v2 v3 i2 , h1010, v1 v4 v2 v3 i2 .

Для этого мы выбрали


n все различные
o nмножества из двух
o nнеупорядоченных
o
пар переменных: {v1 , v2 }, {v3 , v4 } , {v1 , v3 }, {v2 , v4 } , {v1 , v4 }, {v2 , v3 } ;
затем для каждого множества составили четыре квадратичные функции,
различающиеся только линейной частью.
S 1 = (0, 13, 11, 8, 3, 6, 4, 1, 15, 2, 5, 14, 10, 12, 9, 7)
S 2 = (0, 1, 9, 14, 13, 11, 7, 6, 15, 2, 12, 5, 10, 4, 3, 8) входы выходы
S 3 = (0, 1, 11, 13, 9, 14, 6, 7, 12, 5, 8, 3, 15, 2, 4, 10) p1 p2 p3 p4 c1 c2 c3 c4
S 4 = (0, 1, 2, 4, 3, 5, 8, 10, 7, 9, 6, 13, 11, 14, 12, 15) 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
S 5 = (0, 1, 11, 2, 8, 6, 15, 3, 14, 10, 4, 9, 13, 5, 7, 12)
0 0 1 0 1 0 0 1
S 6 = (0, 1, 11, 2, 8, 3, 15, 6, 14, 10, 4, 9, 13, 5, 7, 12)
0 0 1 1 1 1 1 0
S 7 = (0, 4, 11, 2, 8, 6, 10, 1, 14, 15, 3, 9, 13, 5, 7, 12) 0 1 0 0 1 1 0 1
S 8 = (0, 4, 11, 2, 8, 3, 15, 1, 14, 10, 6, 9, 13, 5, 7, 12) 0 1 0 1 1 0 1 1
S 9 = (0, 11, 15, 9, 1, 5, 6, 8, 3, 10, 4, 12, 14, 13, 7, 2) 0 1 1 0 0 1 1 1
S 10 = (0, 7, 10, 14, 9, 1, 13, 8, 12, 2, 11, 15, 3, 5, 4, 6) 0 1 1 1 0 1 1 0
S 11 = (4, 10, 9, 2, 13, 8, 0, 14, 6, 11, 1, 12, 7, 15, 5, 3) 1 0 0 0 1 1 1 1
1 0 0 1 0 0 1 0
S 12 = (8, 2, 11, 13, 4, 1, 14, 7, 5, 15, 0, 3, 10, 6, 9, 12)
1 0 1 0 1 1 0 0
S 13 = (10, 5, 3, 15, 12, 9, 0, 6, 1, 2, 8, 4, 11, 14, 7, 13)
1 0 1 1 0 1 0 1
S 14 = (5, 10, 12, 6, 0, 15, 3, 9, 8, 13, 11, 1, 7, 2, 14, 4)
1 1 0 0 1 0 1 0
S 15 = (3, 9, 15, 0, 6, 10, 5, 12, 14, 2, 1, 7, 13, 4, 8, 11) 1 1 0 1 0 1 0 0
S 16 = (15, 0, 10, 9, 3, 5, 4, 14, 8, 11, 1, 7, 6, 12, 13, 2) 1 1 1 0 0 0 1 1
S 17 = (12, 6, 3, 9, 0, 5, 10, 15, 2, 13, 4, 14, 7, 11, 1, 8) 1 1 1 1 1 0 0 0
S 18 = (13, 10, 0, 7, 3, 9, 14, 4, 2, 15, 12, 1, 5, 6, 11, 8)

Таблица 6. 4-Разрядные подстановки, Таблица 7.


с предельно высокой нелинейностью N L = 4. Подстановка S 2 .

136
Рассмотрим соотношения

ha, π(P )ii ⊕ hb, σ(C)ij = 0, (5.10)

где при i = 1 вектору a соответствуют числа 0, . . . , 15 и тождественная


перестановка π; при i = 2 вектору a отвечают числа 5, 6, 9, 10 и переста-
новки π = id, (1, 3, 2, 4), (1, 3, 4, 2) (аналогично для b и σ при j = 1, j = 2).
При данных условиях функции ha, π(·)ii и hb, σ(·)ij пробегают все множе-
ство функций ∆4 без повторений. Для подстановки S рассмотрим таблицу,
строки которой занумерованы тройками (i, ã, π), а столбцы — тройками
(j, b̃, σ), такую что на пересечении строки и столбца находится преобла-
i,a,π
дание εj,b,σ соответствующего равенства (5.10), умноженное на 16 (т. е.
отклонение числа выполнений равенства (5.10) от половины).
И хотя здесь приводится способ построения таблицы для четырехраз-
рядной подстановки, заметим, что он несложно может быть обобщен на
случай произвольной t-разрядной подстановки или преобразования P →
C, где P и C имеют разное число битов.
Параметром неквадратичности подстановки S назовем число

N Q(S) = min min min |{P : ha, π(P )ii ⊕ hb, σ(C)ij 6= δ}|.
i,j a6=0,b6=0 δ∈Z2 ,π,σ

Другими словами, величина N Q(S) равна разности числа 8 и максималь-


ной из абсолютных величин элементов таблицы (кроме элементов первой
строки и первого столбца). Соотношение, отвечающее элементу таблицы с
N Q(S)
абсолютной величиной 8 − N Q(S), выполняется с вероятностью 16 или
N Q(S)
1− 16 (т.е. наименее или наиболее вероятно). Нелинейностью подста-
новки S называется величина

N L(S) = min min |{P : ha, π(P )i1 ⊕ hb, σ(C)i1 6= δ}|.
a6=0,b6=0 δ,π,σ

Величину N L(S) можно получить как разность числа 8 и максимальной из


абсолютных величин элементов той части таблицы, которая соответству-
ет только линейным соотношениям входных и выходных битов, т. е. где
i = j = 1 (кроме нулевых комбинаций). Очевидно, что N Q(S) 6 N L(S).

137
Согласно [124] справедливо N L(S) 6 4 для любой четырехразрядной под-
становки S.
Для подстановки S 2 имеем N L(S 2 ) = 4, N Q(S 2 ) = 2 (см. таблицу 8).
j=1 j=2 j=2 j=2
16 · εi,a,π
j,b,σ id id (1,3,2,4) (1,3,4,2)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 6 9 10 5 6 9 10 5 6 9 10
0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 -2 0 2 -2 0 -2 4 0 2 0 -2 2 0 2 4 -2 0 0 2 0 2 2 0 0 0 4 0
2 0 0 0 0 0 4 4 0 2 2 -2 -2 2 -2 2 -2 2 6j0 0 2 4 -2 0 4 2 0 2
3 0 2 0 -2 -2 0 2 0 -2 4 2 4 0 -2 0 2 0 2 4 2 2 -2 0 0 4 -2 0 2
4 0 -2 0 -2 0 2 0 2 0 -2 4 2 0 2 4 -2 4 -2 0 2 4 -2 0 2 0 0 -2 -2
5 0 0 4 0 2 2 -2 2 0 4 0 0 -2 2 -2 -2 -2 2 0 4 0 0 -2 2 0 -4 2 2
6 0 -2 4 2 0 -2 0 -2 2 0 -2 4 2 0 2 0 -2 0 0 -2 -2 2 2 -2 0 2 2 0
i=1 7 0 4 0 0 2 2 -2 2 -2 -2 -2 2 4 0 0 0 0 0 -4 0 2 4 0 -2 0 2 2 -4
id 8 0 0 2 -2 0 0 2 -2 0 0 2 -2 4 4 -2 2 2 0 2 0 4 0 2 -2 4 2 0 -2
9 0 2 2 4 -2 4 0 -2 0 -2 2 0 -2 0 0 2 4 0 -2 2 0 2 0 6j-4 2 0 2
10 0 0 -2 2 4 0 -2 -2 2 2 4 0 2 -2 0 0 0 -2 2 4 2 0 4 2 0 0 4 0
11 0 -2 -2 4 2 0 4 2 -2 0 0 2 0 2 -2 0 2 2 2 -2 -2 2 2 2 0 4 0 4
12 0 2 2 0 0 -2 2 4 4 -2 2 0 0 -2 -2 0 2 -2 2 -2 0 -2 2 0 0 2 -2 0
13 0 0 -2 -2 2 2 0 0 4 0 -2 2 -2 2 0 4 0 2 -2 0 0 0 -4 0 0 -2 -2 0
14 0 2 2 0 4 -2 2 0 -2 0 0 -2 -2 0 4 2 0 0 2 -2 -2 -2 0 0 0 0 -2 2
15 0 4 -2 2 -2 -2 0 0 2 2 0 0 0 4 2 -2 -2 0 2 0 -2 0 2 0 0 0 2 2
5 0 -2 2 0 4 -2 -2 0 2 4 0 2 2 0 0 -2 -4 0 2 2 0 0 2 -2 2 -2 4 0
i=2 6 0 0 6j2 -2 2 0 0 0 0 -2 2 -2 2 0 0 0 2 -2 0 -2 2 -2 2 -2 0 0 2
id 9 0 0 0 4 0 0 0 -4 2 -2 2 2 2 -2 2 2 2 -2 0 0 0 2 4 2 -2 4 2 0
10 0 2 0 2 2 4 -2 0 0 2 4 -2 -2 0 -2 0 2 0 0 6j2 0 0 6j-2 -2 2 2
5 0 0 2 2 4 0 -2 2 4 0 2 -2 0 0 -2 -2 0 -2 0 2 0 0 2 2 -2 0 2 0
i=2 6 0 2 4 -2 -2 0 2 4 0 2 0 2 -2 0 -2 0 0 2 2 0 0 -2 -2 0 2 -2 -2 2
(1,3,2,4) 9 0 2 -2 0 0 -2 2 0 2 0 4 2 2 -4 0 2 2 -2 4 0 2 -2 4 0 2 2 0 0
10 0 0 0 0 2 2 -2 -2 -2 6j2 2 0 0 0 0 -2 2 2 6j2 0 0 2 2 -4 4 2
5 0 0 4 4 0 0 0 0 4 -4 0 0 0 0 0 0 2 -2 -2 -2 -2 2 2 2 -4 4 0 0
i=2 6 0 0 2 -2 0 -4 2 2 2 2 0 4 2 -2 0 0 -2 0 4 -2 0 -2 2 -4 4 0 0 0
(1,3,4,2) 9 0 4 0 0 -2 2 2 2 0 0 4 0 -2 -2 -2 2 4 0 2 2 2 -2 0 4 0 0 -2 2
10 0 0 2 2 -2 2 0 -4 -2 2 0 4 0 0 2 2 0 2 0 2 0 2 0 2 0 0 2 2

Таблица 8. Преобладания для подстановки S 2 .

В таблице 8 элементы с абсолютными значениями 4 и 6 выделены по-


лужирным шрифтом и заключены в кружки соответственно. Любые ли-
нейные соотношения на входные и выходные биты S 2 выполняются с веро-
ятностью не большей 3/4, тогда как существуют 7 квадратичных соотно-
шений, вероятность которых составляет 7/8. Выберем из них соотношение

138
при i = 2, ã = 6, π = id, j = 1, b̃ = 2, σ = id, т.е

h(0110), (p1 , p2 , p3 , p4 )i2 ⊕ h(0010), (c1 , c2 , c3 , c4 )i1 = 0.

Используя формулы (4.6) и (4.7), приходим к равенству для входных и


выходных битов

c3 = p1 p3 ⊕ p1 p4 ⊕ p2 p3 ⊕ p2 p4 ⊕ p1 ⊕ p4 ,

которое выполняется с вероятностью (8 + 6)/16, т.е. 7/8. Заметим, что по-


лученное соотношение линейно относительно битов c1 , c2 , c3 и c4 .
Аналогично, если выбрать соотношение при i = 1, ã = 9, π = id, j = 2,
b̃ = 10, σ = (1, 3, 2, 4), а именно

h(1001), (p1 , p2 , p3 , p4 )i1 ⊕ h(1010), (c1 , c3 , c2 , c4 )i2 = 0,

то после преобразования с помощью (4.6) и (4.7) получаем соотношение

p2 ⊕ p4 = c1 c2 ⊕ c1 c4 ⊕ c2 c3 ⊕ c3 c4 ⊕ c3 ⊕ c4 ,

линейное относительно битов p1 , p2 , p3 и p4 , выполняющееся с вероятностью


7/8.
В приложении 5.6 приведены наиболее вероятные соотношения на P и
C для подстановок S 1 , . . . , S 10 , представленные в компактном виде, кото-
рый поясним на примере полученных соотношений для S 2 . Одно соотно-
шение представлено в таблице как C{3} = P {13, 14, 23, 24, 1, 4}, другое
— в виде C{12, 14, 23, 34, 3, 4} = P {2, 4}. Заметим, что для каждой из 10
подстановок удается построить более вероятные (по сравнению с линейны-
ми) квадратичные соотношения, используя функции из класса ∆4 . Имеем
N L(S t ) = 4, N Q(S t ) = 2 для каждого t = 1, . . . , 10.
На данном примере можно убедиться в том, что использование соотно-
шений вида (5.10) в составе систем уравнений с неизвестными битами (вход-
ными или выходными) может приводить к более вероятным аппроксима-
циям неизвестных битов, не усложняя при этом решение системы (система
по-прежнему может оставаться линейной относительно неизвестных).

139
Пример 2. В книге Б. Шнайера [38] приведены восемь четырехразрядных
подстановок, использовавшихся при шифровании методом ГОСТ в прило-
жении для ЦБ РФ, а также в однонаправленной хэш-функции ГОСТ. Все
они имеют параметр N L, равный 2, кроме одной, для которой N L = 4 (см.
подстановку S 11 в таблице 6). Для каждой подстановки имеем N Q = 2, и
в среднем добавляется 5-6 новых наиболее вероятных квадратичных соот-
ношений специального вида на входные и выходные биты каждой подста-
новки.
Пример 3. Для всех 32 подстановок на 16 элементах, используемых в
S-блоках алгоритма DES (см. например, [38]), параметры N L и N Q совпа-
дают и равны 2. Отметим, что для каждой подстановки добавляется от 0 до
11 (в среднем 4-5) новых наиболее вероятных квадратичных соотношений
на входные и выходные биты.
Пример 4. Рассмотрим 32 подстановки (см. например, [38]) в S-блоках
модифицированного алгоритма s3 DES [136, 53], которые считаются устой-
чивыми к методам дифференциального и линейного криптоанализа. Среди
них только 7 подстановок (это подстановки S 12 , . . . , S 18 в таблице 6) обла-
дают нелинейностью N L = 4, для 25-ти остальных параметр N L равен
2. Для шести из семи подстановок с нелинейностью N L = 4 выполняется
N Q = 2, и в среднем для каждой такой подстановки имеется около 6 квад-
ратичных соотношений с вероятностью 7/8. И лишь для одной подстановки
S 18 имеем N L = N Q = 4.
Квадратичные соотношения с вероятностью 7/8 для подстановок S 11 ,
. . ., S 18 приведены в приложении 5.6.

5.5 Замечания и дополнения

Приведем свойства функций hu, vik , которые могут быть использованы при
согласовании раундовых аппроксимаций в квадратичном криптоанализе
конкретных шифров.

140
Для вектора u = (u1 , . . . , um ) пусть ūk = (u1 ⊕ u2 , . . . , u2k−1 ⊕ u2k ) —
вектор длины k. Через ∗ обозначим обычное покомпонентное умножение
векторов. Пусть |u| = hu, ui. Справедливо

Утверждение 20. Для любых векторов u, v, w ∈ Zm


2 , для любого k,
1 6 k 6 m/2, верно

hu ⊕ v, wik = hu, wik ⊕ hv, wik ⊕ hūk , w̄k i · hv̄k , w̄k i ⊕ |ūk ∗ v̄k ∗ w̄k |.

Доказательство. Согласно теореме 54 имеем


k M
M k 
k k k k k k
hu ⊕ v, wik = hu, wi ⊕ hv, wi ⊕ (ūi ⊕ v̄i )(ūj ⊕ v̄j )w̄i w̄j =
i=1 j=i

M k
k M  M k
k M 
hu, wik ⊕ hv, wik ⊕ ūki v̄jk w̄ik w̄jk ⊕ ūkj v̄ik w̄ik w̄jk =
i=1 j=i i=1 j=i

M k
k M  k
M 
hu, wik ⊕ hv, wik ⊕ ūki v̄jk w̄ik w̄jk ⊕ ūki v̄ik w̄ik .
i=1 j=1 i=1

Осталось заметить, что третье слагаемое совпадает с hūk , w̄k i · hv̄k , w̄k i, а
четвертое равно |ūk ∗ v̄k ∗ w̄k |. Утверждение доказано. 

Из утверждения 20 следует, что чем меньше значение k, тем менее су-


щественной является нелинейная «добавка» при переходе от hu ⊕ v, wik к
сумме hu, wik ⊕ hv, wik . При согласовании раундовых аппроксимаций (см.
раздел 5.1.2) такая добавка может быть оценена с некоторой вероятностью
по частичной информации о неизвестных битах.
Аналог линейности. Напомним, что в 4.2 была определена бинарная опе-
−1 −1
рация ? : Zm m m
2 ×Z2 → Z2 по правилу u?v = ϕk (ϕk (u)+̇ϕk (v)) для любых
u, v ∈ Zm
2 , где +̇ обозначает сложение над Z4 для первых k координат век-
торов ϕk−1 (u), ϕ−1
k (v) и сложение над Z2 для m − 2k последних координат.
Из формулы (4.2) вытекает

141
Утверждение 21. При любых целых m, k, любых u, v, w ∈ Zm
2 спра-
ведливо cku,w + ckv,w = cku?v,w , где + обозначает сложение над Z4 .

Напомним, что по определению (4.4) выполняется hu, vik = β(cku,v ). Из


этого следует, что вектор значений булевой функции hu, ·ik : Zm
2 → Z2
является образом (под действием отображения β) вектора значений функ-
ции hhu, ·iik : Zm k
2 → Z4 , такой что hhu, viik = cu,v . Другими словами,
hu, vik = β (hhu, viik ). Заметим, что hhu, viik = hhv, uiik . Согласно утвер-
ждению 21 функции hhu, viik , u ∈ Zm
2 , обладают свойством линейности
над Z4 , т.е. hhu0 , viik + hhu00 , viik = hhu0 ? u00 , viik . Этот факт можно ис-
пользовать в квадратичном криптоанализе. В частности, заменив основное
соотношение ha, π(P )ii ⊕ hb, σ(C)ij = hd, τ (K)ik для битов открытого тек-
ста, шифротекста и ключа (например, для алгоритма 1) на соотношение
над Z4 вида hha, π(P )iik + hhb, π(C)iik = hhd, π(K)iik , полагая i = j = k,
а также π = σ = τ . В соотношениях такого типа напрямую может ис-
пользоваться линейность функций hhu, viik над Z4 . Однако, этот случай
требует дополнительного исследования. В частности, необходимо описать
способ выбора по набранной статистике значения hhd, π(K)iik из четырех
возможных вариантов 0, 1, 2 и 3 (вместо двух, как было ранее).

142
5.6 Приложение
S квадратичные соотношения с вероятностью 7/8
C{1, 3, 4} = P {13, 14, 23, 24, 1, 3},
C{1, 3, 4} = P {12, 13, 24, 34, 1, 3},
S1
C{13, 14, 23, 24, 2, 3} = P {3, 4},
C{12, 14, 23, 34, 2, 3} = P {3, 4},
C{3} = P {13, 14, 23, 24, 1, 4},
C{2, 4} = P {12, 14, 23, 34, 3, 4},
C{13, 14, 23, 24, 1, 4} = P {3},
S2 C{12, 14, 23, 34, 3, 4} = P {2, 4},
C{13, 14, 23, 24, 2, 4} = P {13, 14, 23, 24, 2, 4},
C{12, 14, 23, 34, 3, 4} = P {13, 14, 23, 24, 2, 4},
C{13, 14, 23, 24, 2, 4} = P {12, 14, 23, 34, 3, 4}
C{2} = P {13, 14, 23, 24, 1, 4},
C{1, 2, 3, 4} = P {12, 14, 23, 34, 3, 4},
S3
C{12, 14, 23, 34, 3, 4} = P {4},
C{13, 14, 23, 24, 1, 4} = P {1, 2},
C{12, 13, 24, 34, 1, 3} = P {1, 2}
C{12, 14, 23, 34, 3, 4} = P {1, 2, 3, 4},
S4 C{12, 13, 24, 34, 1, 3} = P {12, 13, 24, 34, 1, 3},
C{12, 14, 23, 34, 1, 4} = P {12, 13, 24, 34, 1, 3},
C{12, 14, 23, 34, 1, 4} = P {12, 14, 23, 34, 1, 4},
C{1, 2} = P {12, 14, 23, 34, 2, 3}
S5
C{12, 14, 23, 34, 2, 3} = P {2, 3},
S6 C{12, 14, 23, 34, 1, 4} = P {1, 2, 3, 4}
C{1, 3} = P {13, 14, 23, 24, 2, 4},
C{12, 13, 24, 34, 1, 2} = P {1, 3} ⊕ 1
S7
C{12, 13, 24, 34, 3, 4} = P {12, 14, 23, 34, 1, 2},
C{13, 14, 23, 24, 1, 4} = P {12, 13, 24, 34, 3, 4} ⊕ 1,
C{1, 3} = P {13, 14, 23, 24, 2, 4},
C{12, 13, 24, 34, 1, 2} = P {1, 3} ⊕ 1
S8
C{12, 13, 24, 34, 3, 4} = P {12, 14, 23, 34, 1, 2},
C{13, 14, 23, 24, 1, 4} = P {12, 13, 24, 34, 3, 4} ⊕ 1,
C{1, 2} = P {12, 14, 23, 34, 1, 4}
C{1, 2, 3} = P {13, 14, 23, 24, 1, 3}
C{1, 2, 4} = P {12, 13, 24, 34, 1, 3}
S9
C{13, 14, 23, 24, 2, 3} = P {1, 2, 4},
C{12, 14, 23, 34, 1, 2} = P {12, 14, 23, 34, 1, 4},
C{13, 14, 23, 24, 1, 4} = P {12, 13, 24, 34, 1, 2},
C{1, 4} = P {13, 14, 23, 24, 1, 3},
C{1, 2, 3, 4} = P {12, 14, 23, 34, 1, 4},
C{13, 14, 23, 24, 1, 3} = P {1, 3},
S 10
C{12, 14, 23, 34, 3, 4} = P {1, 3},
C{13, 14, 23, 24, 2, 4} = P {12, 14, 23, 34, 3, 4},
C{13, 14, 23, 24, 2, 4} = P {13, 14, 23, 24, 1, 3},

143
S квадратичные соотношения с вероятностью 7/8
C{2, 3} = P {13, 14, 23, 24, 1, 3} ⊕ 1,
C{2, 3} = P {12, 13, 24, 34, 1, 3} ⊕ 1,
S 11 C{12, 14, 23, 34, 1, 4} = P {1, 4},
C{13, 14, 23, 24, 1, 3} = P {13, 14, 23, 24, 2, 4},
C{13, 14, 23, 24, 1, 3} = P {12, 13, 24, 34, 1, 3} ⊕ 1,
C{1, 2, 3} = P {13, 14, 23, 24, 1, 3} ⊕ 1,
C{13, 14, 23, 24, 1, 3} = P {3, 4} ⊕ 1,
C{12, 14, 23, 34, 1, 2} = P {3, 4} ⊕ 1,
S 12 C{13, 14, 23, 24, 2, 4} = P {1, 3, 4},
C{12, 14, 23, 34, 3, 4} = P {1, 3, 4},
C{13, 14, 23, 24, 1, 3} = P {12, 14, 23, 34, 2, 3} ⊕ 1,
C{12, 13, 24, 34, 1, 3} = P {12, 14, 23, 34, 2, 3} ⊕ 1,
C{12, 14, 23, 34, 1, 4} = P {13, 14, 23, 24, 2, 3} ⊕ 1,
S 13
C{12, 13, 24, 34, 1, 3} = P {13, 14, 23, 24, 2, 3} ⊕ 1,
C{1} = P {12, 14, 23, 34, 1, 4},
C{3} = P {12, 14, 23, 34, 3, 4},
C{1, 2} = P {12, 14, 23, 34, 2, 3} ⊕ 1,
S 14
C{2, 3} = P {12, 14, 23, 34, 1, 2} ⊕ 1,
C{12, 14, 23, 34, 3, 4} = P {12, 14, 23, 34, 1, 2} ⊕ 1,
C{12, 14, 23, 34, 1, 4} = P {12, 14, 23, 34, 2, 3} ⊕ 1,
C{1, 2, 3} = P {12, 14, 23, 34, 1, 2} ⊕ 1,
C{12, 13, 24, 34, 1, 3} = P {2, 4},
C{12, 13, 24, 34, 2, 4} = P {1, 2, 4},
S 15 C{13, 14, 23, 24, 2, 4} = P {2, 4} ⊕ 1,
C{13, 14, 23, 24, 1, 3} = P {1, 2, 4} ⊕ 1,
C{12, 14, 23, 34, 1, 4} = P {12, 13, 24, 34, 2, 4},
C{12, 13, 24, 34, 1, 3} = P {12, 13, 24, 34, 2, 4},
C{12, 13, 24, 34, 1, 2} = P {12, 13, 24, 34, 1, 2},
C{12, 13, 24, 34, 1, 2} = P {13, 14, 23, 24, 2, 3},
C{12, 14, 23, 34, 1, 2} = P {12, 14, 23, 34, 2, 3},
C{12, 14, 23, 34, 1, 4} = P {12, 14, 23, 34, 1, 2},
S 16
C{12, 14, 23, 34, 1, 4} = P {13, 14, 23, 24, 1, 3},
C{13, 14, 23, 24, 2, 4} = P {12, 13, 24, 34, 1, 3},
C{13, 14, 23, 24, 1, 4} = P {12, 14, 23, 34, 1, 2},
C{13, 14, 23, 24, 2, 4} = P {12, 14, 23, 34, 2, 3},
C{2, 3} = P {12, 13, 24, 34, 1, 3},
C{1, 3, 4} = P {13, 14, 23, 24, 2, 3} ⊕ 1,
C{13, 14, 23, 24, 2, 3} = P {2} ⊕ 1,
S 17 C{12, 13, 24, 34, 3, 4} = P {2} ⊕ 1,
C{13, 14, 23, 24, 1, 4} = P {1, 2} ⊕ 1,
C{12, 13, 24, 34, 1, 2} = P {1, 2} ⊕ 1,
C{13, 14, 23, 24, 1, 4} = P {12, 13, 24, 34, 1, 3} ⊕ 1,
S 18 отсутствуют

Приведены наиболее вероятные соотношения для подстановок S 1 , . . . , S 18 .

144
Заключение

Изложенные в книге результаты опубликованы в следующих статьях


автора. Обзор, приведенный в Главе 1, опубликован в [32]. Обобщения
бент-функций, представленные в Главе 2, опубликованы в [33]. Результат
о группе автоморфизмов множества бент-функций, представленный в Гла-
ве 3, можно найти в [34]. Результатам Глав 4, 5 посвящены статьи [29,
30, 31, 199]. Статьи и электронный вариант данной книги доступны на
web-странице www.math.nsc.ru/∼tokareva. Ваши замечания и пожелания
присылайте, пожалуйста, по адресу [email protected].
В заключение я хотела бы выразить свою благодарность А. А. Нечае-
ву (МГУ), С. В. Агиевичу (Минск, Белоруссия), Лилии Будагян (Берген,
Норвегия), Патрику Соле́ (Париж, Франция) и Франсуа Родье (Марсель,
Франция) за ценные замечания и обсуждения по теме данной работы, а
также пожелать удачи каждому исследователю, у которого возник интерес
к задачам о бент-функциях.

***

Исследование выполнено при поддержке гранта Президента РФ для молодых российских

ученых (грант МК-1250.2009.1), Российского фонда фундаментальных исследований (проек-

ты 08-01-00671, 09-01-00528, 10-01-00424) и ФЦП «Научные и научно-педагогические кадры

инновационной России» на 2009-2013 гг. (гос. контракт 02.740.11.0429).

145
Литература

[1] Августинович С. В. Об одном свойстве совершенных двоичных кодов


// Дискрет. анализ и исслед. операций. 1995. Т. 2, N 1. С. 4–6.

[2] Агеев Д. В. Основы теории линейной селекции. Кодовое разделение


каналов // Сборник научных трудов Ленинградского эксперименталь-
ного института связи, 1935.

[3] Амбросимов А. С. Свойства бент-функций q-значной логики над ко-


нечными полями // Дискретная математика. 1994. Т. 6, N 3. С. 50–60.

[4] Буряков М. Л., Логачев О. А. Об уровне аффинности булевых функ-


ций // Дискретная математика. 2005. Т. 17, N 4. С. 98–107.

[5] Васильев Ю. Л. О негрупповых плотно упакованных кодах // Пробле-


мы кибернетики. 1962. Вып. 8. С. 337–339.

[6] Иванов А. В. Использование приведенного представления булевых


функций при построении их нелинейных аппроксимаций // Вестник
Томского госуниверситета. Приложение. 2007. N 23. С. 31–35.

[7] Иванов А. В. Мономиальные приближения платовидных функций //


Прикладная дискретная математика. 2008. Т. 1, N 1. С. 10–14.

[8] Иванов А. В. Близость к классу мономиальных аппроксимаций при-


веденного представления булевой функции в зависимости от выбора
базиса, в котором оно задано // Прикладная дискретная математика.
2009. Приложение. N 1. С. 7–9.

146
[9] Коломеец Н. А., Павлов А. В. Свойства бент-функций, находящихся
на минимальном расстоянии друг от друга // Прикладная Дискретная
Математика, 2009, N 4, С. 5–20.

[10] Кротов Д. С. Z4 -линейные совершенные коды // Дискрет. анализ


и исслед. операций. Сер. 1. 2000. Т. 7, N 4. С. 78–90 (translated at
http://arxiv.org/abs/0710.0198).

[11] Кузнецов Ю. В., Шкарин С. А. Коды Рида—Маллера (обзор публика-


ций) // Математические вопросы кибернетики. 1996. Вып. 6. С. 5–50.

[12] Кузьмин А. С., Марков В. Т., Нечаев А. А., Шишков А. Б. Прибли-


жение булевых функций мономиальными // Дискретная математика.
2006. Т. 18, N 1. С. 9–29.

[13] Кузьмин А. С., Марков В. Т., Нечаев А. А., Шишкин В. А., Шиш-
ков А. Б. Бент-функции и гипербент-функции над полем из 2l элемен-
тов // Проблемы передачи информ. 2008. Т. 44, Вып. 1. С. 15–37.

[14] Кузьмин А. С., Нечаев А. А., Шишкин В. А. Бент- и гипербент-


функции над конечным полем // Труды по дискретной математике.
2007. Т. 10. М.: Физматлит. С. 97–122.

[15] Кузьмин А. С., Нечаев А. А., Шишкин В. А. Параметры (гипер-)


бент-функций над полем из 2l элементов // Труды по дискретной ма-
тематике. 2008. Т. 11. М.: Физматлит. С. 47–59.

[16] Логачев О. А., Сальников А. А., Ященко В. В. Бент-функции на ко-


нечной абелевой группе // Дискретная математика. 1997. Т. 9, N 4. С.
3–20.

[17] Логачев О. А., Сальников А. А., Ященко В. В. Некоторые характери-


стики «нелинейности» групповых отображений // Дискрет. анализ и
исслед. операций. Сер. 1. 2001. Т. 8. № 1. С. 40–54.

147
[18] Логачев О. А., Сальников А. А., Ященко В. В. Криптографические
свойства дискретных функций // Материалы конференции «Москов-
ский университет и развитие криптографии в России», МГУ, 2002. М.:
МЦНМО, 2003. С. 174–199.

[19] Логачев О. А., Сальников А. А., Ященко В. В. Булевы функции в тео-


рии кодирования и криптологии. М.: Московский центр непрерывного
математического образования, 2004.

[20] Мак-Вильямс Ф. Дж., Слоэн Н. Дж. А. Теория кодов, исправляющих


ошибки. М: Связь, 1979. 745 с.

[21] Молдовян А. А., Молдовян Н. А., Гуц Н. Д., Изотов Б. В. Крипто-


графия: скоростные шифры. СПб.: БХВ-Петербург, 2002.

[22] Молдовян А. А., Молдовян Н. А., Еремеев М. А. Криптография: от


примитивов к синтезу алгоритмов. СПб.: БХВ-Петербург, 2004.

[23] Нигматуллин Р. Г. Сложность булевых функций. М.: Наука,


1991. 240 с.

[24] Ростовцев А., Маховенко Е. Введение в теорию итерированных шиф-


ров // СПб.: НПО «Мир и Семья», 2003.

[25] Рязанов Б. В., Чечета С. И. О приближении случайной булевой функ-


ции множеством квадратичных форм // Дискретная математика. 1995.
Т. 7, N 3. С. 129–145.

[26] Сидельников В. М. О взаимной корреляции последовательностей //


Проблемы кибернетики. 1971. Т. 24. С. 15–42.

[27] Сидельников В. М. Об экстремальных многочленах, используемых при


оценках мощности кода // Проблемы передачи информ. 1980. Т. 14,
Вып. 3. С. 17–30.

148
[28] Солодовников В. И. Бент-функции из конечной абелевой группы в ко-
нечную абелеву группу // Дискретная математика. 2002. Т. 14. N 1. С.
99–113.

[29] Токарева Н. Н. Бент-функции с более сильными свойствами нелиней-


ности: k-бент-функции // Дискрет. анализ и исслед. операций. Сер. 1.
2007. Т. 14, N 4. С. 76–102.

[30] Токарева Н. Н. О квадратичных аппроксимациях в блочных шифрах


// Пробл. передачи информ. 2008. Т. 44, Вып. 3. С. 105–127.

[31] Токарева Н. Н. Описание k-бент-функций от четырех переменных //


Дискр. анализ и исслед. операций. 2008. Т. 15, N 4. С. 74–83.

[32] Токарева Н. Н. Бент-функции: результаты и приложения. Обзор работ


// Прикладная Дискретная Математика. 2009. Т. 2, N 1. С. 15–37.

[33] Токарева Н. Н. Обобщения бент-функций. Обзор работ // Дискретный


анализ и исследование операций. 2010. Т. 17, N 1. С. 34–64.

[34] Токарева Н. Н. Группа автоморфизмов множества бент-функций //


Дискретная математика. 2010. Т. 22, N 4.

[35] Тужилин М. Э. Почти совершенные нелинейные функции // Приклад-


ная Дискретная Математика. 2009. N 3. С. 14–20.

[36] Холл М. Комбинаторика. М.: Мир, 1970. 424 с.

[37] Черемушкин А. В. Методы аффинной и линейной классификации бу-


левых функций // Труды по дискретной математике. М.: Физматлит,
2001. Т. 4. С. 273–314.

[38] Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исход-


ные тексты на языке Си // М.: Триумф, 2002.

149
[39] Ященко В. В. О критерии распространения для булевых функций и о
бент-функциях // Пробл. передачи информации. 1997. Т. 33. Вып. 1.
С. 75–86.

[40] Ященко В. В. О двух характеристиках нелинейности булевых отобра-


жений // Дискрет. анализ и исслед. операций. Сер. 1. 1998. Т. 5. № 2.
С. 90–96.

[41] Adams C. On immunity against Biham and Shamir’s «differential


cryptanalysis» // Information Processing Letters. 1992. V. 41. P. 77–80.

[42] Adams C., Tavares S. The structured design of cryptographically good


S-boxes // J. Cryptology. 1990. V. 3. N 1. P. 27–43.

[43] 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.

[44] Agievich S. V. On the affine classification of cubic bent functions //


Cryptology ePrint Archive, Report 2005/044, available at
http://eprint.iacr.org/.

[45] Agievich S. V. Bent rectangles // NATO Advanced Study Institute on


Boolean Functions in Cryptology and Information Security (Zvenigorod,
Russia. September 8–18, 2007). Proc: Netherlands, IOS Press, 2008. P.
3–22. Available at http://arxiv.org/abs/0804.0209.

[46] http://www.math.cornell.edu/News/AnnRep/AR01-02.pdf — Cornell


University. Department of Mathematics. Annual Report 2001–2002.

[47] http://www.math.cornell.edu/News/AnnRep/AR2002-2003.pdf —
Cornell University. Department of Mathematics. Annual Report 2002–
2003.

150
[48] Baignères T., Junod P., Vaudenay S. How Far Can We Go Beyond Linear
Cryptanalysis? // Advances in Cryptology — ASIACRYPT ’04, 10th
International Conference on the Theory and Applications of Cryptology
and Information Security (Jeju Island, Korea. December 5–9, 2004). Proc.
Springer. 2004. P. 432–450 (Lecture Notes in Comput. Sci. V. 3329).

[49] Bending T. D., Fon-Der-Flaass D. G. Crooked Functions, Bent Functions


and Distance Regular Graphs // Electronic Journal of Combinatorics.
1998. N 5 (R34).

[50] 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.

[51] 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.

[52] Bey Ch., Kyureghyan G. An Association Scheme of a Family of Cubic Bent


Functions // Proc. of the Int. Workshop on Coding and Cryptography
(Versailles, France. April 16–20, 2007). P. 13–19.

[53] Biham E., Biryukov A. How to strengthen DES using existing hardware //
Advances in Cryptology — ASIACRYPT ’94, 4th International Conference
on the Theory and Applications of Cryptology. (Wollongong, Australia.
November 28 – December 1, 1994) Proc. Springer. 1995. P. 398–412
(Lecture Notes in Comput. Sci. V. 917).

[54] Biham E., Dunkelman O., Keller N. Differential-Linear Cryptanalysis of


Serpent // Fast Software Encryption — FSE’2003 (Proc. 10th International
Workshop. Lund, Sweden. February 24–26, 2003). Berlin: Springer, 2003.
P. 9–21 (Lecture Notes in Comput. Sci. V. 2887).

[55] Biham E., Shamir A. Differential cryptanalysis of DES-like cryptosystems


// J. Cryptology. 1991. V. 4, N 1. P. 3–72.

151
[56] Biryukov A., De Canniere C., Quisquater M. On Multiple Linear
Approximations // Advances in Cryptology — CRYPTO 2004, 24th
Annual International Cryptology Conference. (Santa Barbara, California,
USA. August 15-19, 2004) Proc. Springer–Verlag. 2004. P. 1–22 (Lecture
Notes in Comput. Sci. V. 3152).

[57] Borges J., Phelps K. T., Rifa J., Zinoviev V. A. On Z4 -linear Preparata-
like and Kerdock-like codes // IEEE Trans. Inform. Theory. 2003. V. 49,
N 11. P. 2834–2843.

[58] Borst J., Preneel B., Vandewalle J. Linear cryptanalysis of RC5 and
RC6 // Fast Software Encryption, 6th International Workshop — FSE’99.
(Rome, Italy. March 24–26, 1999) Proc. Berlin: Springer, 1999. P. 16–30
(Lecture Notes in Comput. Sci. V. 1636).

[59] Braeken A. Cryptographic properties of Boolean functions and S-


boxes // Ph. D. Thesis, Katholieke Univ. Leuven, 2006. Available at
http://www.cosic.esat.kuleuven.be/publications/thesis-129.pdf.

[60] Bracken C., Leander G. New families of functions with differential


uniformity of 4 // Proc. Fourth International Conference BFCA — Boolean
Functions: Cryptography and Applications (Copenhagen, Denmark, May
19–21, 2008). P. 190–194.

[61] Budaghyan L. Private communication, 2008.

[62] Budaghyan L., Carlet C., Leander G. On inequivalence between known


power APN functions // Proc. Fourth International Conference BFCA
— Boolean Functions: Cryptography and Applications (Copenhagen,
Denmark, May 19–21, 2008). P. 3–15.

[63] Budaghyan L., Pott A. On differential uniformity and nonlinearity of


functions // Discrete Mathematics. 2009. V. 309. No. 1. P. 371–384.

152
[64] Buttyan L., Vajda I. Searching for the best linear approximation of DES-
like cryptosystems // Electronics Letters. 1995. V. 31, N 11. P. 873–874.

[65] Byrne E., McGuire G. On the non-existence of crooked functions on finite


fields // Proc. of the Int. Workshop on Coding and Cryptography (Bergen,
Norway. March 14–18, 2005). P. 316–324.

[66] Canteaut A., Carlet C., Charpin P., Fontaine C. On Cryptographic


Properties of the Cosets of R(1, m) // IEEE Trans. Inform. Theory. 2001.
V. 47, N 4. P. 1494–1513.

[67] Canteaut A., Charpin P., Kuyreghyan G. A new class of monomial bent
functions // Finite Fields and Applications. 2008. V. 14, N 1. P. 221–241.

[68] Canteaut A., Daum M., Dobbertin H., Leander G. Finding nonnormal bent
functions // Discrete Appl. Math. 2006. V. 154, N 2. P. 202–218.

[69] Carlet C. Partially-bent functions // Designs, Codes and Cryptography.


1993. V. 3, N 2. P. 135–145.

[70] Carlet C. Generalized Partial Spreads // IEEE Trans. Inform. Theory.


1995. V. 41, N 5. P. 1482–1487.

[71] Carlet C. A construction of bent functions // Finite Fields and


Applications, London mathematical society. 1996. Lecture series 233. P.
47–58.

[72] Carlet C. Hyper-bent functions // Int. Conference on the Theory


and Applications of Cryptology — PRAGOCRYPT’96. Prague, Czech
Technical University Publishing House, 1996. P. 149–155.

[73] Carlet C. Z2k -linear codes // IEEE Trans. Inform. Theory. 1998. V. 44, N
4. P. 1543–1547.

[74] Carlet C. On cryptographic complexity of Boolean functions // Proc. of


the Sixth Conference on Finite Fields with Applications to Coding Theory,

153
Cryptography and Related Areas. Springer, G. L. Mullen, H. Stichtenoth
and H. Tapia-Recillas Eds. 2002. P. 53–69.

[75] Carlet C. On the confusion and diffusion properties of Maiorana—


McFarland’s and extended Maiorana—McFarland’s functions // Special
Issue «Complexity Issues in Coding Theory and Cryptography» dedicated
to Prof. Harald Niederreiter on the occasion of his 60th birthday,
J. Complexity. 2004. V. 20. P. 182–204.

[76] Carlet C. Recursive Lower Bounds on the Nonlinearity Profile of Boolean


Functions and Their Applications // IEEE Trans. Inform. Theory. 2008.
V. 54, N 3. P. 1262–1272.

[77] 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).

[78] Carlet C. Boolean Functions for Cryptography and Error Correcting Codes
// Chapter of the monograph «Boolean Methods and Models», Cambridge
Univ. Press (P. Hammer, Y. Crama eds.), to appear. Prelim. version is
available at www-rocq.inria.fr/secret/Claude.Carlet/chap-fcts-Bool.pdf.

[79] Carlet C. Vectorial Boolean Functions for Cryptography // Chapter of


the monograph «Boolean Methods and Models», Cambridge Univ. Press
(P. Hammer, Y. Crama eds.), to appear. Prelim. version is available at
www-rocq.inria.fr/secret/Claude.Carlet/chap-vectorial-fcts.pdf.

[80] Carlet C., Charpin P., Zinoviev V. Codes, bent functions and
permutations suitable for DES-like cryptosystems // Designs, Codes and
Cryptography. 1998. V. 15, N 2. P. 125–156.

[81] Carlet C., Danielsen L.-E., Parker M. G., Solé P. Self Dual Bent
Functions // Proc. Fourth International Conference BFCA — Boolean

154
Functions: Cryptography and Applications (Copenhagen, Denmark, May
19–21, 2008). P. 39–52.

[82] Carlet C., Ding C. Highly nonlinear mappings // J. Complexity. 2004. V.


20, N 2–3. P. 205–244.

[83] Carlet C., Ding C. Nonlinearities of S-boxes // Finite Fields and


Applications. 2007. V. 13, N 1. P. 121–135.

[84] Carlet C., Ding C., Niederreiter H. Authentication schemes from highly
nonlinear functions // Designs, Codes and Cryptography. 2006. V. 40, N
1. P. 71–79.

[85] Carlet C., Gaborit P. Hyper-bent functions and cyclic codes // J. Combin.
Theory. Ser. A. 2006. V. 113, N 3. P. 466–482.

[86] Carlet C., Guillot P. A characterization of binary bent functions // J.


Combin. Theory. Ser. A. 1996. V. 76. No. 2. P. 328–335.

[87] 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.

[88] 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.

[89] Carlet C., Prouff E. On Plateaued Functions and Their Constructions //


Fast Software Encryption — FSE’2003 (Proc. 10th International Workshop.
Lund, Sweden. February 24–26, 2003). Berlin: Springer, 2003. P. 54–73
(Lecture Notes in Comput. Sci. V. 2887).

[90] http://www.faqs.org/rfcs/rfc2144.html — CAST-128. Rfc 2144 —


the cast-128 encryption algorithm— 1997.

155
[91] Chabaud F., Vaudenay S. Links between Differential and Linear
Cryptanalysis // Advances in Cryptology — EUROCRYPT ’94,
International Conference on the Theory and Application of Cryptographic
Techniques. (Perugia, Italy. May 9–12, 1994) Proc. Springer. 1995. P. 356–
365 (Lecture Notes in Comput. Sci. V. 950).

[92] Charnes C., Rotteler M., Beth T. Homogeneous bent functions, invariants,
and designs // Designs, Codes and Cryptography. 2002. V. 26, N 1–3. P.
139–154.

[93] Charpin P., Pasalic E., Tavernier C. On bent and semi-bent quadratic
Boolean functions // IEEE Trans. Inform. Theory. 2005. V. 51. No. 12.
P. 4286–4298.

[94] Chase P. J., Dillon J. F., Lerche K. D. Bent functions and difference sets //
NSA R41 Technical Paper. September, 1970.

[95] 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).

[96] Clark J. A., Jacob J. L. Two-stage optimisation in the design of Boolean


functions // 5th Australian Conference on Information Security and
Privacy. (Brisbane, Australia, July 10-12, 2000). Proc. Springer-Verlag,
2000. P. 242–254 (Lecture Notes in Comput. Sci. V. 1841).

[97] Clark J. A., Jacob J. L., Maitra S., Stanica P. Almost Boolean Functions:
the Design of Boolean Functions by Spectral Inversion. // Computational
Intelligence. Special Issue on Evolutionary Computing in Cryptography
and Security. 2004. V. 20. No. 3. P. 450–462.

156
[98] Climent J.-J., Garcia F. J., Requena V. On the construction of bent
functions of n +2 variables from bent functions of n variables. // Advances
in Math. of Communications. 2008. V. 2. No. 4. P. 421–431.

[99] Daemen J., Govaerts R., Vandevalle J. Correlation Matrices // Fast


Software Encryption, Second International Workshop — FSE’95. (Leuven,
Belgium. December 14-16, 1994) Proc. Berlin: Springer, 1995. P. 275–285
(Lecture Notes in Comput. Sci. V. 1008).

[100] Van Dam E. R., Fon-Der-Flaass D. G. Uniformly Packed Codes and


More Distance Regular Graphs from Crooked Functions // J. Algebraic
Combinatorics. 2000. V. 12, N 2. P. 115–121.

[101] Van Dam E. R., Fon-Der-Flaass D. G. Codes, graphs, and schemes


from nonlinear functions // European J. Combinatorics, 2003. V. 24, N 1.
P. 85–98.

[102] Delsarte P. An algebraic approach to the association schemes of coding


theory // Ph. D. Thesis, Univ. Catholique de Louvain, 1973.

[103] Dempwolff U. Automorphisms and equivalence of bent functions and


of difference sets in elementary Abelian 2-groups // Communications in
Algebra. 2006. V. 34. No. 3. P. 1077–1131.

[104] http://www.mathematik.uni-kl.de/∼dempw/ — Homepage of U.


Dempwolff. See the section «Bent Functions in Dimensions 8,10,12». 2009.

[105] 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).

[106] Dillon J. F. A survey of bent functions // The NSA Technical J. 1972.


Special Issue. P. 191–215.

157
[107] Dillon J. F. Elementary Hadamard Difference sets // Ph. D. Thesis, Univ.
of Maryland, 1974.

[108] Dillon J. F., McGuire G. Near bent functions on a hyperplane // Finite


Fields and Applications. 2008. V. 14. P. 715–720.

[109] Dobbertin H. Construction of bent functions and balanced Boolean


functions with high nonlinearity // Fast Software Encryption, Second
International Workshop — FSE’95. (Leuven, Belgium. December 14-16,
1994) Proc. Berlin: Springer, 1995. P. 61–74 (Lecture Notes in Comput.
Sci. V. 1008).

[110] Dobbertin H. Almost perfect nonlinear power functions over GF (2n ): the
Niho case // Inform. and Comput. 1999. V. 151, N 1–2. P. 57–72.

[111] Dobbertin H. Almost perfect nonlinear power functions over GF (2n ):


a new case for n divisible by 5 // Finite Fields and Applications
FQ5 (Augsburg, Germany, 2000). Proc. Springer. Eds: D. Jungnickel, H.
Niederreiter. P. 113–121.

[112] 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.

[113] Dobbertin H., Leander G. A survey of some recent results on bent


functions // Sequences and their applications. – SETA 2004. Third Int.
conference (Seul, Korea. October 24–28, 2004). Revised selected papers.
Berlin: Springer, 2005. P. 1–29 (Lecture Notes in Comput. Sci. V. 3486).

[114] 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/.

158
[115] Fuller J. E. Analysis of affine equivalent Boolean functions
for cryptography // Ph. D. thesis, Queensland University
of Technology. Brisbane, Australia. 2003. Available at
http://eprints.qut.edu.au/15828/.

[116] Fuller J. E., Dawson E., Millan W. Evolutionary generation of bent


functions for cryptography // The 2003 Congress on Evolutionary
Computation. 2003. CEC apos;03. V. 3. P. 1655–1661.

[117] Gangopadhyay S., Sharma D., Sarkar S., Maitra S. On


Affine (Non) Equivalence of Bent Functions // CECC’08
— Central European Conference on Cryptography (Graz,
Austria, July 2–4, 2008). Proc. 2008. Available at
http://www.math.tugraz.at/∼cecc08/abstracts/cecc08 abstract 25.pdf.
¯ ¯
[118] Gong G., Golomb S. W. Transform Domain Analysis of DES // IEEE
Trans. Inform. Theory. 1999. V. 45, N 6. P. 2065–2073.

[119] Grocholewska-Czurylo A. A study of differences between bent


functions constructed using Rothaus method and randomly
generated bent functions // J. Telecommunications and
Information Technology. 2003. No. 4. P. 19–24. Available at
http://www.itl.waw.pl/czasopisma/JTIT/2003/4/19.pdf.

[120] Hammons A. R., Kumar P. V., Calderbank A. R., Sloane N. J. A., Solé
P. The Z4 -linearity of Kerdock, Preparata, Goethals, and related codes //
IEEE Trans. Inform. Theory. 1994. V. 40, N 2. P. 301–319.

[121] Harpers C., Kramer G.G., Massey J.L. A generalization of linear


cryptanalysis and the applicability of Matsui’s piling-up lemma //
Advances in Cryptology — EUROCRYPT ’95 — International Conference
on the Theory and Application of Cryptographic Techniques. (Saint-Malo,
France. May 21-25, 1995) Proc. Springer. 1995. P. 24–38 (Lecture Notes in
Comput. Sci. V. 921).

159
[122] Hawkes P., O’Connor L. On Applying Linear Cryptanalysis to IDEA //
Advances in Cryptology — ASIACRYPT ’96 — International Conference
on the Theory and Applications of Cryptology and Information Security.
(Kyongju, Korea. November 3–7, 1996) Proc. Berlin: Springer. 1996. P.
105–115 (Lecture Notes in Comput. Sci. V. 1163).

[123] Helleseth T., Kalosha A. Monomial and quadratic bent functions over the
finite fields of odd characteristic // Reports in Informatics, 2005. University
of Bergen, Norway. Report 310.

[124] Heys H. M., Tavares S. E. Substitution-Permutation Networks Resistant


to Differential and Linear Cryptanalysis // J. Cryptology. 1996. V. 9, N 1.
P. 1–19.

[125] Hou X.-D. Cubic bent functions // Discrete Mathematics. 1998. V. 189.
P. 149–161.

[126] Hou X. D. q-Ary bent functions constructed from chain rings // Finite
Fields and Applications. 1998. V. 4, N 1. P. 55–61.

[127] Hou X. D. p-Ary and q-ary versions of certain results about bent functions
and resilient functions // Finite Fields and Applications. 2004. V. 10, N 4.
P. 566–582.

[128] Hou X.-D., Langevin P. Results on bent functions // J. Comb. Theory,


Series A. 1997. V. 80. P. 232–246.

[129] Hu H., Feng D. On quadratic bent functions in polynomial forms // IEEE


Trans. Inform. Theory 2007. V. 53. No. 7. P. 2610–2615.

[130] Kaliski B., Robshaw M. Linear Cryptanalysis Using Multiple


Approximations // Advances in Cryptology — CRYPTO’94, 14th
Annual International Cryptology Conference. (Santa Barbara, California,
USA. August 21-25, 1994) Proc. Springer. 1994. P. 26–39 (Lecture Notes
in Comput. Sci. V. 839).

160
[131] Kantor W. M. Codes, Quadratic Forms and Finite Geometries //
Proceedings of Symposia in Applied Math. 1995. V. 50. P. 153–177.
Available at http://darkwing.uoregon.edu/∼kantor/.

[132] Kavut S., Maitra S., Yucel M. D. Search for Boolean functions with
excellent profiles in the rotation symmetric class // IEEE Trans. Inform.
Theory. 2007. V. 53, N 5. P. 1743–1751.

[133] Kerdock A. M. A class of low-rate non-linear binary codes // Inform.


Control. 1972. V. 20, N 2. P. 182–187.

[134] Khoo K., Gong G., Stinson D. R. A new family of Gold-like sequences //
ISIT — IEEE Int. Symposium on Information Theory (Lausanne,
Switzerland, June 30-July 5, 2002). Proc. 2002. P. 181.

[135] Khoo K., Gong G., Stinson D. R. A new characterization of semi-bent and
bent functions on finite fields // Designs, Codes and Cryptography. 2006.
V. 38. No. 2. P. 279–295.

[136] Kim K., Park S., Lee S. Reconstruction of s2DES S-Boxes and their
Immunity to Differential Cryptanalysis // Korea — Japan Workshop on
Information Security and Cryptography. (Seoul, Korea. October 24–26,
1993) Proc. 1993. P. 282–291.

[137] Knudsen L. Practically secure Feistel ciphers // Fast Software Encryption


— FSE, The Cambridge Security Workshop. (Cambridge, U.K. December
9–11, 1993) Proc. Springer-Verlag. 1994. P. 211–221 (Lecture Notes in
Comput. Sci. V. 809).

[138] Knudsen L. R., Robshaw M. J. B. Non-linear approximation in linear


cryptanalysis // Advances in Cryptology – EUROCRYPT’96. Workshop on
the theory and application of cryptographic techniques (Saragossa, Spain.
May 12–16, 1996). Proc. Springer-Verlag. 1996. P. 224–236 (Lecture Notes
in Comput. Sci. V. 1070).

161
[139] Krotov D. S. Z4 -linear Hadamard and extended perfect codes // Proc. of
the Int. Workshop on Coding and Cryptography (Paris, France. January
8–12, 2001). P. 329–334.

[140] Krotov D. S., Avgustinovich S. V. On the Number of 1-Perfect Binary


Codes: A Lower Bound // IEEE Trans. Inform. Theory. 2008. V. 54, N 4.
P. 1760–1765.

[141] Kumar P. V., Scholtz R. A., Welch L. R. Generalized bent functions and
their properties // J. Combin. Theory. Ser. A. 1985. V. 40, N 1. P. 90–107.

[142] Kuzmin A. S., Markov V. T., Nechaev A. A., Shishkin V. A., Shishkov
A. B. Bent- and hyperbent-functions over a field of 2` elements //
Tenth Int. Workshop «Algebraic and Combinatorial Coding Theory»
(Zvenigorod, Russia. September 3–9, 2006). Proc. 2006. P. 178–181.

[143] http://langevin.univ-tln.fr/project/quartics/ — Classification


of Boolean Quartics Forms in eight Variables (Langevin P.). 2008.

[144] Langevin P., Leander G. Monomial bent functions and Stickelberger’s


theorem // Finite Fields and Applications. 2008. V. 14. P. 727–742.

[145] Langevin P., Leander G., McGuire G. Kasami Bent Functions are Not
Equivalent to Their Duals // submitted, 2007.

[146] Langevin P., Rabizzoni P., Véron P., Zanotti J.-P. On the number of
bent functions with 8 variables // Second International Conference BFCA
— Boolean Functions: Cryptography and Applications (Rouen, France,
March 13-15, 2006). Proc. 2006. P. 125–135.

[147] Leander N. G. Monomial bent functions // IEEE Trans. Inform. Theory.


2006. V. 52, N 2. P. 738–743.

[148] Leander N. G., Langevin P. On exponents with highly divisible Fourier


coefficients and conjectures of Niho and Dobbertin // Algebraic Geometry
and its applications (France, May 7–11, 2007) Proc. 2008. P. 410–418.

162
[149] Leander N. G., McGuire G. Construction of bent functions from near-
bent functions // J. Comb. Theory, Series A. 2009. V. 116. N 4. P. 960–970.

[150] 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).

[151] Maitra S., Sarkar P. Maximum Nonlinearity of Symmetric Boolean


Functions on Odd Number of Variables // IEEE Trans. Inform. Theory.
2002. V. 48, N 9. P. 2626–2630.

[152] Mansoori S. D., Bizaki H. K. On the vulnerability of simplified AES


algorithm against linear cryptanalysis // Internat. J. of Computer Science
and Network Security. 2007. V. 7, N 7. P. 257–263.

[153] Matsufuji S., Imamura K. Real-valued bent functions and its application
to the design of balanced quadriphase sequences with optimal correlation
properties // Int. Symposium on Applied Algebra, Algebraic Algorithms
and Error-Correcting Codes — AAECC-8 (Tokyo, Japan. August 20–24,
1990). Proc. 1990. P. 106–112 (Lecture Notes in Comput. Sci. V. 508).

[154] Matsui M. Linear cryptanalysis method for DES cipher // Advances in


Cryptology — EUROCRYPT’93. Workshop on the theory and application
of cryptographic techniques (Lofthus, Norway. May 23–27, 1993). Proc.
Berlin: Springer, 1994. P. 386–397 (Lecture Notes in Comput. Sci. V. 765).

[155] Matsui M. New structure of Block Ciphers with Provable Security


Against Differential and Linear Cryptanalysis // Advances in Cryptology
– EUROCRYPT’96. Workshop on the theory and application of
cryptographic techniques (Saragossa, Spain. May 12–16, 1996). Proc.
Springer-Verlag. P. 205–218 (Lecture Notes in Comput. Sci. V. 1070).

[156] Matsui M., Yamagishi A. A new method for known plaintext attack of
FEAL cipher // Advances in Cryptology – EUROCRYPT’92. Workshop

163
on the theory and application of cryptographic techniques (Balatonfured,
Hungary. May 24–28, 1992). Proc. Berlin: Springer, 1993. P. 81–91 (Lecture
Notes in Comput. Sci. V. 658).

[157] McFarland R. L. A family of difference sets in non-cyclic groups // J.


Combin. Theory. Ser. A. 1973. V. 15, N 1. P. 1–10.

[158] Meng Q., Yang M. C., Zhang H., Cui J.-S. A novel algorithm
enumerating bent functions // Cryptology ePrint Archive, Report
2004/274, available at http://eprint.iacr.org/.

[159] Meng Q., Zhang H., Wang Z. Designing bent functions using evolving
computing // Acta Electronica Sinica. 2004. No. 11. P. 1901–1903.

[160] Meng Q., Zhang H., Yang M. C., Cui J. On the degree of homogeneous
bent functions // Available at http://eprint.iacr.org, 2004/284.

[161] Meng Q., Zhang H., Yang M. C., Cui J. On the degree of homogeneous
bent functions // Discrete Applied Mathematics, 2007. V. 155, N 5. P.
665–669.

[162] Millan W., Clark A., Dawson E. An effective genetic algorithm for finding
highly nonlinear Boolean functions // First Int. conference on Information
and Communications Security — ICICS’97. (Beijing, China, November
11–14, 1997). Proc. Springer-Verlag, 1997. P. 149–158 (Lecture Notes in
Comput. Sci. V. 1334).

[163] Millan W., Clark A., Dawson E. Smart hill climbing finds better Boolean
functions // Workshop on Selected Areas in Cryptology. 1997. Workshop
record. P. 50–63.

[164] Nakahara J. Jr. A Linear Analysis of Blowfish and Khufu // Information


Security Practice and Experience — ISPEC 2007. Third International
Conference (Hong Kong, China. May 7–9, 2007). Proc. 2007. P. 20–32
(Lecture Notes in Comput. Sci. V. 4464).

164
[165] Nakahara J., Preneel B., Vandewalle J. Experimental Non-Linear
Cryptanalysis // COSIC Internal Report. Katholieke Universiteit Leuven.
2003. 17 p.

[166] 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).

[167] Nyberg K. Differentially uniform mappings for cryptography // Advances


in cryptology — EUROCRYPT’1993. Int. conference on the theory and
application of cryptographic techniques (Lofthus, Norway. May 23–27,
1993). Proc. Berlin: Springer, 1994. P. 55–64 (Lecture Notes in Comput.
Sci. V. 765).

[168] Nyberg K. New bent mappings suitable for fast implementation // Fast
software encryption’93 (Cambridge, December 9–11, 1993). Proc. Berlin:
Springer, 1994. P. 179–184 (Lecture Notes in Comput. Sci. V. 809).

[169] Olejár D., Stanek M. On cryptographic properties of random Boolean


functions // J. Universal Computer Science. 1998. V. 4. No. 8. P. 705–
717.

[170] Olsen J. D., Scholtz R. A., Welch L. R. Bent-function sequences // IEEE


Trans. Inform. Theory. 1982. V. 28, N 6. P. 858–864.

[171] Parker M. G. The constabent properties of Golay-Davis-Jedwab


sequences // IEEE International Symposium on Information Theory —
ISIT’2000. (Sorrento, Italy. June 25-30, 2000). Proc. 2000. P. 302.

[172] Parker M. G., Pott A. On Boolean Functions Which Are Bent and
Negabent // Sequences, Subsequences, and Consequences — SSC 2007 —
International Workshop. (Los Angeles, CA, USA. May 31 – June 2, 2007).
Proc. Berlin: Springer. 2007. P. 9–23 (Lecture Notes in Comput. Sci. V.
4893).

165
[173] Paterson K. G. Sequences For OFDM and Multi-code CDMA: two
problems in algebraic Coding Theory // Sequences and their applications.
– Seta 2001. Second Int. Conference (Bergen, Norway, May 13–17, 2001).
Proc. Berlin: Springer, 2002. P. 46–71.

[174] Paterson K. G. On codes with low Peak-to-Average Power Ratio for


Multicode CDMA // IEEE Trans. Inform. Theory. 2004. V. 50, N 3. P.
550–558.

[175] Poinsot L. Multidimensional bent functions // GESTS International


Transactions on Computer Science and Engeneering. 2005. V. 18. N 1 P.
185–195.

[176] Poinsot L., Harari S. Nonabelian bent functions //


IEEE Trans. Inform. Theory., to appear. See for details
http://poinsot.univ-tln.fr/publi.html

[177] 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).

[178] Preneel B., Van Leekwijck W., Van Linden L., Govaerts R., Vandevalle J.
Propogation characteristics of Boolean functions // Advances in cryptology
— EUROCRYPT’1990. Int. conference on the theory and application of
cryptographic techniques (Aarhus, Denmark. May 21–24, 1990). Proc.
Berlin: Springer, 1991. P. 161–173 (Lecture Notes in Comput. Sci. V. 473).

[179] Preneel B. Analysis and design of cryptographic hash functions // Ph. D.


thesis, Katholieke Universiteit Leuven, 3001 Leuven, Belgium. 1993.

[180] Qu C., Seberry J., Pieprzyk J. Homogeneous bent functions // Discrete


Appl. Math. 2000. V. 102, N 1-2. P. 133–139.

166
[181] Riera C., Parker M.G. Generalised Bent Criteria for Boolean Functions
(I) // IEEE Trans. Inform. Theory 2006. V. 52, N 9. P. 4142–4159.

[182] Rodier F. Asymptotic nonlinearity of Boolean functions // Designs,


Codes and Cryptography. 2006. V. 40. No. 1. P. 59–70. Preprint is available
at http://iml.univ-mrs.fr/editions/preprint2003/files/RodierFoncBool.pdf

[183] Rodier F. Private Communication. 2008.

[184] Rothaus O. On bent functions // IDA CRD W.P. No. 169. 1966.

[185] Rothaus O. On bent functions // J. Combin. Theory. Ser. A. 1976. V. 20,


N 3. P. 300–305.

[186] Sakurai K., Furuya S. Improving linear cryptanalysis of LOKI91


by probabilistic counting method // Fast Software Encryption, 4th
International Workshop — FSE’97. (Haifa, Israel. January 20-22, 1997)
Proc. Berlin: Springer, 1997. P. 114–133 (Lecture Notes in Comput. Sci.
V. 1267).

[187] Savicky P. On the bent Boolean functions that are symmetric // Eur. J.
Combinatorics. 1994. V. 15, N 4. P. 407–410.

[188] 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.

[189] Selçuk A. A. On Probability of Success in Linear and Differential


Cryptanalysis // J. Cryptology. 2008. V. 21. N. 1. P. 131–147.

[190] Shimoyama T., Kaneko T. Quadratic relation of S-box and its application
to the linear attack of full round DES // Advances in Cryptology —
CRYPTO’98, 18th Annual International Cryptology Conference. (Santa
Barbara, California, USA. August 23-27, 1998) Proc. Springer. 1998. P.
200–211 (Lecture Notes in Comput. Sci. V. 1462).

167
[191] Shorin V.V., Jelezniakov V.V. Gabidulin E.M. Linear and Differential
Cryptanalysis of Russian GOST // Proc. of the Int. Workshop on Coding
and Cryptography (Paris, France. January 8–12, 2001). P. 467–476.

[192] Shorin V.V., Jelezniakov V.V. Gabidulin E.M. Linear and Differential
Cryptanalysis of Russian GOST // Electronic Notes in Discrete
Mathematics, V. 6. April 2001. P. 538–547.

[193] Siegentaler T. Correlation-immunity of nonlinear combining functions for


cryptographic applications // IEEE Trans. Inform. Theory. 1984. V. IT-30,
N 5. P. 776–780.

[194] Solé P. A quaternary cyclic code, and a family of quadriphase sequences


with low correlation properties // Third International Colloquium «Coding
Theory and Applications» (Toulon, France. November 2–4, 1988). Proc.
Springer. 1989. P. 193–201 (Lecture Notes in Comput. Sci. V. 388).

[195] Solé P., Tokareva N. Connections between quaternary and binary bent
functions // Cryptology ePrint Archive, Report 2009/544, available at
http://eprint.iacr.org/.

[196] Tarannikov Yu. On Resilient Boolean Functions with Maximal Possible


Nonlinearity // INDOCRYPT 2000 — First International Conference
in Cryptology in India (Calcutta, India. December 10–13, 2000). Proc.
Springer. 2000. P. 19–30 (Lecture Notes in Comput. Sci. V. 1977).

[197] Tarannikov Yu. On some connections between codes and cryptographic


properties of Boolean functions // Seventh Int. Workshop «Algebraic and
Combinatorial Coding Theory» (Bansko, Bulgaria. June 18–24, 2000).
Proc. 2000. P. 299–304.

[198] Tapiador J. M. E., Clark J. A., Hernandez-Castro J. C. Non-linear


Cryptanalysis Revisited: Heuristic Search for Approximations to S-Boxes
// Proc. 11th IMA International Conference. Cirencester, UK. December

168
18–20, 2007. Berlin: Springer, 2007. P. 99–117 (Lecture Notes in Comput.
Sci. V. 4887).

[199] Tokareva N. N. k-Bent functions and quadratic approximations in block


ciphers // Proc. Fourth International Conference BFCA — Boolean
Functions: Cryptography and Applications (Copenhagen, Denmark, May
19–21, 2008). P. 132–148.

[200] Wada T. Characteristic of bit sequences applicable to constant amplitude


orthogonal multicode systems // IEICE Trans. Fundamentals. 2000. V.
E83-A, N 11. P. 2160–2164.

[201] Wang X., Zhou J. Generalized partially bent functions // Future


generation communication and networking (Jeju-Island, Korea. December
6–8, 2007) Proc. 2007. P. 16–21.

[202] Wang L., Zhang J. A best possible computable upper bound on bent
functions // J. West of China. 2004. V. 33. No. 2. P. 113–115.

[203] Xia T., Seberry J., Pieprzyk J., Charnes C. Homogeneous bent functions
of degree n in 2n variables do not exist for n > 3 // Discrete Applied
Mathematics. 2004. V. 142, N 1–3. P. 127–132.

[204] 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/.

[205] Youssef A. and 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).

[206] Youssef A. M. Generalized hyper-bent functions over GF (p) // Discrete


Applied Math. 2007. V. 155, N 8. P. 1066–1070.

169
[207] Yu N. Y., Gong G. Constructions of quadratic bent functions in
polynomial forms // IEEE Trans. Inform. Theory 2006. V. 52. No. 7. P.
3291–3299.

[208] Zhang B., Lü S. I/O correlation properties of bent functions // Science
in China Series E: Technological Sciences. 2000. V. 43, N 3. P. 282–286.

[209] Zhe-Xian Wan. Quaternary codes. Singapore: World Scientific Publishing


Co. Pte. Ltd, 1997.

[210] Zheng Y., Zhang X.-M. Relationships between Bent Functions and
Complementary Plateaued Functions // ICISC’99 — International
Conference on Information Security and Cryptology (Seoul, Korea.
December 9–10, 1999). Proc. Berlin: Springer. 2000. P. 60–75 (Lecture
Notes in Comput. Sci. V. 1787).

[211] Zheng Y., Zhang X.-M. On Plateaued Functions // IEEE Trans. Inform.
Theory. 2001. V. 47, N 3. P. 1215–1223.

170

Вам также может понравиться