posted 17 Dec 2021
updated 28 Jul 2025
Discrete Log Problem and Primitive Roots
§ Overview
In complexity theory, we often reduce one problem into another and say that it is at least as hard. The discrete log problem (DLP) is often "the other problem"; it is difficult to solve as it belongs in the class , meaning that if a problem is able to be reduced to DLP it at least belongs into this class.
§ The Discrete Log Problem
Discrete Log Problem in
Given non-zero elements belonging to , where prime, the discrete log problem is finding an exponent such that
There may not exist an exponent for all and , the simplest counterexample would be , then the discrete log problem only has a solution if as well.
The discrete log problem is in . We do not know of an efficient method to solve the discrete log problem, and we will investigate some methods that work in specific instances of the discrete log.
§ Complexity
As stated earlier, it is believed that the discrete log problem belongs to and no polynomial time algorithm exists to solve it.
In this chapter we will explore various ways that the DLP can be solved if the group has some specific properties.
But the naïve method would to brute-force the problem via trial multiplication, i.e. given a DLP we would try to solve by raising by higher and higher powers until we get
This method is exponential in the number of digits of the size of the group.
§ Primitive Roots
Let be prime, then there exists an element with powers giving every element .
Primitive Roots
From Theorem 1, the values of are called "primitive roots".
Primitive roots exist in for where is an odd prime.
§ Contents
In certain cases, properties of the group allow certain shortcuts to be taken. These shortcuts are still exponential in the number of digits of the size of the group, but the associated constants are smaller.