Добавил:
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. КИТАЙСКАЯ ТЕОРЕМА ОБ ОСТАТКАХ
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ЛИТЕРАТУРЫ

71
Проверка:
a ∙ a
–1
)19(mod
= 7 ∙ 7
–1
)19(mod
= 7 ∙ 11
)19(mod
= 77
)19(mod
= 1 (mod 19).
Во втором примере вычислим обратный элемент к a = 12 по модулю N = 31. Как видно
из табл. 1.61, соотношение Безу для НОД (12, 31) = 1 = 12 ∙ 13 + 31 ∙ (–5), следовательно:
)31(mod12
1
=
)19(mod13
.
Проверка:
a ∙ a
–1
)31(mod
= 12 ∙ 13
)31(mod
= 12 ∙ 13
)31(mod
= 156
)31(mod
= 1 (mod 31).
В третьем примере вычислим обратный элемент к a = 15 по модулю N = 43. Как видно из табл. 1.61, соотношение Безу для НОД (15, 43) = 1 = 15 ∙ (–20) + 43 ∙ 7, следовательно:
)43(mod15
1
=
)43(mod20
=
)43(mod4320
=
)43(mod23
.
Проверка:
a ∙ a
–1
)43(mod
= 15 ∙ 15
–1
)43(mod
= 15 ∙ 23
)43(mod
= 345
)43(mod
= 1 (mod 43).
1.3.6. КИТАЙСКАЯ ТЕОРЕМА ОБ ОСТАТКАХ
Китайскую теорему об остатках можно использовать для улучшения процедуры
расшифрования в криптосистеме RSA (аббревиатура от фамилий Rivest, Shamir и Adleman)
и в некоторых других протоколах. Китайская теорема об остатках утверждает, что система уравнений
)(mod
,)(mod
Mbx
Nax
(1.57)
имеет единственное решение по модулю M ∙ N тогда и только тогда, когда M и N взаимно
просты. Кроме того, она даёт простой метод поиска этого решения.
Пусть, например, a = 4, b = 3, N = 7, M = 5. Тогда единственным решением системы
)5(mod3
,)7(mod4
x
x
(1.58)
по модулю M ∙ N = 7 ∙ 5 = 35 для взаимно простых M = 5 и N = 7 является, как видно из
табл. 1.63, число x = 18 (mod 35).

72
Таблица 1.63
x (mod 35)
x (mod 7)
x (mod 5)
0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 0 6 6 1
7 0 2
8 1 3 9 2 4 10 3 0
11 4 1
12 5 2
13 6 3
14 0 4
15 1 0
16 2 1
17 3 2
18 4 3
19 5 4
20 6 0
21 0 1
22 1 2
23 2 3
24 3 4
25 4 0
26 5 1
27 6 2
28 0 3
29 1 4
30 2 0

73
Продолжение табл. 1.63
x (mod 35)
x (mod 7)
x (mod 5)
31 3 1
32 4 2
33 5 3
34 6 4
Решим эту же систему аналитически.
Если x = 4 (mod 7) и x = 3 (mod 5), то
x = 4 + 7 ∙ u (mod 7) и x = 3 (mod 5).
Подставив выражение для x из первого уравнения во второе, получим:
4 + 7 ∙ u = 3 (mod 5),
4 + 2 ∙ u = 3 (mod 5),
2 ∙ u = – 1 (mod 5),
2 ∙ u = 4 (mod 5).
Вспомним, что если НОД (a, N) = 1, то уравнение a ∙ x = b (mod N) имеет решение,
причём единственное. В нашем случае НОД (2, 5) = 1 и поэтому уравнение 2 ∙ u = 4
(mod 5) имеет единственный корень. Вычислим его:
2 ∙ u = 4 (mod 5),
2 ∙ 2
–1
∙ u = 2
–1
∙ 4 (mod 5),
u = 3 ∙ 4 (mod 5) = 12 (mod 5) = 2 (mod 5).
Подставив найденное значение u в выражение x = 4 + 7 ∙ u, получим решение системы по модулю 35:
x = 4 + 7 ∙ u = 4 + 7 ∙ 2 = 18 (mod 35).
Рассмотрим в общем виде решение системы уравнений вида (1.57):
)(mod
),(mod
Mbx
Nax
для взаимно простых M и N.
Сначала необходимо вычислить T как обратный элемент к M по модулю N:
T = M
–1
(mod N). (1.59)
Затем величину u модулю M:
u = (b – a) ∙ T (mod M). (1.60)

74
И, наконец, найти решение системы x по модулю M ∙ N:
x = a + u ∙ N (mod M ∙ N). (1.61)
Решим ту же самую систему (1.58):
),(mod
),(mod
Mbx
Nax
=
)5(mod3
),7(mod4
x
x
по общей для системы из двух уравнений схеме (1.59) – (1.61).
Сначала вычислим T как обратный элемент к M = 5 по модулю N = 7. Для этого
решим уравнение
M ∙ x = 1 (mod N)
или более конкретно
5 ∙ x = 1 (mod 7).
Заметим, что соотношение Безу для d = НОД (5, 7) имеет вид
d = НОД (5, 7) = 1 = 5 ∙ 3 + 7 ∙ (–2).
Следовательно, в соответствии с выражением (1.59)
T = M
–1
(mod N) = 5
–1
(mod 7) = 3.
Затем по формуле (1.60) определим величину u модулю M:
u = (b – a) ∙ T (mod M) = (3 – 4) ∙ 3 (mod 5) = –3 (mod 5) = 2 (mod 5).
И, наконец, найдём решение системы x по модулю M ∙ N по формуле (1.61):
x = a + u ∙ N (mod M ∙ N) = 4 + 2 ∙ 7 (mod 5 ∙ 7)= 18 (mod 35).
Рассмотрим далее систему из более чем двух уравнений. Пусть m1, …, mr и a1, …,
ar – целые числа, причём все mi (i = 1, …, r) попарно взаимно просты. Необходимо найти
такой элемент x по модулю M = m1 ∙ m2 ∙ … ∙ mr , что
).(mod
...
),(mod
),(mod
22
11
rr
max
max
max
(1.62)
Китайская теорема об остатках гарантирует существование и единственность решения:
)(mod1MyMax
r
i
iii
, (1.63)

75
где
ii
mMM /
, (1.64)
)(mod
1
iii
mMy
. (1.65)
В качестве примера найдём число x по модулю M = 1001 = 7 ∙ 11 ∙ 13, которое удовлетворяет системе из трёх уравнений:
).13(mod10
),11(mod3
),7(mod5
x
x
x
Следовательно, r = 3, m1 = 7, m2 = 11, m3 = 13, a1 = 5, a2 = 3, a3 = 10.
Вычислим сначала M1, M2 и M3 по формуле (1.64):
M1 = M / m1 = 1001 / 7 = 143,
M2 = M / m2 = 1001 / 11 = 91,
M3 = M / m3 = 1001 / 13 = 77.
Затем вычислим y1, y2 и y3 по формуле (1.65) с помощью решения уравнений вида
)(mod1
iii
myM
:
M1 ∙ y1 = 1 (mod m1),
143 ∙ y1 = 1 (mod 7),
НОД (143, 7) = 1 = 143 ∙ (–2) + 7 ∙ 41,
)(mod
1
1
11
mMy
= 143–1 (mod 7) = –2 (mod 7) = 5 (mod 7),
M2 ∙ y2 = 1 (mod m2),
91 ∙ y2 = 1 (mod 11),
НОД (91, 11) = 1 = 91 ∙ 4 + 11 ∙ (– 33),
)(mod
2
1
22
mMy
= 91–1 (mod 11) = 4 (mod 11),
M3 ∙ y3 = 1 (mod m3),
77 ∙ y3 = 1 (mod 13),
НОД (77, 13) = 1 = 77 ∙ (–1) + 13 ∙ 6,
)(mod
3
1
33
mMy
= 77–1 (mod 13) = –1 (mod 13) = 12 (mod 13).

76
И, наконец, вычисляем значение x по формуле (1.63):
)(mod1MyMax
r
i
iii
=
)1001(mod
3
1
i
iii
yMax
=
= a1 ∙ M1 ∙ y1 + a2 ∙ M2 ∙ y2 + a3 ∙ M3 ∙ y3 (mod 1001) =
= 5 ∙ 143 ∙ 5 + 3 ∙ 91 ∙ 4 + 10 ∙ 77 ∙ 12 (mod 1001) =
= 3575 + 1092 + 9240 (mod 1001) =
= 572 + 91 + 231 (mod 1001) = 894.
Выполним проверку найденного решения:
894 (mod 7) = 5,
894 (mod 11) = 3,
894 (mod 13) = 10.
В другом примере найдём число x по модулю M = 2431 = 11 ∙ 13 ∙ 17, которое удовлетворяет системе из трёх уравнений:
).17(mod16
),13(mod7
),11(mod3
x
x
x
Следовательно, r = 3, m1 = 11, m2 = 13, m3 = 17, a1 = 3, a2 = 7, a3 = 16.
Вычислим сначала M1, M2 и M3 по формуле (1.64):
M1 = M / m1 = 2431 / 11 = 221,
M2 = M / m2 = 2431 / 13 = 187,
M3 = M / m3 = 2431 / 17 = 143.
Затем вычислим y1, y2 и y3 по формуле (1.65) с помощью решения уравнений вида
)(mod1
iii
myM
:
M1 ∙ y1 = 1 (mod m1),
221 ∙ y1 = 1 (mod 11),
НОД (221, 11) = 1 = 221 ∙ 1 + 11 ∙ (–20),
)(mod
1
1
11
mMy
= 221–1 (mod 11) = 1 (mod 11),
M2 ∙ y2 = 1 (mod m2),
187 ∙ y2 = 1 (mod 13),

77
НОД (187, 13) = 1 = 187 ∙ (–5) + 13 ∙ (72),
)(mod
2
1
22
mMy
= 91-1 (mod 13) = –5 (mod 13) = 8 (mod 13),
M3 ∙ y3 = 1 (mod m3),
143 ∙ y3 = 1 (mod 17),
НОД (143, 17) = 1 = 143 ∙ 5 + 17 ∙ (–42),
)(mod
3
1
33
mMy
= 143-1 (mod 17) = 5 (mod 17).
И, наконец, вычисляем значение x по формуле (1.63):
)(mod1MyMax
r
i
iii
=
)2431(mod
3
1
i
iii
yMax
=
= a1 ∙ M1 ∙ y1 + a2 ∙ M2 ∙ y2 + a3 ∙ M3 ∙ y3 (mod 2431) =
= 3 ∙ 221 ∙ 1 + 7 ∙ 187 ∙ 8 + 16 ∙ 143 ∙ 5 (mod 2431) =
= 663 + 10472 + 11440 (mod 2431) =
= 663 + 748 + 1716 (mod 2431) = 3127 (mod 2431) = 696.
Выполним проверку найденного решения:
696 (mod 11) = 3,
696 (mod 13) = 7,
696 (mod 17) = 16.

78
ЗАКЛЮЧЕНИЕ
Первая часть учебного пособия по введению в криптологию посвящена изучению
вопросов, связанных с основными понятиями, определениями и алгоритмами арифметики
остатков, групп и конечных полей.
Надеемся, что изучение подробных примеров практически к каждому даваемому
определению и понятию позволит студентам досконально разобраться с учебным материалом пособия и подготовиться к применению полученных знаний в профессиональной деятельности при решении различных прикладных задач.
Авторы планируют подготовку и издание других частей данного пособия, посвящённых, в частности, эллиптическим кривым.

79
СПИСОК ЛИТЕРАТУРЫ
1. Алгоритмические основы эллиптической криптографии / А. А. Болотов и др. –
М. : МЭИ, 2000. – 100 с.
2. Василенко, О. Н. Теоретико-числовые алгоритмы в криптографии / О. Н. Васи-
ленко. – М. : МЦНМО, 2003. – 328 с.
3. Введение в криптографию / под общ. ред. Ященко. – 4-е изд., доп. – М. :
МЦМНО, 2012. – 348 с.
4. Глухов, М. М. Алгебра : учебник : в 2-х т. / М. М. Глухов, В. П. Елизаров,
А. А. Нечаев. – М. : Гелиос АРВ, 2003. – Т. 1. – 336 с.
5. Глухов, М. М. Алгебра : учебник : в 2-х т. / М. М. Глухов, В. П. Елизаров,
А. А. Нечаев. – М. : Гелиос АРВ, 2003. – Т. 2. – 416 с.
6. Запечников, С. В. Криптографические методы защиты информации / С. В. За-
печников, О. В. Казарин, А. А. Тарасов. – М. : Изд-во «Юрайт», 2019. – 309 с.
7. Коблиц, Н. Курс теории чисел и криптографии : пер. с англ. / Н. Коблиц. – М. :
Научное изд-во ТВП, 2001. – 254 с.
8. Коробейников, А. Г. Математические основы криптологии : учеб. пособие /
А. Г. Коробейников, Ю. А. Гатчин. – СПб. : СПб ГУ ИТМО, 2004. – 106 с.
9. Нечаев, В. И. Элементы криптографии (Основы теории защиты информации) :
учеб. пособие для ун-тов и пед. вузов / В. И. Нечаев ; под ред. В. А. Садовничего. – М. :
Высш. шк., 1999. – 109 с.
10. Новиков, В. Е. Введение в криптологию : учеб. пособие для студентов, специализирующихся в обл. защиты информ. / В. Е. Новиков, В. В. Ридель. – Саратов : Изд-во
Сарат. ун-та, 2000. – 101 с.
11. Основы криптографии : учебное пособие / А. П. Алферов и др. – М. : Гелиос
АРВ, 2001. – 480 с.
12. Романьков, В. А. Введение в криптографию : курс лекций / В. А. Романьков. –
М. : ФОРУМ, 2012. – 240 с.
13. Ростовцев, А. Г. Теоретическая криптография / А. Г. Ростовцев, Е. Б. Маховенко. – СПб. : НПО «ПРОФЕССИОНАЛ», 2004. – 485 с.
14. Смарт, Н. Криптография : пер. с англ. / Н. Смарт. – М. : Техносфера, 2005. –
528 с.
15. Тилборг, ванн Х.К.А. Основы криптологии. Профессиональное руководство
и интерактивный учебник / Тилборг ванн Х.К.А. – М. : Мир, 2006. – 471 с.
16. Харин, Ю. С. Математические основы криптологии : учеб. пособие / Ю. С. Харин, В. И. Берник, Г. В. Матвеев. – Мн. : БГУ, 1999. – 319 с.
17. Черемушкин, А. В. Лекции по арифметическим алгоритмам в криптографии /
А. В. Черемушкин. – М. : МЦНМО, 2002. – 104 с.

80
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ …………………………………………………………………………………
3
1. АРИФМЕТИКА ОСТАТКОВ, ГРУППЫ, КОНЕЧНЫЕ ПОЛЯ ………………………
5
1.1. Арифметика остатков ……………………………………………………………..
5
1.1.1. Модуль. Оператор модуля …………………………………………………
5
1.1.2. Группы и кольца ……………………………………………………………
6
1.1.3. Решение уравнений вида a ∙ x = b (mod N) ………………………………..
13
1.1.4. Функция Эйлера …………………………………………………………….
17
1.1.5. Мультипликативные обратные по модулю N ……………………………..
19
1.2. Конечные поля ……………………………………………………………………...
21
1.2.1. Более общий тип конечных полей …………………………………………
21
1.2.2. Решение уравнений вида a ∙ = b (mod f (x)) ……………………………
22
1.2.3. Неприводимые многочлены ………………………………………………..
28
1.2.4. Изоморфизм конечных полей ………………………………………………
32
1.2.5. Характеристика поля ……………………………………………………….
42
1.2.6. Примитивный элемент конечного поля ……………………………………
49
1.3. Основные алгоритмы ……………………………………………………………...
54
1.3.1. Наибольший общий делитель ……………………………………………...
54
1.3.2. Решето Эратосфена …………………………………………………………
54
1.3.3. Алгоритм Евклида для целых чисел ………………………………………
55
1.3.4. Двоичный алгоритм Евклида ………………………………………………
60
1.3.5. Расширенный алгоритм Евклида …………………………………………..
65
1.3.6. Китайская теорема об остатках ……………………………………………
71
ЗАКЛЮЧЕНИЕ ……………………………………………………………………………..
78
СПИСОК ЛИТЕРАТУРЫ ………………………………………………………………….
79
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
