Алгоритм Поліґа — Геллмана

Алгоритм Поліґа — Геллмана (англ. Pohlig–Hellman algorithm) — спеціалізований алгоритм дискретного логарифмування, який отримує перевагу від факторизації порядку мультиплікативної групи де  — гладке число.
Нехай буде розкладом на прості множники. Якщо тоді підхід полягає в визначенні для і тоді отримання Кожен з визначається обчисленням цифр для його -арного представлення: де

Алгоритм

ред.

ВХІД: твірний елемент   циклічної групи   порядку   і елемент  

ВИХІД: дискретний логарифм  

  1. Знайти розкладення на прості множники для  :   де  
  2. Для   від   до   робимо наступне:
    (Обчислити   де  )
    1. Покласти   і  
    2. Обчислити  
    3. (Обчислити  ) Для   від   для   робимо наступне:
      Обчислити   i  
      Обчислити  
    4. Встановити  
  3. Використати, наприклад, алгоритм Гаусса для обчислення цілого   такий що   для  
  4. Повернути .

Складність

ред.

У найгіршому випадку складність алгоритму становить   для групи порядку  , але алгоритм ефективніший, коли порядок є гладким числом. А саме, якщо   є розкладенням на прості множники  , тоді складність можна виразити як  [1].

Приклад групи, де алгоритм ефективний, такий. Розглянемо групу  , де   є простим завдовжки   цифр:

 

Порядок   такий  . Із того, що найбільший простий дільник для   лише 350377, застосовуючи алгоритм Поліґа—Геллмана порівняно просто обчислити логарифми в цій групі.

Примітки

ред.

Джерела

ред.
  • 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 (PDF). IEEE Transactions on Information Theory (24): 106—110. Архів оригіналу (PDF) за 27 лютого 2012. Процитовано 22 серпня 2012.
  • Menezes, Alfred J.; van Oorschot, Paul C.; Vanstone, Scott A. (1997). Number-Theoretic Reference Problems (PDF). Handbook of Applied Cryptography. CRC Press. с. 107–109. ISBN 0-8493-8523-7.