Discrete Logarithm in Cryptography