Skip to main content

SIMD-Based Implementations of Sieving in Integer-Factoring Algorithms

  • Conference paper
Security, Privacy, and Applied Cryptography Engineering (SPACE 2013)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 8204))

  • 818 Accesses

Abstract

The best known integer-factoring algorithms consist of two stages: the sieving stage and the linear-algebra stage. Efficient parallel implementations of both these stages have been reported in the literature. All these implementations are based on multi-core or distributed parallelization. In this paper, we experimentally demonstrate that SIMD instructions available in many modern processors can lead to additional speedup in the computation of each core. We handle the sieving stage of the two fastest known factoring algorithms (NFSM and MPQSM), and are able to achieve 15–40% speedup over non-SIMD implementations. Although the sieving stage offers many tantalizing possibilities of data parallelism, exploiting these possibilities to get practical advantages is a challenging task. Indeed, to the best of our knowledge, no similar SIMD-based implementation of sieving seems to have been reported in the literature.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Pomerance, C.: The quadratic sieve factoring algorithm. In: Beth, T., Cot, N., Ingemarsson, I. (eds.) EUROCRYPT 1984. LNCS, vol. 209, pp. 169–182. Springer, Heidelberg (1985)

    Chapter  Google Scholar 

  2. Dixon, B., Lenstra, A.K.: Factoring integers using SIMD sieves. In: Helleseth, T. (ed.) EUROCRYPT 1993. LNCS, vol. 765, pp. 28–39. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  3. Bernstein, D.J., Lenstra, A.K.: A general number field sieve implementation. In: The Development of the Number Field Sieve. Lecture Notes in Mathematics, vol. 1554, pp. 103–126 (1993)

    Google Scholar 

  4. Dixon, J.D.: Asymptotically fast factorization of integers. Mathematics of Computation 36, 255–260 (1981)

    Article  MathSciNet  MATH  Google Scholar 

  5. Lehmer, D.H., Powers, R.E.: On factoring large numbers. Bulletin of the American Mathematical Society 37, 770–776 (1931)

    Article  MathSciNet  Google Scholar 

  6. Morrison, M.A., Brillhart, J.: A method of factoring and the factorization of F 7. Mathematics of Computation 29, 183–205 (1975)

    MathSciNet  MATH  Google Scholar 

  7. Silverman, R.D.: The multiple polynomial quadratic sieve. Mathematics of Computation 48, 329–339 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  8. Lenstra, A.K., Lenstra, H.W., Manasse, M.S., Pollard, J.M.: The number field sieve. In: STOC, pp. 564–572 (1990)

    Google Scholar 

  9. Buhler, J.P., Lenstra, H.W., Pomerance, C.: Factoring integers with the number field sieve. In: The Development of the Number Field Sieve. Lecture Notes in Mathematics, vol. 1554, pp. 50–94 (1993)

    Google Scholar 

  10. Pollard, J.M.: The lattice sieve. In: The Development of the Number Field Sieve. Lecture Notes in Mathematics, vol. 1554, pp. 43–49 (1993)

    Google Scholar 

  11. Coppersmith, D., Odlyzko, A.M., Schroeppel, R.: Discrete logarithms in GF(p). Algorithmica 1(1), 1–15 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  12. Lenstra, H.W.: Factoring integers with elliptic curves. Annals of Mathematics 126, 649–673 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  13. Montgomery, P.L.: A block Lanczos algorithm for finding dependencies over GF(2). In: Guillou, L.C., Quisquater, J.-J. (eds.) EUROCRYPT 1995. LNCS, vol. 921, pp. 106–120. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  14. Microsoft Corporation: Streaming SIMD Extensions 2 Instructions: Microsoft Specific, http://msdn.microsoft.com/en-us/library/kcwz153av=vs.80.aspx

  15. Intel Corporation: Intrinsics for Intel(R) Advanced Vector Extensions, http://software.intel.com/sites/products/documentation/hpc/composerxe/en-us/2011Update/cpp/lin/intref_cls/common/intref_bk_advectorext.htm

  16. Kleinjung, T., et al.: Factorization of a 768-bit RSA modulus. In: Rabin, T. (ed.) CRYPTO 2010. LNCS, vol. 6223, pp. 333–350. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  17. Briggs, M.E.: An introduction to the general number field sieve. Master’s thesis, Virginia Polytechnic Institute and State University (1998)

    Google Scholar 

  18. Free Software Foundation: The GNU Multiple Precision Arithmetic Library, http://gmplib.org/

  19. Adleman, L.M., Huang, M.D.A.: Function field sieve method for discrete logarithms over finite fields. Information and Computation 151(1-2), 5–16 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  20. Gordon, D.M., McCurley, K.S.: Massively parallel computation of discrete logarithms. In: Brickell, E.F. (ed.) CRYPTO 1992. LNCS, vol. 740, pp. 312–323. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sengupta, B., Das, A. (2013). SIMD-Based Implementations of Sieving in Integer-Factoring Algorithms. In: Gierlichs, B., Guilley, S., Mukhopadhyay, D. (eds) Security, Privacy, and Applied Cryptography Engineering. SPACE 2013. Lecture Notes in Computer Science, vol 8204. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41224-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-41224-0_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-41223-3

  • Online ISBN: 978-3-642-41224-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics