Implementing the asymptotically fast version of the elliptic curve primality proving algorithm

The elliptic curve primality proving (ECPP) algorithm is one of the current fastest practical algorithms for proving the primality of large numbers. Its running time cannot be proven rigorously, but heuristic arguments show that it should run in time O ((log N)^5) to prove the primality of N. An asymptotically fast version of it, attributed to J. O. Shallit, runs in time O ((log N)^4). The aim of this article is to describe this version in more details, leading to actual implementations able to handle numbers with several thousands of decimal digits.

[1]  Andreas Enge,et al.  Comparing Invariants for Class Fields of Imaginary Quadratic Fields , 2002, ANTS.

[2]  Andreas Enge,et al.  Modular curves of composite level , 2005 .

[3]  François Morain,et al.  Primality Proving Using Elliptic Curves: An Update , 1998, ANTS.

[4]  Peter Stevenhagen,et al.  Generating Class Fields using Shimura Reciprocity , 1998, ANTS.

[5]  Peter Stevenhagen,et al.  Elliptic Curves with a Given Number of Points , 2004, ANTS.

[6]  A. Atkin,et al.  ELLIPTIC CURVES AND PRIMALITY PROVING , 1993 .

[7]  H. Lenstra,et al.  Primalitv Testing and Jacobi Sums , 2010 .

[8]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[9]  Joe Kilian,et al.  Primality testing using elliptic curves , 1999, JACM.

[10]  Qi Cheng,et al.  Primality Proving via One Round in ECPP and One Iteration in AKS , 2003, Journal of Cryptology.

[11]  Tommy Färnqvist Number Theory Meets Cache Locality – Efficient Implementation of a Small Prime FFT for the GNU Multiple Precision Arithmetic Library , 2005 .

[12]  H. Diamond,et al.  Analytic computation of the prime-counting function , 2004 .

[13]  Leonard M. Adleman,et al.  On distinguishing prime numbers from composite numbers , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[14]  M. Ayad Points S-entiers des courbes elliptiques , 1992 .

[15]  Jean Marc Couveignes,et al.  Action of Modular Correspondences around CM Points , 2002, ANTS.

[16]  Stéphane Louboutin,et al.  Computation of class numbers of quadratic number fields , 2002, Math. Comput..

[17]  Andreas Enge,et al.  The complexity of class polynomial computation via floating point approximations , 2006, Math. Comput..

[18]  W. Narkiewicz Elementary and Analytic Theory of Algebraic Numbers , 1990 .

[19]  A. Gee,et al.  Class invariants by Shimura's reciprocity law , 1999 .

[20]  H. Dubner,et al.  Primes of the form . , 2000 .

[21]  T. Wirth,et al.  Proving the Primality of Very Large Numbers with fastECPP , 2004, ANTS.

[22]  Pedro Berrizbeitia,et al.  Sharpening "Primes is in P" for a large family of numbers , 2002, Math. Comput..

[23]  Manindra Agrawal,et al.  PRIMES is in P , 2004 .

[24]  François Morain,et al.  Distributed Primality Proving and the Primality of (23539+1)/3 , 1991, EUROCRYPT.

[25]  Arjen K. Lenstra,et al.  Algorithms in Number Theory , 1991, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity.

[26]  Henri Cohen,et al.  Heuristics on class groups of number fields , 1984 .

[27]  Andreas Enge,et al.  Fast Decomposition of Polynomials with Known Galois Group , 2003, AAECC.

[28]  Reinhard Schertz,et al.  Weber's class invariants revisited , 2002 .

[29]  Frann Cois Morain,et al.  DISTRIBUTED PRIMALITY PROVING AND THE PRIMALITY OF , 1990 .

[30]  R. Gregory Taylor,et al.  Modern computer algebra , 2002, SIGA.

[31]  Preda Mihailescu,et al.  Fast convolutions meet Montgomery , 2007, Math. Comput..

[32]  Hendrik W. Lenstra,et al.  Primality Testing with Gaussian Periods , 2002, FSTTCS.

[33]  D. Bernstein Proving Primality In Essentially Quartic Expected Time , 2003 .

[34]  C. Pomerance,et al.  Prime Numbers: A Computational Perspective , 2002 .

[35]  Guillaume Hanrot,et al.  Solvability by radicals from an algorithmic point of view , 2001, ISSAC '01.