A Multi-level Blocking Distinct Degree Factorization Algorithm

We give a new algorithm for performing the distinct-degree factorization of a polynomial P(x) over GF(2), using a multi-level blocking strategy. The coarsest level of blocking replaces GCD computations by multiplications, as suggested by Pollard (1975), von~zur Gathen and Shoup (1992), and others. The novelty of our approach is that a finer level of blocking replaces multiplications by squarings, which speeds up the computation in GF(2)[x]/P(x) of certain interval polynomials when P(x) is sparse. As an application we give a fast algorithm to search for all irreducible trinomials x^r + x^s + 1 of degree r over GF(2), while producing a certificate that can be checked in less time than the full search. Naive algorithms cost O(r^2) per trinomial, thus O(r^3) to search over all trinomials of given degree r. Under a plausible assumption about the distribution of factors of trinomials, the new algorithm has complexity O(r^2 (log r)^{3/2}(log log r)^{1/2}) for the search over all trinomials of degree r. Our implementation achieves a speedup of greater than a factor of 560 over the naive algorithm in the case r = 24036583 (a Mersenne exponent). Using our program, we have found two new primitive trinomials of degree 24036583 over GF(2) (the previous record degree was 6972593).

[1]  David J. Goodman,et al.  Personal Communications , 1994, Mobile Communications.

[2]  Richard P. Brent,et al.  A fast algorithm for testing reducibility of trinomials mod~2 and some new primitive trinomials of degree 3021377 , 2003, Math. Comput..

[3]  Marco Bodrato,et al.  Towards Optimal Toom-Cook Multiplication for Univariate and Multivariate Polynomials in Characteristic 2 and 0 , 2007, WAIFI.

[4]  J. S. Gage The great Internet Mersenne prime search. , 1998, M.D. computing : computers in medical practice.

[5]  Philippe Flajolet,et al.  The Complete Analysis of a Polynomial Factorization Algorithm over Finite Fields , 2001, J. Algorithms.

[6]  Richard P. Brent,et al.  Faster Multiplication in GF(2)[x] , 2008, ANTS.

[7]  Gage Js,et al.  The great Internet Mersenne prime search. , 1998 .

[8]  Arnold Schönhage,et al.  Schnelle Multiplikation von Polynomen über Körpern der Charakteristik 2 , 1977, Acta Informatica.

[9]  D. Cantor,et al.  A new algorithm for factoring polynomials over finite fields , 1981 .

[10]  Martin Fürer Faster integer multiplication , 2007, STOC '07.

[11]  Arnold Schönhage,et al.  Schnelle Multiplikation großer Zahlen , 1971, Computing.

[12]  Joachim von zur Gathen,et al.  Computing Frobenius maps and factoring polynomials , 2005, computational complexity.

[13]  Makoto Matsumoto,et al.  New primitive t-nomials (t = 3, 5) over GF(2) whose degree is a Mersenne exponent , 2000, Math. Comput..

[14]  Joachim von zur Gathen,et al.  Modern Computer Algebra , 1998 .

[15]  J. Heringa,et al.  New Primitive Trinomials Of Mersenne-Exponent Degrees For Random-Number Generation , 1992 .

[16]  R. Gregory Taylor,et al.  Modern computer algebra , 2002, SIGA.

[17]  J. Pollard A monte carlo method for factorization , 1975 .

[18]  Joachim von zur Gathen,et al.  Polynomial factorization over F2 , 2002, Math. Comput..

[19]  Richard P. Brent,et al.  A primitive trinomial of degree 6972593 , 2004, Math. Comput..

[20]  R. G. Swan,et al.  Factorization of polynomials over finite fields. , 1962 .