Content deleted Content added
Add one more link to Chinese remainder theorem |
|||
(23 intermediate revisions by 18 users not shown) | |||
Line 1:
{{Short description|Algorithm for computing logarithms}}
[[File:Pohlig-Hellman-Diagram.svg|thumb|350px|alt=Pohlig Hellman Algorithm|Steps of the
In [[group theory]], the '''Pohlig–Hellman algorithm''', sometimes credited as the '''Silver–Pohlig–Hellman algorithm''',<ref name="Mollin06p344">[[#Mollin06|Mollin 2006]], pg. 344</ref> is a special-purpose [[algorithm]] for computing [[discrete logarithm]]s in a [[finite abelian group]] whose order is a [[smooth integer]].
The algorithm was
== Groups of prime-power order ==
As an important special case, which is used as a subroutine in the general algorithm (see below), the
(Note that for readability, the algorithm is stated for cyclic groups — in general, <math>G</math> must be replaced by the subgroup <math>\langle g\rangle</math> generated by <math>g</math>, which is always cyclic.)
Line 18 ⟶ 19:
:## Set <math>x_{k+1}:=x_k+p^kd_k</math>.
:# Return <math>x_e</math>.
== The general algorithm ==
In this section, we present the general case of the
(Again, we assume the group to be cyclic, with the understanding that a non-cyclic group must be replaced by the subgroup generated by the logarithm's base element.)
Line 33 ⟶ 34:
:# Solve the simultaneous congruence <math display="block">x\equiv x_i\pmod{p_i^{e_i}}
\quad\forall i\in\{1,\dots,r\}
\text{.}</math>The [[Chinese remainder theorem]] guarantees there exists a unique solution <math>x\in\{0,\dots,n-1\}</math>.
:# Return <math>x</math>.
The correctness of this algorithm can be verified via the [[Abelian group#Classification|classification of finite abelian groups]]: Raising <math>g</math> and <math>h</math> to the power of <math>n/p_i^{e_i}</math> can be understood as the projection to the factor group of order <math>p_i^{e_i}</math>.
==Complexity==
The worst-case input for the Pohlig–Hellman algorithm is a group of prime order: In that case, it degrades to the [[
==Notes==
Line 44 ⟶ 45:
==References==
*{{cite book|title=An Introduction To Cryptography|url=https://archive.org/details/An_Introduction_to_Cryptography_Second_Edition|last=Mollin|first= Richard|date=2006-09-18|publisher=Chapman and Hall/CRC|edition=2nd|isbn=978-1-58488-618-1|page=[https://archive.org/details/An_Introduction_to_Cryptography_Second_Edition/page/n353 344]|ref=Mollin06}}
*{{cite journal |
*{{cite book|first1=Alfred J.|last1=Menezes|
{{Number-theoretic algorithms}}
|