This document discusses discrete logarithms. It begins with prerequisites of congruence modulo and primitive roots. It then defines congruence modulo, primitive roots and their properties. It proceeds to define discrete logarithms as the exponent that a primitive root must be raised to to get a given element modulo a prime. It provides examples of solving for discrete logarithms. It notes that while finding discrete logarithms is easy given the base and exponent, finding the exponent given the base and element is very difficult, forming the basis of cryptographic applications like Diffie-Hellman key exchange.