Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

algebcodes (1)

.pdf
Скачиваний:
37
Добавлен:
03.06.2015
Размер:
1.92 Mб
Скачать

1.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 = (N) + 1, где y целое.

Дешифрование:

Получив C ≡ Me(modN), поступают следующим образом:

Cx ≡ Mex(modN) ≡ M(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((N)+1)L(N)+1(modN). (1.13.28)

Рассмотрим множители в левой части сравнения (1.13.28) раздельно.

В силу условия (L, N) = 1

L(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 = (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 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), ξ{()/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,

3x22 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 существует хотя бы один (левый) обратный элемент

a1a = 1.

Легко показать, однако, что из первого определения следует второе.

Действительно, пусть уравнение xa = b разрешимо при лю-

бых a и b.

Тогда разрешимо и уравнение xc = c.

Обозначим решение этого уравнения через x = e, т.е. ec = c. Покажем, что это решение и есть (левая) единица, каково бы

ни было c.

Опираясь на разрешимость уравнения ax = b, cоставим уравнение

cx = a,

где a произвольный элемент, и умножим его слева почленно на e :

ecx = ea.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]