DISCRETE LOGARITHMS
By Nihal Jayachandran
2K20/CO/297
PRE-REQUISITES
1. CONGRUENCE MODULO
2. PRIMITIVE ROOTS
CONGRUENCE MODULO
● Congruence is an equivalence relation operation under modular arithmetic.
● It states that if given an integer n > 1, called a modulus, two integers a and b are said to be
congruent modulo n, if n is a divisor of their difference.
So there should be an integer k such that a − b = kn.
● Can be denoted as follows:-
Reflexivity: a ≡ a (mod n)
Symmetry: a ≡ b (mod n) if b ≡ a (mod n) for all a, b, and n.
Transitivity: If a ≡ b (mod n) and b ≡ c (mod n), then a ≡ c (mod n)
PRIMITIVE ROOTS
● A primitive root of a prime number n is an integer g such that g(mod)n has a
multiplicative order of n-1. This is only true if g and n are relatively prime.
● That is an integer g is a primitive root of (mod n) if for every number relatively prime to n
there is an integer z such that
● Here, for every value of 1<=z<=(n-1) a distinct 𝛼 should be the resultant such that
1<=𝛼 <=(n-1)
● Multiplicative order- The smallest exponent e for which
DISCRETE LOGARITHMS
● If 𝛼 is an arbitrary integer relatively prime to n and g is a primitive root of n, then there
exists among the numbers 1, 2, ...,Φ(n), where Φ(n) is the totient function, exactly one
number z such that:-
● The number z is then called the discrete logarithm of a with respect to the base g modulo
n and can be denoted as: z = indg a (mod n) OR z = logg(𝛼).
● The reason it is called discrete logarithm is because its definition is analogous to that of
the usual logarithm.
● a ≡ g^z (mod m) is equivalent to logg(a) ≡ z (mod k), where k is the order of g modulo m.
logb(y) = x is equivalent to y = b^x.)
DISCRETE LOGARITHM PROBLEM
Question: Find the discrete logarithms of each unit modulo 11 to the base 2.
Solution: Since 2 is a primitive root modulo 11, we can write each unit as a power of
2. The simplest way to do this is, is to compute each of the values 2^0, 2^1, ... ,
2^10 modulo 11. The table of results is as follows:
Here, for example, 3 · 6 ≡ 7 (mod 11), and log2(3)+log2(6) ≡ log2(7) (mod 10), since
10 is the order of 2 modulo 11.
DISCRETE LOGARITHM PROBLEM
Question: Calculate k in the equation 3^k ≡ 13 (mod 17) in the group (Z17)*.
Solution: By doing the table similar to the last question we find that k=4.
According to Euler’s Theorem- 3^16 ≡ 1(mod 17)
Thus, the equation has infinitely many solutions of the form 4 + 16n, where
-∞<=n<∞
DISCRETE LOGARITHM PROBLEM
Question: Suppose G = (Z5641)*. Then Calculate log337 in G.
Solution: The question can be rewritten as calculate x in 34 ≡ 3^x(mod 5641)
where x is the discrete logarithm of 34 with respect to base 3 modulo 5641.
As it can be seen it is very complex to find the discrete logarithm in this case using
the aforementioned tabular method. It is a known fact that for large prime numbers
it is in general very difficult to compute discrete logarithms using any method or
algorithms that are currently available.
DISCRETE LOGARITHM APPLICATION
● Here for given g, z, and n, it is a straightforward matter to calculate 𝛼. At the worst, we
must perform x repeated multiplications, and algorithms exists already for achieving
greater efficiency.
● However, given 𝛼, g, and n, it is, in general, very difficult to calculate z . The difficulty
seems to be on the same order of magnitude as that of factoring primes required for RSA.
● In fact there does not exist a polynomial time algorithm to solve the Discrete Logarithm
Problem and the fastest known algorithm works in exponential time.
● Discrete logarithms are fundamental to a number of public-key algorithms, such as
Diffie-Hellman key exchange and the digital signature algorithm (DSA).
LIST OF REFERENCES
● https://www.brainkart.com/article/Discrete-Logarithms_8433/
● https://www.hypr.com/security-encyclopedia/diffie-hellman-algorithim
● https://mathworld.wolfram.com/DiscreteLogarithm.html
● https://mathworld.wolfram.com/PrimitiveRoot.html
● https://www.whitman.edu/mathematics/higher_math_online/section03.01.html
● https://www.tutorialspoint.com/what-is-discrete-logarithmic-problem-in-informatio
n-security
THANK YOU