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.


Direct Approach Number Field Number Ring Algebraic Number Field Quadratic Character 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


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.zbMATHGoogle 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.MathSciNetCrossRefzbMATHGoogle 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.MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    D. Wiedemann, Solving sparse linear equations over finite fields, IEEE Trans. Inform. Theory 32 (1986), 54–62.MathSciNetCrossRefzbMATHGoogle 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