Modern Primality Tests
In Section 8.3, we studied various primality tests, essentially the N − 1 test, and saw that they require knowing the factorization of N − 1 (or N + 1, ... ), which are large numbers. Even though only partial factorizations are needed, the tests of Section 8.3 become impractical as soon as N has more than 100 digits, say. A breakthrough was made in 1980 by Adleman, Pomerance and Rumely, that enabled testing the primality of much larger numbers. The APR test was further simplified and improved by H. W. Lenstra and the author, and the resulting APRCL test was implemented in 1981 by A. K. Lenstra and the author, with the help of D. Winter. It is now possible to prove the primality of numbers with 1000 decimal digits in a not too unreasonable amount of time. The running time of this algorithm is O((ln N) C In in In N )for a suitable constant C. This is almost a polynomial time algorithm since for all practical purposes the function In In In N acts like a constant. (Note that the practical version of the algorithm is probabilistic, but that there exists a non-probabilistic but less practical version.)
Unable to display preview. Download preview PDF.