Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Введение в криптологию. В 4 частях. Ч.1. Учебное пособие.pdf
X
- •ВВЕДЕНИЕ
- •1. АРИФМЕТИКА ОСТАТКОВ, ГРУППЫ, КОНЕЧНЫЕ ПОЛЯ
- •1.1. АРИФМЕТИКА ОСТАТКОВ
- •1.1.1. МОДУЛЬ. ОПЕРАТОР МОДУЛЯ
- •1.1.2. ГРУППЫ И КОЛЬЦА
- •1.1.3. РЕШЕНИЕ УРАВНЕНИЙ ВИДА a ∙ x = b (mod N)
- •1.1.4. ФУНКЦИЯ ЭЙЛЕРА
- •1.1.5. МУЛЬТИПЛИКАТИВНЫЕ ОБРАТНЫЕ ПО МОДУЛЮ N
- •1.2.1. БОЛЕЕ ОБЩИЙ ТИП КОНЕЧНЫХ ПОЛЕЙ
- •1.2.2. РЕШЕНИЕ УРАВНЕНИЙ ВИДА a ∙ = b (mod f (x))
- •1.2.3. НЕПРИВОДИМЫЕ МНОГОЧЛЕНЫ
- •1.2. КОНЕЧНЫЕ ПОЛЯ
- •1.2.4. ИЗОМОРФИЗМ КОНЕЧНЫХ ПОЛЕЙ
- •1.2.6. ПРИМИТИВНЫЙ ЭЛЕМЕНТ КОНЕЧНОГО ПОЛЯ
- •1.3. ОСНОВНЫЕ АЛГОРИТМЫ
- •1.3.1. НАИБОЛЬШИЙ ОБЩИЙ ДЕЛИТЕЛЬ
- •1.3.2. РЕШЕТО ЭРАТОСФЕНА
- •1.3.3. АЛГОРИТМ ЕВКЛИДА ДЛЯ ЦЕЛЫХ ЧИСЕЛ
- •1.3.4. ДВОИЧНЫЙ АЛГОРИТМ ЕВКЛИДА
- •1.3.5. РАСШИРЕННЫЙ АЛГОРИТМ ЕВКЛИДА
- •1.3.6. КИТАЙСКАЯ ТЕОРЕМА ОБ ОСТАТКАХ
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ЛИТЕРАТУРЫ

41
Пусть во втором примере α = x и =
xx
2
(см. табл. 1.41). Тогда:
φ (α + ) = φ (x +
xx
2
) = φ (
2
x
) =
23
xx
,
φ (α) + φ () = φ (x) + φ (
xx
2
) =
12 xx
+
13 xx
=
23
xx
,
φ (α ∙ ) = φ ((x) ∙ (
xx
2
)) = φ ((
23
xx
) mod (
14 xx
)) = φ (
23
xx
) =
1x
,
φ (α) ∙ φ () = φ (x) ∙ φ (
xx
2
) = (
12 xx
) ∙ (
13 xx
) =
= (
145 xx
) mod (
134 xx
) =
1x
.
Таблица 1.41
α, β,
α + β, α ∙
Поле F1
Поле F2
φ (α), φ (),
φ (α + β), φ (α) + φ (),
φ (α ∙ ), φ (α) ∙ φ ()
0 0 1 1
α
x
12 xx
φ (α)
α + β
2
x
23
xx
φ (α + β), φ (α) + φ ()
3
x
123 xxx
1x
xx
2
β
xx
2
13 xx
φ ()
α ∙
23
xx
1x
φ (α ∙ ), φ (α) ∙ φ ()
13 xx 13x
12x
123 xx
xx
3 3
x
12 xx xx
3
xxx
23 2
x
123 xxx 12x
123 xx
x
13x
xxx
23

42
Приведённые выше конструкции по существу одинаковы и дают единственный
способ построения конечных полей. Следовательно, все конечные поля фактически совпадают либо с целыми числами по простому модулю, либо с многочленами по модулю
неприводимого многочлена (который тоже можно называть простым). Конечно, имеет
место и равенство Fp = Fp[x] / (x), поскольку при делении на x любого многочлена с коэффициентами из поля вычетов Fp в остатке остаётся число из Fp. Например, при делении
на x многочлена x2 + 4 ∙ x + 3 с коэффициентами из поля вычетов F5 в остатке остаётся
число 3 из множества F5:
x2 + 4 ∙ x + 3
x x2 x + 4
4 ∙ x + 3
4 ∙ x
3
Таким образом, приходим к фундаментальной теореме.
Теорема 1.3. Существует единственное (с точностью до изоморфизма) конечное
поле с числом элементов, равным степени простого числа.
1.2.5. ХАРАКТЕРИСТИКА ПОЛЯ
Поле Галуа – поле, состоящие из конечного числа элементов. Конечное поле
из q = pd элементов называют полем Галуа порядка q и обозначают символом Fq или GF
(q) (сокращение от Galois field). Любое конечное поле K содержит в себе экземпляр поля
целых чисел по некоторому простому модулю p. Это поле называют простым подполем
поля K. Число p элементов простого подполя называется характеристикой поля и обозначается через char K. В частности, char Fp = p.
Пусть, например, поле Галуа состоит из
823dpq
элементов.
Вспомним представления элементов двух полей
)2(
3
GF
, определяемых неприво-
димыми многочленами f1 (x) =
13 xx
и f2 (x) =
123 xx
(см. табл. 1.31).
Каждое из этих конечных полей содержит в себе экземпляр
}1,0{
поля целых чисел
по простому модулю
2p
. Это поле
}1,0{
является простым подполем каждого поля
)2(
3
GF
характеристики 2.
На конечном поле характеристики p можно определить так называемое отображе-
ние Фробениуса:

43
)()(,:
p
qq
aa ФFFФ
. (1.44)
Легко проверить, что отображение Фробениуса является изоморфизмом поля Fq
с самим собой. Для проверки изоморфизма поля
)2(
3
GF
, определяемого неприводимым
многочленом f (x) =
13 xx
, с самим собой построим табл. 1.42.
Таблица 1.42
Многочлен по модулю
f (x) =
13 xx
Степень
xg
Многочлен по модулю
f (x) =
13 xx
Степень
2
xg
0 0 0
0
1
0
x
1
0
x
x
1
x
2
x
2
x
2
x
2
x xx
2 4
x
1x
3
x 12x
6
x
xx
2 4
x
x
18
xx
12 xx
5
x
1x
310
xx 12x
6
x
12 xx
512
xx
Представим поля
)2(
3
GF
= F2[x] / (
13 xx
) и
)2(
3
GF
= F2[x] / (
13 xx
), эле-
менты которых сгенерированы с помощью примитивных элементов x и
2
x
соответствен-
но, табл. 1.43.
Таблица 1.43
Конечное поле
)2(
3
GF
Конечное поле
)2(
3
GF
0 0 1
1
x
2
x
2
x
xx
2
1x
12x
xx
2
x
12 xx
1x
12x
12 xx
Подтвердим существование этого изоморфизма путём проверки выполнения соотношений вида (1.41).

44
Пусть, например, α =
2
x
и =
12 xx
(см. табл. 1.44). Тогда:
φ (α + β) = φ (
2
x
+
12 xx
) = φ (
1x
) =
12x
,
φ (α) + φ () = φ (
2
x
) + φ (
12 xx
) =
xx
2
+
1x
=
12x
,
φ (α ∙ ) = φ ((
2
x
) ∙ (
12 xx
)) = φ ((
234
xxx
) mod (
13 xx
)) = φ (1) = 1,
φ (α) ∙ φ () = φ (
2
x
) ∙ φ (
12 xx
) = (
xx
2
) ∙ (
1x
) = (
xx
3
) mod (
13 xx
) = 1.
Таблица 1.44
α, β,
α + β, α ∙
Поле F1
Поле F2
φ (α), φ (),
φ (α + β), φ (α) + φ (),
φ (α ∙ ), φ (α) ∙ φ ()
0 0
α ∙
1
1
φ (α ∙ ), φ (α) ∙ φ ()
x
2
x
α
2
x
xx
2
φ (α)
α + β
1x
12x
φ (α + β), φ (α) + φ ()
xx
2
x
β
12 xx
1x
φ ()
12x
12 xx
Пусть во втором примере α = x и =
xx
2
(см. табл. 1.45). Тогда:
φ (α + ) = φ (x +
xx
2
) = φ (
2
x
) =
xx
2
,
φ (α) + φ () = φ (x) + φ (
xx
2
) =
2
x
+ x =
xx
2
,
φ (α ∙ ) = φ ((x) ∙ (
xx
2
)) = φ ((
23
xx
) mod (
13 xx
)) = φ (
12 xx
) =
1x
,
φ (α) ∙ φ () = φ (x) ∙ φ (
xx
2
) = (
2
x
) ∙ (x) = (
3
x
) mod (
13 xx
) =
1x
.

45
Таблица 1.45
α, β,
α + β, α ∙
Поле F1
Поле F2
φ (α), φ (),
φ (α + β), φ (α) + φ (),
φ (α ∙ ), φ (α) ∙ φ ()
0 0
1 1
α
x
2
x
φ (α)
α + β
2
x
xx
2
φ (α + β), φ (α) + φ ()
1x
12x
β
xx
2
x
φ ()
α ∙
12 xx
1x
φ (α ∙ ), φ (α) ∙ φ ()
12x
12 xx
Такого сорта изоморфизмы называют автоморфизмами. Интересное свойство автоморфизма Фробениуса заключается в том, что множество элементов из Fq, остающихся
неподвижными при действии Ф, совпадает с его простым подполем:
p
p
q
aaa FF }|{
. (1.45)
В нашем случае
p
p
q
aaa FF }|{
=
2
F
=
}1,0{
, так как
002
и
112
.
Заметим, что данное утверждение является обобщением малой теоремы Ферма на
случай любых конечных полей. Если χ – произвольный автоморфизм конечного поля,
то множество неподвижных относительно него элементов образуют подполе, которое называют неподвижным полем автоморфизма χ. Таким образом, предыдущее утверждение говорит
о том, что неподвижное поле автоморфизма Фробениуса совпадает с простым подполем Fp.
Кроме того, что поле Fq содержит в себе подполе Fp, добавим, что поле
d
p
F
содержит подполе
e
p
F
для любого числа e, делящего d. Это подполе
e
p
F
может быть
определено как неподвижное поле автоморфизма
e
Ф
:
e
e
d
p
p
p
aaa FF }|{
. (1.46)
Например, поле
16
2
4
FFFF
d
p
q
содержит в себе не только подполе
2
FF
p
,
но и подполе
4
2
2
FFF
e
p
, поскольку число
2e
делит число
4d
. При этом подпо-

46
ле
4
2
2
FFF
e
p
может быть определено как неподвижное поле автоморфизма
2
ФФ
e
.
Для проверки существования неподвижного поля
4
2
2
FFF
e
p
автоморфизма
2
ФФ
e
поля
16
2
4
FFFF
d
p
q
, определяемого неприводимым многочленом f (x) =
=
14 xx
, с самим собой построим табл. 1.46.
Таблица 1.46
Многочлен по модулю f
(x) =
14 xx
Степень
xg
Многочлен по модулю f
(x) =
14 xx
Степень
42
2
xxxg
e
p
0 0 0
0
1
0
x
1
0
x
x
1
x
1x
4
x
2
x
2
x 12x
8
x
3
x
3
x
123 xxx
12
x
1x
4
x
x
116
xx xx
2 5
x xx
2
520
xx
23
xx
6
x
xx
3
924
xx 13 xx
7
x
123 xx
1328
xx 12x
8
x
2
x
232
xx xx
3 9
x
23
xx
636
xx 12 xx
10
x
12 xx
1040
xx
xxx
23
11
x
13x
1444
xx
123 xxx
12
x
3
x
348
xx
123 xx
13
x
13 xx
752
xx 13x
14
x
xxx
23
1156
xx
Представим поля
16
F
= F2[x] / (
14 xx
) и
16
F
= F2[x] / (
14 xx
), элементы
которых сгенерированы с помощью примитивных элементов x и
4
x
соответственно,
табл. 1.47.

47
Таблица 1.47
Конечное поле
16
F
Конечное поле
16
F
0 0 1
1
x
1x
2
x 12x
3
x
123 xxx
1x
x
xx
2
xx
2
23
xx
xx
3
13 xx
123 xx
12x
2
x xx
3
23
xx
12 xx
12 xx
xxx
23
13x
123 xxx
3
x
123 xx
13 xx 13x
xxx
23
Подтвердим существование автоморфизма поля
16
F
= F2[x] / (
14 xx
) путём
проверки выполнения соотношений вида (1.41).
Пусть, например, α =
2
x
и =
12 xx
(см. табл. 1.48). Тогда:
φ (α + β) = φ (
2
x
+
12 xx
) = φ (
1x
) = x,
φ (α) + φ () = φ (
2
x
) + φ (
12 xx
) =
12x
+
12 xx
= x,
φ (α ∙ ) = φ ((
2
x
) ∙ (
12 xx
)) = φ ((
234
xxx
) mod (
14 xx
)) =
= φ (
123 xxx
) =
3
x
,
φ (α) ∙ φ () = φ (
2
x
) ∙ φ (
12 xx
) = (
12x
) ∙ (
12 xx
) =
= (
134 xxx
) mod (
14 xx
) =
3
x
.

48
Таблица 1.48
α, β,
α + β, α ∙
Поле F1
Поле F2
φ (α), φ (),
φ (α + β), φ (α) + φ (),
φ (α ∙ ), φ (α) ∙ φ ()
0 0
1 1
x
1x
α
2
x 12x
φ (α)
3
x
123 xxx
α + β
1x
x
φ (α + β), φ (α) + φ ()
xx
2
xx
2
23
xx
xx
3
13 xx
123 xx
12x
2
x
xx
3
23
xx
β
12 xx
12 xx
φ ()
xxx
23
13x
α ∙
123 xxx
3
x
φ (α ∙ ), φ (α) ∙ φ ()
123 xx
13 xx
13x
xxx
23
Неподвижным полем автоморфизма
2
ФФ
e
поля
16
2
4
FFFF
d
p
q
, опреде-
ляемого неприводимым многочленом f (x) =
14 xx
, является поле
4
2
2
FFF
e
p
=
}1,,1,0{
22
xxxx
(см. табл. 1.46).
Другое интересное свойство характеристики p поля
d
p
q
FF
заключается в том,
что взяв произвольный элемент
q
a F
и сложив его с собой p раз, получим 0. Например,
в поле
3
2
8
FF
= F2[x] / (
13 xx
), элементы которого сгенерированы с помощью при-
митивного элемента x, как видно из табл. 1.49, для любого
8
Fa
имеют место равенства
0 aa
.

49
Таблица 1.49
Элементы a конечного поля
3
2
8
FF
= F2[x] / (
13 xx
)
0 aa
0
0 + 0 = 0
1
1 + 1 = 0
x x+x
= 0
2
x
2
x
+
2
x
= 0
1x
(
1x
) + (
1x
) = 0
xx
2
(
xx
2
) + (
xx
2
) = 0
12 xx
(
12 xx
) + (
12 xx
) = 0
12x
(
12x
) + (
12x
) = 0
1.2.6. ПРИМИТИВНЫЙ ЭЛЕМЕНТ КОНЕЧНОГО ПОЛЯ
Ненулевые элементы конечного поля, множество которых обычно обозначают че-
рез
*
q
F
, составляют конечную абелеву циклическую группу. Образующая циклической
группы
*
q
F
называется примитивным элементом конечного поля. Заметим, что прими-
тивный элемент есть в любом конечном поле, поскольку группа его ненулевых элементов
всегда циклическая. Другими словами, всегда можно найти такой элемент g Fq, что любой ненулевой элемент α Fq будет представлен в виде
i
g
(1.47)
при некотором целом показателе i.
В качестве примера рассмотрим поле из восьми многочленов:
3
2
F
= F2[x] / (x3 + x + 1).
В нём существуют семь ненулевых элементов:
1, x,
1x
,
2
x, 12x, xx
2
,
12 xx
.
Установим, какие из этих ненулевых элементов являются примитивными элемен-
тами поля
3
2
F
. Для этого каждый из отличных от единицы кандидатов на примитивный
элемент поля возведём в степень от 1 до 7 и определим остаток от деления полученного
многочлена на
13 xx
. Результаты этих действий представим табл. 1.50 – 1.55.

50
Таблица 1.50
Степень кандидата
Многочлен
Многочлен по модулю
13 xx
1
x
1
x
x
2
x
2
x
2
x
3
x
3
x
1x
4
x
4
x xx
2 5
x
5
x
12 xx
6
x
6
x 12x
7
x
7
x
1
Таблица 1.51
Степень кандидата
Многочлен
Многочлен по модулю
13 xx
1
)1( x
1x 1x
2
)1( x
12x 12x
3
)1( x
123 xxx
2
x
4
)1( x
14x
12 xx
5
)1( x
145 xxx
x
6
)1( x
1
246
xxx xx
2
6
)1( x
1
246
xxx xx
2
7
)1( x
1
234567
xxxxxxx
1
Таблица 1.52
Степень кандидата
Многочлен
Многочлен по модулю
13 xx
12
)(x
2
x
2
x
22
)(x
4
x
xx
2
32
)(x
6
x 12x
42
)(x
8
x
x
52
)(x
10
x
1x
62
)(x
12
x
12 xx
72
)(x
14
x
1
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
