Index calculus algorithm

In computational number theory, the index calculus algorithm is a probabilistic algorithm for computing discrete logarithms. Dedicated to the discrete logarithm (Z/qZ)where q is a prime, index calculus leads to a family of algorithms adapted to finite fields and to some families of elliptic curves.
The algorithm collects relations among the discrete logarithms of small primes, computes them by a linear algebra procedure and finally expresses the desired discrete logarithm with respect to the discrete logarithms of small primes.