2009 Теоретические основы прикладной дискретной математики №4(6)
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРИКЛАДНОЙ ДИСКРЕТНОЙ МАТЕМАТИКИ
УДК 519.7
СВОЙСТВА БЕНТ-ФУНКЦИЙ, НАХОДЯЩИХСЯ НА МИНИМАЛЬНОМ РАССТОЯНИИ ДРУГ ОТ ДРУГА1
Н. А. Коломеец, А. В. Павлов Новосибирский государственный университет, г. Новосибирск, Россия E-mail: [email protected], [email protected]
В работе получено минимальное расстояние Хэмминга в классе бент-функций от n переменных, равное 2n/2. Доказано, что бент-функции находятся на минимальном расстоянии тогда и только тогда, когда они различаются на линейном многообразии и обе функции на нем аффинны. Описан алгоритм построения всех бент-функций на минимальном расстоянии от заданной бент-функции. Приведены экспериментальные данные для бент-функций от малого числа переменных.
Ключевые слова: бент-функция, CDMA, OFDM.
Введение
Данная работа посвящена исследованию метрических характеристик класса бент-функций. Бент-функции — это булевы функции от четного числа переменных, максимально удаленные от класса аффинных функций. Впервые бент-функции были введены еще в 60-х годах XX века О. Ротхаузом, и до сих пор интерес к ним не ослабевает. Причиной этого служат как многочисленные теоретические и практические приложения, так и множество открытых вопросов, с ними связанных (см. подробнее в [1]).
Задача исследования метрических свойств бент-функций возникает в теории кодирования и находит свое применение в системах коллективного доступа [2], таких, как стандарты CDMA — Code Division Multiple Access (множественный доступ с кодовым разделением каналов) и OFDM — Orthogonal Frequency Division Multiplexing (ортогональное частотное мультиплексирование). Данные стандарты используют бент-функции для построения кодов постоянной амплитуды (constant-amplitude codes), что позволяет предельно снизить коэффициент отношения пиковой и средней мощностей сигнала (PARP — peak-to-average power ratio). Такие коды состоят из векторов значений бент-функций. Таким образом, являются актуальными задачи построения таких кодов с различными кодовыми расстояниями, что непосредственно связано с исследованием метрической структуры класса бент-функций.
Данная работа имеет следующую структуру. В п. 1 показывается, что минимальное расстояние в классе бент-функций равно 2n/2, и бент-функции, находящиеся на этом расстоянии друг от друга, должны отличаться на линейном многообразии, причем обе функции должны быть на нем аффинны. Заметим, что этим результатам
1 Работа выполнена при финансовой поддержке гранта Президента РФ для молодых российских ученых (грант МК-1250.2009.1) и РФФИ (проект № 08-01-00671).
предшествовали исследования В. В. Ященко [3] и К. Карле [4] построения различных бент-функций по заданной бент-функции. В п. 2 предлагаются простые способы построения бент-функций на минимальном расстоянии от заданной бент-функции. В п. З приводятся примеры бент-функций, для которых существуют бент-функции на минимальном расстоянии. В п. 4 используется аффинная классификация бент-функций для исследования существования бент-функций на минимальном расстоянии для бент-функций от малого количества переменных. В п. 5 приводятся алгоритм построения всех бент-функций на минимальном расстоянии от заданной бент-функции, а также экспериментальные данные для бент-функций от малого числа переменных.
Приведем известные определения и факты, имеющие отношения к бент-функциям.
Под расстоянием между булевыми функциями f и g мы подразумеваем расстояние Хэмминга, обозначим его как dist(f,g). Через En будем обозначать n-мерный куб, через Fn — множество булевых функций от n переменных.
Определение 1. Множество L С En называется линейным многообразием в En, если L = Хо Ф U, где Хо —элемент из En, а U — подпространство в En.
Определение 2. Преобразование Wf : En ^ Z следующего вида называется преобразованием Уолша — Адамара функции f :
Wf(w) = E (-i)f(x)e<w’x).
x€En
Число Wf (w) называется коэффициентом Уолша — Адамара в точке w (или просто коэффициентом Уолша).
Известно, что две различные функции не могут иметь одинаковые коэффициенты Уолша. Также справедливо равенство Парсеваля: пусть f Є Fn. Тогда имеет место следующее равенство:
£ Wf2(w) = 22n
w€En
Имеет место формула свертки: пусть f, g Є Fn, тогда
Wfeg(w) = ¿ E Wf (x)Wg(x Ф w).
2 x€En
Определение 3 (альтернативное определение бент-функций). Булева функция f от четного числа переменных называется бент-функцией, если все ее коэффициенты Уолша равны ±2n/2.
Класс бент-функций от n переменных будем обозначать как Bn, а минимальное расстояние между функциями из него — как d(Bn).
Определение 4. Пусть f — бент-функция от n переменных. Определим дуальную функцию f(w), исходя из равенства
(-1)/(w) . 2n/2 = Wf (w).
Стоит заметить, что дуальная к бент-функции функция также является бент-функцией.
Так как расстояние Хэмминга берется между бент-функциями, то здесь и далее будем считать, что n (так будет обозначаться количество переменных функции) является четным натуральным числом.
1. Критерий расположения бент-функций на минимальном расстоянии
Получим минимальное расстояние между бент-функциями и описание всех бент-функций на минимальном расстоянии от заданной бент-функции.
Обозначим через D(f, g) множество значений аргументов, на которых функции f и g от n переменных отличаются. Будем говорить, что D(f, g) —это множество 'разногласий функций f и g. Заметим, что |D(f,g)| = dist(f,g). Через (x) мы будем обозначать индикатор множества D, то есть булеву функцию, которая принимает значение 1 на всех элементах из D, и только на них. Через rank D обозначим размерность линейной оболочки векторов из D.
Определение 5. Булева функция f от n переменных аффинна на множестве D С En, если для некоторых w0 Е En, c Е E и для любого x Е D выполняется тождество f (x) = (w0,x) ф c.
Для удобства введем следующее обозначение:
f (w) = Е (—1)/(x)®<w,x>.
x€D(/,g)
Утверждение 1. Для любого w Е En справедливо |a/,g(w)| ^ |D(f, g)|, причем равенство достигается тогда и только тогда, когда функция f (x) ф (w,x) является константой на D(f, g).
Утверждение 2. Пусть f, g Е Fn. Тогда для любого w из En выполняется
W/(w) - Wg(w) = 2a/,g(w).
Доказательство. Запишем коэффициенты Уолша функций f и g следующим образом:
W/ (w) = Е (-1)/(x)®<w>x) + ^ (-1)/(*)ек*>,
x€D(/,g) ®een\D(/,g)
Wg (w) = E (—1)fl(x)®<w,x> + E (—i)g(x)®<w>x>.
x€D(/,g) ®een\D(/,g)
Отсюда разность этих коэффициентов равна
W/(w) - W,(w) = Ex6D(/,g) (-1)/(x)®<w'x> - <-1)g(x)®<w,x> = 2a/,g(w). ■
Имеет место следующая нижняя оценка минимального расстояния.
Лемма 1 (о расстоянии). Для всех четных n выполняется неравенство
d(Bn) ^ 2n/2.
Доказательство. Предположим, что существуют различные f, g Е Bn, такие, что dist(f, g) < 2n/2. Из предыдущего утверждения имеем: W/(w) — W,(w) = 2a/,g(w) для любого w из En. Так как f и g — бент-функции, то все их коэффициенты Уолша — Адамара по модулю равны 2n/2, следовательно,
a/,,(w) Е {0, 2n/2, —2n/2}.
По утверждению 1 |a/,,(w)| ^ |D(f, g)| < 2n/2 для всех w Е En. Получается, что a/,g(w) = 0, следовательно, W/(w) = W,(w) для любого w.
Но коэффициенты Уолша однозначно определяют функцию, поэтому f = g. Получаем противоречие с тем, что f и g различны. ■
Следующие леммы потребуются для доказательства основной теоремы, следствием которой будет описание всех бент-функций на минимальном расстоянии от заданной бент-функции.
Лемма 2. Пусть f,g Є Bra. Тогда |D(f,g)| = |D(f ,g)|.
Доказательство. Воспользуемся формулой свертки:
W/®g(w) = 2П £ W/ (x)Wg(x 0 w)
2 жЄЕ"
отсюда
/(0) = 2n E W/(x)w(x) = E (-i)/w®gix> = /(0).
2 жЄЕп жЄЕ"
Осталось заметить, что
W/«(0) = 2" - 2|D(f,g)|,
откуда и следует утверждение леммы. ■
Следствие 1. Пусть f, g Є Bn. Тогда dist(f, g) = d, если и только если существует ровно d векторов w Є En, таких, что W/(w) = Wg(w).
Лемма 3. Пусть D С En, |D| = 2k, rankD = k + 1 и для любых x,y Є D выполняется x ® y Є D. Тогда D — линейное многообразие.
Доказательство. Пусть (D) —линейная оболочка D, U = (D)\D, Хо Є D. Покажем, что U = x0 ® D. Очевидно включение x0 ® D С U. Также верно
|U| = |(D)| - |D| = 2fc+1 - 2k = 2k = |D| = |xo 0 D|.
Следовательно, U = x0 0 D.
Теперь покажем, что U — подпространство En. Множество U непусто, следовательно, достаточно показать только его замкнутость относительно 0.
Пусть x, у Є U, тогда x = x0 0 x', y = x0 0 y', x', y' Є D. Имеем
x 0 y = (x0 0 x') 0 (x0 0 y') = x' 0 y' Є U,
так как по условию леммы для любых x', y' Є D справедливо x' 0 y' Є U.
Таким образом, U — подпространство En. И следовательно, D — линейное многообразие. ■
Лемма 4. Любая аффинная функция, заданная на линейном многообразии и не являющаяся константой, уравновешена (принимает значения 1 и 0 одинаковое количество раз).
Доказательство. Пусть f — аффинная функция, заданная на линейном многообразии U, и f — не константа. По определению линейного многообразия U = x00L для некоторого подпространства L и вектора x0. Рассмотрим функцию f'(x) = f (x 0 x0) 0 0f (x0), определенную на подпространстве L. Очевидно, что f' линейна на L. Также легко понять, что f уравновешена на U тогда и только тогда, когда f' уравновешена на L (сдвиг множества является взаимнооднозначным отображением, а прибавление к функции константы сохраняет свойство уравновешенности), поэтому нам достаточно доказать утверждение леммы для функции f'.
Рассмотрим множества L0 = {x Є L | f'(x) = 0} и L1 = {x Є L | f'(x) = 1}. Покажем, что множества L0 и L1 равномощны.
Функция f' — не константа на L, так как f — не константа на U. Поэтому выберем элемент y0 из L1. Тогда для любого x Є L0
f'(x 0 y0) = f'(x) 0 f'(y0) = 0 0 1 = 1
Значит, y0 0 L0 С L1. Отсюда |L0| ^ |L1| в силу взаимнооднозначности сдвига множества на y0. Но для любого y Є L1
f'(y 0 y0) = f'(y) 0 f'(y0) = 1 0 1 = 0.
Следовательно, y0 0 L1 С L0 и |L1| ^ |L01. Таким образом, |L0| = |L1|. А это и означает уравновешенность функции f'. ■
Следующая теорема дает необходимые и достаточные условия принадлежности функции на расстоянии 2n/2 от заданной бент-функции к классу бент-функций.
Теорема 1 (критерий расположения бент-функций на минимальном расстоянии). Пусть f, g Є Fn, f Є Bn, dist(f, g) = 2n/2. Тогда g Є Bn, если и только если D(f, g) —
линейное многообразие и функция f аффинна на D(f, g).
Доказательство. Необходимость. Пусть f, g Є Bn, |D(f, g)| = 2n/2. Покажем, что D(f, g) —линейное многообразие и f аффинна на D(f, g). Введем обозначения для следующих множеств:
W=0 = {w Є En| aftg (w) = 0},
W=0 = {w Є En| a/,g(w) = 0}.
По утверждению 2
Wf(w) - Wg(w) = 2a/,g(w).
Так как f, g Є Bn, то a/,g(w) Є {0, 2n/2, —2n/2}. Согласно следствию 1, |W=0| = |D(f, g)|.
По утверждению 1 |a/,g(w0)| = |D(f, g)| = 2n/2 Vx Є D(f, g) f(x) = (w0,x) 0 c
для подходящей константы c. То есть аффинность мы доказали.
Таким образом, все w Є W=0 являются решениями одной из следующих систем:
(b,w) = (b> w0) , b Є D(f,g),
(b,w) = (b,w0) 0 1, b Є D(f,g).
Обозначив w 0 w0 за x, получаем равносильные системы уравнений:
(b,x) =0, b Є D(f,g), (1)
(b,x) = 1, b Є D(f,g). (2)
Видно, что решения систем не пересекаются.
Теперь оценим |W=01, исходя из того, что обе системы разрешимы:
2^/2 = |W^01 ^ 2 • 2™-rank D(/>g> = 2™-гапк D(/,g>+1
(первая система всегда имеет 2n-rankD(/>g> решений, а вторая либо имеет столько же решений, либо вообще не имеет). Отсюда
rankD(f, g) ^ n/2 + 1.
Но, исходя из мощности множества D(f, g), получаем
rank D(f, g) Є {n/2, n/2 + 1}.
Рассмотрим два случая.
Случай 1: rankD(f, g) = n/2. Очевидно, в этом случае D(f, g) является подпространством.
Случай 2: rankD(f, g) = n/2 + 1. В этом случае обе системы должны иметь решение, поэтому у второй системы должно существовать частное решение, т. е. существует to G En, такое, что (¿о, b) = 1 для всех b G D(f, g).
Если существуют x,y G D(f, g), такие, что x Ф y G D(f, g), то вторая система будет противоречива. Действительно, с одной стороны,
(to,x) = 1, (to, y) = 1 =^ (to, x 0 y) = 0,
с другой стороны, (to, x 0 y) = 1. Следовательно, выполняется условие леммы 3 для множества D(f,g). Таким образом, D(f,g) —линейное многообразие. Необходимость доказана.
Достаточность. Пусть D(f,g) —линейное многообразие и f аффинна на D(f,g). Для начала покажем, что
/(w) G {0, 2n/2, —2n/2}.
Так как f аффинна на D(f, g), то функция (x) = f (x)0(w, x) будет также аффинной на D(f, g). Если (x) не является константой на D(f,g), то по лемме 4 функция уравновешена на D(f, g). Поэтому
/ (w) = Е (—1)h”(x) = 0.
xeD(/,s)
Если же hw(x) —константа на D(f,g), то |a/,g(w)| = |D(f,g)| = 2n/2 по утверждению 1. Следовательно, a/,g(w) G {0, 2n/2, —2n/2}.
Осталось доказать, что g G Bn. Имеем
Wg(w) = W/(w) — 2a/,g(w).
Следовательно,
Wg(w) G {2n/2, —2n/2, 3 ■ 2n/2, —3 ■ 2n/2}.
Отсюда
mili |Wg (w)| > 2n/2,
поэтому из равенства Парсеваля следует, что |Wg(w)| = 2n/2 для любого w. Получаем, что g G Bn. Достаточность доказана. ■
Следствие 2 (минимальное расстояние в классе Bn). Справедливо d(Bn) = 2n/2.
Доказательство. Как известно, f (x) = xix2 0 ■ ■ ■ 0 xn-1xn является бент-функцией. Пусть
D = {(Уъ0,••• ,Уп/2,0)| y* G E};
очевидно, что
D с En,
|D| = 2n/2,
Vx G D f (x) = 0.
Пусть g(x) = f (x) ® (x). Понятно, что D(f, g) = D. Тогда по теореме 1 g G Bn, т. е.
f, g G Bn, dist(f, g) = 2n/2. А из леммы 1 мы знаем, что d(Bn) ^ 2n/2. Следовательно, d(B„) = 2n/2. ■
Пусть Laii(f) —всевозможные линейные многообразия размерности n/2, на которых f аффинна. Теперь можно более компактно описать бент-функции на минимальном расстоянии от заданной бент-функции.
Следствие 3 (общий вид функций на минимальном расстоянии). Пусть f G Bn. Тогда существует g G Bn на минимальном расстоянии от f, если и только если множество Lall(f) непусто, причем g(x) = f (x) ф 1L(x), где L G Lall(f).
Следствие 4. Бент-функция от n переменных не может быть аффинна на линейных многообразиях размерности больше чем n/2.
Доказательство. Предположим, что для бент-функции f и линейного многообразия L утверждение неверно. Введем g(x) = f (x^/L(x) и (x) = f (x^(w,x). Далее приводим рассуждения, аналогичные доказательству достаточности теоремы 1: так как f аффинна на L, то и аффинна на L. Если размерность D(f, g) больше чем n/2, то для всех элементов w, таких, что константа (т.е. aj,fl(w) = 0) |a/,g(w)| > 2n/2, а для w, при которых не константа, aj,fl(w) = 0 в силу уравновешенности функции на L (лемма 4). Тогда из Wg (w) = Wf (w) — 2a/,fl (w) следует
min |Wg (w)| ^ 2n/2,
но у различных функций все коэффициенты Уолша совпадать не могут. Таким образом, существует wo, для которого öf-,fl(wo) = 0 и, следовательно, |Wg(w0)| > 2n/2, что противоречит равенству Парсеваля. ■
Следствие 5. Пусть D(f, g) = x0 ф L, L — подпространство и f (x) = (w0,x) ф c для всех x G D(f, g) и некоторых w0 и c. Тогда коэффициенты Уолша функций f и g отличаются только на элементах множества w0 ф L^.
Доказательство. В доказательстве необходимости теоремы 1 показано, что W=0 = w0 ф U, где U — множество решений следующих систем уравнений:
(b,x) = 0, b G D(f,g^
(b,x) = ^ b G D(f,g).
Так как D(f, g) —линейное многообразие, то эти системы эквивалентны следующим системам:
( (b,x0) =0, Г (b,x0) = 1,
| (b,x) = 0, b G L и | (b,x) = 0, b G L.
А эти системы, в свою очередь, эквивалентны одной системе
(b, x) = 0, b G L.
Следовательно, U = Lx и W=0 = w0 ф Lx. ■
Замечание. Результатам, полученным в теореме 1 и следствиях, предшествовали следующие исследования: В. В. Ященко [3] и К. Карле [4] рассматривали задачу построения различных бент-функций по имеющейся бент-функции путем прибавления индикатора линейного многообразия. Как показывает следствие 3, эта задача тесно
связана с задачей построения бент-функций на минимальном расстоянии от заданной бент-функции. В работе В. В. Ященко предлагалось к бент-функции прибавлять индикатор линейного многообразия, на котором она аффинна. К. Карле рассматривал индикаторы линейных многообразий произвольной размерности. В своей работе он предложил необходимые и достаточные условия на бент-функцию, при которых прибавление индикатора линейного многообразия к ней дает в результате бент-функцию.
Таким образом, достаточность в теореме І следует из результатов В. В. Ященко и К. Карле.
2. Индикаторы линейных многообразий и координатные подпространства
В связи с полученным описанием бент-функций на минимальном расстоянии от заданной бент-функции интересно рассмотреть, что из себя представляют индикаторы линейных многообразий размерности n/2.
Рассмотрим /и(x), где U — подпространство.
Пусть а1, а2, ..., an/2 — базис U^. Исходя из U^ = U, имеем
x Є U V i Є {1,..., n/2} (a,, x) = 0.
Отсюда получаем формулу для индикатора:
/и(x) = ((а1,x) e 1) ■ ((а2,x) e 1) ■ ... ■ ((an/2,x) e 1).
Таким образом, индикатор подпространства размерности n/2 является конъюнкцией n/2 сомножителей, каждый из которых — отрицание скалярного произведения вектора переменных и базисного вектора U^.
Рассмотрим /¿(x), где L — линейное многообразие.
Пусть x0 Є L, U = x0 e L. Очевидно, что U — подпространство. Тогда
/l(x) = /и(x0 e x).
Утверждение 3. Пусть U — линейное многообразие размерности n/2. Тогда deg(/u ) = n/2.
Следствие б. Если бент-функции находятся на минимальном расстоянии друг от друга, то хотя бы одна из них имеет алгебраическую степень n/2.
В общем случае задача нахождения подпространств, на которых f аффинна, достаточно сложна и не решается методом «пристального взгляда». Но если полином Жегалкина функции f содержит мало слагаемых, то часто существуют координатные подпространства (подпространства, базисом которых являются векторы веса 1 из En), на которых f аффинна. Рассмотрим алгоритм построения бент-функции, находящейся на минимальном расстоянии от данной, с использованием координатных подпространств.
Алгоритм І
Вход: f (x) —исходная бент-функция.
Выход: g(x) —бент-функция на минимальном расстоянии от функции f (x).
1) Фиксируем значения любых n/2 переменных так, чтобы функция от оставшихся n/2 переменных стала аффинной.
2) Если первый шаг завершился успешно, то получаем индикатор многообразия в следующем виде:
/l(x) = (x,, e x? e 1) ■ (x,2 e x02 e 1)
(xin/2 e x0n/2 e 1),
где —переменные, которые мы зафиксировали на первом шаге алгоритма;
ж0 — значения зафиксированных переменных.
Таким образом, если мы фиксировали переменную ж значением 0, то в индикатор многообразия войдет отрицание этой переменной, если же мы фиксировали значением 1, то в индикатор войдет сама переменная.
3) Получаем
#(ж) = /(ж) Ф ^(ж).
Пример 1. Пусть
/(ж) = Ж1Ж2 Ф Ж3Ж4 Ф ... Ф
1) Фиксируем все переменные с чётными номерами значением 1. Получаем следующую функцию:
/(ж1, 1,Жз, 1, . . . ,ж„_1, 1) = Ж1 Ф Жз Ф ... Ф Жп-1.
Видно, что получилась аффинная функция.
2) Индикатор будет выглядеть следующим образом:
/¿(ж) = Ж2Ж4 ... ж„.
3) Получаем следующую выходную функцию:
д(ж) = Ж1Ж2 Ф Ж3Ж4 Ф ... Ф Ж„_1Ж„ Ф Ж2Ж4 ... ж„.
3. Известные подклассы бент-функций с точки зрения существования
функций на минимальном расстоянии
Рассматривается существование бент-функций на минимальном расстоянии для бент-функций из известных подклассов класса Вп.
3.1. Класс Мэйорана - Мак-Фарланда Класс Мэйорана — Мак-Фарланда обозначается как М. В этом классе содержатся бент-функции следующего вида:
/(ж,у) = (ж,п(у))Ф (3)
где ж, у € Еп/2, ф € ^п/2, п — подстановка на Еп/2.
Более подробно об этой конструкции можно узнать в [5].
Покажем, что для любой функции из класса М существует бент-функция на минимальном расстоянии: достаточно воспользоваться алгоритмом 1.
1) Фиксируем значение у: пусть у = уо. Тогда
/(ж,уо) = (ж,п(уо)) Ф ф(уо).
Понятно, что это аффинная функция.
2) Получаем индикатор, в который входят только переменные из у.
3) Получаем бент-функцию в классе М на минимальном расстоянии от исходной. Класс М является простым и достаточно богатым.
|Мп| = 2п/2! ■ 22П/2.
(4)
Известно (см. описание бент-функций в виде линейного разветвления в [6]), что если бент-функция имеет вид f(x,y) = (x,n(y)) ф ф(у), где x,y £ En/2, ф £ Fn/2, то отображение п взаимнооднозначно и, следовательно, функция f (x) принадлежит классу M„.
Мощность класса часто используется как нижняя оценка мощности класса Bn. Если рассматривать функции, аффинно эквивалентные функциям из Mn, то идею Мэйорана — Мак-Фарланда можно трактовать следующим образом:
1) Берем подпространство U размерности n/2 в En.
2) Разбиваем En на смежные классы относительно U.
3) На каждом смежном классе U строим аффинную функцию.
Также следует отметить, что бент-функции, аффинно эквивалентные функциям из класса Мэйорана — Мак-Фарланда, не являются всеми бент-функциями, имеющими непустое Laii. Пример такой бент-функции будет приведен в п. 4.
3.2. Partial Spreads Класс бент-функций Partial Spreads обозначается как PS. Он состоит из двух подклассов PS-, PS+ , определяемых следующим образом.
PS-. Пусть
1) Li — подпространства в En, i £ {1, 2,... , 2n/2-1};
2) размерность Li равна n/2;
3) Li П Lj = {0} Vi = j.
Тогда функции вида
2^/2-1
f (x) = ® (x) (5)
i=1
принадлежат PS-.
PS+. Пусть
1) Li — подпространства в En, i £ {1, 2,... , 2n/2-1 + 1};
2) размерность Li равна n/2;
3) Li П Lj = {0} Vi = j.
Тогда функции вида
2n/2-1+1
f (x) = ф (x) (6)
i=1
принадлежат PS+.
Класс PS впервые был описан Дж. Диллоном в [7].
С точки зрения существования бент-функций на минимальном расстоянии больший интерес представляет класс PS + (для функций из PS- это сложный вопрос). Нетрудно убедиться, что все функции из класса PS + имеют непустые множества Laii: для всех подпространств Li из определения функций в этом классе выполняется
Vx £ Li\{0} f (x) = 1,
потому что пространства пересекаются только по нулевому элементу. Кроме того,
f (0) = 1.
так как 0 лежит во всех пространствах, а количество пространств нечетно. Следовательно,
Vx £ Li f (x) = 1.
Таким образом, € Ьаи(/) для всех г, причем функции вида
д(ж) = /(ж) Ф ^ (ж)
будут принадлежать _, и порождающими пространствами для них будут все подпространства для /, кроме .
4. Аффинная эквивалентность бент-функций и минимальное расстояние
Рассмотрим известные факты об аффинной классификации бент-функций и взаимосвязь этих фактов с расстоянием между бент-функциями.
Определение 6. Булевы функции / и д от п переменных называются аффинно эквивалентными, если существует невырожденная матрица А размера п х п, вектор Ь длины п и аффинная функция / от п переменных, такие, что д(ж) = /(А ■ ж Ф Ь) Ф / (ж) для любого ж .
Рассмотрим известные факты об аффинной классификации бент-функций.
Утверждение 4 [8]. Все бент-функции степени 2 аффинно эквивалентны функции /(ж) = ж1ж2 Ф жзж4 Ф ... Ф жп_1жп.
Утверждение 5 [9] и др. Каждая бент-функция от 6 переменных аффинно эквивалентна одной из следующих функций:
1) /6 = ж1ж2 Ф жзж4 Ф ж5жв;
2) /I = ж1ж2жз Ф ж1ж4 Ф ж2ж5 Ф жзже;
3) /6 = ж1ж2жз Ф ж2ж4ж5 Ф ж1ж2 Ф ж^4 Ф ж2жб Ф жзж5 Ф ж4ж5;
4) /4 = ж1ж2жз Ф ж2ж4ж5 Ф жзж4жб Ф ж1ж4 Ф ж2же Ф жзж4 Ф жзж5 Ф жзжб Ф ж4ж5 Ф ж4жб.
Утверждение 6 [10]. Каждая бент-функция от 8 переменных степени не больше 3 аффинно эквивалентна одной из следующих функций:
1) /8 = ж1ж2 Ф жзж4 Ф ж5жб Ф ж/жз;
2) /| = ж1ж2жз Ф ж1ж4 Ф ж2ж5 Ф жзжб Ф ж/жз;
3) /з = ж1ж2жз Ф ж2ж4ж5 Ф жзж4 Ф ж2ж| Ф ж^7 Ф ж5жз;
4) /4 = ж1ж2жз Ф ж2ж4ж5 Ф ж1жз Ф ж^5 Ф ж2ж| Ф жзж4 Ф ж/жз;
5) /| = ж1ж2жз Ф ж2ж4ж5 Ф жзж4ж| Ф жзж5 Ф ж2ж| Ф ж2ж5 Ф ж^7 Ф ж4жз;
6) /б = ж1ж2жз Ф ж2ж4ж5 Ф жзж4ж| Ф жзж5 Ф ж1 жз Ф ж^4 Ф ж2ж/ Ф ж|жз;
7) /7 = ж1ж2жз Ф ж2ж4ж5 Ф жзж4ж| Ф жзж5 Ф ж2ж| Ф ж2ж5 Ф ж1ж2 Ф ж1жз Ф ж1 ж4 Ф ж/жз;
8) /з = ж1ж2жз Ф ж2ж4ж5 Ф жзж4ж| Ф жзж5 Ф ж1 ж| Ф ж2ж/ Ф ж4жз;
9) /9 = ж1ж2ж7 Ф жзж4ж7 Ф ж5ж|ж7 Ф ж^4 Ф жзж| Ф ж2ж5 Ф ж4ж5 Ф ж/жз;
10) /10 = ж1 ж2жз Ф ж2ж4ж5 Ф жзж4ж| Ф ж^4ж/ Ф жзж5 Ф ж2ж/ Ф ж1ж5 Ф ж1 ж| Ф ж4жз.
Рассмотрим связь расстояний между бент-функциями и аффинной эквивалентностью.
Так как класс Вп замкнут относительно отрицания функции, то из формулы ^Вп) = 2п/2 следует
Утверждение 7. Наибольшее расстояние в классе Вп, не равное 2п, равно 2п 2п/2 .
Определение 7 (спектр расстояний для функции). Пусть / € Вп. Тогда вектор г из Z2n называется спектром расстояний для бент-функции /, если г-я компонента вектора г равна количеству бент-функций на расстоянии г от функции /.
Утверждение 8. Спектры расстояний для аффинно эквивалентных бент-функций одинаковы.
Доказательство. Имеют место следующие равенства:
dist(f (x),g(x)) = dist(f (A ■ x ® b),g(A ■ x ® b)), det(A) = 0;
Vh efn dist(f,g) = dist(f ® h, g ® h).
Так как класс бент-функций замкнут относительно аффинного преобразования переменных и относительно прибавления любой аффинной функции, то из этих равенств очевидным образом следует утверждение. ■
Следовательно, чтобы получить всевозможные спектры расстояний для бент-функций, достаточно найти спектры расстояний для одной бент-функции из каждого класса аффинной эквивалентности.
Утверждение 9. Любая бент-функция степени 2 имеет непустое Laii(f).
Доказательство. Из утверждения 4 известно, что все бент-функции степени 2 аффинно эквивалентны функции f (x) = Xi ■ x2 Ф x3 ■ x4 ® ... ® xn-1 ■ xn. А для этой функции условие теоремы выполнено. ■
Утверждение 10. Все функции из класса В6 имеют непустое Laii.
Доказательство. Применяем алгоритм 1 к аффинно неэквивалентным бент-функциям от 6 переменных:
1) f16(xi, 0,x3, 0,x5,0) = 0;
2) f26(0,0, 0,x4,x5,x6) = 0;
3) f|(0,0,x3,x4, 0,x6) = 0;
4) f46(xi, 0, 0, 0,x5,x6) = 0,
то есть первый шаг алгоритма для каждой функции завершился успешно. Отсюда следует утверждение теоремы. ■
Утверждение 11. Все бент-функции от 8 переменных степени не больше 3 имеют непустое Laii.
Доказательство. Применяем алгоритм 1 к аффинно неэквивалентным бент-функциям от 8 переменных степени не больше 3:
1) fj(0,x2, 0,x4, 0,x6, 0,x8) = 0;
2) f28(0,0, 0,x4,x5,x6, 0,x8) = 0;
3) f38(0,0,x3, 0, 0, x6, x7, x8) = 0;
4) f48(0,0, 0,x4,x5,x6, 0,x8) = 0;
5) f5f (0, 0, 0, 0,x5, x6, x7, x8) = 0;
6) f|f (0, 0, 0,x4,x5, 0,x7,x8) = 0;
7) f8(0,0, 0,x4,x5,x6, 0,x8) = 0;
8) fj8(0, 0, 0, 0,x5, x6, x7, x8) = 0;
9) f98(x1, 0, 0, 0,x5,x6, 0,x8) = 0;
10) f8o(0, 0, 0, 0, x5, x6, x7, x8) = 0,
то есть первый шаг алгоритма для каждой функции завершился успешно. Отсюда следует утверждение теоремы. ■
Утверждение 12. Пусть f G Bn. Тогда f аффинно эквивалентна функции из класса Мэйорана — Мак-Фарланда тогда и только тогда, когда существует L G Laii(f), такое, что x0 Ф L G Laii(f) для всех x0 G En.
Доказательство. Необходимость. Пусть / представлена в виде
/(ж,у) = (ж,%)) Ф д(у^ ж,у € Еп/2.
Тогда зададим Ь следующим образом:
Ь = {(ж,0) | ж € Еп/2}.
Очевидно, что данное Ь удовлетворяет условию утверждения.
Достаточность. Пусть существует линейное многообразие Ь, удовлетворяющее заданному условию. Понятно, что невырожденным аффинным преобразованием мы можем привести функцию / к виду
//(ж,у) = (ж,^(у)) Ф д(у), ж,у € Еп/2.
Из критерия Ященко о представлении бент-функции в виде линейного разветвления (см. [6]) следует, что Л.(у) взаимнооднозначно и /' принадлежит классу Мп. ■
Утверждение 13. В классе Вз существуют бент-функции с непустым Ьац, аф-финно неэквивалентные функциям из класса Мэйорана — Мак-Фарланда.
Пример 2. Бент-функция от 8 переменных с непустым Ьац, аффинно неэквивалентная функциям из класса Мэйорана — Мак-Фарланда:
/(ж) = ж1ж2ж5жз Ф ж1ж2жбжз Ф ж1ж4ж5жз Ф ж1ж4жбжз Ф ж1ж5жбжз Ф ж2ж4ж5жз Ф ж2ж4жбжз Ф жзж4ж5жз Ф ж4ж5жбжз Ф ж1ж2жз Ф ж1ж2ж5 Ф ж^жб Ф ж1ж2жз Ф ж1ж4ж5 Ф ж1ж4ж| Ф ж1ж4жз Ф ж1ж5жб Ф ж1 ж5жз Ф ж^бжз Ф ж2ж4ж5 Ф ж2ж4жб Ф ж2ж4жз Ф ж2ж5жз Ф ж2жбжз Ф жзж4ж5 Ф жзж4жз Ф жзж5жз Ф ж4ж5жб Ф ж4жбжз Ф ж5жбжз Ф ж1ж2 Ф ж1ж5 Ф ж1жб Ф ж1жз Ф ж2ж4 Ф ж2жб Ф ж2жз Ф жзж4 Ф жзж5 Ф жзжб Ф жзжз Ф ж4жб Ф ж5жб Ф жбжз Ф ж/жз Ф ж1 Ф ж2 Ф жз Ф ж|.
С помощью программы, реализующей алгоритм 2 из п. 5, было показано, что у данной функции имеются линейные многообразия размерности 4, на которых она аф-финна, но при этом ни для одного из них не выполняется условие утверждения 12.
5. Алгоритм перебора бент-функций, находящихся на минимальном расстоянии от заданной бент-функции
Из теоремы 1 следует, что для того чтобы перебрать все бент-функции, находящиеся на минимальном расстоянии от заданной бент-функции, достаточно перебрать все многообразия размерности п/2, на которых заданная бент-функция аффинна.
Базис подпространства размерности п/2 задаётся п/2 строками матрицы ступенчатого вида, состоящей из нулей и единиц, такой, что
1) каждая из последующих строк заканчивается меньшим количеством подряд идущих нулей, чем предыдущая строка;
2) под каждой ведущей единицей (первая единица в строке) в столбце стоят нули;
3) остальные элементы произвольны.
Приведём пример такой матрицы и бент-функций, находящихся на минимальном расстоянии друг от друга.
Пример 3. Пусть дана бент-функция от шести переменных:
/1(ж) = ж1ж2жз Ф ж1ж4 Ф ж2ж5 Ф жзж|.
Для построения бент-функции, находящейся на минимальном расстоянии от данной, нужно найти такое многообразие Ь = ж0 Ф и, что /1 будет аффинна на этом многообразии. На компьютере с помощью алгоритма, который приведен ниже, были построены
все базисы подпространств и и все ж0, такие, что / аффинна на Ь = ж0 Ф и. Приведем пример таких ж0 и и. Пусть
/1 0 1 0 0 0\
= 11 00 1 001 — базисная матрица подпространстваи;
\0 0 0 0 1 0/
ж0 = (0 1 0 0 0 0). Тогда базисная матрица ортогонального подпространства
/0 0 0 0 0 1\
А^± = (а„) = I 0 1 0 0 0 0 I .
101100
Теперь построим индикатор, являющийся конъюнкцией п/2 сомножителей, где г-й сомножитель получен из г-й строки матрицы Аи± таким образом:
(йгіЖі Ф ЙІ2Ж2 Ф ... Ф йтЖ„ Ф 1).
Отсюда следует /¿(ж) = /и (ж Ф Жо) = (жі, Ж2 Ф 1, Жз, Ж4, Ж5, Жб ) = (Жб Ф 1)(Ж2 Ф1Ф 1)(жі Ф
Жз Ф ж4 Ф1) = жіж2жб Ф Ж2Ж3Ж6 Ф Ж2Ж4Ж6 Ф Ж2Ж6 Ф жіж2 Ф Ж2Ж3 Ф ж2ж4 Ф ж2. Отсюда получаем
вторую бент-функцию /2(ж) = /і(ж) Ф /¿(ж) = ЖіЖ2Жз Ф ЖіЖ4 Ф Ж2Ж5 Ф ЖзЖб Ф ЖіЖ2Жб Ф Ж2Ж3Ж6 Ф ж2ж4ж6 Ф ж2жб Ф жіж2 Ф Ж2Ж3 Ф Ж2Ж4 Ф ж2, которая находится на минимальном расстоянии 2п/2 = 8 от функции /і.
Следующий алгоритм нам потребуется для нахождения всех бент-функций, находящихся на минимальном расстоянии от заданной бент-функции, но мы приведем его в общем виде для произвольной булевой функции.
Алгоритм 2 (поиск всех многообразий размерности п/2, на которых функция аффинна).
1) На вход алгоритма подается булева функция / (ж) (в нашем случае это бент-функция).
2) Далее для всех ж0 из получаем новую функцию: д(ж) = /Х0 (ж) = /(ж Ф Ж0).
3) После этого д(ж) нормируется: д(ж) = д(ж) Ф д(0).
Таким образом, мы перешли от поиска многообразий, на которых заданная функция аффинна, к поиску подпространств, на которых заданная функция линейна. Для каждой такой функции д(ж) будем рекуррентно строить все базисные матрицы размера п/2 х п.
4) Пусть Аі —матрица, содержащая одну строку.
5) Допустим, что построена матрица Аі-і размера в — 1 х п, где в — 1 < п/2, и нужно построить матрицу А размера в х п. Для этого добавим ещё один вектор в базис. Перебираем все векторы V в лексикографическом порядке2 и приписываем их к матрице Аі-і, так, чтобы получившаяся матрица А удовлетворяла условиям 1 - 3 на с. 17. Для каждого вектора V, претендующего стать базисным, проверяются два условия:
а) д(ж Ф V) = д(ж) Ф #^);
б) вектор ж0 лексикографически предшествует вектору V Ф Ж Ф Ж0, где Ж пробегает множество всех ранее добавленных в подпространство векторов.
Если хотя бы одно условие не выполняется, вектор V отбрасывается. Таким образом, сразу отсекается большое количество ненужных векторов. Если ни один из векторов не подошел, значит, это тупиковая ветка рекурсии.
2Заметим, что в реализации удобнее нумеровать компоненты векторов справа налево.
Трудоёмкость данного алгоритма в самом худшем случае (если на вход алгоритма подать линейную функцию) не превышает Т = 0(п/2 • Рп/2 • 2п/2), где п/2 — количество операций, необходимое для построения одного подпространства;
(2П - 1)(2П-1 - 1)...(2га/2+1 - 1)
Рп/2 = (2»/2 - 1)(2»/2-1 - 1)—(21 - 1) —количество подпространств размерности п/2;
2п/2 — количество операций, затрачиваемых на проверку условий. Но на практике данный алгоритм работает значительно быстрее.
Приведем экспериментальные данные. В таблице показаны бент-функции (по утверждению 8 достаточно рассматривать представителей различных классов аффинной эквивалентности), количество многообразий, на которых данная бент-функция аффинна, и время работы программы в секундах (на процессоре с тактовой частотой 2,4 ГГц).
n Бент-функция |Lall| Время
4 Ж1Ж2 Ф Ж3Ж4 60 0
6 Ж1Ж2Ж3 Ф Ж2Ж4Ж5 Ф Ж3Ж4Ж6 Ф Ж1Ж4 Ф Ж2Ж6 Ф Ж3Ж4Ф ФЖ3Ж5 Ф Ж3Ж6 Ф Ж4Ж5 Ф Ж4Ж6 376 0,001
6 Ж1Ж2Ж3 Ф Ж2Ж4Ж5 Ф Ж1Ж2 Ф Ж1Ж4 Ф Ж2Ж6 Ф Ж3Ж5 Ф Ж4Ж5 440 0,001
6 Ж1Ж2Ж3 Ф Ж1Ж4 Ф Ж2Ж5 Ф Ж3Ж6 568 0,001
6 Ж1Ж2 Ф Ж3Ж4 Ф Ж5Ж6 1080 0,002
8 Ж1Ж2Ж3 Ф Ж2Ж4Ж5 Ф Ж3Ж4Ж6 Ф Ж1Ж4Ж7 Ф Ж3Ж5Ф ФЖ2Ж7 Ф Ж1Ж5 Ф Ж1X6 Ф Ж4Ж8 1392 0,035
8 Ж1Ж2Ж3 Ф Ж2Ж4Ж5 Ф Ж3Ж4Ж6 Ф Ж3Ж5 Ф Ж2Ж6Ф ФЖ2Ж5 Ф Ж1Ж7 Ф Ж4X8 2928 0,035
8 Ж1Ж2Ж3 Ф Ж2Ж4Ж5 Ф Ж3Ж4Ж6 Ф Ж3Ж5 Ф Ж1Ж3Ф ФЖ1Ж4 Ф Ж2Ж7 Ф X6X8 2928 0,035
8 Ж1Ж2Ж3 Ф Ж2Ж4Ж5 Ф Ж3Ж4Ж6 Ф Ж3Ж5 Ф Ж2Ж6Ф ФЖ2Ж5 Ф Ж1Ж2 Ф Ж1Ж3 Ф Ж1Ж4 Ф Ж7Ж8 2928 0,036
8 Ж1Ж2Ж3 Ф Ж2Ж4Ж5 Ф Ж3Ж4Ж6 Ф Ж3Ж5 Ф Ж1Ж6 Ф Ж2Ж7 Ф Ж4Ж8 2928 0,034
8 Ж1Ж2Ж7 Ф Ж3Ж4Ж7 Ф Ж5Ж6Ж7 Ф Ж1Ж4 Ф Ж3Ж6Ф ФЖ2Ж5 Ф Ж4Ж5 Ф Ж7X8 4464 0,036
8 Ж1Ж2Ж3 Ф Ж2Ж4Ж5 Ф Ж3Ж4 Ф Ж2Ж6 Ф Ж1Ж7 Ф Ж5Ж8 6000 0,037
8 Ж1Ж2Ж3 Ф Ж2Ж4Ж5 Ф Ж1Ж3 Ф Ж1Ж5 Ф Ж2Ж6 Ф Ж3Ж4 Ф Ж7Ж8 6000 0,037
8 Ж1Ж2Ж3 Ф Ж1Ж4 Ф Ж2Ж5 Ф Ж3Ж6 Ф Ж7Ж8 12144 0,045
8 Ж1Ж2 Ф Ж3Ж4 Ф Ж5Ж6 Ф Ж7X8 36720 0,070
10 Ж1Ж2 Ф Ж3Ж4 Ф Ж5Ж6 Ф Ж7X8 Ф Ж9Ж10 2424520 8,543
ЛИТЕРАТУРА
1. Токарева Н. Н. Бент-функции: результаты и приложения. Обзор работ // Прикладная дискретная математика. 2009. №3. C. 15-37.
2. 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.
3. Логачев О. А., Сальников А. А., Ященко В. В. Булевы функции в теории кодирования и криптологии. М.: МЦНМО, 2004. 470 с.
4. Carlet C. Boolean Functions for Cryptography and Error Correcting Codes // Chapter of the monograph «Boolean Methods and Models», Cambridge Univ.
Press / eds. P. Hammer, Y. Crama, to appear. Prelim. version is available at www-rocq.inria.fr/secret/Claude.Carlet/chap-fcts-Bool.pdf.
5. McFarland R. L. A family of difference sets in non-cyclic groups // J. Combin. Theory. Ser. A. 1973. V. 15. No. 1. P. 1-10.
6. Ященко В. В. О критерии распространения для булевых функций и о бент-функциях // Пробл. передачи информации. 1997. Т. 33. Вып. 1. С. 75-86.
7. Dillon J. F. Elementary Hadamard Difference sets // Ph. D. Thesis. Univ. of Maryland, 1974.
8. Dillon J. F. A survey of bent functions // The NSA Technical J. 1972. Special Issue. P. 191-215.
9. Rothaus O. On bent functions // J. Combin. Theory. Ser. A. 1976. V. 20. No. 3. P. 300-305. 10. Braeken A. Cryptographic properties of Boolean functions and S-boxes // Ph. D. Thesis,
Katholieke Univ. Leuven, 2006.