Лаб_12
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
ФАКУЛЬТЕТ КИБЕРБЕЗОПАСНОСТИ (КБ)
КАФЕДРА ЗАЩИЩЕННЫХ СИСТЕМ СВЯЗИ (ЗСС)
______________________________________________________________________________
Отчет
по лабораторной работе №12
«Поля Галуа»
Выполнили: студенты группы ИБС-32
Проверил:
доцент кафедры ЗСС к.т.н Кушнир Д.В.
Теоретическая часть
Конечное поле или поле Галуа в общей алгебре — поле, состоящее из конечного числа элементов. Это число называется порядком поля.
Конечное поле обычно обозначается Fq или GF(q) (сокращение от англ. Galois field) и называется полем Галуа порядка q, где q — число элементов поля.
С точностью до изоморфизма конечное поле полностью определяется его порядком, который всегда является степенью какого-нибудь простого числа.
Понятие конечного поля используется в теории чисел, теории групп, алгебраической геометрии и криптографии.
Пример (из презентации):
Дано поле GF(2^3) и неприводимый многочлен f(x)=x3 + x + 1.
Входные данные в десятичном представлении: 2 и 5. Выполнить сложение.
Переводим в двоичный вид и представляем в виде полинома: 2=102 => 1∙x1+0∙x0 = x 5=1012 => 1∙x2+0∙x1+1∙x0= x2+1
Складываем: (x2+1)+(x)=x2+x+1 => 1112
При необходимости переводим в десятичное представление: 1112=7
Входные данные в десятичном представлении: 5 и 7. Выполнить умножение.
Переводим в двоичный вид и представляем в виде полинома: 7=1112=x2+x+1
Умножаем: (x2+1)∙(x2+x+1)= x4+x3+x2+x2+x+1=x4+x3+x+1 ,необходимо привести по модулю (см. лекцию):
(x4+x3+x1+1)%(x3+x+1) = x2+x1 => 1102
При необходимости переводим в десятичное представление: 1102=6
Практическая часть
Задание 1
Поле GF(2^4)
Вариант 3
Полином: x^4+x^3+x^2+x+1
Элементы для построения таблицы умножения: 8, 9, 10
Найти обратные для элементов: 8, 9, 10
Сложить элементы: 8 и 11
1.1 Таблица умножения:
Десятичное представление:
Пример вычислений:
8 = 1000 = x^3
9 = 1001 = x^3+1
10 = 1010 = x^3+x
Для x^2:
8 * 4 = 1000 * 0100 = x^3 * x^2 = (x^5)%(x^4+x^3+x^2+x+1) = 1
9 * 4 = 1001 * 0100 = (x^3+1) * (x^2) = (x^5+x^2)%( x^4+x^3+x^2+x+1) = x^2+1
1.2 Обратимся к таблице умножения, чтобы узнать обратный элемент для чисел 8, 9, 10
Обратный элемент a * а-1 = 1 mod f(x)
Для 8 => 4
Для 9 => 7
Для 10 => 3
1.3
8 = 1000
11 = 1011
а8 + а11 = а^3 + a^3+a+1 = a + 1 = 0010 + 0001 = 0011 = 3
Вариант 16
Полином: x^4+x^3+x^2+x+1
Элементы для построения таблицы умножения: 2, 4, 6
Найти обратные для элементов: 2, 4, 6
Сложить элементы: 7 и 11
1.1 Таблица умножения:
В
десятичном формате:
1.2 Из таблицы получаем, что обратные элементы
Для 2 => 14
Для 4 => 8
Для 6 => 5
1.3 Сложить 7 и 11
7 + 11 = 0111 + 1011 = 1100 = 10
Задание 2
Вариант 3
Полином: x^4+x+1
Обратные элементы:
Для 8 => (a^3) * (a^12) = 8 * 15 = 1
Для 9 => (a^14) * (a^1) = 9 * 2 = 1
Для 10 => (a^9) * (a^6) = 10 * 12 = 1
Вариант 16
Полином: x^4+x^3+1
Обратные элементы
2 => a^1 * a^14 = 2 * 12 = 1
4 = > a^2 * a^13 = 4 * 6 = 1
6 => a^13 * a^2 = 6 * 4= 1
