Cryptography
Magma includes algorithms for elliptic curve group operations, discrete logarithms over finite fields and elliptic curves, lattice-based attacks, and primality proving.
Contributors
Primality and Factorisation
The factorisation of integers of the form pn±1, for small primes p, makes use of tables compiled by Richard Brent (ANU) that extend tables developed by the Cunningham project. In addition, Magma uses Richard's intelligent factorization code FACTOR.
One of the main integer factorization tools available in Magma is due to Arjen Lenstra (EPFL) and his collaborators: a multiple polynomial quadratic sieve developed by Arjen from his "factoring by email" MPQS during visits to Sydney in 1995 and 1998.
The primality of integers is proven using the ECPP (Elliptic Curves and Primality Proving) package written by François Morain (École Polytechnique and INRIA). The ECPP program in turn uses the BigNum package developed jointly by INRIA and Digital PRL.
Magma uses the GMP-ECM implementation of the elliptic curve method for integer factorisation. This was developed by Pierrick Gaudry, Jim Fougeron, Laurent Fousse, Alexander Kruppa, Dave Newman, and Paul Zimmermann.