- Cantor–Zassenhaus algorithm
In
mathematics , particularly computational algebra, the Cantor–Zassenhaus algorithm is a well known method for factorisingpolynomial s overfinite field s (also called Galois fields).The algorithm consists mainly of exponentiation and polynomial GCD computations. It was invented by D. Cantor and Hans Zassenhaus in 1981.
It is arguably the dominant algorithm for solving the problem, having replaced the earlier
Berlekamp's algorithm of 1967. It is currently implemented in many well-knowncomputer algebra system s, includingPARI/GP .Overview
Background
The Cantor–Zassenhaus algorithm takes as input a squarefree polynomial (i.e. one with no repeated factors) of degree with coefficients in a finite field whose
irreducible polynomial factors are all of equal degree (algorithms exist for efficiently factorising arbitrary polynomials into a product of polynomials satisfying these conditions, so that the Cantor–Zassenhaus algorithm can be used to factorise arbitrary polynomials). It gives as output a polynomial with coefficients in the same field such that divides . The algorithm may then be applied recursively to these and subsequent divisors, until we find the decomposition of into powers ofirreducible polynomial s (recalling that the ring of polynomials over a finite field is aunique factorisation domain .All possible factors of are contained within the
factor ring . If we suppose that has irreducible factors , all of degree , then this factor ring is isomorphic to thedirect sum of factor rings . The isomorphism from to , say , maps a polynomial to the -tuple of its reductions modulo each of the , i.e. if::
then . It is important to note the following at this point, as it shall be of critical importance later in the algorithm: Since the are each irreducible, each of the factor rings in this direct sum is in fact a field. These fields each have degree .
Core result
The core result underlying the Cantor–Zassenhaus algorithm is the following: If is a polynomial satisfying:
:
: for
where is the reduction of modulo as before,and if any two of the following three sets is non-empty:
:
:
:
then there exist the following non-trivial factors of :
:
:
:
Algorithm
The Cantor–Zassenhaus algorithm computes polynomials of the same type as above using the isomorphism discussed in the Background section. It proceeds as follows, in the case where the field is of odd-characteristic. The process can be generalised to characteristic 2 fields in a fairly straightforward way: Select a random polynomial such that . Set and compute . Since is an isomorphism, we have (using our now-established notation):
:
Now, each is an element of a field of order , as noted earlier. The multiplicative subgroup of this field has order and so, unless , we have for each and hence for each . If , then of course . Hence is a polynomial of the same type as above. Further, since , at least two of the sets and are non-empty and by computing the above GCDs we may obtain non-trivial factors. Since the ring of polynomials over a field is a
Euclidean domain , we may compute these GCDs using theEuclidean algorithm .Applications
One important application of the Cantor–Zassenhaus algorithm is in computing
discrete logarithm s over finite fields of prime-power order. Computing discrete logarithms is an important problem inpublic key cryptography . For a field of prime-power order, the fastest known method is the index calculus method, which involves the factorisation of field elements. If we represent the prime-power order field in the usual way – that is, as polynomials over the prime order base field, reduced modulo an irreducible polynomial of appropriate degree – then this is simply polynomial factorisation, as provided by the Cantor–Zassenhaus algorithm.Implementation in computer algebra systems
The Cantor–Zassenhaus algorithm may be accessed in the PARI/GP package using the [http://pari.math.u-bordeaux.fr/dochtml/html.stable/Arithmetic_functions.html#factorcantor factorcantor] command.
ee also
*Polynomial factorisation
*Berlekamp's algorithm References
* David G. Cantor and Hans Zassenhaus. "A New Algorithm for Factoring Polynomials Over Finite Fields". Mathematics of Computation, 36:587-592, 1981.
Wikimedia Foundation. 2010.