ordp(g) is a Prime Power
17 Dec 2021
Motivation
The discrete logarithm problem (DLP), given by gx≡ph, can become easy to solve when ordp(g)=qe for some q∈P,e∈Z.
The (†) Algorithm
I don't know if this specific algorithm has a name, but I referred to it as algorithm (†) in Discrete Logarithm in Fp: Pohlig-Hellman. On Wikipedia it appears to just be referred to as a specific subroutine for Pohlig-Hellman when a group has prime power order.
Sps. p,q∈P, and there exists an algorithm (‡‡) that can solve the DLP over (Zp)× when ordp(g)=q. Again, we depend on algorithm (‡‡) for algorithm (†).
About algorithm (‡‡):
(†) Algorithm
Sps. we have a DLP gx≡ph such that ordp(g)=qe.
- First we solve for x0 in (gqe−1)x0≡phqe−1
- Then, for all i∈[1…t] and 0≤xi<q we solve:
(gqe−1)xi≡p(hg∑n=0i−1−xnqn)qe−1−i
These congruences can be solved using algorithm (‡‡).
Finally, the sol'n is given by
x=n=0∑e−1(xnqn).
The sol'n of the DLP can be found using (†) in O(eSqe) time, provided our assumption of the time complexity for algorithm (‡‡) holds.