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 log3
37 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

DISCRETE LOGARITHMS.pdf

  • 1.
    DISCRETE LOGARITHMS By NihalJayachandran 2K20/CO/297
  • 2.
  • 3.
    CONGRUENCE MODULO ● Congruenceis 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)
  • 4.
    PRIMITIVE ROOTS ● Aprimitive 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
  • 5.
    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.)
  • 6.
    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.
  • 7.
    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<∞
  • 8.
    DISCRETE LOGARITHM PROBLEM Question:Suppose G = (Z5641 )*. Then Calculate log3 37 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.
  • 9.
    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).
  • 10.
    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
  • 11.