Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория чисел (расчётка).doc
Скачиваний:
92
Добавлен:
16.12.2018
Размер:
870.91 Кб
Скачать
    1. Свойства многочленов в двоичном поле gf(2)

  1. Ненулевые элементы поля GF(2n) являются корнями

n

обобщенного многочлена X 2 – 1 + 1.

  1. Каждый многочлен р (Х) степени n, неприводимый над полем

n

Галуа GF(2) является делителем двучлена X 2 – 1 + 1, и каждый

n

делитель двучлена X 2 – 1 + 1, неприводимый над полем GF(2), имеет степень, равную n и менее.

  1. Все элементы поля GF(2 n) можно получить как совокупность остатков от деления 100…00 на неприводимый многочлен р (Х),

n

входящий в разложение двучлена (X 2 – 1 + 1). Эти остатки –

n

корни двучлена (X 2 – 1 + 1), т.е. обращают его в нуль. Число остатков равно (2 n – 1).

  1. В поле GF(2 n) существует примитивный элемент , такой, что каждый ненулевой элемент поля GF(2 n) может быть представлен как некоторая степень , т.е. мультипликативная группа GF(2 n) является циклической.

Пример. Определение элементов i поля GF(2 4).

Согласно свойству 1 ненулевые элементы поля GF(2 4) являются

4

корнями обобщенного двучлена (X 2 – 1 + 1) = (Х 15 + 1). Двучлен (Х 15 + 1) можно представить в виде произведения неприводимых многочленов – сомножителей:

15 + 1) = Р (Х 1) • Р (Х 2) • Р14) • Р24) • Р34),

где:

Р (Х 1) = Х + 1,

Р (Х 2) = Х 2 + Х + 1,

Р14) = Х 4 + Х + 1,

Р24) = Х 4 + Х 3 + 1,

Р34) = Х 4 + Х 3 + Х 2 + Х + 1.

В соответствии со свойством 3 вычислим элементы i поля GF(2 4) как совокупность остатков от деления 100…00 на неприводимый многочлен Р14) = Х 4 + Х + 1.

Процедура определения остатков.

Делят на Р14) = Х 4 + Х + 1  10011 единицу с возрастающим числом нулей, т.е. делят одночлены Х j, где j = 0, 1, 2, 3, …, на многочлен Х 4 + Х + 1. Степени одночленов Х 0, Х 1, Х 2, Х 3 меньше степени многочлена Р14), поэтому первые четыре остатка от деления на Р14) равны делимым, т.е. одночленам Х 0, Х 1, Х 2, Х 3.

Для одночлена Х 4  10000 получаем остаток:

10000

10011

10011

0011

 Х 4

Для одночлена Х 5 100000 получаем остаток:

100000

10011

10011

00110

 Х 5

Таким образом, схема вычисления остатков:

1000000000000000

10011

10011

0011000

 Х 4

10011

10110

 Х 7

10011

010100

 Х 8

10011

011100

 Х 10

10011

11110

 Х 12

10011

11010

 Х 13

10011

10010

 Х 14

10011

0001

 Х 15 = Х 0

Результаты занесем в таблицу 1.9.1.

Таблица 1.9.1 – Вычисленные остатки и нулевые элементы 0 - 14 поля Галуа GF(2 4)

Х j

Остаток

i

Х 0

0001

0

Х 1

0010

1

Х 2

0100

2

Х 3

1000

3

Х 4

0011

4

Х 5

0110

5

Х 6

1100

6

Х 7

1011

7

Х 8

0101

8

Х 9

1010

9

Х 10

0111

10

Х 11

1110

11

Х 12

1111

12

Х 13

1101

13

Х 14

1001

14

Поле Галуа GF(24) построено как поле многочленов с коэффициентами 0 и 1 по модулю неприводимого многочлена

Р14) = Х 4 + Х + 1  10011.

В поле Галуа GF(2 n) определены четыре алгебраические операции.

Операции сложения и вычитания выполняются как операции поразрядного сложения по модулю 2.

Операция умножения элементов поля выполняется как умножение соответствующих многочленов с приведением по модулю неприводимого многочлена Р (Х), т.е. многочлена, по модулю которого построены элементы поля GF(2 n).

Пример. 5 = 0110, 6 = 1100, 5 + 6 = 1010, так как

0110

1100

1010

Пример. 14 = 1001, 14 • 14 = 13 по mod P1 (X4)  10011.

1001

1001

 1001

1001

1000001

1000001

10011

10011

1101

 13

Чтобы выполнить деление элемента b на элемент а в поле GF(2 n) по модулю Р(Х), сначала находят обратный элемент а – 1 (mod P (X)), а затем вычисляют

b • a – 1 (mod P (X)).

Каждый двоичный вектор длиной n, исключая 0, является взаимно простым с неприводимым многочленом Р (Х) независимо от значения

Р (Х). Поэтому число вычетов, взаимно простых с Р (Х), равно

 (Р(Х)) = 2 n – 1 (расширение фугкции Эйлера для многочленов). Поэтому

n

a – 1 = a (Р(Х)) – 1 mod P (X) = a 2 – 2 mod P (X).

Пример. Пусть а = 100 и Р (Х) = 1011 в поле Галуа GF(2 3).

3

a – 1 = 100 2 – 2 (mod 1011) = 100 6 (mod 1011) = 100 2 •100 4 (mod 1011).

100 2 (mod 1011) = 10000  10110 = 110

или

10000

1011

1011

110

100 4 (mod 1011) = 110 2 (mod 1011) = 010

или

110

110

 000

110

100

10100

10100

1011

1011

010

100 2 •100 4 (mod 1011) = 110 • 010 (mod 1011) = 1100 (mod 1011) = 111

или

1100

1011

1011

111

Итак, а – 1 = 111.

Проверка: а = 100, а – 1 = 111, Р (Х) = 1011, а • а – 1 = 110 • 100 = 11100.

11100

1011

1011

1010

1011

001

т.е. а • а – 1(mod 1011) = 1.