Index Calculus Method
17 Dec 2021
Motivation
Under special cases, the discrete logarithm problem (DLP) becomes easier to solve, i.e. ordp(g) is the product of small primes, is a prime power, or is prime.
The Index Calculus Method
The index calculus method depends on our ability to solve discrete log problems (DLP) that satisfies the statement:
∃B∀(ℓ∈P≤B), gx≡pℓ.(¶)
Index Calculus
First, we compute the values
h⋅g−k(modp),k∈N,
and stopping when we find a k such that h⋅g−k(modp) is B-smooth, then for some eℓ
h⋅g−k(modp)≡pℓ∈P_≤B∏ℓeℓ.
Finally, we get that
x=loggh≡pk+ℓ∈P≤B∑[e_ℓlogg(ℓ)].
Where algorithm (¶) is used to solve for all the logg(ℓ) terms.[^1]
Algorithm (¶)
Again, we want to solve DLPs of the form
∀ℓ∈P≤B, gx≡pℓ.
One method is to compute for many random selections of exponents i the values
gi≡pgi.
Keeping only the values of gi that are B-smooth. Then, we get a get a number of linear equations in the unknown variables logg(ℓ) from taking the logarithm of the equation
gi≡pℓ∈P_≤B∏ℓuℓ(i)
which take the form
i≡logg(gi)≡ℓ∈P_≤B∑uℓ(i)logg(ℓ)(modp−1).
To find the values of logg(ℓ) we must solve the linear system; we may choose a sufficiently large number of exponents i to ensure we have enough linear equations to determine the logarithm values.