A general number field sieve implementation

  • Daniel J. Bernstein
  • A. K. Lenstra
Conference paper
Part of the Lecture Notes in Mathematics book series (LNM, volume 1554)


The general number field sieve is the asymptotically fastest—and by far most complex—factoring algorithm known. We have implemented this algorithm, including five practical improvements: projective polynomials, the lattice sieve, the large prime variation, character columns, and the positive square root method. In this paper we describe our implementation and list some factorizations we obtained, including the record factorization of 2523 − 1.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    L.M. Adleman, Factoring numbers using singular integers, Proc. 23rd Annual ACM Symp. on Theory of Computing (STOC), New Orleans, May 6–8, 1991, 64–71.Google Scholar
  2. 2.
    W. Bosma, M.-P. van der Hulst, Primality proving with cyclotomy, Universiteit van Amsterdam, 1990.Google Scholar
  3. 3.
    J.P. Buhler, H.W. Lenstra, Jr., C. Pomerance, Factoring integers with the number field sieve, this volume, pp. 50–94.Google Scholar
  4. 4.
    J.-M. Couveignes, Computing a square root for the number field sieve, this volume, pp. 95–102.Google Scholar
  5. 5.
    J.A. Davis, D.B. Holdridge, Factorization using the quadratic sieve algorithm, Tech. Report SAND 83-1346, Sandia National Laboratories, Albuquerque, New Mexico, 1983.Google Scholar
  6. 6.
    B. Dixon, A.K. Lenstra, Factoring integers using SIMD sieves, Advances in Cryptology, Eurocrypt ′93, to appear.Google Scholar
  7. 7.
    D.E. Knuth, The art of computer programming, volume 2, Seminumerical algorithms, second edition, Addison-Wesley, Reading, Massachusetts, 1981.MATHGoogle Scholar
  8. 8.
    A.K. Lenstra, H.W. Lenstra, Jr., M.S. Manasse, J.M. Pollard, The factorization of the ninth Fermat number, Math. Comp. 61 (1993), to appear.Google Scholar
  9. 9.
    A.K. Lenstra, H.W. Lenstra, Jr., M.S. Manasse, J.M. Pollard, The number field sieve, this volume, pp. 11–42.Google Scholar
  10. 10.
    A.K. Lenstra, M.S. Manasse, Factoring with two large primes, Math. Comp., to appear.Google Scholar
  11. 11.
    H.W. Lenstra, Jr., Factoring integers with elliptic curves, Ann. of Math. 126 (1987), 649–673.MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    F. Morain, Implementation of the Goldwasser-Kilian-Atkin primality testing algorithm, INRIA report 911, INRIA-Rocquencourt, 1988.Google Scholar
  13. 13.
    J.M. Pollard, The lattice sieve, this volume, pp. 43–49.Google Scholar
  14. 14.
    C. Pomerance, The quadratic sieve factoring algorithm, Lecture Notes in Comput. Sci. 209 (1985), 169–182.MathSciNetCrossRefMATHGoogle Scholar
  15. 15.
    D. Wiedemann, Solving sparse linear equations over finite fields, IEEE Trans. Inform. Theory 32 (1986), 54–62.MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag 1993

Authors and Affiliations

  • Daniel J. Bernstein
    • 1
    • 2
  • A. K. Lenstra
    • 1
    • 2
  1. 1.BellportUSA
  2. 2.MorristownUSA

Personalised recommendations