3. 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)
4. 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
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