An integrated parallel GNFS algorithm for integer factorization based on Linbox Montgomery block Lanczos method over GF(2)

Integer factorization is known to be one of the most important and useful methods in number theory and arithmetic. It also has a very close relationship to some algorithms in cryptography such as RSA algorithm. The RSA cryptosystem is one of the most popular and attractive public-key cryptosystems in the world today. Its security is based on the difficulty of integer factorization. Solving a large and sparse linear system over GF(2) is one of the most time consuming steps in most modern integer factorization algorithms including the fastest one, GNFS algorithm. The Montgomery block Lanczos method from Linbox [13] is for solving large and sparse linear systems over finite fields and it can be integrated into the general number field sieve (GNFS) algorithm which is the best known algorithm for factoring large integers over 110 digits. This paper will present an improved Montgomery block Lanczos method integrated with parallel GNFS algorithm. The experimental results show that the improved Montgomery block Lanczos method has a better performance compared with the original method. It can find more solutions or dependencies than the original method with less time complexities. Implementation details and experimental results are provided in this paper as well.

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

[2]  C. Lanczos An iteration method for the solution of the eigenvalue problem of linear differential and integral operators , 1950 .

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

[4]  Laurence T. Yang,et al.  Integer Factorization by a Parallel GNFS Algorithm for Public Key Cryptosystems , 2005, ICESS.

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

[6]  Laurence T. Yang,et al.  A Parallel GNFS Algorithm Based on a Reliable Look-Ahead Block Lanczos Method for Integer Factorization , 2006, EUC.

[7]  William Gropp,et al.  Skjellum using mpi: portable parallel programming with the message-passing interface , 1994 .

[8]  C. Lanczos Solution of Systems of Linear Equations by Minimized Iterations1 , 1952 .

[9]  J. M. Pollard,et al.  Theorems on factorization and primality testing , 1974, Mathematical Proceedings of the Cambridge Philosophical Society.

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

[11]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[12]  Laurence T. Yang,et al.  A Parallel GNFS Algorithm with the Biorthogonal Block Lanczos Method for Integer Factorization , 2006, ATC.

[13]  Marvin C. Wunderlich,et al.  A design for a number theory package with an optimized trial division routine , 1974, CACM.

[14]  William Stallings,et al.  Cryptography and Network Security: Principles and Practice , 1998 .

[15]  Tommy Färnqvist Number Theory Meets Cache Locality – Efficient Implementation of a Small Prime FFT for the GNU Multiple Precision Arithmetic Library , 2005 .

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

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

[18]  Michael A. Case A Beginner ’ s Guide To The General Number Field Sieve , 2003 .