在整数中，离散对数（）是一种基于同余运算和原根的一种对数运算。而在实数中对数的定义 log "a" 是指对于给定的 "a" 和 "b"，有一个数 "x"，使得。相同地在任何群 "G"中可为所有整数 "k"定义一个幂数为 "b"，而离散对数 log "a"是指使得 的整数 "k"。 离散对数在一些特殊情况下可以快速计算。然而，通常没有具非常效率的方法来计算它们。公钥密码学中几个重要算法的基础，是假设寻找离散对数的问题解，在仔细选择过的群中，并不存在有效率的求解算法。
定义.当模fo