КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ
УДК 519.7
ИССЛЕДОВАНИЕ ОДНОГО ПАРАМЕТРА БУЛЕВЫХ ФУНКЦИЙ, БЛИЗКОГО К НЕЛИНЕЙНОСТИ*
В. Б. Р. Р.
Алексеев
Омаров
Московский государственный университет им. М.В. Ломоносова
e-mail:
e-mail:
Минимальное расстояние (по Хэммингу) от булевой функции f до аффинных булевых функций называют нелинейностью функции £ Это один из параметров, характеризующих качество криптографических систем, использующих функцию £ В работе рассматривается один из классов булевых функций от
2 n
переменных, имеющих
максимальную нелинейность
- 2n
, а именно, класс Мэйорана—
Мак-Фарланда. Исследуется, как меняется расстояние от функций этого класса до класса приближающих функций, если в класс приближающих функций кроме аффинных включить все функции, у которых в полиноме Жегалкина имеется одно нелинейное слагаемое. Показано, что новое расстояние может быть различным для разных функций из класса Мэйорана—Мак-Фарланда и изменяется в преде-
- 2 • 2п 1, причем обе границы дости-
лах от • жимы.
- 3 • 2n
+ 2 до 2
Ключевые слова: булева функция, криптографические свойства булевых функций, нелинейность, класс Мэйорана—Мак-Фарланда.
2 n-1
2
Введение. Постановка задачи
Булевы функции широко применяются в криптографии. При этом стойкость систем шифрования часто основывается на «сложности» используемых булевых функций. Поскольку аффинные функции считаются очень простыми, то в качестве одной из характеристик «сложности» булевых функций рассматривается «удаленность» данной функции от всех аффинных функций. Этому параметру, называемому нелинейностью булевой функции, посвящено множество работ. Обзор имеющихся результатов о нелинейности (с указанием имеющихся публикаций) можно найти в книге [1], где нелинейности посвящена отдельная глава. Дадим необходимые определения.
Пусть п — произвольное натуральное число. Через Уп будем обозначать векторное пространство наборов длины п с компонентами из {0,1} с операцией © покоординатного сложения векторов по модулю 2 .
* Работа выполнена при поддержке РФФИ, гранты 07-01-00154 и 09-01-00701.
Определение. Пусть f — булева функция от n переменных, то есть f : Vn ^ {0,1}. Весом wt(f) булевой функции f называется количество наборов, на которых функция f равна 1.
Определение. Пусть f, g — булевы функции от n переменных. Расстоянием от булевой функции f до булевой функции g называется величина dist(f, g) = wt(f Ф g). Таким образом, dist(f, g) - это число наборов, на которых f и g принимают разные значения.
Определение. Пусть f — булева функция от n переменных и M — произвольное множество булевых функций от n переменных. Расстоянием от f до множества M называется величина dist(f, M) = min geM dist(f, g) .
Определение. Пусть x e Vn, y eVn. Через <x, y) будем обозначать скалярное произведение x и y <x, y) = x1 y1 ©... © xnyn (здесь ® — это сложение по модулю 2).
Определение. Булева функция g(x) от n переменных называется аффинной, если существуют a = (a1,.an) e Vn и c e {0,1} такие, что g(x) = <a,x)0c = = a1x1 ©... © anxn © c. Множество всех аффинных булевых функций от n переменных будем обозначать An. Отметим, что для любой аффинной булевой функции g(x) от n переменных, отличной от константы, wt(g(x)) = 2n-1.
Определение. Расстояние dist(f, An) от булевой функции f (x) от n переменных до множества An аффинных булевых функций называется нелинейностью функции f (x) и обозначается через Nf.
Лемма 1 [1]. Для любой булевой функции f (x) от n переменных справедливо неравенство Nf < 2n1 - 2n 21. Для четных n эта оценка достижима, то есть существуют функции f (x) от 2n переменных, для которых Nf = 2n1 - 2n 2-1.
Определение. Булевы функции f (x) от 2n переменных, для которых Nf = 22n1 - 2n1, называют максимально-нелинейными функциями (этот класс называют также классом бент-функций).
Таким образом, максимально-нелинейные функции — это булевы функции от 2n переменных, наиболее плохо приближаемые аффинными функциями. Мы рассмотрим вопрос о том, что происходит с максимально-нелинейными функциями, если класс аффинных функций несколько расширяется, а именно, в качестве приближающих рассматриваются все функции, у которых в полиноме Жегалкина имеется не более одного нелинейного слагаемого.
Определение. Через AEn будем обозначать класс всех почти аффинных
функций g(x), а именно, функций вида g(x) = <a,x) © c © xü •... • xik , где a e Vn, c e {0,1} и {i1,...,ik} — произвольное подмножество (возможно, пустое) множества {1,...,п}.
В данной работе нас интересует вопрос: одинакова ли величина dist(f, AE2n) для всех максимально-нелинейных функций f от 2n переменных и насколько для них dist(f, AE2n) отличается от dist(f, A2n) ? На первый вопрос мы дадим отрицательный ответ. На второй вопрос мы дадим полный ответ для одного известного дос-
таточно широкого класса максимально-нелинейных функций (множество всех максимально-нелинейных функций f от 2n переменных пока не описано).
Определение. Пусть х = (х1з...,xn) , y = (y^...,yn). Класс Мэйорана—Мак-Фарланда определяется как класс всех булевых функций f (x, y) от 2n переменных вида f (x, y) = (ж(у), x> ® Ф(y), где ж — произвольная подстановка на множестве Vn, а Ф(y) — произвольная булева функция от n переменных.
Известно, что все функции из класса Мэйорана—Мак-Фарланда являются максимально-нелинейными функциями [1]. В данной работе мы устанавливаем точные пределы, в которых изменяется значение dist(f, AE2n) для всех функций из класса Мэйорана—Мак-Фарланда.
Оценки нового параметра для функций класса Мэйорана—МакФарланда
Покажем сразу же, что для любой функции f (x, y) = (ж(у), x> Ф Ф(у) из класса Мэйорана—Мак-Фарланда dist(f, AE2n) < dist(f, A2n).
Лемма 2. Для любой функции f (x, y) = (ж(у), x> Ф Ф(у) из класса Мэйорана— Мак-Фарланда справедливо неравенство: dist(f (x, y), AE2n) < 22n-1 - 2 • 2n-1.
Доказательство. Пусть ж(0,...,0) = a = (a1,., an), a' = a Ф (1,0,.,0) и у = (у1,.,уп) = ж-1^'). Так как Y * (0,...,0), то существует j такое , что у. = 1. Рассмотрим функцию g(x, y) = (a, x> Ф (b, y> Ф c Ф x1 yj из класса AE2n, где b пока произвольно и c = Ф(0,...,0) . Тогда dist(f (x,y),g(x,y)) = wt(h(x,y)), где
h(x, y) = f (x, y) Ф g(x, y) = (ж(y), x> Ф Ф(y) Ф (a, x> Ф (b, y> Ф c Ф x^y. =
= (ж(у) Ф a,x> Ф Ф(y) Ф (b,y> Ф Ф(0,.,0) Ф x1 y..
При 3 = (0,...,0) получаем h(x, 3) = 0. При 3 = у получаем h(x,3) = h(x,у) = (ж(у) Ф a,x> Ф Ф(у) Ф (b,y> Ф Ф(0,...,0) Ф x1 = ((1,0,.0),x> Ф x1 Ф Ф Ф(у) Ф Ф(0,.,0) Ф (b, у> = Ф(у) Ф (b, у> Ф Ф(0,.,0).
Положим b. = Ф(у) ФФ(0,...,0) и b = 0 при i * j. Тогда h(x, у) = 0. При
3 * (0,...,0) и 3 * у имеем ж(3)Фa * (0,...,0) и ж(3)Фa * (1,0,___,0). Поэтому в
этих случаях h(x, 3) является аффинной функцией, отличной от константы, откуда wt (h( x, 3)) = 2n1. Таким образом,
dist (f (x, y), g (x, y)) = wt (h( x, y)) = 2 wt (h( x,p)) = 2n-1(2n-1 - 2) = 22n-1 - 2 • 2n-1,
Pgv„
откуда следует утверждение леммы 2.
Лемма 3. Если нелинейное слагаемое в g(x, y) е AE2n не содержит переменных x1,...,xn, то dist(f (x,y),g(x,y)) > 22n-1 -2n-1 для любой функции f (x, y) = (ж(у), x> Ф Ф(y) из класса Мэйорана—Мак-Фарланда.
Доказательство. Так как все функции из класса Мэйорана—Мак-Фарланда являются максимально-нелинейными, то dist(f (x, y), g(x, y)) > 22n1 - 2n1, если g(x, y) не содержит нелинейных слагаемых. Пусть теперь g (x, у) содержит нелинейное слагаемое y.1 ■...• y.t. Положим
/(^ у ) = f (x, у) ф у.1 •. • y.t =(ж( y), x>Ф (Ф( у) ф у л • ■■■ • y]t) и
%1( х У) = %(У) Ф У а ' — • У а ■
Тогда /1(х, у) лежит в классе Мэйорана-Мак-Фарланда и %1( х, у) - аффинная
функция. Поэтому й/ы/(/(х, у), %(х, у)) = й/ы/(У1(х, у), %1(х, у)) > 22п-1 - 2п-1. Лемма доказана.
Следующая теорема дает явную формулу для вычисления й/ы/ (/(х, у), АЕ2п) для любой функции /(х, у) из класса Мэйорана-Мак-Фарланда и служит основой для получения дальнейших оценок.
Теорема 1. Для любой функции /(х, у) = (п(у), х> Ф Ф(у) из класса Мэйора-на-Мак-Фарланда от 2п переменных выполняется равенство:
йЫ (/(х, у), АЕ1п) = 22п-1 - 2п-1 -( \
-шах^ 2п-к • £ы%((РФР,Ь>ФФ(Р)ФФ(ЯФ(я(ЮФ^(Р'),(1,1, —,1)>) ,
V РеРпе у
где I = {/1,—, /к} с {1,—, п}, к = |/| > 1, J = {Д..., у/} с {1,—, п}, р' е ¥п, Ь е ¥п,
Р = (Р е Уп | (я(Р))Ы = (я(р'))Ы при всех Ы Й 1} - е = {р е ^ I р1 = — = р = 1}, (0) = -1, (1) = +1 (если Р п 0 = 0 , то соответствующая сумма считается равной
0 )■
Доказательство. Заметим вначале, что, если /(х1,.,хп) = с, где с - константа
(с е {0,1}), то н/(/(х1, —, хп)) = 2п-1 + 2п-1 (с), где (0) = -1, (1) = +1. Это пред-
ставление будет часто использоваться в дальнейшем.
Пусть /(х, у) = (п(у), х> Ф Ф(у) и пусть %(х, у) = (а, х>Ф<Ь, у>Ф
Ф с Ф хп • — • хк • уу1 • — • у ^ - произвольная функция из класса АЕ2п , где а е¥п, Ь е¥п, с е {0,1}, I = {/1, —, /к} с {1,—, п}, J = {Д..., у/} с {1,—, п}. С учетом лемм 2 и 3, будем считать, что к = Ц > 1. Выражение х/1 • — • х/к • уу1 • — • у]( будем сокращенно записывать как xIyJ , при этом положим х1у0 = х1. Положим
Кх, у) = /(х, у) Ф %(х, у) = (п(у), х> Ф Ф(у) Ф (а, х> Ф (Ь, у> Ф с Ф xIyJ =
= (п(у) Ф а, х> Ф Ф(у) Ф (Ь, у> Ф с Ф х1у_,.
Тогда й/ы/(/ ( х, у), % (х, у)) = н/ (И( х, у)) и наша задача - исследовать ^ (И( х, у )) ■
Лемма 4. Пусть Р' = л~1(а), к = Ц > 1, Р = {Ре Уп | (лО)., = (п(Р Д при всех ы й I}, 0 = {реУп | Р;1 = — = рп = 1} (если J = {у1, —, у/} пусто, то 0 = Уп). Тогда н/(к(х, у)) = 22п-1 + 2п-1 ((Р' , Ь> Ф Ф(Р' ) Ф с) -
- 2п-к • £ ((Р, Ь> Ф Ф(Р) Ф с Ф(^(Р) Ф а, (1,1, — ,1)>) ■
РеРпе
Доказательство. Пусть
ь (х, у) = (п(у) Ф а, х> Ф Ф(у) Ф (Ь, у> Ф с, И2 (х, у) = xIyJ .
Тогда И(х,у) = \(х,у) Ф Ь2(х,у) . При Р Ф Р' имеем л(Р) Ф а и функция И1( х,Р) является аффинной функцией, отличной от константы, откуда н’/(Ь(х,Р)) = 2п-1. Если Р = Р', то п(Р') Ф а = 0, И1(х,Р') = Ф(Р') Ф (Ь,Р'>Ф с (константа) и Н(И1 (х,в')) = = 2п-1 + 2п- 1 (Ф(Р') Ф (Ь,в'> Ф с). Отсюда
wt(h1(x,y)) = Z wt(h1(x,p)) = 2n-1 • 2n + 2n-1sg(Ф(3') © {Ъ,р'> ® с) = 22n-1 + 2n-1sg(Ф(в) © <Ъ,в'> © с).
fieVn
Легко видеть, что wt(h2(x,y)) = 2n-k • 2n-t = 22n-k-t.
Исследуем теперь вес функции h (x,y) • h2 (x,y) = h (x,y) • xjyj . Имеем
wt(h1(x,y) • h2(x,y)) = Z wt (hi( x,3) • x) = Z wt ((<n(3) © a, x> © Ф(3) © <Ъ, 3> © c) • xI).
P<=-Q 3<=-Q
Пусть x ' - набор всех переменных x, кроме xn,_,xik, и пусть h3(x',3) - функция от n - к переменных, получающаяся из h( x,3) при подстановке xi1 = ... = xik = 1. Тогда wt(h1(x,3) • xj) = wt(h3(x,3)). При этом, если хотя бы для одной координаты ^ £ I выполняется (n(3))s Ф as, то функция h3(x\3) - аффинная функция, отличная от константы, и поэтому ее вес равен 2n-k-1. Если же (n(3))s = as при всех s £ I, то
h3(x', 3) - константа, равная <п(3) © a, (1,1,______,1)> © Ф(3) © <Ъ, 3> © с, и ее вес равен
2n-к-1 + 2n-k-1 (<я(3) © a, (1,1,_,1)> © Ф(3) © <Ъ, 3> © с).
Таким образом,
\( x,y) • h2 (x,y)) =
3eQ
wt(h(x,y) • h2(x,y)) = Zwt(h,(x',3)) = 2n-t • 2n-k-1 +
+ £ 2п-к- ^(М3) Ф а, ОД, -,1» Ф Ф(3) Ф<Ъ, 3) Ф с).
ЗеР пе
Подставляя полученные формулы для wt(^(х,у )), (И2(х,у)) и
(^ (х,у) • И2( х,у)) в равенство
(И(х, у)) = wt (Их (х, у) Ф ¿2 (х, у)) = wt (Их (х,у)) + wt (И2 (х,у)) - 2 • wt (Их (х,у) • И2 (х,у)), получим утверждение леммы 4.
Лемма 5. Пусть 3' = 7Г~'(а),, <3', Ъ)ФФ(3' ) Ф с = 1. Тогда
wt(И(х, у)) > 22”-1 - 2”-1.
Доказательство. При I = 0 утверждение следует из леммы 3. При I ^0 воспользуемся леммой 4. Так как в лемме 4 имеем р| = 2к, то слагаемых под знаком суммирования в лемме 4 не больше 2к. Тогда при условиях леммы 5:
wt(И(х, у)) > 22”-1 + 2”-1 - 2”-к2к = 22п-1 - 2п-1.
Лемма доказана.
Из лемм 2, 3 и 5 вытекает, что для вычисления dist (/ (х, у), АЕ2п) для любой функции /(х, у) = <^(у), х) Ф Ф(у) из класса Мэйорана-Мак-Фарланда достаточно рассматривать dist ( / ( х, у ), g ( х, у )) только для таких функций
g(х, у) = <а, х)Ф<Ъ, у) Ф с Ф xIyJ, в которых I Ф0 и с = <3', Ъ) Ф Ф(30, где
3' = тг~'(а) .
По лемме 4 в таких случаях получим: wt (к(х, у)) = 22п-1 - 2п-1 - 2п-к • £ sg (<3 Ф 3', Ъ)ФФ(3) ФФ(3') ФМ3) Ф л(3 '),(1,1,...,1)))
ЗеРпе
Рассматривая минимум wt (И(х, у)) по всем таким функциям И(х, у) , получаем утверждение теоремы 1. Теорема 1 доказана.
Теорема 2. Для всех функций /(х, у) = <п(у), х) Ф Ф(у) из класса Мэйорана-Мак-Фарланда от 2п переменных при всех п > 2 выполняются неравенства:
22п-1 - 3 • 2п-1 + 2 < dist(/, АЕ2п) < 22п-1 - 2 • 2п-1,
причем обе границы достижимы. (При п = 1 dist (/, АЕ2п) = 0 для всех /).
Доказательство. Верхняя оценка доказана в лемме 2. Покажем, что эта оценка достижима. Рассмотрим функцию /(х, у) = <у, х) . Она входит в класс Мэйорана-Мак-Фарланда (при ж (у) = у и Ф(у) = 0), поэтому мы можем использовать для нее теорему 1. Выражение под суммой в теореме 1 для данной функции примет вид:
sg (<3 ф 3' , Ъ) ф <3 Ф 3' , (1,1, - .,!)>) = sg (<3 Ф 3' , Ъ Ф (1,1, ...,1))).
При этом I Ф 0 и Р = {3 еУп | (3)6, = (3 'X при всех ^ £ I}. Пусть I = {/1,..., iк}, к = И > 1. Пусть Ъ и 3' фиксированы. Тогда при 3, пробегающем множество Р, выражение <3 Ф 3' , Ъ Ф (1,1,—,1)) можно рассматривать как аффинную функцию от переменных Зг1,...,Зк без свободного члена. Такая функция принимает значение 1 не более 2к-1 раз. Поэтому для функции /(х, у) = <у, х) при любых фиксированных I, J, 3' , Ъ сумма в теореме 1 не превосходит 2к-1 и, следовательно, максимум не превосходит 2п-1. Тогда dist(<х, у), АЕ2п) > 22п-1 - 2п-1 - 2п-1 = 22п-1 - 2 • 2п-1. С учетом леммы 2, получаем dist (< х, у), АЕ2п) = 22п-1 - 2 • 2п-1.
Докажем теперь нижнюю оценку. Посмотрим, какие значения может принимать сумма по множеству Р п е в теореме 1. Так как |Р| = 2к, то число слагаемых в
2 к г\к
и, следовательно, сама сумма не превосходит 2 , а выражение под максимумом не превосходит 2п . Отсюда максимум не превосходит 2п и теорема 1 дает неравенство dist(/, АЕ2п) > 22п-1 - 3 • 2п-1. Однако эта оценка недостижима. Заметим, что 3' е Р и при 3 = 3' слагаемое в сумме в теореме 1 равно sg(0) = -1. Поэтому, если 3' е е, то 3' е Р п е и сумма по множеству Р п е в теореме 1 не превосходит 2 - 2, а соответствующее выражение под максимумом не превосходит 2п-к • (2к - 2) = 2п - 2 • 2п-к < 2п - 2. Пусть теперь 3' £ е . Тогда рассматриваемая сумма содержит не более 2к -1 слагаемых и, следовательно, не превосходит 2к -1. Тогда соответствующее выражение под максимумом не превосходит 2п-к • (2к -1) = 2п - 2п-к < 2п - 2 при к < п. Остается рассмотреть случай к = п и
3' £ е . Тогда е ^ Уп и t > 1. Поэтому |Р п е\ < \е\ < 2п 1. Тогда рассматриваемая сумма и соответствующее выражение под максимумом не превосходят 2п-1 < 2п - 2 при п > 2. Таким образом, выражение под максимумом всегда не превосходит 2п - 2.
Следовательно, и максимум не превосходит 2п - 2 . Отсюда следует нижняя оценка в теореме 2. Докажем теперь, что она достижима.
Лемма 6. Для любой подстановки ж на Уп существует функция Ф(у) от п переменных такая, что для функции /(х, у) = <ж(у), х) Ф Ф(у) из класса Мэйорана-Мак-Фарланда от 2п переменных выполняется равенство
dist(/, АЕ2п) = 22п-1 - 3 • 2п-1 + 2 .
Доказательство. Для данной подстановки ж определим функцию Ф(у) от п переменных следующим образом. Пусть Ф(0,... ,0) произвольно и
Ф(у) = Ф(0,...,0) Ф <ж(у) Ф ж(0,.,0),(1,1,_,1)) Ф1 при у Ф (0,—,0). Возьмем
I = {1,...,п}, J = 0, 3' = (0,...,0), Ъ = (0,...,0). Тогда к = п ,Р = е = Уп. При этом в
сумме в теореме 1 будет 2п слагаемых вида sg (Ф(3) ФФ(0,.,0) Ф Ф<ж(3) Ф ж(0,_,0),(1,1,_,1))). При 3 = (0,.,0) это слагаемое равно sg (0) = -1. При
остальных 3, подставляя в это слагаемое Ф(3) = Ф(0,...,0) Ф
Ф<ж(3) Ф ж(0,...,0),(1,1,...1)) Ф1, получаем, что это слагаемое равно Бд(1) = 1. Поэтому рассматриваемая сумма будет равна 2п - 2 и максимум будет не меньше 2п - 2 . Поэтому для рассматриваемой функции /(х, у) = <ж(у), х) Ф Ф(у) выполняется нера-
вместе с ней и теорема 2 доказаны.
Заключение
Таким образом, максимально-нелинейные функции из класса Мэйорана—МакФарланда имеют разную стойкость при приближении их почти аффинными функциями класса AE2n. В работе установлены точные пределы, в которых изменяется
значение dist (f, AE2n) для всех функций из класса Мэйорана-Мак-Фарланда. Вопрос о точных границах изменения величины dist(f, AE2n) для произвольных максимально-нелинейных функций f от 2n переменных требует дальнейшего изучения.
Литература
1. Логачёв, О.А. Булевы функции в теории кодирования и криптологии [Текст] / О.А. Логачёв, А.А. Сальников, В.В. Ященко. - М.: Изд-во МЦНМО, 2004.-470 с.
венство dist(/, АЕ2п) < 22п 1 - 3 • 2п 1 + 2 . С учетом доказанной нижней оценки в теореме 2 получаем, что для этой функции dist(/, АЕ2п) = 22п-1 - 3 • 2п-1 + 2. Лемма 6, а
INVESTIGATION OF A PARAMETER OF BOOLEAN FUNCTIONS CLOSED TO NONLINEARITY
V. B. Alekseev R. R. Omarov
e-mail:
Lomonosov Moscow State University, Moscow
e-mail:
Minimal distance (by Hamming) between Boolean function f and all affine Boolean functions is said to be nonlinearity of function f. This is one of the parameters characterizing quality of cryptographic systems using this function. We consider one set of Boolean functions having maximal nonlinearity, namely the Maiorana-McFarland set. We investigate how the distance between these functions and the set of approximating functions changes when we include in the set of approximating functions not only affine functions but also all functions having one nonlinear term in their Zhegalkin polynomial form. We show that new distance can be different for different functions from the Maiorana-McFarland set and it can vary between 22n-1 - 3 • 2n-1 + 2 and 22n-1 - 2 • 2n-1 and both bounds can be achieved.
Key words: Boolean function, cryptographic properties of Boolean functions, nonlinearity, Maiorana-McFarland set.