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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
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)
Dixon, J.D.: Asymptotically fast factorization of integers. Mathematics of Computation 36, 255–260 (1981)
Lehmer, D.H., Powers, R.E.: On factoring large numbers. Bulletin of the American Mathematical Society 37, 770–776 (1931)
Morrison, M.A., Brillhart, J.: A method of factoring and the factorization of F 7. Mathematics of Computation 29, 183–205 (1975)
Silverman, R.D.: The multiple polynomial quadratic sieve. Mathematics of Computation 48, 329–339 (1987)
Lenstra, A.K., Lenstra, H.W., Manasse, M.S., Pollard, J.M.: The number field sieve. In: STOC, pp. 564–572 (1990)
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)
Pollard, J.M.: The lattice sieve. In: The Development of the Number Field Sieve. Lecture Notes in Mathematics, vol. 1554, pp. 43–49 (1993)
Coppersmith, D., Odlyzko, A.M., Schroeppel, R.: Discrete logarithms in GF(p). Algorithmica 1(1), 1–15 (1986)
Lenstra, H.W.: Factoring integers with elliptic curves. Annals of Mathematics 126, 649–673 (1987)
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)
Microsoft Corporation: Streaming SIMD Extensions 2 Instructions: Microsoft Specific, http://msdn.microsoft.com/en-us/library/kcwz153av=vs.80.aspx
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
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)
Briggs, M.E.: An introduction to the general number field sieve. Master’s thesis, Virginia Polytechnic Institute and State University (1998)
Free Software Foundation: The GNU Multiple Precision Arithmetic Library, http://gmplib.org/
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)