Алгоритм Адлемана

Алгоритм Адлемана

Алгорим Адлемена — первый субэкспоненциальный алгоритм дискретного логарифмирования в кольце вычетов по модулю простого числа. Алгоритм был предложен Адлеманом в 1979 году.

Содержание

Исходные данные

Пусть задано сравнение

a^x\equiv b\pmod{p}, ((1))

Необходимо найти натуральное число x, удовлетворяющее сравнению (1).

Описание алгоритма

1 этап. Сформировать факторную базу, состоящую из всех простых чисел q:

q\leq B=e^{const\sqrt{\log{p}\log{\log{p}}}} ({{{2}}})

2 этап. С помощью перебора найти натуральные числа r_i такие, что

a^{r_i}\equiv\prod\limits_{q\leq B} q^{\alpha_{iq}}\pmod{p}, ({{{2}}})

то есть a^{r_i}\mod{p} раскладывается по факторной базе. Отсюда следует, что

r_i\equiv\sum\limits_{q\leq B} \alpha_{iq}\log_a{q}\pmod{p-1}. ((2))

3 этап. Набрав достаточно много соотношений (2), решить получившуюся систему линейных уравнений относительно неизвестных дискретных логарифмов элементов факторной базы (\log_a{q}).

4 этап. С помощью некоторого перебора найти одно начение r, для которого

a^{r}b\equiv\prod\limits_{q\leq B} q^{\beta_q}p_1\cdots p_k\pmod{p}, ({{{2}}})

где p_1,\dots,p_k — простые числа «средней» величины, то есть B<p_i<B_1, где B_1 = e^{const\sqrt{\log{p}\log{\log{p}}}} — также некоторая субэкспоненциальная граница.

5 этап. С помощью вычислений, аналогичных этапам 2 и 3 найти дискретные логарифмы \log_a{p_i}.

6 этап. Определить искомый дискретный логарифм:

x \equiv \log_a{b} \equiv -r +\sum\limits_{q\leq B} \beta_{q}\log_a{q} + \sum\limits_{i=1}^{k}\log_a{p_i}\pmod{p-1}. ({{{2}}})

Оценка сложности

Алгоритм Адлемана имеет эвристическую оценку сложности O(\exp{(c(\log{p}\log{\log{p}})^{1/2})}) арифметических операций, где c некоторая константа. На практике он недостаточно эффективен.

Литература



Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Алгоритм Адлемана" в других словарях:

  • Алгоритм Шенкса — (англ. Baby step giant step; также называемый алгоритм больших и малых шагов)  в теории групп, детерминированный алгоритм дискретного логарифмирования в кольце вычетов по модулю простого числа. Для модулей специального вида данный… …   Википедия

  • Алгоритм Фюрера — (англ. Fürer’s algorithm)  быстрый метод умножения больших целых чисел. Алгоритм был построен в 2007 году швейцарским математиком Мартином Фюрером[1] из университета штата Пенсильвания как асимптотически более быстрый алгоритм, чем его… …   Википедия

  • алгоритм цифровой подписи Райвеста-Шамира-Адлемана (алгоритм с открытым ключом) — (МСЭ Т Н.235.). [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN Rivest, Shamir and Adleman (public key algorithm)RSA …   Справочник технического переводчика

  • алгоритм шифрования с открытым ключом по алгоритму — Ривеста Шамира Адлемана (МСЭ Т Х.1122). [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN RSA public key algorithmRSA …   Справочник технического переводчика

  • Список алгоритмов — Эта страница информационный список. Основная статья: Алгоритм Ниже приводится список алгоритмов, группированный по категориям. Более детальные сведения приводятся в списке структур данных и …   Википедия

  • Программируемые алгоритмы —       Служебный список статей, созданный для координации работ по развитию темы.   Данное предупреждение не устанавл …   Википедия

  • Дискретное логарифмирование — (DLOG) задача обращения функции в некоторой конечной мультипликативной группе . Наиболее часто задачу дискретного логарифмирования рассматривают в мультипликативной группе кольца вычетов или конечного поля, а также в группе точек эллиптической… …   Википедия

  • Дискретный логарифм — Дискретное логарифмирование (DLOG) – задача обращения функции gx в некоторой конечной мультипликативной группе G. Наиболее часто задачу дискетного логарифмирования рассматривают в группе обратимых элементов кольца вычетов, в мультипликативной… …   Википедия

  • Индекс числа по модулю — Дискретное логарифмирование (DLOG) – задача обращения функции gx в некоторой конечной мультипликативной группе G. Наиболее часто задачу дискетного логарифмирования рассматривают в группе обратимых элементов кольца вычетов, в мультипликативной… …   Википедия

  • Метод квадратичных форм Шенкса — метод факторизации целых чисел, основанный на применении квадратичных форм, разработанный Даниелем Шенксом (англ. Daniel Shanks).[1] в 1975 году, как развитие метода факторизации Ферма. Для 32 разрядных компьютерах алгоритмы, основанные на… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»