SIMD-Based Implementations of Sieving in Integer-Factoring Algorithms

  • Binanda Sengupta
  • Abhijit Das
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8204)


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.


Integer Factorization Sieving Number-Field Sieve Method Multiple-Polynomial Quadratic Sieve Method Single Instruction Multiple Data Streaming SIMD Extensions Advanced Vector Extensions 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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)CrossRefGoogle Scholar
  2. 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)CrossRefGoogle Scholar
  3. 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. 4.
    Dixon, J.D.: Asymptotically fast factorization of integers. Mathematics of Computation 36, 255–260 (1981)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Lehmer, D.H., Powers, R.E.: On factoring large numbers. Bulletin of the American Mathematical Society 37, 770–776 (1931)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Morrison, M.A., Brillhart, J.: A method of factoring and the factorization of F 7. Mathematics of Computation 29, 183–205 (1975)MathSciNetzbMATHGoogle Scholar
  7. 7.
    Silverman, R.D.: The multiple polynomial quadratic sieve. Mathematics of Computation 48, 329–339 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 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. 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. 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. 11.
    Coppersmith, D., Odlyzko, A.M., Schroeppel, R.: Discrete logarithms in GF(p). Algorithmica 1(1), 1–15 (1986)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Lenstra, H.W.: Factoring integers with elliptic curves. Annals of Mathematics 126, 649–673 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 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)CrossRefGoogle Scholar
  14. 14.
    Microsoft Corporation: Streaming SIMD Extensions 2 Instructions: Microsoft Specific,
  15. 15.
  16. 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)CrossRefGoogle Scholar
  17. 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. 18.
    Free Software Foundation: The GNU Multiple Precision Arithmetic Library,
  19. 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)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 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)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Binanda Sengupta
    • 1
  • Abhijit Das
    • 1
  1. 1.Department of Computer Science and EngineeringIndian Institute of Technology KharagpurIndia

Personalised recommendations