Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Булевы функции и их применение. Курс лекций

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

g =

 

x1

x2 ...

xn

,

xj1

a1

xj2 a2 ...xjn

an

где ( j1, j2,..., jn )

– перестановка чисел (1,2,..., n), (a1,a2,...,an ) Vn .

Преобразования заключаются в перестановке переменных и инвертировании некоторых из них, | Qn | = n!2n.

4. Группа GLn (2) линейных преобразований набора n переменных (полная линейная группа). Преобразования задаются невырожденной двоичной матрицей A размера n×n: g(x) = xA.

n1

Порядок группы GLn(2) равен (2n −2i ).

i=0

5.Группа AGLn (2) аффинных преобразований (полная аффинная

группа), являющаяся произведением групп GLn и Σn . Она состоит

из преобразований вида g(x) = xA b, где A = (aij) – обратимая матрица размера n ×n над полем из двух элементов, вектор

n1

b = (b1,b2,...,bn ) Vn . Порядок AGLn (2) равен 2n (2n −2i ).

i=0

Каждая из групп Sn , Σn , Qn , GLn (2) является подгруппой груп-

пы AGLn (2).

6.3. Свойства эквивалентных булевых функций

Утверждение 1. Пусть G – одна из групп Sn, Σn , Qn, GLn(2),

G

AGLn(2) и f h . Тогда:

1.|| f || = || h ||.

2.deg f = deg h.

Доказательство. Справедливость первого свойства следует из того, что при любом обратимом преобразовании g множества Vn вес функции f (g(x)) неизменен.

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

deg f (x) ≥ deg f (g(x)) ≥deg f (g1(g(x))) =deg f (x).

– 51 –

Что и требовалось доказать.

G

Утверждение 2. Пусть G – одна из групп Sn, Σn , Qn и f h. То-

гда функции f и h имеют одинаковое количество существенных переменных.

Доказательство. Достаточно заметить, что при любом преобразовании g множества Vn, g G, пара соседних векторов преобразуется в пару также соседних наборов. Что и требовалось доказать.

6.4. Классификация булевых функций

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

1. Сначала выбирается какой-либо способ перечисления всех функций из P2(n), т.е. генерируется последовательность {f1, f2, f3,…}. Способы построения этой последовательности могут быть разные, например: перебор функций, начиная с функций малого веса; перебор функций с различными графами связности вершин в n-мерном кубе и т.д. Как правило, сразу не удается обеспечить условия, чтобы все эти функции лежали в разных классах эквивалентности, поэтому выполняем следующий шаг.

2. Полагаем f (1) = f1 и подсчитываем | JG ( f (1) )|. Далее рассмат-

 

G

 

риваем f2

и проверяем, выполнено ли отношение f2 f (1).

Если вы-

полнено,

то переходим к f3. Если не выполнено, то

полагаем

f (2) = f2

и подсчитываем | JG ( f (2) )| и т.д.

 

Для очередной функции fi из исходной последовательности проверяем, эквивалентна ли она одной из отобранных ранее функций f (1),..., f (m) или нет. Если эквивалентна, то переходим к fi+1.

Если не эквивалентна, то полагаем f (m+1) = fi и вычисляем

|JG ( f (m+1) )|. После этого проверяем выполнимость равенства

52 –

m+1 |G |

 

2n

 

i=1

 

= 2

 

.

| JG ( f (i) )|

 

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

вершена, если построена последовательность f (1),..., f (m).

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

– 53 –

Лекция 7. Специальные свойства булевых функций и нелинейных отображений

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

Ключевые слова: автокорреляция; взаимная корреляция; автокорреляционная функция; совершенно некоррелированные функции; функции k-значной логики; криптографические отображения; нелинейность отображений; перемешивающий граф; совершенное отображение; строгий лавинный критерий; критерий распространения; бент-отображения; корреляционно-иммунные функции; устойчивые функции.

7.1. Автокорреляция и взаимная корреляция

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

Определение. Пусть

f, g P2(n). Целочисленная функция

f ,g (u) = (1)f (x) g (x u) ,

определенная на пространстве Vn, назы-

x Vn

 

вается функцией взаимной корреляции или взаимной корреляцией б.ф. f и g.

Очевидно, что при любом u Vn и любых f, g P2(n) имеет место равенство f ,g (u) = g , f (u).

– 54 –

Определение. Пусть

f P2(n). Целочисленная функция

f (u) = (1)f (x) f (x u ),

определенная на пространстве Vn, назы-

x Vn

 

вается автокорреляционной функцией или автокорреляцией б.ф. f.

Несложно увидеть, что автокорреляция f в точке u Vn совпадает с нулевым коэффициентом Адамара-Уолша.

Также легко заметить, что при любом u Vn и любых f P2(n) имеет место равенство f , f (u) = f (u).

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

Определение. Б.ф. f, g P2(n) называются совершенно некорре-

лированными, если при любом u Vn имеет место равенство f ,g (u) = 0.

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

Теорема. О взаимной корреляции.

Пусть f, g P2(n). Тогда

( f ,g (0),..., f ,g (2n 1))Hn = (Wf (0)Wg (0),...,Wf (2n 1)Wg (2n 1)),

где Hn – матрица Адамара, W – коэффициенты Адамара-Уолша.

Доказательство. Выполним следующие очевидные преобразования:

f ,g (u)(1)(x,y) = (1)f (x) g (x u) (1)(u,v) =

u Vn u Vn x Vn

= (1)f (x) (1)g (x u) (u,v).

x Vn u Vn

Воспользовавшись теперь заменой переменных z = x u, получаем

(1)f (x) (1)g (x u) (u,v) = (1)f (x) (1)g (z) (z x,v) = x Vn u Vn x Vn z Vn

= (1)f (x) (x,v) (1)g (z) (z,v) = Wf (v)Wg (v).

x Vn

z Vn

– 55 –

Что и требовалось доказать.

Следствие 1. Пусть f P2(n). Тогда ( f (0),..., f (2n 1))Hn = = (Wf2 (0),...,Wf2 (2n 1)).

Следствие 2. Пусть f, g P2(n). Тогда

2т( f ,g (0),..., f ,g (2n 1)) = (Wf (0)Wg (0),...,Wf (2n 1)Wg (2n 1))Hn .

Следствие 3. Теорема о свертке. Пусть h(x) = f (x) g(x), где f, g P2(n). Тогда

Wh (u) = 21n x Vn Wf (x)Wg (x u)

при любом u Vn.

7.2. Элементарные функции k-значной логики

Пусть U = {u1, u2,…, um,…} – исходный алфавит переменных, значения которых определены на множестве Ek = {0, 1,…, k–1}, k > 2.

Определение. Функцией k-значной логики от n переменных

называется отображение f : Ek(n) Ek , где переменные x1, x2,…, xn

взяты из алфавита U.

Через Pk обозначим множество всех функций k-значной логики и через Pk(n) – множество всех функций k-значной логики, зависящих от n переменных.

Из определения следует, что Pk (n) = kk n .

Определение. Табличное задание функции k-значной логики f (x1, x2,…, xn) Pk (n) имеет вид, приведенный в табл. 7.1.

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

– 56 –

 

 

 

 

Таблица 7.1

 

Табличное задание функции k-значной логики

 

 

 

 

 

x1

xn–1

xn

f (x1, x2,…, xn)

0

0

0

f (0,…, 0, 0)

0

0

1

f (0,…, 0, 1)

0

0

k–1

f (0,…, 0, k–1)

0

1

0

f (0,…, 1, 0)

k–1

k–1

k–1

f (k–1,…, k–1, k–1)

Определение. Переменная xi функции k-значной логики f (x1, x2,…, xn) называется несущественной или фиктивной, если на любых соседних по i-й координате векторах функция f (x1, x2,…, xn)

принимает одинаковые значения, i =1,n. В противном случае пе-

ременная xi функции k-значной логики f (x1, x2,…, xn) называется

существенной.

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

Определение. Функция f (x1, x2,…, xn) P называется формулой

над P. Если f0 (x1, x2,…, xm) P и f1, f2,…, fm – либо формулы над P, либо символы переменных, то выражение f0 (f1, f2,…, fm) также

называется формулой над P.

Определение. Класс M называется замкнутым классом функций k-значной логики, если [M] = M.

Определение. Система P = {f1, f2,…, fs,…} из Pk называется

(функционально) полной системой, если любая функция k-значной логики представима формулой над P.

Эквивалентное определение полноты системы функций k-знач- ной логики: система P полна, если [P] = Pk.

Перечислим важнейшие элементарные функции k-значной

логики:

константы 0, 1,…, k –1;

– 57 –

отрицание Поста: (x + 1) mod k x ;

отрицание Лукашевича: (k – 1) – x (mod k) x Nx;

характеристическая функция (1-го рода) числа i:

ji (x) = 1,

если x = i,

i =

 

 

;

 

 

0,k 1

0,

если x i,

 

 

 

 

 

 

 

характеристическая функция (2-го рода) числа i:

Ji (x) = k 1, если x = i,

i =

 

 

 

 

0,k 1;

0,

если x i,

 

 

 

 

 

 

 

транспозиция чисел i и j:

 

 

 

 

 

 

 

x,

если x {i, j},

 

 

 

 

 

 

tij (x) = j,

если x = i,

 

i, j =

 

i j ;

 

0,k 1,

i,

если x = j,

 

 

 

 

 

 

 

минимум x и y: min (x, y); максимум x и y: max (x, y);

сумма по mod k: (x + y) mod k;

произведение по mod k: (x y) mod k; разность по mod k:

(x y)modk =

k (y x), если 0x < y k 1,

 

если 0y x k 1;

 

x y,

усеченная разность x y:

0, если 0x

< y k 1,

x y =

если 0

y x k 1;

x y,

импликация x y:

 

k 1,

если 0

x < y k 1,

x y =

x + y,

если 0y x k 1;

(k 1)

функция Вебба: vk (x, y) = (max (x, y) + 1) mod k.

– 58 –

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

Функции min, max, сумма и произведение по модулю k обладают свойствами коммутативности (x y = y x) и ассоциативности (a (b c) = (a b) c). Верны законы дистрибутивности умножения относительно сложения:

(x + y) z = x z + y z;

дистрибутивности операции max относительно операции min и операции min относительно операции max:

max (min (x, y), z) = min (max (x, z), max (y, z)), min (max (x, y), z) = max (min (x, z), min (y, z)).

Любую функцию k-значной логики можно представить в виде 1-й и 2-й формы.

Определение. 1-я форма (аналог СДНФ б.ф.):

f (x1,...,xn ) =

max

{min( f 1,...,σn ),Jσ1 (x1),...,Jσn (xn ))}.

 

(σ1,...,σn ) Ek(n)

 

Определение. 2-я форма (аналог СКНФ б.ф.):

f (x1,...,xn ) =

 

f 1,...,σn ) jσ1 (x1) ... jσn (xn ).

(σ1,...,σn ) Ek(n)

Вдальнейшем будем использовать следующие обозначения:

στ = min(σ, τ), σ τ = max(σ, τ).

7.3.Важные классы функций k-значной логики

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

Определение. Функция f (x1, x2,…, xn) называется сбалансированной, если для любого r Ek:

{(x1,x2,...xn ) Ek(n) | f (x1,x2,...xn ) = r} = kn1.

Пример 1. Сбалансированные функции: (x + y) mod k и tij (x) .

– 59 –

Пример 2. Несбалансированные функции: max(x, y) и min(x, y). Сбалансированная функция из Pk (1) есть подстановка на мно-

жестве Ek.

Определение. Биективное преобразование ϕ множества X мощ-

ности n называется подстановкой на множестве X, а n степенью подстановки, если

 

x1

x2 ...

xn

 

x1

x2 ...

xn

 

ϕ =

ϕ(x )

ϕ(x

) ...

ϕ(x

 

=

x

...

x

,

 

)

x

 

 

1

2

 

n

 

i1

i2

 

in

 

где X = {x1, x2,…, xn} и (i1, i2,…, in) – перестановка чисел (1, 2,…, n).

Определение. Если в функции f (x1, x2,…, xn) значения некоторых переменных зафиксировать константами из Ek, то получим

подфункцию функции f (x1, x2,…, xn), соответствующую данной фиксации.

Определение. Функция f (x1, x2,…, xn) называется биективной по переменной xi, если все ее подфункции, соответствующие всевозможным фиксациям остальных переменных, реализуют подстанов-

ки множества Ek, i = 1,n.

Пример 1. Функция (x + y) mod k биективна по обеим переменным.

Пример 2. Функция (x y) mod k не биективна ни по x, ни по y.

Определение. Многочленом по модулю k от переменных x1, x2,…, xn называется выражение вида

Q (x1, x2,…, xn) = (a0 + a1 X1 +…+ am Xm) mod k,

где ai Ek, i = 0,m и выражение Xj, j = 1,m, называемое одночленом, есть произведение переменных из множества {x1, x2,…, xn}.

Определение. Степенью одночлена Xj называется сумма степеней всех переменных, перемножаемых в данном одночлене.

Обозначение: deg Xj.

Определение. Степенью многочлена Q называется максимальная из степеней его одночленов.

Обозначение: deg Q.

– 60 –

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]