Теория алгоритмов в задачах информационной безопасности конспект лекций. Учебное пособие
.pdfгде 1 ≤ u ≤ H, 0 ≤ v ≤ H. Действительно, набор чисел H, H − 1,
H − 2, ... , H − H, 2H, 2H − 1, ... , 2H − H, ... , H2, H2 − 1, ... , H2 − H
содержит в себе набор чисел 0, 1, ... , p − 2, поскольку H2 > p. Из этого следует корректность алгоритма. Оценка сложности также очевидна, поскольку набор из N элементов можно упорядочить за O(N log N) арифметических операций.
Существуют некоторые усовершенствования алгоритма согласования, но все они также имеют экспоненциальную сложность.
10.3. Алгоритм Полига–Хеллмана
Предположим теперь, что известно разложение p − 1 на простые множители:
|
|
|
s |
|
|
|
p − 1= ∏qiαi . |
|
|
|
i=1 |
Тогда |
решение |
уравнения (10.1) можно найти за |
|
|
s |
|
арифметических операций с помощью следу- |
O |
αi (log p + qi ) |
||
i=1 |
|
|
|
ющего алгоритма Полига−Хеллмана.
1 шаг. Для каждого простого числа q, q | p − 1, составляем таб-
лицу чисел rq,j ≡ aj(p−1)/q (mod p), j = 0, ... , q − 1.
2 шаг. Для каждого простого q, qα || p − 1, находим loga b (mod qα). Пусть
x ≡ loga b (mod qα) ≡ x0 + x1q + ... + xα−1qα−1 (mod qα),
где 0 ≤ xi ≤ q − 1. Тогда из уравнения (10.1) следует, что b(p−1)/q ≡ ax0 (p−1)/q (mod p). С помощью таблицы, построенной на шаге 1, находим x0. Тогда выполнено сравнение
(ba− x0 )(p−1)/q2 ≡ ax1(p−1)/q (mod p).
По таблице находим x1, и т.д. Значение xi находится из сравнения
(ba− x0 − x1q−...− xi −1qi −1 )(p−1)/qi +1 ≡ axi (p−1)/q (mod p).
91
3 шаг. |
Найдя |
log |
a |
b(modqαi ), i = 1,..., s, |
находим |
|
|
|
i |
|
loga b(mod p − 1) по китайской теореме об остатках.
Докажем оценку |
сложности алгоритма. |
Набор элементов |
|||
a(p−1)/qi (mod p) |
вычисляется за s |
O(log p) |
арифметических опе- |
||
|
|
i=1 |
|
|
|
раций. Затем |
набор |
rqi , j для |
всех qi, |
j |
вычисляется за |
s O(qi )арифметических операций. Для нахождения очередного xi
i=1
на шаге 3 необходимо возведение в степень, т.е. нужно найти axi −1qi −1, вычислить обратный элемент, умножить, возвести в сте-
пень и пройти по таблице. Обратный элемент находится с помощью обобщенного алгоритма Евклида за O(log p) операций. Все вместе дает указанную выше оценку сложности алгоритма Полига−Хеллмана.
Отметим, что алгоритм Полига−Хеллмана имеет полиномиальную сложность O((log p)c1 ) в случае, когда все простые делители qi числа p не превосходят (log p)c2 , где c1, c2 – положительные кон-
станты. Это имеет место, например, для простых чисел p вида p = 2α + 1, p = 2α13α2 + 1.
10.3.ρ-метод Полларда для дискретного логарифмирования
В предыдущей лекции был описан ρ–метод Полларда для факторизации целых чисел, аналогичный метод предложен для дискретного логарифмирования по простому модулю p. Требуется решить уравнение ax ≡ b (mod p). Для этого рассмотрим три числовые последовательности {ui}, {vi}, {zi}, i = 0, 1, 2,..., определенные следующим образом:
u0 = v0 = 0, z0 = 1;
92
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 < zi < p / 3; |
|||||||
|
ui + 1(mod p − 1), |
|
||||||||||
|
|
|
|
|
|
|
|
|
2 |
|
||
ui+1 |
≡ 2ui (mod p − 1), |
|
p / 3< zi |
|
< |
|
|
|
p; |
|||
|
3 |
|||||||||||
|
|
2 |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ui (mod p − 1), |
|
|
p < zi < p; |
|
|||||||
|
3 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vi (mod p − 1), 0 < zi < p / 3; |
|
||||||||||
|
|
|
|
|
|
|
|
|
2 |
|
|
|
vi+1 |
≡ 2vi (mod p − 1), |
p / 3< zi |
< |
|
|
|
p; |
|||||
3 |
|
|||||||||||
|
|
|
|
|
2 |
|
|
|
|
|
||
|
v + 1(mod p − 1), |
|
p < z |
i |
< p; |
|||||||
|
|
|
||||||||||
|
i |
|
|
3 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||
zi=1 ≡ bui +1 avi +1 (mod p − 1).
Здесь под c (mod p) понимаем наименьший неотрицательный вычет в данном классе вычетов.
Далее рассматриваем наборы (zi, ui, vi, z2i, u2i, v2i), i = 1, 2, 3, ..., и ищем номер i, для которого zi = z2i. Из последнего равенства
следует, что bu2i −ui ≡ avi −v2i (mod p) . |
Если |
окажется, что |
||
(u2i − ui, p − 1) = 1, то при l |
|
, l (u2i − ui) ≡ 1 (mod p − 1) получим |
||
b ≡ al (vi −v2i )(mod p), откуда |
искомый |
x равен |
log ab ≡ l(vi − v2i) |
|
(mod p − 1). Дальнейшие детали, в частности, методы для нахождения совпавших элементов zi, z2i, можно найти в [21]. Эвристическая оценка сложности метода составляет O(p1/2) операций.
93
Список литературы
1.Алиев Ф.К., Юров И.А. Курс лекций по математической логике и теории алгоритмов. М.: МИФИ, 2003.
2.Ахо А., Хопкрофт Д., Ульман Д. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979.
3.Ван дер Варден Б.Л. Алгебра. М.: Наука, 1976.
4.Василенко О.Н. Теоретико-числовые алгоритмы в криптографии. М.: МЦНМО, 2003.
5.Верещагин Н.К., Шень А. Вычислимые функции. М.:
МЦНМО, 1999.
6.Верещагин Н.К., Шень А. Языки и исчисления. М.: МЦНМО,
2000.
7.Введение в теоретико-числовые методы в криптографии // М.М. Глухов, И.А. Круглов, А.Б. Пичкур, А.В. Черемушкин. СПб.: Изд-во «Лань», 2011.
8.Крупский В.Н. Теория алгоритмов. Введение в сложность вычислений. М.: ЮРАЙТ, 2022.
9.Курош А.Г. Лекции по общей алгебре. М.: ГИФМЛ, 1962.
10.Марков А.А., Нагорный Н.М. Теория алгорифмов. М.:
Наука, 1984.
11.Лавров И.А., Максимова Л.Л. Задачи по теории множеств, математической логике и теории алгоритмов. М.: Физикоматематическая литература, 1995.
12.Ленг С. Алгебра. М.: Мир, 1965.
13.Мальцев А.И. Алгоритмы и рекурсивные функции. М.:
Наука, 1986.
14.Набебин А.А., Авдошин С.М. Дискретная математика. Алгоритмы: теория и практика. М.: ДМК Пресс, 2019.
15.Носов В.А. Основы теория алгоритмов и анализа их сложности. М.: Изд-во МГУ, 1992.
16.Теория чисел в криптографии // В.А. Орлов, Н.В. Медведев, Н.А. Шимко, А.Б. Добрачева. М.: Изд-во МГТУ им. Н.Э. Баумана, 2011.
17.Стивенс Р. Алгоритмы. Теория и практическое применение.
М.: Эксмо, 2022.
18.Судоплатов С.В., Овчинникова Е.В. Математика: математическая логика и теория алгоритмов. М.: ЮРАЙТ, 2022.
94
19.Шнайер Б. Прикладная криптография: протоколы, алгоритмы и исходный код на C. М.: Вильямс, 2016.
20.Яблонский С.В. Введение в дискретную математику. М.:
Наука, 1986.
21.Pollard J.M. Monte Carlo methods for index computation (mod p) // Math. Comp. 1978. V. 32 (143). Pp. 918–924.
95
Епишкина Анна Васильевна Когос Константин Григорьевич
Теория алгоритмов в задачах информационной безопасности
Конспект лекций
Учебное пособие
Редактор Е.Е. Шумакова
Подписано в печать 14.11.2022. Формат 60×84 1/16. Уч.-изд.л. 6,0. Печ.л. 6,0. Тираж 100 экз. Изд. № 019-1
Национальный исследовательский ядерный университет «МИФИ». Типография НИЯУ МИФИ. 115409, Москва, Каширское шоссе, д. 31
96
