A general number field sieve implementation (original) (raw)

Abstract

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.

Thanks to Joe Buhler, Hendrik Lenstra, John Pollard, and Carl Pomerance for their helpful suggestions, and to Andrew Odlyzko for his help with the factorization of 2523 − 1. The first author was supported in part by a National Science Foundation Graduate Fellowship and by Bellcore.

Preview

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  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. W. Bosma, M.-P. van der Hulst, Primality proving with cyclotomy, Universiteit van Amsterdam, 1990.
    Google Scholar
  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. J.-M. Couveignes, Computing a square root for the number field sieve, this volume, pp. 95–102.
    Google Scholar
  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. B. Dixon, A.K. Lenstra, Factoring integers using SIMD sieves, Advances in Cryptology, Eurocrypt ′93, to appear.
    Google Scholar
  7. D.E. Knuth, The art of computer programming, volume 2, Seminumerical algorithms, second edition, Addison-Wesley, Reading, Massachusetts, 1981.
    MATH Google Scholar
  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. 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. A.K. Lenstra, M.S. Manasse, Factoring with two large primes, Math. Comp., to appear.
    Google Scholar
  11. H.W. Lenstra, Jr., Factoring integers with elliptic curves, Ann. of Math. 126 (1987), 649–673.
    Article MathSciNet MATH Google Scholar
  12. F. Morain, Implementation of the Goldwasser-Kilian-Atkin primality testing algorithm, INRIA report 911, INRIA-Rocquencourt, 1988.
    Google Scholar
  13. J.M. Pollard, The lattice sieve, this volume, pp. 43–49.
    Google Scholar
  14. C. Pomerance, The quadratic sieve factoring algorithm, Lecture Notes in Comput. Sci. 209 (1985), 169–182.
    Article MathSciNet MATH Google Scholar
  15. D. Wiedemann, Solving sparse linear equations over finite fields, IEEE Trans. Inform. Theory 32 (1986), 54–62.
    Article MathSciNet MATH Google Scholar

Download references

Author information

Authors and Affiliations

  1. 5 Brewster Lane, 11713, Bellport, NY, USA
    Daniel J. Bernstein & A. K. Lenstra
  2. Room MRE-2Q334, Bellcore, 445 South Street, 07960, Morristown, NJ, USA
    Daniel J. Bernstein & A. K. Lenstra

Authors

  1. Daniel J. Bernstein
  2. A. K. Lenstra

Editor information

Arjen K. Lenstra Hendrik W. Lenstra Jr.

Rights and permissions

© 1993 Springer-Verlag

About this paper

Cite this paper

Bernstein, D.J., Lenstra, A.K. (1993). A general number field sieve implementation. In: Lenstra, A.K., Lenstra, H.W. (eds) The development of the number field sieve. Lecture Notes in Mathematics, vol 1554. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0091541

Download citation

Keywords

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.

Publish with us