Use of SIMD-based data parallelism to speed up sieving in integer-factoring algorithms

作者:

Highlights:

摘要

Many cryptographic protocols derive their security from the apparent computational intractability of the integer factorization problem. Currently, the best known integer-factoring algorithms run in subexponential time. Efficient parallel implementations of these algorithms constitute an important area of practical research. Most reported implementations use multi-core and/or distributed parallelization. In this paper, we use SIMD-based parallelization to speed up the sieving stage of integer-factoring algorithms. We experiment on the two fastest variants of factoring algorithms: the number-field sieve method and the multiple-polynomial quadratic sieve method. Using Intel’s SSE2 and AVX intrinsics, we have been able to speed up index calculations in each core during sieving. This performance enhancement is attributed to a reduction in the packing and unpacking overheads associated with SIMD registers. We handle both line sieving and lattice sieving. We also propose improvements to make our implementations cache-friendly. We obtain speedup figures in the range 5–40%. To the best of our knowledge, no public discussions on SIMD parallelization in the context of integer-factoring algorithms are available in the literature.

论文关键词:Integer factorization,Multiple-polynomial quadratic sieve method,Number-field sieve method,Lattice sieve method,Single instruction multiple data

论文评审过程:Received 21 August 2015, Revised 5 August 2016, Accepted 15 August 2016, Available online 31 August 2016, Version of Record 31 August 2016.

论文官网地址:https://doi.org/10.1016/j.amc.2016.08.019