Файл: Коммуникаций федеральное государственное бюджетное образовательное учреждение высшего образования.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 10.01.2024

Просмотров: 27

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)





Факультет Инфокоммуникационных сетей и систем Кафедра Защищенныхсистемсвязи

Дисциплина Криптографические методы защиты информации

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №6

Изучение булевых функций и их свойств

(темаотчета)
Информационнаябезопасность(10.03.01)

(кодинаименованиенаправления/специальности)

Студент группы ИКБ-03:

Шанин П.С.

(Ф.И.О.) (подпись)
Д.т.н., проф. каф. ЗСС:

Яковлев В.А.

(Ф.И.О.) (подпись)

Цель работы: Получение практических навыков по изучению свойств БФ f(x1,x2,x3) и булевых функций, используемых в нелинейном преобразовании алгоритма «Кузнечик» стандарта ГОСТ 34.12-2015.
Используемое программное обеспечение: В работе используется электронный документ «Исследование БФ.xlsx», разработанный в Microsoft Excel – программа для работы с электронными таблицами.
Ход выполнения лабораторной работы:

Часть 1.

Булевой функцией (БФ) называется отображение {0,1}n  {0,1}, т. е. сопоставление вектору из n бит значение 0 или 1. Задать БФ от n переменных можно, указав значение функции на каждом из наборов значений переменных. Булева функция может быть задана таблицей истинности. В лабораторной работе булева функция задана согласно варианту студента в списке группы – 20 вариант.
Таблица 1 – Булева функция

Аргумент

Номер варианта

X3

X2

X1

20

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

0

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

0



Вторым этапом выполнения лабораторной работы является нахождение полинома Жегалкина. Любая булева функция может представляться в виде алгебраической нормальной формы – АНФ. Алгебраическую нормальную форму также называют полиномом Жегалкина: fn = y0·1 ⨁ y1·x1 ⨁ y2·x2…⨁y12·x1·x2…⨁y1..n·x1..xn.

Заданная БФ:



Построили матрицу An = [8*8] рекуррентным образом:

An =

Для нахождения коэффициентов уi, необходимо перемножить две матрицы An и f(x) и от каждого элемент полученной матрицы найти остаток от деления на 2:



После перемножения двух матриц получаем столбец коэффициентов y0, y1 … y123. Для более удобного восприятия, запишем столбец в транспонированном виде:

Таблица 2 – Коэффициенты

X1

X2

X3

y

Переменные

0

0

0

0

1

0

0

1

1

х3

0

1

0

0

х2

0

1

1

1

x2х3

1

0

0

1

х1

1

0

1

1

х1х3

1

1

0

0

х1х2

1

1

1

0

х1х2х3

Таким образом, АНФ булевой функции имеет вид:


В следующем этапе лабораторной работы необходимо определить вес БФ. Вес БФ - число единиц среди его элементов. Таким образов вес представленной БФ = 4.
Четвёртый этап – найти нелинейность исследуемой БФ. Термин «нелинейность» принят для оценки степени нелинейности

, использующей понятия веса и расстояния Хэмминга. Расстоянием Хэмминга это число, равное количеству позиций, в которых различаются соответствующие символы двух функций одинаковой длины т.е., это число позиций, на которых f(x) не равно g(x).

Нелинейность находится по формуле:

N(f) = 2n-1 -

Для количественной оценки нелинейности в первую очередь необходимо найти спектры Уолша-Адамара (ПУА). это преобразование ПУА от БФ. это ПУА для сопряженной булевой функции, которое представлено в виде:





где a это векторный параметр, принимающие все возможные комбинации 1 и 0.
Первое, что необходимо сделать для нахождения нелинейности БФ это найти скалярное произведение b= (а, х). Скалярное произведение в координатах ищется по формуле:

b = a1x1; a2x2;…;anxn.
Таблица 3 - Таблица векторов x и а.




x

a




x0

0

0

0

0

0

0

a0

x1

0

0

1

0

0

1

a1

x2

0

1

0

0

1

0

a2

x3

0

1

1

0

1

1

a3

x4

1

0

0

1

0

0

a4

x5

1

0

1

1

0

1

a5

x6

1

1

0

1

1

0

a6

x7

1

1

1

1

1

1

a7



Таблица 4 – Скалярное произведение векторов

xi, a0

xi, a1

xi, a2

xi, a3

xi, a4

xi, a5

xi, a6

xi, a7

0

0

0

0

0

0

0

0

0

1

0

1

0

1

0

1

0

0

1

1

0

0

1

1

0

1

1

0

0

1

1

0

0

0

0

0

1

1

1

1

0

1

0

1

1

0

1

0

0

0

1

1

1

1

0

0

0

1

1

0

1

0

0

1


Таблица 5 –

0

0

0

0

0

0

0

0

1

0

1

0

1

0

1

0

0

0

1

1

0

0

1

1

0

1

1

0

0

1

1

0

1

1

1

1

0

0

0

0

1

0

1

0

0

1

0

1

1

1

0

0

0

0

1

1

0

1

1

0

1

0

0

1




Таблица 6 – (-1) в степени

1

1

1

1

1

1

1

1

-1

1

-1

1

-1

1

-1

1

1

1

-1

-1

1

1

-1

-1

1

-1

-1

1

1

-1

-1

1

-1

-1

-1

-1

1

1

1

1

-1

1

-1

1

1

-1

1

-1

-1

-1

1

1

1

1

-1

-1

1

-1

-1

1

-1

1

1

-1


Таблица 7 – Сумма

0

0

-4

4

4

4

0

0


Получаем, что максимальный ПАУ по модулю равен 4: .

Таким образом нелинейность рассчитывается по формуле:



Существует граница значений нелинейности:


В следующем этапе лабораторной работы необходимо рассчитать коэффициент корреляции. Коэффициентом корреляции R(i,j) между двумя булевыми функциями называется величина:

R(i,j) = ∑ (fi*( ∙ fj*(x)),

где f*(x) - сопряженная функция к булевой функции.