SIMD-Based Implementations of Sieving in Integer-Factoring Algorithms

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.

[1]  Don Coppersmith,et al.  Discrete logarithms inGF(p) , 2005, Algorithmica.

[2]  Dj Daniel Bernstein,et al.  A general number field sieve implementation , 1993 .

[3]  Jean-Jacques Quisquater,et al.  Advances in Cryptology — EUROCRYPT ’95 , 2001, Lecture Notes in Computer Science.

[4]  H. Lenstra,et al.  Factoring integers with the number field sieve , 1993 .

[5]  M. Briggs An Introduction to the General Number Field Sieve , 1998 .

[6]  J. Brillhart,et al.  A method of factoring and the factorization of , 1975 .

[7]  H. W. Lenstra,et al.  Factoring integers with elliptic curves , 1987 .

[8]  Leonard M. Adleman,et al.  Function Field Sieve Method for Discrete Logarithms over Finite Fields , 1999, Inf. Comput..

[9]  J. Pollard The lattice sieve , 1993 .

[10]  D. H. Lehmer,et al.  On factoring large numbers , 1931 .

[11]  Arjen K. Lenstra,et al.  Factoring Integers Using SIMD Sieves , 1994, EUROCRYPT.

[12]  Aggelos Kiayias,et al.  BiTR: Built-in Tamper Resilience , 2011, IACR Cryptol. ePrint Arch..

[13]  Arjen K. Lenstra,et al.  The number field sieve , 1990, STOC '90.

[14]  Peter L. Montgomery,et al.  A Block Lanczos Algorithm for Finding Dependencies Over GF(2) , 1995, EUROCRYPT.

[15]  Arjen K. Lenstra,et al.  Factorization of a 768-Bit RSA Modulus , 2010, CRYPTO.

[16]  Ernest F. Brickell,et al.  Advances in Cryptology — CRYPTO’ 92 , 2001, Lecture Notes in Computer Science.

[17]  Carl Pomerance,et al.  The Quadratic Sieve Factoring Algorithm , 1985, EUROCRYPT.

[18]  Carl Pomerance,et al.  The Development of the Number Field Sieve , 1994 .

[19]  J. Dixon Asymptotically fast factorization of integers , 1981 .

[20]  Kevin S. McCurley,et al.  Massively Parallel Computation of Discrete Logarithms , 1992, CRYPTO.

[21]  Tal Rabin Advances in Cryptology - CRYPTO 2010, 30th Annual Cryptology Conference, Santa Barbara, CA, USA, August 15-19, 2010. Proceedings , 2010, CRYPTO.

[22]  A. K. Lenstra,et al.  The Development of the Number Field Sieve , 1993 .

[23]  Tor Helleseth,et al.  Advances in Cryptology — EUROCRYPT ’93 , 2001, Lecture Notes in Computer Science.

[24]  Robert D. Silverman The multiple polynomial quadratic sieve , 1987 .