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

Теория алгоритмов в задачах информационной безопасности конспект лекций. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
736 Кб
Скачать

где 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(p1)/q ax0 (p1)/q (mod p). С помощью таблицы, построенной на шаге 1, находим x0. Тогда выполнено сравнение

(bax0 )(p1)/q2 ax1(p1)/q (mod p).

По таблице находим x1, и т.д. Значение xi находится из сравнения

(bax0 x1q...xi 1qi 1 )(p1)/qi +1 axi (p1)/q (mod p).

91

3 шаг.

Найдя

log

a

b(modqαi ), i = 1,..., s,

находим

 

 

 

i

 

loga b(mod p 1) по китайской теореме об остатках.

Докажем оценку

сложности алгоритма.

Набор элементов

a(p1)/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

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