Introduction to EECM (original) (raw)

ECM, the elliptic-curve method of integer factorization, was introduced in the following paper: Hendrik W. Lenstra, Jr. Factoring integers with elliptic curves. Annals of Mathematics 126 (1987), 649–673. Several refinements to ECM were eventually combined into a standard implementation, GMP-ECM, written by a team led by Paul Zimmermann. See http://ecm.gforge.inria.fr.

A new addition formula for curves of the form x^2+y^2=1+dx^2y^2 was introduced in the following paper, generalizing from one curve studied by Euler and Gauss:

Initial analysis and optimization of Edwards-curve operation counts by Daniel J. Bernstein and Tanja Lange suggested that Edwards curves would save time in many elliptic-curve computations, including ECM. See https://hyperelliptic.org/tanja/newelliptic/.

GMP-EECM, a variant of GMP-ECM, was the first software to set speed records using Edwards curves.EECM-MPFQ, the current EECM software, is even faster. EECM, GMP-EECM, and EECM-MPFQ were introduced in the following paper:

GPU-ECM, a highly parallel low-memory EECM implementation for graphics cards, was introduced in the following paper:

A rewritten CUDA-ECM with several times better GPU performance was introduced in the following paper, along with speedups for Core 2, Phenom II, and Cell:

Even better choices of twisted Edwards curves were introduced in the following paper and integrated into EECM-MPFQ:

Acknowledgments

Daniel J. Bernstein (https://cr.yp.to/djb.html) was supported by the U.S. National Science Foundation, grant number ITR-0716498. "Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation."

Peter Birkner (http://www.peter-birkner.de/), Tanja Lange (https://www.hyperelliptic.org/tanja), and Christiane Peters (http://www.win.tue.nl/~cpeters/) were supported by the European Commission through the ICT Programme under Contract ICT–2007–216676 ECRYPT-II.

Version

This is version 2017.01.22 of the index.html web page.