Characterizing Safe Primes Via Primitive Roots | Synapse