5 questions to test your understanding
In the group (ℤ/7ℤ)*, the element 2 satisfies 2³ ≡ 1 (mod 7). Why is 2 NOT a primitive root modulo 7?
The security of Diffie-Hellman key exchange relies on a primitive root g modulo a large prime p. An attacker knows g, p, and the public value g^x mod p, but needs to find x. Why does the existence of a primitive root make this problem hard while making g^x easy to compute?
Fermat's Little Theorem guarantees that g^(p−1) ≡ 1 (mod p) for most nonzero g. This means nearly every nonzero element of (ℤ/pℤ)* is a primitive root modulo p.
The number of primitive roots modulo a prime p equals p−2.
What is the multiplicative order of an element g in (ℤ/pℤ)*, and why must g be a primitive root for the discrete logarithm problem to be well-defined for every nonzero target h?