For large prime numbers p, computing discrete logarithms of elements of the multiplicative group (Z/pZ) * is at present a very difficult problem. The security of certain cryptosystems is based on the difficulty of this computation. In this expository paper we discuss several generalizations of the discrete logarithm problem and we describe various algorithms to compute discrete logarithms.