algebcodes (1)
.pdf1.13. Приложения к криптографии |
41 |
то
gγ1 ≡ gγ2 (modm),
что невозможно, так как тогда
gγ1−γ2 ≡ 1(modm),
и g не первообразный корень.
Из определения индекса следует, что числа с одинаковым индексом γ образуют класс вычетов по модулю m, так как два числа, сравнимые с третьим, сравнимы между собой. (Сравнимые числа принадлежат к одному классу.)
Зная γ0, можно указать все индексы числа a :
gγ1 ≡ gγ2 (modm),
тогда и только тогда, когда
γ1 ≡ γ2(modc).
Утверждение 1.12.3. Имеет место следующее сравнение:
ind ab · · · l ≡ ind a + ind b + ... + ind l(modm).
Действительно,
a ≡ gind a(modm), b ≡ gind b(modm), . . . , l ≡ gind l(modm).
Сравнения можно почленно перемножать, поэтому:
ab · · · l ≡ gind a+ind b+···+ind l.
Следовательно, ind a+ind b+...+ind l есть один из индексов произведения ab · · · l
Аналогия с логарифмами очевидна.
1.13. Приложения к криптографии
Было бы неверным сказать, что криптографическая тематика далека от теории кодирования. Однако для начального курса алгебраических кодов криптографические вкрапления могут показаться несколько чужеродными. Поэтому целью данного
42 |
Глава 1. Начальные сведения из теории чисел |
раздела является не столько изучение методов защиты информации от несанкционированного доступа, сколько демонстра-
ция некоторых интересных практических возможностей функции Эйлера.1
Для примера рассмотрим криптографический метод RSA, названный так по начальным буквам фамилий его авторов Р. Ривеста, А. Шамира и Л. Адлмана.
В процессе защиты информации от несанкционированного доступа с одной стороны, и попыток взломать систему защиты
– с другой, участвуют два субъекта. Это криптограф, который шифрует информацию и легальным образом дешифрует ее, и криптоаналитик , который пытается взломать систему защиты.
И криптографу и криптоаналитику известно следующее: Модуль N и такое число e, что e, (φ(N), e) = 1. Это так называ-
емый открытый ключ, содержащийся в справочнике, который можно купить в газетном киоске.
Разложение N = P × Q, где P, Q — простые числа, это закрытый, секретный ключ.
Он известен только криптографам, но неизвестен криптоаналитикам. Утверждение, что разложение N = P × Q, может быть кому-то неизвестным, на первый взгляд кажется неле-
пым. Кто не знает, как разложить число на множители!? Однако именно в этом утверждении заключен весь корень прочности системы защиты.
Имеем φ(N) = φ(P )φ(Q) = (P − 1)(Q − 1).
Шифрование происходит следующим образом:
Пусть следует передать число M. В действительности передается
C ≡ Me(modN).
Так как (e, φ(N)) = 1, то легко заранее найти такое x, что
e× x ≡ 1(modφ(N)).
Всамом деле, на основании теоремы 1.7.2 в разделе 1.7 име-
ем:
1В лекциях завершение доказательства теоремы Эйлера всякий раз производило впечатление неожиданностью результата, появлявшегося по-
сле довольно скучного рассказа о свойствах сравнений. Простота и изящество теоремы, казалось, придавали ей очевидную эстетическую значимость, усомниться в которой было невозможно. Но однажды лектор был обескуражен вопросом: "А каково практическое значение этой теоремы?" С тех пор теорема Эйлера непременно сопровождалась рассказом о ее криптографической ценности. Потенциальный критик теоремы переходил в ряды ее почитателей, ибо ничто так не утверждает человека в собственной значимости (а заодно и значимости теоремы), как сознание приобщенности к секретам.
1.13. Приложения к криптографии |
43 |
Если при (a, m) = 1 элемент x пробегает приведенную си-
стему вычетов по модулю m, то и ax пробегает приведенную систему вычетов.
Здесь m = φ(N), a = e. Для отыскания x можно с успехом воспользоваться равенством (1.2.4), применив для этого процедуру раздела 1.2. В (1.2.4) следует положить a = e, b =
φ(N), d = 1. Тогда s = x.
Из e × x ≡ 1(modφ(N)) на основании (1.3.16) следует e × x = yφ(N) + 1, где y целое.
Дешифрование:
Получив C ≡ Me(modN), поступают следующим образом:
Cx ≡ Mex(modN) ≡ Myφ(N)+1(modN) ≡ (Mφ(N))yM(modN).
Существуют две возможности.
1. (M, N) = 1, M < N. |
(1.13.26) |
В этом случае
(Mφ(N))yM ≡ M(modN),
так как в силу (1.13.26)
Mφ(N) ≡ 1(modN).
Отсюда Cx ≡ M(modN), и на основании (1.3.16) Cx = M + uN. Поэтому в силу (1.13.26) немедленно получается u = 0, Cx =
M.
2. (M, N) > 1, M < N. |
(1.13.27) |
Так как N = P Q и P, Q− простые числа, то вследствие (1.13.27) число M может быть кратным только одного из чисел P, Q. В самом общем случае можно считать M = P tL, L < Q, (L, N) =
= 1, t – натуральное число. Имеем
Mex = P texLex ≡ P t(yφ(N)+1)Lyφ(N)+1(modN). (1.13.28)
Рассмотрим множители в левой части сравнения (1.13.28) раздельно.
В силу условия (L, N) = 1
Lyφ(N)+1 ≡ L(modN). |
(1.13.29) |
44 |
Глава 1. Начальные сведения из теории чисел |
Далее, зная, что
φ(N) = φ(Q)φ(P ),
положим
P tyφ(Q)φ(P )P t ≡ z(modP Q).
Если сравнение имеет место по модулю m, (см. утвержд.
1.5.4), то оно имеет место и по модулю d, равному любому делителю числа m.
Отсюда
P tyφ(Q)φ(P )P t ≡ z(modQ). |
(1.13.30) |
С другой стороны, так как (P, Q) = 1, то по теореме Ферма
P φ(Q) ≡ 1(modQ),
и потому
P t ≡ z(modQ). |
(1.13.31) |
Из (1.13.30), (1.13.31) в силу утверждения 1.4.1 следует
P tyφ(N)P t ≡ P t(modQ).
Тривиальным образом
P tyφ(N)P t ≡ P t(modP ).
Если сравнение имеет место по нескольким модулям (см. утвер. 1.5.3) то оно имеет место и по модулю, равному наименьшему общему кратному модулей, т.е.
P tyφ(N)P t ≡ P t(modP Q). |
(1.13.32) |
Из (1.13.28), (1.13.29) и (1.13.32) получаем окончательно
Cx ≡ Mex = P texLex ≡ P tL(modN).
Это означает, что
Cx = P tL + vN.
Как и выше, ввиду M < N, v = 0, Cx = P tL = M.
1.13. Приложения к криптографии |
45 |
Центральную роль в вычислениях играет равенство
φ(N) = = φ(P )φ(Q) = (P − 1)(Q − 1).
При очень больших и почти равных P, Q найти разложение
N = P Q — весьма трудоемкая операция, что и лежит в основе надежды на длительность взлома системы защиты криптоана-
литиком. (Попытку взлома называют атакой). П р и м е р 1. 7.
P = 17, Q = 31, N = 17 × 31 = 527, φ(N) = φ(P )φ(Q) = (P − 1)(Q − 1) = 16 × 30 = 480. Пусть e = 7, (7, 480) = 1.
Отсюда x = 343.
Действительно, из e×x = yφ(N)+1 следует 7x = 480y+1 = (68 × 7 + 4)y + 1. Отсюда (4y + 1)/7− целое, т.е. 4y + 1 = 7z.
Отсюда y = (7z − 1)/4 − целое, т.е. 3z − 1 = 4v.
Отсюда z = (4v + 1)/3 − целое, т.е. v + 1 = 3, и v = 2. Далее
3z = 8+1, z = 3, 4y+1 = 21, y = 5, 7x = 480×5+1 = 2401, x = 343, что и требовалось.
Положим M = 5. Тогда C = 57 ≡ 129(mod527.)
Получив в виде сообщения число 129, мы должны извлечь из него корень седьмой степени по mod527.
Согласно вышесказанному, Cx = 129343(mod527.) Имеем
1292 = 16641 = 527×31+304, и 343 = 256+64+16+4+2+1
Отсюда
129343 = 129256 ×12964 ×12916 ×1294 ×1292 ×129 ≡ 304128 × × 30432 × 3048 × 3042 × 304 × 129 ≡
[так как 3042 = 92416 = 527 × 175 + 191]
≡ 19164 × 19116 × 1914 × 191 × 304 × 129 ≡
[так как 1912 = 36481 = 527 × 69 + 118]
≡ 11832 × 1188 × 1182 × 191 × 304 × 129 ≡
[так как 1182 = 13924 = 527 × 26 + 222]
≡ 22216 × 2224 × 222 × 191 × 304 × 129 ≡
[так как 2222 = 49284 = 527 × 93 + 273]
≡ 2738 × 2732 × 222 × 191 × 304 × 129 ≡
[так как 2732 = 74529 = 527 × 141 + 222]
46 |
Глава 1. Начальные сведения из теории чисел |
≡ 2224 ×222×222×191×304×129 ≡ 2733 ×191×304×129 ≡ 273 × 222 × 191 × 304 × 129 ≡ 5(mod527),
что и требовалось.
Подчеркнем, что не зная φ(N), криптоаналитик не может вычислить x. Знание φ(N) требует знания разложения N = P × Q, и получение этого разложения — самая трудоемкая процедура. Объем L(N) вычислений для разложения N = P Q
имеет порядок
√
L(N) e ln N×ln ln N .
Обычно N не менее, чем семисот-, а то и тысячезначное число. Прямая и обратная функции, т.е., с одной стороны, вычис-
ление C ≡ Me(modN), а с другой — получение Cx(modN), где главную роль играет отыскание неизвестного криптоанали-
тику разложения N = P Q, по трудоемкости — несоизмеримы. Такие функции принято называть односторонними.
Не доказана неизбежность знания разложения N = P Q. Можно ли избрать другой путь дешифрования, не использующий соотношение φ(N) = φ(P )φ(Q)?
1.14. Задачи к главе 1
1.1. Построить таблицы сложения и умножения наименьших неотрицательных вычетов по mod 7.
1.2. Пусть m > 0, (a, m) = 1, b – целое и x пробегает полную, а
ξ приведенную систему вычетов по модулю m. Доказать, что
∑ ∑
x{(ax + b)/m} = 12 (m − 1), ξ{(aξ)/m} = 12 φ(m).
1.3.Найти наименьшее положительное число, при делении которого на 17, 13 и 10 получаются остатки соответственно 15, 11 и 3.
1.4.Доказать, что показатель, с которым данное простое число
p входит в произведение n!, равен [n/p] + [n/p2] + [n/p3] + . . . .
1.5.Найти все первообразные корни по модулям 9, 11, 14, 17,
18.
1.6.Не прибегая к алгоритму Эвклида, доказать, что если (a, b) =
d, то найдутся два таких целых s и t, которые удовлетворяют условию as + bt = d.
1.7.Доказать теорему Вильсона: (p − 1)! ≡ −1(mod p), где p простое.
1.8.Пусть целое a > 1. Доказать, что простые нечетные дели-
тели числа ap − 1 делят a − 1 или имеют вид 2px + 1, где p – простое нечетное число.
1.14. Задачи к главе 1 |
47 |
1.9. Пусть целое a > 1. Доказать, что простые нечетные дели-
тели числа ap + 1 делят a + 1 или имеют вид 2px + 1, где p – простое нечетное число.
1.10.Придумать доказательство теоремы Ферма, отличное от доказательства в тексте.
1.11.Вывести теорему Эйлера из теоремы Ферма.
1.12.Полагая N = 3 · 5, 3 · 7, 5 · 7, 3 · 11, провести процедуру шифрования-дешифрования для разнообразных значений M.
Глава 2.
Элементы теории групп, колец и полей
2.1. Множество с операцией
Пусть дано некоторое множество M элементов. Говорят, что в M определена алгебраическая операция , если всяким двум
(различным или одинаковым) элементам множества M, взятым в определенном порядке, по некоторому закону ставится
в соответствие вполне определенный элемент, принадлежащий этому же множеству M.
В таком случае говорят также, что множество M замкнуто относительно некоторой операции , если для любых a M
и b M имеет место a b M и b a M.
Вообще говоря, операция не обязана быть коммутативной. Изображать ее мы будем либо в виде умножения ab, либо в виде
сложения a + b, смотря по случаю. Примеры некоммутативной операции приведены ниже.
2.2. Обратная операция
Говорят, что для операции , заданной в M, существует обратная операция, если при любых a M и b M каждое из уравнений
a x = b, x a = b |
(2.2.1) |
имеет решение и при том единственное. П р и м е р 2. 1.
Решить сравнение 3x ≡ 2( mod 11). Нетрудно проверить, что решением будет x ≡ 8(mod11). Имеем
3x = 2+11x1 = 9x1+2x1+2, 2x1+2 = 3x2, |
3x2−2 ≡ 0( mod 2), |
3x2 = 2t, x2 = 2t1, x2 = x1 = 2, |
x ≡ 8(mod11) |
2.3. Группа |
49 |
Легко видеть, что не для всякой операции в множестве M су-
ществует обратная операция. Например, для сложения натуральных чисел и умножения целых чисел.
2.3. Группа
Без ограничения общности опустим знак операции *, перейдя,
таким образом, к употреблению операции, которую будем называть умножением.
Определение 2.3.1. Непустое множество G называется группой, если выполняются следующие условия:
1.1). Множество замкнуто относительно некоторой операции.
1.2). Операция ассоциативна:
(ab)c = a(bc).
1.3). В G выполняется обратная операция.
Группа называется абелевой, если всегда
ab = ba.
Некоммутативную группу даёт П р и м е р 2. 2.
Некоммутативная операция — умножение перестановок в
симметрической группе. Вообще, перестановкой степени n называется ( )
1, 2, . . . , n i1, i2, . . . , in
заменяющая в множестве элементов 1, 2, . . . , n элемент l на il.
Имеется n! перестановок из n элементов. Последовательное выполнение двух перестановок есть снова перестановка, и эта операция называется произведением перестановок.
(i1, i2, . . . , in)(j1, j2, . . . , jn) |
|
1, 2, . . . , n |
1, 2, . . . , n |
Ниже левые части двух равенств отличаются порядком сомножителей, а потому отличаются и правые части:
(2341)(4213) |
= |
(2134), |
|
1234 |
1234 |
|
1234 |
50 |
Глава 2. |
Элементы теории групп, колец и полей |
||
|
(4213)(2341) |
= |
(1324). |
|
|
1234 |
1234 |
|
1234 |
Читателю известна по крайней мере еще одна некоммутативная операция — умножение матриц. Некоммутативность заключена в несимметричности самой фразы, выражающей принцип умножения: "строка на столбец" , где одно слово — подле-
жащее, а другое — дополнение. Умножение матриц будет коммутативным, только если они симметричны относительно глав-
ной диагонали.
Существуют другие определения группы, например:
Определение 2.3.2. Непустое множество G называется группой, если выполняются следующие условия:
2.1) Множество G замкнуто относительно некоторой операции.
2.2) Операция ассоциативна,
2.3) Для каждого a G существует хотя бы одна (левая) единица
1a = a,
т.е. такой элемент, который оставляет элемент a неизменным.
2.4) Для каждого a G существует хотя бы один (левый) обратный элемент
a−1a = 1.
Легко показать, однако, что из первого определения следует второе.
Действительно, пусть уравнение xa = b разрешимо при лю-
бых a и b.
Тогда разрешимо и уравнение xc = c.
Обозначим решение этого уравнения через x = e, т.е. ec = c. Покажем, что это решение и есть (левая) единица, каково бы
ни было c.
Опираясь на разрешимость уравнения ax = b, cоставим уравнение
cx = a,
где a произвольный элемент, и умножим его слева почленно на e :
ecx = ea.