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

Криптографические свойства булевых функций. Методические указания

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

Задание 1.28. Докажите теорему 1.4.

1.7 Понятие эквивалентных булевых функций

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

функций следующим образом.

Определение 1.18. Булевы функции f , g P2 (n) аффинно эквивалентны, если существуют невырожденная матрица А порядка n, векторы b,c Vn и константа

{0,1} такие, что

 

 

 

 

g(x) f (Ax

b)

c, x

.

(1.7)

Пример

1.8.

Выяснить,

являются

ли

функции

f x1x2

x3 P2 (3) и

g x2 x3 x2

x3 P2 (3) аффинно эквивалентными.

 

 

Решение.

 

 

 

 

 

 

 

 

 

a11

a12

a13

b1

c1

 

 

 

Пусть A

a21

a22

a23

, b b2 , c

c2 .

 

 

 

a31

a32

a33

b3

c3

 

 

 

21

a11

a12

a13

x1

b1

a11x1

a12 x2

a13x3

b1

Найдем Ax b a21

a22

a23

x2

b2

a21x1

a22 x2

a23x3

b2 .

a31

a32

a33

x3

b3

a31x1

a32 x2

a33x3

b3

Тогда

 

 

 

 

f ( Ax

b)

 

 

 

 

f (a11x1

a12 x2

a13x3

b1,a21x1

a22x2

a23x3

b2 ,a31x1

a32x2

a33x3

b3 )

(a11x1

a12 x2

a13x3

b1)(a21x1

a22x2

a23x3

b2 ) a31x1

a32x2

a33x3

b3.

Найдем c, x

c1x1

c2x2 c3x3 .

 

 

 

 

Неизвестные значения элементов матрицы А и векторов b и с найдем из

соотношения

 

 

 

 

 

 

 

f ( Ax b)

c, x

(a11x1

a12x2

a13x3

b1)(a21x1

a22x2 a23x3 b2 )

 

a31x1

a32 x2

a33x3

b3 c1x1

c2x2

c3x3

 

 

 

x2 x3

x2

x3

g(x).

 

Приравнивая коэффициенты при одинаковых степенях, получим систему над

F2 :

a11a22

a12a21

0,

 

 

a11a23

a13a21

0,

 

 

a12a23

a13a22

1,

 

 

a11a21

a11b2

a21b1

c1

0,

a12a22

a12b2

a22b1

c2

1,

a13a23

a13b2

a23b1

c3

1,

b1b2

0.

 

 

 

Решением системы является набор:

a11 0, a12 1, a13

1, a21

0, a22

1, a23

0, a31

1, a32 0, a33 1,

b1 1,b2

0,b3

1,c1

0,c2

1,c3 1,

1.

22

 

 

 

 

0

1

1

 

Таким образом, существует невырожденная матрица A 0

1

0

, векторы

 

 

 

 

1

0

1

 

1

 

0

 

 

 

 

 

b 0

, c

1

и

1 такие, что

 

 

 

1

 

1

 

 

 

 

 

f ( Ax b)

c, x

 

f (x2 x3

1, x2 , x1

x3

1)

x2

x3

1

 

 

(x2

x3

1)x2

x1

x3

1 x2

x3

1 x2

x2 x3

x2

x1 x2

 

 

x2 x3

x1

x2

g(x).

 

 

 

 

 

 

 

 

 

 

То

есть

f

x1x2

x3

P2 (3)

и

g

x2 x3

x2

x3

P2 (3)

аффинно

эквивалентные.

 

 

 

 

 

 

 

 

 

 

 

 

 

Задание

1.29.

 

Являются

ли

 

функции

f

x1x2

P2 (2)

и

g x1x2 x1 x2

P2 (2) аффинно эквивалентными?

 

 

 

 

 

 

1.8 Понятие булевых отображений

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

Определение 1.19. Булевым отображением называется отображение пространства Vn в пространство Vm : F :Vn Vm .

Отображение F может быть записано в виде

y1 f1(x1,..., xn ) ,

…………………

ym fm (x1,..., xn ) ,

где fi (i=1,2,…,m) – координатные булевы функции, задающие отображение F. То есть булево отображение можно представить в координатном виде как систему

23

булевых функций F ( f1, f2 ,..., fm ) . Функции f1, f2 ,..., fm иногда называют образующими булевыми функциями F.

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

которые мы рассмотрим далее.

24

2 Криптографические свойства булевых функций

Криптографическими (дискретными) функциями называются системы булевых функций, используемых для преобразования информации в некотором шифре [13].

Фундаментальные принципы построения криптографических функций были описаны в работах Шеннона [29]. Идея первого принципа, называемого «diffusion»

(рассеивание), заключается в распространении влияния одного знака (бита)

открытого текста на много знаков шифртекста, что позволяет скрыть статистические свойства открытого текста. Второй принцип, называемый «confusion»

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

В соответствии с принципами построения криптографических функций осуществляется математическое описание их криптографических свойств,

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

-высокую алгебраическую степень;

-нелинейность;

-уравновешенность;

-устойчивость;

-корреляционную и алгебраическую иммунность;

-выполнимость критериев распространения.

25

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

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

2.1 Высокая алгебраическая степень

Калгебраической степени криптографических булевых функций

предъявляется требование, заключающееся в том, что параметр deg f должен быть большим.

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

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

2.2 Нелинейность

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

понятие нелинейности рассматривается в широком и узком смыслах. Нелинейность как широкое понятие предполагает целый ряд свойств и параметров

26

криптографических функций. Эти характеристики предполагают отсутствие у функции свойств, близких к линейным, то есть нелинейность понимается как отрицание линейности. Линейность объекта, процесса (или их близость к линейным)

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

В узком смысле нелинейность понимается как удаленность данной булевой

функции от множества аффинных функций.

 

 

 

 

 

 

 

 

Определение

2.1.

Расстояние

между

булевой

функцией f P2 (n) и

множеством аффинных функций A2 (n) называется нелинейностью функции

f и

обозначается N f , то есть

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N f

 

dist( f , A2 (n)) .

 

 

 

 

 

(2.1)

Пример 2.1. Найти нелинейность функции

f (x1, x2 )

x1x2

P2 (2) .

 

 

 

Решение.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

По определению N f

dist( f , A2 (2))

min dist( f , g) .

 

 

 

 

 

 

 

 

 

 

 

 

g A2 (2)

 

 

 

 

 

 

 

АНФ аффинной функции от

двух

переменных в

общем виде имеет

вид

g(x1, x2 ) a1x1

a2 x2

a0 , где a0 , a1, a2

F2 . Множество аффинных функций состоит

из шести элементов A2 (2)

{g0

0, g1

1, g2

x1, g3

x2 , g4

x1

x2 , g5

x1

x2

1}.

Найдем

расстояние

от

функции

f (x1, x2 )

x1x2

до каждой

из

функций

множества A2 (2) :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- dist( f , g0 )

| f

(0,0,0,1), g0

(0,0,0,0) | 1;

 

 

 

 

 

 

- dist( f , g1)

| f

(0,0,0,1), g1

(1,1,1,1) |

3 ;

 

 

 

 

 

 

 

- dist( f , g2 )

| f

(0,0,0,1), g2

(0,0,1,1) |

1;

 

 

 

 

 

 

 

- dist( f , g3 )

| f

(0,0,0,1), g3

(0,1,0,1) |

1;

 

 

 

 

 

 

 

- dist( f , g4 )

| f

(0,0,0,1), g4

(0,1,1,0) |

3 ;

 

 

 

 

 

 

 

- dist( f , g5 )

| f

(0,0,0,1), g5

(1,0,0,1) |

1

 

 

 

 

 

 

 

27

Из всех

найденных значений минимальное равно 1, то есть

N f dist( f , A2 (2))

min dist( f , g) 1.

 

g A2 (2)

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

 

 

2n 1

1

 

 

 

 

N f

max

Wf (u)

.

(2.2)

 

 

 

 

 

 

2 u Vn

 

 

 

 

Задание 2.1. Используя соотношение (2.2) найти нелинейность функции

примера 2.1.

 

 

 

 

 

 

 

 

Задание 2.2. Найти нелинейность

функций а)

из

заданий 1.9 и

1.10; б)

f x1x2

x1x3 P2 (3) .

 

 

 

 

 

 

 

 

Задание 2.3. Докажите, что для нелинейности

N f

произвольной

булевой

функции

f справедлива верхняя оценка

 

 

 

 

 

 

 

 

 

N

f

2n 1

2n 2 1 .

 

 

 

(2.3)

 

 

 

 

 

 

 

 

 

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

Определение 2.2. Функция называется максимально-нелинейной функцией,

если ее нелинейность N f достигает максимально возможного для функций из P2 (n)

значения.

Используя соотношение (2.2), можно показать, что функция f

P2 (n) является

максимально-нелинейной тогда и только тогда, когда

 

 

 

 

 

 

 

 

.

(2.4)

max

Wf ( )

 

min max

W (

)

Vn

 

 

 

P2 (n) Vn

 

 

 

 

Задание 2.4. Является ли функция

f (x1, x2 ) x1x2

 

P2 (2)

максимально-

нелинейной?

 

 

 

 

 

 

 

Определение 2.3. Функция f

P2 (n) называется бент-функцией, если все ее

коэффициенты Уолша-Адамара равны

2n 2 .

 

 

 

 

 

 

 

28

 

 

 

 

 

 

Обозначение множества всех бент-функций: B2 (n) .

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

Пример 2.2. Является ли бент-функцией функция f (x1, x2 ) x1x2 1 P2 (2) ?

Решение.

Найдем коэффициенты Уолша-Адамара.

Преобразование Уолша-Адамара для заданной функции имеет вид

Wf (u) ( 1) f ( x) x,u . x V2

Вектор значений функции f (x) имеет вид f=(1,1,1,0).

Раскроем знак суммы. Для этого найдем вид слагаемого для каждого x V2

(таблица 6).

Таблица 6 – Поиск слагаемых преобразования Уолша-Адамара примера 2.2

x (x1, x2 )

f (x)

x,u

( 1) f ( x)

x,u

(0,0)

1

0

(

1)1

1

 

 

 

 

 

 

(0,1)

1

u2

(

1)

 

 

 

 

 

1

u2

 

 

 

 

 

 

(1,0)

1

u1

(

1)

 

 

 

 

 

1

u1

 

 

 

 

 

 

(1,1)

0

u1 u2

(

1)u1

u2

Преобразование Уолша-Адамара запишем в виде суммы:

W

f

(u) 1 ( 1)1 u1

( 1)1 u2

( 1)u1 u2 .

 

 

 

 

Находим коэффициенты Уолша-Адамара:

Wf

(0,0)

1

(

1)1

(

1)1

(

1)0

2 ;

Wf

(0,1)

1

(

1)1

(

1)0

(

1)1

2 ;

Wf

(1,0)

1

(

1)0

(

1)1

(

1)1

2 ;

 

 

 

 

 

 

 

 

 

29

W

f

(1,1)

1 ( 1)0 ( 1)0 ( 1)0 2 .

 

 

 

 

 

 

 

 

Все

коэффициенты Уолша-Адамара функции

равны 2n 2

2 , то есть

f (x1, x2 )

 

x1x2

1 является бент-функцией.

 

 

Задание 2.5. Является ли функция f (x1, x2 ) x1x2

P2 (2) бент-функцией?

Задание 2.6. Можно ли найти бент-функцию от трех переменных? Существует ли максимально-нелинейная функция от трех переменных?

Задание 2.7. Подберите бент-функцию, зависящую от четырех аргументов.

Является ли эта функция максимально-нелинейной?

2.3 Уравновешенность

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

значениями функции.

 

 

 

Определение 2.4. Функция

f P2 (n)

называется уравновешенной, если

wt( f )

2n 1 .

 

 

 

 

Иногда уравновешенную булеву функцию называют сбалансированной.

Пример

2.3.

Выяснить,

является

ли уравновешенной функция

f (x1, x2 , x3 ) x1x2

x1x3

x2 x3 .

 

 

Решение.

 

 

 

 

Найдем вектор значений функции: (0,0,0,1,0,1,1,1). Вес булевой функции

wt( f )

4 23 1 . Функция является уравновешенной.

Заметим, что вектор значений уравновешенной функции содержит одинаковое количество нулей и единиц.

30

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