Алгоритм Поліґа-Геллмана
Алгоритм Поліґа-Геллмана (англ. Pohlig–Hellman algorithm) — спеціалізований алгоритм, який отримує перевагу від факторизації порядку мультиплікативної групи де — гладке число. Нехай буде розкладом на прості множники. Якщо тоді підхід полягає в визначенні для і тоді отримання Кожен з визначається обчисленням цифр для його -арного представлення: де
Алгоритм
ВХІД: твірний елемент циклічної групи порядку і елемент
ВИХІД: дискретний логарифм
- Знайти розкладення на прості множники для : де
- Для від до робимо наступне:
- (Обчислити де )
- Покласти і
- Обчислити
- (Обчислити ) Для від для робимо наступне:
- Обчислити i
- Обчислити
- Встановити
- Використати, наприклад, алгоритм Гаусса для обчислення цілого такий що для
- Повернути.
Складність
У найгіршому випадку складність алгоритму становить для групи порядку але алгоритм ефективніший коли порядок є гладким числом. ,А саме, якщо є розкладенням на прості множники тоді складність можна виразити як .[1]
Приклад групи, де алгоритм ефективний такий. Розглянемо групу де є простим завдовжки цифр:
Порядок такий З того, що найбільший простий дільник для лише 350377, використовуючи алгоритм Поліґа-Геллмана порівняно просто обчислити логарифми в цій групі.
Примітки
- Menezes, et. al 1997, pg. 108
Джерела
- Mollin, Richard (18 вересня 2006). An Introduction To Cryptography (вид. 2nd). Chapman and Hall/CRC. с. 344. ISBN 978-1-58488-618-1.
- S. Pohlig and M. Hellman (1978). An Improved Algorithm for Computing Logarithms over GF(p) and its Cryptographic Significance. IEEE Transactions on Information Theory (24): 106–110.
- Menezes, Alfred J.; van Oorschot, Paul C.; Vanstone, Scott A. (1997). Number-Theoretic Reference Problems. Handbook of Applied Cryptography. CRC Press. с. 107–109. ISBN 0-8493-8523-7.