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

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

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

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ЯДЕРНЫЙ УНИВЕРСИТЕТ «МИФИ»

А.В. Епишкина

Булевы функции и их применение

Курс лекций

Москва 2020

1

УДК 510.6 ББК 22.1 Е 67

Епишкина А.В. Булевы функции и их применение: курс лекций [Электронный ресурс]. М.: НИЯУ МИФИ, 2020. – 72 с.

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

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

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

Подготовлено в рамках Проекта по созданию и развитию Международного научно-методического центра НИЯУ МИФИ.

Рецензент д-р техн. наук, проф. Г.И. Борзунов

Рекомендовано к изданию кафедрой № 42 «Криптология и кибербезопасность» НИЯУ МИФИ

ISBN 978-5-7262-2679-8

© Национальный исследовательский

 

ядерный университет «МИФИ», 2020

 

© А.В. Епишкина, 2020

2

 

СОДЕРЖАНИЕ

 

СПИСОК ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ..................................................

5

ВВЕДЕНИЕ ........................................................................................................

6

Лекция 1.

Элементарные булевы функции и способы их задания...............

7

1.1. Элементарные булевы функции.....................................................

7

1.2. Табличное задание булевых функций............................................

9

1.3. Геометрическое и графическое задание булевых функций.......

10

1.4. Реализация булевых функций формулами..................................

11

Лекция 2. Нормальные формы булевых функций........................................

14

2.1. Дизъюнктивная нормальная форма булевой функции...............

14

2.2. Конъюнктивная нормальная форма булевой функции...............

17

2.3. Многочлен Жегалкина и действительный многочлен .................

19

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

22

3.1. Скалярное произведение в поле GF(2) и его свойства...............

22

3.2. Разложение булевой функции в ряд Фурье.................................

23

3.3. Преобразование Адамара-Уолша.................................................

25

Лекция 4. Полнота и замкнутость систем булевых функций.......................

27

4.1. Замыкание множества булевых функций, замкнутые классы,

 

 

полные системы булевых функций..............................................

27

4.2. Важнейшие замкнутые классы булевых функций.......................

30

4.3. Критерий полноты системы булевых функций............................

33

Лекция 5. Минимизация булевых функций....................................................

38

5.1. Постановка задачи минимизации булевых функций...................

38

5.2. Геометрическая интерпретация минимизации ДНФ ...................

40

5.3. Метод Квайна – Мак-Класки нахождения

 

 

сокращенной ДНФ булевой функции ...........................................

43

5.4. Метод Петрика нахождения тупиковых ДНФ ...............................

45

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

48

6.1. Эквивалентность булевых функций

 

 

относительно группы преобразований.........................................

48

3

6.2. Основные группы преобразований, используемые

 

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

50

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

51

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

52

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

 

и нелинейных отображений..........................................................

54

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

54

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

56

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

59

7.4. Распознавание полноты и критерии полноты в Pk......................

62

7.5. Особенности k-значных логик.......................................................

64

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

65

Список литературы.........................................................................................

70

4

СПИСОК ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ

— сложение по модулю 2

x— отрицание переменной x

— дизъюнкция

— конъюнкция

— импликация

/ — штрих Шеффера

— стрелка Пирса

i =

 

 

— число i «пробегает» значения от 1 до n

1,n

E2

— множество из двух элементов E2 = {0, 1}

Vn

— множество двоичных n-мерных векторов

P2

— система всех булевых функций

P2(n)

— множество всех булевых функций от n переменных

Т0

— класс булевых функций, сохраняющих константу 0

Т1

— класс булевых функций, сохраняющих константу 1

S

— класс самодвойственных булевых функций

M

— класс монотонных булевых функций

L

— класс линейных булевых функций

A

— класс аффинных булевых функций

GF(2)

— поле из двух элементов {0, 1}

Б.ф.

— булева функция

ДНФ

— дизъюнктивная нормальная форма

КНФ

— конъюнктивная нормальная форма

МДНФ

— минимальная дизъюнктивная нормальная форма

СДНФ

— совершенная дизъюнктивная нормальная форма

СКНФ

— совершенная конъюнктивная нормальная форма

СЛК

— строгий лавинный критерий

ТДНФ

— тупиковая дизъюнктивная нормальная форма

5

ВВЕДЕНИЕ

Понятие булевой функции сформировалось во второй половине XIX в. в связи с исследованиями по математической логике и основаниями математики. Свое название булевы функции получили в честь Джорджа Буля (1815–1864), английского математика, одного из основоположников математической логики. В первой половине XX в. булевы функции приобрели фундаментальное значение для оснований математики. Вместе с тем длительное время булевы функции оставались невостребованными в прикладных областях.

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

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

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

6

Лекция 1. Элементарные булевы функции и способы их задания

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

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

1.1. Элементарные булевы функции

Определение. Функциями алгебры логики или булевыми функци-

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

множестве E2 = {0, 1}, i =1,n , и такие что f (x1, x2,…, xn) E2. Т.е.

f : Vn E2, где Vn = {(α1, α2,…, αn) | αi E2, i =1,n }.

Для задания б.ф. достаточно указать, какое значение функции соответствует каждому набору переменных, т.е. задать последний столбец таблицы, имеющей 2n строк и n+1 столбец (табл. 1.1).

Данная таблица называется таблицей истинности.

Наборы значений переменных располагаются, как правило, в лексикографическом порядке, т.е. для любого двоичного набора α = (α1, α2,…, αn) Vn определяется его номер:

N(α) = α12n–1 + α22n–2 +…+ αn–121 + αn20.

Число различных наборов в таблице равно 2n. Обозначим через P2 систему всех б.ф., через P2(n) – системы всех б.ф. от n переменных. Из таблицы видно, что число различных столбцов значений

функции равно 22n . Отсюда следует, что |P2(n)| =22n .

7

Таблица 1.1 Табличное задание булевой функции от n переменных

x1

x2

xn–1

xn

f (x1, x2,…, xn)

0

0

0

0

f (0, 0,…, 0, 0)

0

0

0

1

f (0, 0,…, 0, 1)

0

0

1

0

f (0, 0,…, 1, 0)

0

0

1

1

f (0, 0,…, 1, 1)

1

1

1

1

f (1, 1,…, 1, 1)

Определение. Векторы α, β Vn называются соседними по i-й

координате, если их i-е координаты различны, а все остальные координаты совпадают, i = 1,n.

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

ординате векторах функция f (x1, x2,…, xn) принимает одинаковые

значения, i =

1,n

. В противном случае

переменная

xi

б.ф.

f (x1, x2,…, xn) называется существенной, т.е. α1, α2,…,

αi–1,

αi+1,…, αn | f (α1, α2,…, αi–1, 0, αi+1,…, αn)

f (α1, α2,…,

αi–1, 1,

αi+1,…, αn).

 

 

 

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

менной xi, i = 1,n..

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

Заметим, что в P2 существуют две б.ф., не имеющие существенных переменных: функции-константы 0 и 1.

– 8 –

Перечислим важнейшие элементарные б.ф.: f1(x) = 0 – константа 0;

f2(x) = 1 – константа 1;

f3(x) = x тождественная функция; f4(x) = x отрицание x;

f5(x1, x2) = x1 x2 = x1 x2 конъюнкция x1 и x2; f6(x1, x2) = x1 x2 дизъюнкция x1 и x2;

f7(x1, x2) = x1 x2 импликация x1 и x2; f8(x1, x2) = x1 x2 сложение x1 и x2 по mod 2; f9(x1, x2) = x1/x2 = x1|x2 штрих Шеффера; f10(x1, x2) = x1 x2 стрелка Пирса.

Табличные задания этих функций имеют вид, приведенный в табл. 1.2 и 1.3.

 

 

 

 

 

Таблица 1.2

 

Элементарные булевы функции от одной переменной

 

 

 

 

 

 

x

 

f1(x)

f2(x)

f3(x)

f4(x)

0

 

0

1

0

1

1

 

0

1

1

0

Таблица 1.3 Элементарные булевы функции от двух переменных

(x1, x2) f5(x1, x2) f6(x1, x2) f7(x1, x2) f8(x1, x2) f9(x1, x2) f10(x1, x2)

00

0

0

1

0

1

1

01

0

1

1

1

1

0

10

0

1

0

1

1

0

11

1

1

1

0

0

0

1.2. Табличное задание булевых функций

Определение. Множество If наборов значений переменных, на которых б.ф. f принимает значение 1, называется множеством ис-

тинности б.ф. f.

– 9 –

Определение. Порядок множества If называется весом б.ф. f.

Обозначение: ||f (x1, x2,…, xn)|| или ||f ||.

 

 

Заметим, что 0 ||f (x1, x2,…, xn)|| =

 

f (α1,α2,...,αn ) 2n.

 

(α1,α2 ,...,αn ) Vn

 

Приведем формулы для вычисления веса б.ф.:

f = 2n f ,

||f g|| = ||f|| + ||g|| – ||f g||, ||f g|| = ||f|| + ||g|| – 2 ||f g||.

Определение. Если ||f (x1, x2,…, xn)|| = 2n–1, то б.ф. f (x1, x2,…, xn)

называется равновероятной или сбалансированной.

1.3. Геометрическое и графическое задание булевых функций

Определение. Геометрическое задание б.ф. f (x1, x2,…, xn) – это изображение n-мерного единичного куба со множеством вершин Vn, в котором выделены вершины множества If.

Пример. Геометрическое задание б.ф. f (x1, x2, x3) = x1 x2x3 . Построим табличное задание данной б.ф. (табл. 1.4).

 

 

 

 

 

Таблица 1.4

 

Табличное задание б.ф. f (x1, x2, x3) =

x1 x2x3

 

 

 

 

 

 

x1

 

x2

x3

 

f (x1, x2, x3)

0

 

0

0

 

0

0

 

0

1

 

0

0

 

1

0

 

1

0

 

1

1

 

0

1

 

0

0

 

1

1

 

0

1

 

1

1

 

1

0

 

1

1

 

1

1

 

1

– 10 –

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