Научная статья на тему 'О некоторых мерах нелинейности булевых функций'

О некоторых мерах нелинейности булевых функций Текст научной статьи по специальности «Математика»

CC BY
491
77
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
НЕЛИНЕЙНОСТЬ БУЛЕВЫХ ФУНКЦИЙ / АЛГЕБРАИЧЕСКИ ВЫРОЖДЕННЫЕ ФУНКЦИИ / ПРОСТРАНСТВО ЛИНЕЙНЫХ СТРУКТУР / КРИПТОГРАФИЯ / NONLINEARITY OF BOOLEAN FUNCTIONS / ALGEBRAIC DEGENERATED FUNCTIONS / LINEAR STRUCTURES SPACE / CRYPTOGRAPHY

Аннотация научной статьи по математике, автор научной работы — Алексеев Евгений Константинович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

A nonlinearity measure is defined for a Boolean function f as a distance from f to the set of algebraic degenerated functions. Relations between this measure and some early offered measures of the nonlinearity are considered. Also, we investigate the order of algebraic degeneration of those functions which are mostly close to f.

Текст научной работы на тему «О некоторых мерах нелинейности булевых функций»

2011 Теоретические основы прикладной дискретной математики №2(12)

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРИКЛАДНОЙ ДИСКРЕТНОЙ МАТЕМАТИКИ

УДК 519.7

О НЕКОТОРЫХ МЕРАХ НЕЛИНЕЙНОСТИ БУЛЕВЫХ ФУНКЦИЙ1

Е. К. Алексеев

Московский государственный университет им. М. В. Ломоносова, г. Москва, Россия

E-mail: geni-cmc@mail.ru

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

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

Введение

Одним из приемов современного криптоанализа является использование близости (относительно некоторой метрики) криптографических отображений к отображениям, позволяющим свести исходную криптографическую задачу к менее трудоемкой. Яркими примерами этого являются корреляционный [1] и линейный [2] методы криптоанализа. Одна из возможных характеристик, показывающая эффективность этих методов, была названа нелинейностью булевой функции [3]. Однако могут быть использованы не только линейные (аффинные) приближения. В работе [3] также рассматривались меры близости к другим «слабым» с криптографической точки зрения классам функций. Множество алгебраически вырожденных функций в этом плане представляет определенный практический и теоретический интерес.

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

1. Основные определения и обозначения

Пусть F2 — конечное поле из двух элементов. Пусть Vn = F2 х ... х F2 — векторное

4----v----'

n

пространство наборов длины n с компонентами из F2. Булевой функцией от n переменных будем называть отображение из Vn в F2. Множество всех булевых функций от n переменных будем обозначать Fn. Носителем функции f Е Fn называется множество

1 f = {x Е Vn : f (x) = 1}. Весом wt(f) булевой функции f Е Fn называется мощность ее носителя 1f.

хРабота поддержана РФФИ (проект №09-01-00653-а).

В дальнейшем будем придерживаться следующих обозначений: x(i) — i-й вектор из некоторой совокупности векторов; xj — j-я компонента вектора x. Если n — натуральное число, а с Є {0,1}, то через cn будем обозначать вектор длины n, все компоненты которого равны c. Константные булевы функции будем обозначать через 0 и 1.

Пусть L — подмножество пространства Vn. Тот факт, что L является подпространством пространства Vn, будем обозначать так: L < Vn. Для произвольного линейного подпространства L < Vn через L* будем обозначать множество L \ {0n}. Плоскостями в Vn будем называть смежные классы по подпространствам этого пространства.

Индикаторной функцией множества S С Vn называется такая функция Is Є Fn, что Is(x) = 1 тогда и только тогда, когда x Є S.

Для булевой функции f от n переменных и вектора u Є Vn будем обозначать через fu функцию f u(x) = f (x Ф u). Производной булевой функции f по направлению u Є Vn* называется функция Duf = f ® fu. Через J(f) будем обозначать подпространство {u Є Vn : fu = f} пространства Vn.

Пусть A — (n x ^-матрица над F2, а g — булева функция от k переменных. Через gA будем обозначать функцию от n переменных gA(x) = g(xA).

Утверждение 1 [4]. Любая функция f Є Fn представима в виде

2n — dim J(f )

f = ф £iIJ(f )®z(i),

i= 1

где Єі Є {0,1}; z(i) Є Vn.

Определение 1 [5]. Порядком алгебраической вырожденности AD(f) булевой функции f Є Fn называется максимально возможное значение n — k, где для целого числа k, 0 ^ k ^ n, существуют такие функция g Є Fk и (n x к)-матрица D над F2, что выполнено равенство f = gD. Функции, для которых AD(f) > 0, называются алгебраически вырожденными. Множество всех алгебраически вырожденных функций от n переменных обозначим через

DG(n) = {f Є Fn : AD(f) > 0}.

Определение 2. Булева функция f Є Fn обладает нетривиальной линейной структурой, если существует такой вектор u Є V*, что Du f Є {0,1}. Подпространство Lf = {u Є Vn : Du f Є {0,1}} называется пространством линейных структур функции f.

Множество булевых функций f Є Fn, имеющих нетривиальную линейную структуру, обозначается через [6]. Легко показать, что если для f Є Fn существует такой вектор u Є V*, что Du f = 1, то Lf = J(f) U (J(f) Ф u).

Определение 3. Преобразованием Уолша — Адамара булевой функции f называется целочисленная функция на Vn, определяемая следующим равенством:

Wf(u) = £ (—1)f(x)®<x,u>

хЄУп

(суммирование производится в действительной области). Для каждого u Є Vn значение Wf (u) называется коэффициентом Уолша — Адамара.

Определение 4. Пусть f Є Fn. Целочисленная функция

Af (u) = Е (—1)f(x)®f(x®u),

хЄУп

определенная на пространстве Vn, называется автокорреляционной функцией, или автокорреляцией булевой функции f.

Справедлива следующая теорема о связи автокорреляционной функции с преобразованием Уолша — Адамара.

Теорема 1 [6]. Пусть f Е Fn. Тогда для любого вектора v Е Vn справедливы соотношения

Wf2(v) = Е Af(u)(-1)<u’v>,

Af(v) = 2-n E Wf2(u)(—1)<u’v>.

Определение 5. Булева функция f Е Fn называется корреляционно-иммунной порядка m, 0 < m ^ n, если для любого вектора и Е Vn, такого, что 1 ^ wt(u) ^ m, выполнено равенство Wf (и) = 0.

Корреляционно-иммунная порядка m функция является корреляционно-иммунной любого меньшего порядка, поэтому введем обозначение

corf = max{m Е N : f — корреляционно-иммунна порядка m}.

Справедливо следующее соотношение между порядком корреляционной иммунности corf булевой функции f и ее алгебраической степенью deg f.

Теорема 2 (неравенство Зигенталера). Для любой функции f Е Fn справедливо неравенство deg f + corf ^ n.

Определение 6. Функция f Е Fn называется бент-функцией, если все ее коэффициенты Уолша — Адамара равны ±2n/2.

Определение 7. Булева функция f от n переменных называется уравновешенной, если wt(f) = 2n-1. Уравновешенная корреляционно-иммунная порядка d функция f Е Fn называется d-устойчивой.

Теорема 3 (критерий Ротхауза). Булева функция f Е Fn является бент-функци-ей тогда и только тогда, когда ее производная Df по каждому ненулевому направлению и Е VT уравновешена.

Определение 8. Пусть f Е Fn. Если существует такое натуральное число r Е N, 0 ^ r ^ n, что квадрат каждого коэффициента Уолша — Адамара равен либо 22n-2r, либо 0, то функция f называется платовидной функцией порядка 2r.

Лемма 1. Пусть f Е Fn, deg f = d ^ 1. Тогда

2n-d ^ wt(f) ^ 2n — 2n-d.

2. Невырожденность булевых функций

Рассмотрим соотношение между параметром AD(f) и подпространством J(f).

Утверждение 2. Для любой булевой функции f Е Fn справедливо равенство

AD(f) = dim J (f )-

Доказательство. Пусть dim J(f) = n — k. Пусть C = J(f) и u(1), ...,u(k) — базис пространства C^. Пусть D — (n х к)-матрица, столбцами которой являются векторы

u(1),u(k). По утверждению 1 функция f может быть представлена следующим образом: f = ZCez(i) ® ... ® , где t ^ 2k. Пусть функция g G Fk такова, что g(x) = 1

тогда и только тогда, когда существует номер i =1, ...,t, что x = z(i)D.

Покажем, что f (x) = g(xD) для любого вектора x G Vn. Поскольку множество 1/ представимо в виде объединения смежных классов Cфz(1),..., C® z(t), то для векторов x G 1/ и только для них справедливо представление x = z(i) фс, где i G {1,..., t}, с G C. Поэтому верно соотношение g(xD) = g(z(i)D ф cD) = g(z(i)D) = 1 = f (x). Таким образом, AD(f) ^ dim J(f).

Пусть AD(f) = n — k и D — такая (n x к)-матрица ранга k, столбцами которой являются векторы u(1),u(2), ...,u(k) пространства Vn, что f (x) = g(xD). Пусть C — линейное подпространство пространства К, с базисом u(1), ...,u(k). Тогда для любого u G Cx и любого x G Vn выполнено f (xфu) = g((xфu)D) = g(xD фuD) = g(xD) = f (x). Таким образом, Cx С J(f) и AD(f) = dim Cx ^ dim J(f).

Учитывая ранее доказанное обратное неравенство, получаем AD(f) = dim J(f). ■

В работе [3] были введены следующие меры нелинейности булевых функций:

nl(f) = dist(f, An) = 2n-1 — 1 max |W/(u)|;

2 ueVn

i(f) = dist(f, ) = 2n-2 — 1 max |А/(u)|.

4 u€Vn*

Будем называть невырожденностью функции f G Fn значение

P(f) = dist(f,DG(n)).

Заметим, что параметры AD(f), nl(f), $(f) и p(f) являются аффинными инвариантами.

Утверждение 3. Пусть f G Fn и u — произвольный вектор из Vn. Если функция g G DG(n) такова, что u G J(g) и dist(f, g) = min dist(f, g'), то g представима в виде

s':«€J (s')

g = f ■ fu ф h, где для функции h G Fn выполняется условие Du f ■ h = h и u G J(h).

Доказательство. Покажем, что 1s С 1/v/u и 1// С 1s.

Пусть h1 = g ((f V fu) ф 1). Тогда u G J(h1). Но dist(g ф h1, f) ^ dist(g,f) и u G J(g ф h1). Поэтому h1 = 0, т. е. 1s С 1/v/u.

Пусть h2 = (g ф 1)(f ■ fu). Тогда u G J(h2) и u G J(g ф h2). Но dist(g ф h2, f) ^

^ dist(g,f). Поэтому h2 = 0, т. е. 1// С 1s.

Поскольку 1/•/u С 1s, то g представима в виде g = f ■ fu ф h, где h ■ f ■ fu = 0 и u G J(h). Поскольку 1s С 1/v/u, а f V fu = f ■ fu ф Duf, то для функции h выполнено h ■ Duf = h. Показанные соотношения доказывают утверждение. ■

Следствие 1. Для любой булевой функции f G Fn справедливо соотношение

^ • wt(Du f) on—2 1 Л ^

P(f) = min -ö-= 2 — 7 max А/(u).

«eVn 2 4 u^Vn

Доказательство. Из определения параметра р следует, что справедливо равенство p(f) = min min dist(f, g'). Вычислим dist(f, g) для тех функций g, для «€Vn* g':ueJ(s')

которых существует ненулевой вектор u G J(g) и dist(f,g) = min dist(f,g'). Из

S':u€J (s')

утверждения 3 следует, что g = f ■ fu ф h, где u G J(h) и h ■ Duf = h. Для функции h

выполняется равенство h = h1 ® h2, где h1 • h2 = 0, hU = h2 и справедливы соотношения

hi(f 0 f • fu) = h и h2(f 0 f • fu) = 0. Поэтому dist(f, g) = wt(f 0 f • fu 0 h1 0 h2) =

= wt(f) — wt(f • fu) — wt(h1)+ wh(h2) = wt(Df )/2. Это соотношение доказывает первое равенство. Второе равенство следует из первого и из того, что

Af (u) = WDuf (0n) = 2n — 2 dist(Duf, 0) = 2n — 2 wt(Df).

Следствие доказано. ■

Следствие 2. Пусть f Е Fn. Если g Е DG(n) и dist(f,g) = p(f), то для любого вектора и Е J*(g) справедливо равенство Af (u) = max{Af (v) : v Е V*}.

Доказательство. Пусть u — произвольный вектор из J * (g). Тогда, по утверждению 3, функция g представима в виде g = f • fu 0 hM. Отсюда и из следствия 1 получаем, что

dist(f,g) = wt^uf) = 2n-2 — ^Af(u) = P(f) = 2n-2 — 4 maxAf(v)-

2 4 4 veV^

Следовательно, Af(u) = maxAf(v). ■

veV*

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Утверждение 4. Для любой булевой функции f от n ^ 2 переменных справедливо неравенство p(f) ^ 2n-2.

Доказательство. Предположим, что для некоторой функции f Е Fn и для любого ненулевого вектора u Е VI справедливо Af (u) < 0, а поскольку числа Af (u) четны, то Af (u) ^ —2.

Из равенства Е Af(u) = W2(0n) следует Е Af(u) ^ 0. Но Af(0n) = 2n, а по

uGVt. uGVn

предположению Af (u) ^ —2, поэтому

Y, Af (u) ^ 2n — 2(2n — 1) = 2 — 2n

u€Vn

Следовательно, У] Af (u) < 0 при n ^ 2. Полученное противоречие показывает, что существует такой ненулевой вектор u Е Vn, что Af (u) ^ 0, а значит, p(f) ^ 2n-2. ■ Заметим, что поскольку выполнены включения An С DG(n) С FI, то

nl(f) ^ P(f) ^ ¿(f).

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

Пример 1. Рассмотрим функцию ^0>2 Е F10, построенную в работе [7]:

fl0,2(x) = (xg 0 Х10 0 1)(Ж1Жа 0 Х1Х4 0 Х2Х3 0 Х2Х4 0 X1 0 Х3 0 Х5 0 Хб 0 Х7 0 Xg)0

0(x9 0 Х10)(Х1 0 Х2 0 Х3 0 Х4 0 Х5Х7 0 Х5Х8 0 Х6Х7 0 Х6Х8 0 Х5 0 Х7) 0 Xg.

Функция f140,2 является 6-устойчивой булевой функцией, нелинейность которой равна 2g — 27 = 384. Однако p(f40 2) = ^(f40 2) = 0, т. е. функция является алгебраически вырожденной, причем AD(f40 2) = 3, а dimLf4Q2 = 4.

Рассмотрим вопрос достижимости параметром p своего максимального значения 2n-2. Из критерия Ротхауза следует, что для любой бент-функции f справедливо соотношение p(f) = 2n-2. Для нечетного числа переменных справедлива

Теорема 4. Пусть n нечетно, функция f Е Fn является платовидной функцией порядка n — 1 и {u Е Vn : Wf (u) = 0} = {u Е Vi : <u,w> = 1} для некоторого ненулевого вектора w. Тогда p(f) = 2n-2.

Доказательство. Рассмотрим соотношение между автокорреляционными коэффициентами и коэффициентами Уолша — Адамара функции f для ненулевого вектора u. Поскольку функция f является платовидной функцией порядка n — 1 , то в том случае, когда W2(u) = 0, справедливо равенство Wf(u) = 22n-(n-1) = 2n+1. Следовательно,

1 2n+1

Af(u) = у E W2(v)(—1)<u'v> = E (—4

v€Vn v:<v,w>=1

Таким образом, max Af (u) = 0 и p(f) = 2n-2. ■

u^V*

В работе [8] было показано, что функции, удовлетворяющие условиям теоремы 4, представимы в виде f = gB, где B — некоторая невырожденная (n х ^-матрица над F2 и g(x) = хп 0 h(x1, ...,хп-1), где h — бент-функция от n — 1 переменной.

Заметим, что проблема исчерпывающего описания множества функций, для которых параметр p достигает своего максимума, пока не решена.

3. Порядок алгебраической вырожденности наилучших аппроксимаций

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

DG(f) = {g Е DG(n) : dist(f,g) = p(f)}.

Множество функций, имеющих нетривиальную линейную структуру и наилучшим образом приближающих функцию f, обозначим через

F.(f) = {g Е F : dist(f,g) = 5(f)}.

Рассмотрим следующие функционалы:

np(f)= max dimJ(g) = max AD(g);

^ ' seDG(f) ^ seDG(f) ^

пл (f)= max dim L0.

Алгебраически вырожденные функции, наилучшим образом аппроксимирующие данную функцию f, находятся от нее на расстоянии p(f). Однако на этом расстоя-ниии могут находиться функции с разными значениями порядка алгебраической вы-рожденности. С точки зрения криптоанализа нужно аппроксимировать функцию f с помощью наиболее алгебраически вырожденной функции. Максимальное значение порядка алгебраической вырожденности тех функций, которые находятся от f на расстоянии p(f), отражает параметр np(f). Содержательный смысл параметра п(f) аналогичен.

Определение 9. Пусть f Е Fn; пр-функцией для f назовем функцию g^DGf), для которой AD(gp) = np(f).

Аналогично определяется понятие пл-функции для f.

Используя введенные понятия, можно следующим образом описать связь параметров пл, p, пр.

<«,v> _ ) 0, если u = w,

-2n, если u = w.

Утверждение 5. Еслиp(f) = ¿(f),топ(f) Е М/'),пр(f)+1}. Еслиp(f) > ¿(f), то пл (f) = 1.

Доказательство. Пусть функции gp и g5 являются соответственно пр-функцией и пл-функцией для f.

Пусть p(f) = £(f). Тогда пл (f) ^ ^(f), так как иначе dim > dim , что противоречит условию. Заметим также, что dim J(g£) ^ dim J(gp). Тот факт, что для любой функции h справедливо dim Е {dim J(h), dim J(h) + 1}, показывает справедливость первой импликации.

Если же p(f) > £(f), то dim J(g,s) = 0, а = {0n,u}, где D g,s = 1, т. е. пл(f) = 1.

Утверждение доказано. ■

Заметим, что для функции f140,2 из примера 1 справедливы соотношения

p(f140,2 ) = ^(f140,2) и пл (f140,2) = пР(Л40,2) + 1, а для функции f, удовлетворяющей условиям теоремы 4, справедливы равенства

¿(f ) = 0 и пл (f) = 1

Исходя из доказанного утверждения, можно сказать, что при равенстве значений p(f) и $(f), вычислив один из параметров пл и пр, можно достаточно точно оценить значение второго. Однако когда p(f) = $(f), значение п (f) равно 1, тогда как ^(f) необходимо вычислять. В связи с этим далее большее внимание будет уделяться именно параметру пр.

Утверждение 6. Пусть f Е Fn. Если |wt(f) — 2n-1| > p(f), то p(f) = £(f) и

^(f) = пл(f).

Доказательство. Непосредственно следует из того факта, что любая функция h, для которой существует вектор u Е V*, такой, что h = 1, является уравновешенной, и из определений соответствующих функционалов. ■

Теорема 5. Для любой булевой функции f Е Fn, для которой p(f) > 0, справед-

ливо соотношение

bg2 p(f) + ^(f) ^ n.

Доказательство. Пусть g — некоторая пр-функция для f. Тогда справедливо соотношение f = g 0 h, где wt(h) = p(f). Предположим, что для некоторого вектора u Е J(g) справедливо h • hu = 0. Тогда, переписав соотношение для функции f в виде

f = (g 0 h • hu) 0 (h 0 h • hu), можно заметить, что

dist(f, g 0 h • hu) = wt(h 0 h • hu) < wt(h) = p(f).

Но это противоречит условию, поскольку функция g 0 h • hu является алгебраически вырожденной.

Получаем, что wt(D h) = 2wt(h) для любого ненулевого вектора u Е J(g). Но максимальный вес такой функции h совпадает с мощностью фактор-пространства Vi/J(g). Следовательно, p(f) = wt(h) ^ 2n-AD(g) = 2n-np(f). Утверждение теоремы получается путем логарифмирования обоих частей неравенства. ■

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

максимизировать и deg(f), и cor(f). Неравенство Зигенталера показывает, что эти два параметра вступают в противоречие друг с другом. Исходя из тех же соображений, необходимо максимизировать p(f), но минимизировать ^(f). Полученное в теореме 5 неравенство показывает, что эти два параметра в каком-то смысле согласованы.

Следствие 3. Пусть функция f Е Fn такова, что nl(f) = p(f). Тогда справедливо неравенство nl(f) = p(f) ^ 2.

Доказательство. Если nl(f) = p(f), то существует такая аффинная функция g, что dist(f,g) = p(f). Для этой функции справедливо соотношение AD(g) ^ n — 1. Отсюда ^(f) ^ n — 1. Из утверждения теоремы 5 заключаем, что log2 p(f) ^ 1, т. е. p(f) ^ 2. ■

Следующие две леммы описывают некоторые классы булевых функций, для которых в неравенстве теоремы 5 достигается равенство.

Лемма 2. Пусть функция f Е Fn такова, что ^(f) = k > n/2. Тогда для функции f выполнено равенство log2 p(f) + ^(f) = n тогда и только тогда, когда f представима в виде f = g 0 h, где AD(g) = k, wt(h) = 2n-k и для любых различных векторов u, v Е 1h справедливо u 0 v Е J(g).

Доказательство. Необходимость. Доказательство аналогично теореме 5.

Достаточность. Пусть J(g) = L. Заметим, что для любого вектора u Е L* справедливо wt Duf = wt (Dug 0 Duh) = wt Duh = 2 ■ 2n_k < 2 ■ 22.

Пусть u Е Vn \ L. Тогда wt Duf = wt (Dug 0 Duh) ^ wt Dug — wt Duh. Поскольку wt Dug ^ 2 ■ 2k, а wt Duh ^ 2 ■ 2n_k, то

wt Duf ^ 2(2k — 2n_k) > 2(2 ■ 22 — 22) > 2 ■ 22.

Учитывая неравенство, полученное для векторов из L*, получаем, что для любых векторов u Е L* и v Е Vn \ L справедливо wt Duf < wt Dvf. Таким образом,

p(f) = 2wt = 2n-k = dist(f,g).

Тот факт, что ^(f) = AD(g) = k, следует из неравенства log2 p(f) + пр(f) ^ n. ■

Лемма 3. Пусть натуральные числа n и k удовлетворяют условиям n ^ 3,

2 ^ k ^ n/2. Пусть A — (n х (n — k^-матрица над F2 ранга n — k и L — подпространство пространства Vn, ортогональное к подпространству, порожденному набором из n — k столбцов матрицы A. Пусть если число (n — k) четно, то g является бент-функцией от n — k переменных, иначе пусть функция g Е Fn_fc удовлетворяет условиям теоремы 4. Пусть функция h Е Fn такова, что wt(h) = 2n-k и носитель 1h является такой плоскостью пространства Vn, что для любых двух ненулевых векторов u,v Е 1h справедливо соотношение u 0 v Е L. Тогда для функции f = gA 0 h справедливы соотношения

p(f) = 2n-k, ^(f) = k.

Доказательство. Пусть (n — k) четно. Если u Е L*, то

wt Duf = wt (DugA 0 h) = wt Duh = 2 ■ wt(h) = 2 ■ 2n-k.

Пусть теперь u Е Vn \ L. Если u Е J(h), то

wt Duf = wt (DugA 0 Duh) = wt DugA = 2n 1.

Последнее равенство справедливо, поскольку функция д является бент-функцией от п — к переменных и ДидА = д)А для некоторого V Е ^-к.

Если же и Е (Л-), то

wt Ди/ = -^(Дщд^ ® ДиЛ,) = wt ДаддА + wt — 2 ■ wt(DugA ■ ДиЛ,).

Заметим, что для любого ^ 6 У„ \ Ь справедливо равенство wt(/LфZ ■ ДиЛ,) = 2. Поэтому wt(DugA ■ ДиЛ,) = 2п-1-к ■ 2 и

wt Duf = 2n-1 + 2n_fc+1 — 2 ■ 2n_k = 2n-1

Получили, что

n f i 2n 1, если u Е L, w uf = ^ 2n-k+1, если u e L*.

Следовательно, p(f) = 2n_k. А поскольку p(f) = dist(f, g) и AD(g) = k, то из теоремы 5 следует, что ^(f) = k.

Пусть теперь число (n — k) нечетно. Поскольку функция g удовлетворяет условиям теоремы 4, то справедливо соотношение wt(Du gA) Е {0, 2n-1, 2n} для любого вектора u Е Vn*. Пусть вектор u Е V* таков, что wt(Du gA) = 2n. Тогда wt(Du f) ^ 2n — 2n_fc+1 ^ ^ 2n-k+1. Рассмотрение оставшихся случаев аналогично случаю, когда (n — k) четно. В результате получаем, что p(f) = 2n_k и ^(f) = k. ■

Пример 2. Примером использования конструкции леммы 3 может служить функция f8 от 8 переменных, которая задается в виде алгебраической нормальной формы следующим образом:

fg(x) = Ж5Ж6Ж7Xg 0 Ж7Ж8 0 Ж5Ж6Ж8 0 Ж5Ж6Ж7 0 Х5Х8 0 Х5Х7Х8 0 Ж6Ж7 0 Х6Х7Х8 0

0 Ж1Ж2 0 Х3Х4 0 Ж6Ж8 0 Х5Х7 0 Х5Х6 0 Жз 0 Х8 0 Ж7 0 Ж5 0 Жб 0 1.

Параметры функции f8 имеют значения

deg(f8) = 4, nl(f8) = 100, p(f8) = ^(f8) = 16, пр(/^8) = 4, wt(f8) = 100.

Функция f8 представима в виде f8 = gA 0 h. Функция g = x2 0 x1x2 0 ж3ж4 является бент-функцией от 4 переменных. Носитель функции h является подпространством пространства V8 размерности 4 с базисом u(1) = (00000001), u(2) = (00000010), u(3) = (00000100), u(4) = (00001000). Эти же векторы являются столбцами (8 х 4)-матрицы A.

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

Теорема 6. Для любой функции f Е Fn, такой, что ^(f) > n/2, существует такое целое число T, 0 ^ T ^ 2n_np(f), что справедливо неравенство

T (2np(f) — 1) ^ wt(f) ^ T (2np(f) — 1) + 2n_np(f).

Доказательство. Пусть g — некоторая пр-функция для f. Тогда для любого смежного класса J(g) 0 z справедливо 11 f П J(g) 0 z| Е {0,1, 2np(f) — 1, 2np(f)}. Вес функции f получается суммированием мощностей множеств 11 f П J(g) 0 z | по всем различным смежным классам J(g) 0 z. Утверждение теоремы следует из того, что количество различных смежных классов по подпространству J(g) равно 2n_np(f). ■

Теорема 7. Пусть f Е Fn. Если ^(f) > log2 p(f), то deg f ^ ^(f).

Доказательство. Пусть функция f Е Fn представима в виде f = g 0 h, где AD(g) = ^(f) > log2 wt(h) = log2p(f). Тогда справедливы неравенства

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2n_degh ^ wt(h) ^ 2n — 2n_deg h и deg g ^ n — пр(f).

Отсюда получаем deg h ^ n — log2 p(f) и n — ^(f) ^ degg. Складывая эти два неравенства, получим, что deg h — deg g ^ ^(f) — log2 p(f) > 0, т. е. deg h > deg g.

Поскольку deg f = max(deg g, deg h) при deg g = deg h, то deg f = deg h ^ ^ n — log2p(f) ^ пр^). ■

Неравенство, полученное в теореме 6 и связывающее вес функции со значением параметра пр, схоже с двусторонним неравенством из леммы 1. Комбинирование этих двух неравенств позволяет получать соотношения между различными параметрами булевой функции.

4. Свойства пр-функций и вычисление параметра пр

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

Теорема 8. Пусть f Е Fn и g Е DG(f). Если существуют два таких различных вектора u,v Е V*, что u,v Е J(g), то функция g представима в виде

g = f ■ fu 0 f ■ fv 0 fu ■ fv.

Доказательство. Поскольку fu ■ fv = (f ■ f u®v)v, то из следствия 2 следует, что wt(f ■ fu) = wt(f ■ fv) = wt(fu ■ fv). Из утверждения 3 следует, что функция g представима в виде

g = f ■ fu 0 hu 0 hu, где hu ■ f = hu и hu ■ f = 0, g = f ■ fv 0 hv 0 hv, где hv ■ f = hv и hv ■ f = 0.

Умножим обе части первого равенства на функцию / ■ /* ® / ■ /и ■ /*:

д (/ ■ /* е / ■ /и ■ /*) = / ■ /* е / ■ /и ■ /* = (/ ■ /* е / ■ /и ■ /*) Л

Отсюда получаем, что wt(hu) ^ wt(/ ■ /* е / ■ /и ■ /*).

Воспользовавшись вторым представлением функции д, получим

С = hu = hv ■ hu 0 hu ■ hv = hv ■ f ■ hu 0 hu ■ hv ■ fv = hu ■ fv ■ hv.

Таким образом, справедливо равенство ■ /*. Теперь умножим обе части первого

представления функции д на функцию /и ■ /* е / ■ /и ■ /*:

g (fu ■ fv 0 f ■ fu ■ fv ) = hu ■ fu ■ fv 0 hu ■ f ■ fu ■ fv = hu ■ fv = hu.

Отсюда получаем wt(/u ■ /* е / ■ /и ■ /*) ^ wt(hU). Поскольку wt(hU) = wt(hu) и

^(/“ ■ / е / ■ /и ■ /) = ^(/ ■ / е / ■ /и ■ /), то ^(М = wt(/ ■ / е / ■ /и ■ /), а

значит, верны равенства = / ■ /* е / ■ /и ■ /*, и ■ /* е / ■ /и ■ /*.

Переписав первое представление для функции д, учитывая полученные соотношения, получим д = / ■ /и е / ■ / е /и ■ /*. ■

Таким образом, вычисление значения пр(/) можно проводить по следующему принципу. Необходимо вычислить значение А/ = шах А/(и), одновременно сформировав

множество A = {u Е V* : Af (u) = А*}. Вычислить значение пр^) можно с помощью множества B = {g = f ■ fu 0 f ■ fv 0 fu ■ fv : u, v Е A, u = v, dist(f,g) = p(f)} по формуле

^(f) = max{1, max dim J(g)}.

5. Вырожденность бент-функций

Рассмотрим свойства параметров p и пр для случая, когда f является бент-функ-цией.

Лемма 4. Пусть f Е Fn является бент-функцией и g Е DG(f). Если существуют два различных ненулевых вектора u,v Е Vn, такие, что u,v Е J(g), то функция g представима в виде g = Du (f ■ fv).

Доказательство. По теореме 8 справедливо равенство g = f ■ fu 0 f ■ fv 0 fu ■ fv.

По условию g = gu. Используя представление функции g, получим равенство

f ■ f v 0 f u ■ f v = f u ■ f u®v 0 f ■ f u®v

Преобразовав его, получаем Duf (Duf )v = 0. Учитывая, что производная бент-функ-ции по любому направлению уравновешена, это соотношение можно переписать в виде Duf 0 I = (Duf )v. Умножая обе части на f, получаем f (I 0 f 0 fu) = (fv 0 fu®v) f, f ■ fu 0 f ■ fv 0 f ■ fu®v = 0. Используя представление функции g, запишем g = = f ■ f u®v 0 (f ■ f u®v )u = Du(f ■ f u®v). После переобозначения векторов имеем требуемое соотношение. ■

Теорема 8 и лемма 4 показывают, что пр-функции для функции f легко выражаются через функции вида f ■ fu. Некоторые свойства функций вида f ■ fu для случая, когда функция f является бент-функцией, отражены в следующем утверждении.

Утверждение 7. Для любой бент-функции f Е Fn, где n ^ 4, и любого ненулевого вектора u Vn справедливо соотношение AD(f ■ fu) = 1.

Доказательство. По критерию Ротхауза, производная функции f по любому ненулевому направлению уравновешена. Из соотношения wt(f ■ fu) = wt(f) — —wt(Du f) = 2n_2 ± 2 2 _1 получаем, что для любых ненулевых векторов u,v Е Vn справедливо равенство wt(f ■ fu) = wt(f ■ fv).

Предположим, что утверждение не верно, т. е. AD(f ■ fu) > 1. Поскольку справедливо AD(f ■ fu) = dim J(f ■ fu), то это означает, что существует такой ненулевой вектор v Е , отличный от u, что (f ■ fu)v = f ■ fu. Учитывая равенство весов wt(f ■ fu) = wt(f ■ fv), получаем f ■ fu = f ■ fv = f ■ fu®v = (f ■ fu®v)u = fu ■ fv.

Используя полученные ранее равенства, имеем f (fu0fv) = 0, откуда f (Du®v f )u = = (fu ■ Du®v f )u = 0. Таким образом, выполнено соотношение fu ■ Du®v f = 0. Заменяя в рассуждениях вектор u на v, получаем fv ■ Du®v f = 0.

Рассмотрим два случая. Если wt(f) = 2n_1 + 22_1, то ни одно из полученных ранее соотношений не может быть выполнено, так как производная бент-функции по любому ненулевому направлению уравновешена.

Если же wt(f) = 2n_1 — 22_1, то для выполнения двух полученных равенств необходимо, чтобы выполнялось неравенство wt(fu) + wt(fv) — wt(fu ■ fv) + 2n_1 ^ 2n. Так как fu ■ fv = (f ■ fu®v)u, то wt(fu ■ fv) = 2n_2 — 22_1. Подставляя значения весов функций в неравенство, получаем

2n + 2n_1 — 2n_2 — 2 2 _1 ^ 2n,

2n_2 - 22_1 < 0.

Но для n ^ 4 это неравенство не выполняется. Получили противоречие, которое доказывает утверждение. ■

Для бент-функций параметр p достигает своего максимального значения 2n_2. С помощью конструкции, описанной в лемме 3, можно строить бент-функции, для которых в неравенстве теоремы 5 достигается равенство, т. е. бент-функции с пр^) = 2. Для этого достаточно задать четное число переменных n и положить k = 2.

Пример 3. Функция b8 является бент-функцией от восьми переменных и задается следующим образом:

&8(х) = Ж4Ж5Ж6 0 Ж2Ж3Ж5 0 Ж1Ж3Ж4 0 Ж7Ж8 0 Ж1Ж5 0 Ж3Ж4 0 Ж2Ж4 0 Ж1Ж4 0 Ж2Ж3 0

0 Ж1Ж3 0 Х3Х6 0 Ж8 0 Х7 0 1.

Параметры функции b8 имеют следующие значения:

deg(b8) = 3, nl(b8) = 120, p(b8) = ¿(&8) = 64, пр(^8) = 2, wt^) = 120.

Функция b8 представима в виде b8 = gA 0 h. Функция

g(x) = Х2Х6 0 Х3Х6 0 Ж1Ж2Ж3 0 Х4Х6 0 Ж1Ж4 0 Х3Х4 0 Х3Х4Х6 0 Х3Х5 0 Х4Х5 0 Ж2Ж4Ж5

является бент-функцией от шести переменных. Векторы u(1) = (00000001), u(2) = = (00000010), u(3) = (00000100), u(4) = (00001000), u(5) = (00010000), u(6) = (00100000) являются столбцами (8 х 6)-матрицы A, а также образуют базис подпространства, которое является носителем функции h.

ЛИТЕРАТУРА

1. Siegenthaler T. Decrypting a class of stream chipher using ciphertext only // IEEE Trans. Computers. 1985. V. C-34. No. 1. P. 81-85.

2. Matsui M. Linear cryptanalysis method for DES cipher // LNCS. 1993. V. 765. P. 386-397.

3. Meier W. and StaffeJbach O. Nonlinearity criteria for cryptographic functions // LNCS. 1990. V. 434. P. 549-562.

4. Алексеев Е. К. О некоторых алгебраических и комбинаторных свойствах корреляционноиммунных булевых функций // Дискретная математика. 2010. Т. 22. №3. С. 110-126.

5. Dawson Е. and WuC.K. Construction of correlation immune boolean functions // LNCS. 1997. V. 1334. P. 170-180.

6. Логачев О. А., Сальников А. А., Ященко В. В. Булевы функции в теории кодирования и криптологии. М.: МЦНМО, 2004.

7. Таранников Ю. В. О корреляционно-иммунных и устойчивых булевых функциях // Математические вопросы кибернетики. Вып. 11. М.: Физматлит, 2002. С. 91-148.

8. Zhang X. M. and Zheng Y. Characterizing the structures of cryptographic functions satisfying the propagation criterion for almost all vectors // Design Codes Cryptography. 1996. No. 7 (1/2). P. 111-134.

i Надоели баннеры? Вы всегда можете отключить рекламу.