In
computational
Computation is any type of arithmetic or non-arithmetic calculation that follows a well-defined model (e.g., an algorithm).
Mechanical or electronic devices (or, historically, people) that perform computations are known as '' computers''. An esp ...
algebra
Algebra () is one of the areas of mathematics, broad areas of mathematics. Roughly speaking, algebra is the study of mathematical symbols and the rules for manipulating these symbols in formulas; it is a unifying thread of almost all of mathem ...
, the Cantor–Zassenhaus algorithm is a method for factoring
polynomial
In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An ex ...
s over
finite field
In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subt ...
s (also called Galois fields).
The algorithm consists mainly of exponentiation and polynomial
GCD computations. It was invented by
David G. Cantor
David Geoffrey Cantor (April 12, 1935 – November 19, 2012) was an American mathematician, specializing in number theory and combinatorics. The Cantor–Zassenhaus algorithm for factoring polynomials is named after him; he and Hans Zassenhaus pub ...
and
Hans Zassenhaus
Hans Julius Zassenhaus (28 May 1912 – 21 November 1991) was a German mathematician, known for work in many parts of abstract algebra, and as a pioneer of computer algebra.
Biography
He was born in Koblenz in 1912.
His father was a historian and ...
in 1981.
It is arguably the dominant algorithm for solving the problem, having replaced the earlier
Berlekamp's algorithm
In mathematics, particularly computational algebra, Berlekamp's algorithm is a well-known method for factoring polynomials over finite fields (also known as ''Galois fields''). The algorithm consists mainly of matrix reduction and polynomial GC ...
of 1967. It is currently implemented in many
computer algebra system
A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The ...
s.
Overview
Background
The Cantor–Zassenhaus algorithm takes as input a
square-free polynomial
In mathematics, a square-free polynomial is a polynomial defined over a field (or more generally, an integral domain) that does not have as a divisor any square of a non-constant polynomial. A univariate polynomial is square free if and only if ...
(i.e. one with no repeated factors) of degree ''n'' with coefficients in a finite field
whose
irreducible polynomial
In mathematics, an irreducible polynomial is, roughly speaking, a polynomial that cannot be factored into the product of two non-constant polynomials. The property of irreducibility depends on the nature of the coefficients that are accepted f ...
factors are all of equal degree (algorithms exist for efficiently factoring arbitrary polynomials into a product of polynomials satisfying these conditions, for instance,
is a squarefree polynomial with the same factors as
, so that the Cantor–Zassenhaus algorithm can be used to factor 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 of irreducible polynomials (recalling that the
ring
Ring may refer to:
* Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry
* To make a sound with a bell, and the sound made by a bell
:(hence) to initiate a telephone connection
Arts, entertainment and media Film and ...
of polynomials over any field is a
unique factorisation domain
In mathematics, a unique factorization domain (UFD) (also sometimes called a factorial ring following the terminology of Bourbaki) is a ring in which a statement analogous to the fundamental theorem of arithmetic holds. Specifically, a UFD is a ...
).
All possible factors of
are contained within the
factor ring
In ring theory, a branch of abstract algebra, a quotient ring, also known as factor ring, difference ring or residue class ring, is a construction quite similar to the quotient group in group theory and to the quotient space in linear algebra. I ...
. If we suppose that
has irreducible factors
, all of degree ''d'', then this factor ring is isomorphic to the
direct product
In mathematics, one can often define a direct product of objects already known, giving a new one. This generalizes the Cartesian product of the underlying sets, together with a suitably defined structure on the product set. More abstractly, one t ...
of factor rings
. The isomorphism from ''R'' to ''S'', say
, maps a polynomial
to the ''s''-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:
:
:
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 ''i'' and hence
for each ''i''. If
, then of course
. Hence
is a polynomial of the same type as
above. Further, since
, at least two of the sets
and ''C'' 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
In mathematics, more specifically in ring theory, a Euclidean domain (also called a Euclidean ring) is an integral domain that can be endowed with a Euclidean function which allows a suitable generalization of the Euclidean division of integers. ...
, we may compute these GCDs using the
Euclidean algorithm
In mathematics, the Euclidean algorithm,Some widely used textbooks, such as I. N. Herstein's ''Topics in Algebra'' and Serge Lang's ''Algebra'', use the term "Euclidean algorithm" to refer to Euclidean division or Euclid's algorithm, is an ...
.
Applications
One important application of the Cantor–Zassenhaus algorithm is in computing
discrete logarithm
In mathematics, for given real numbers ''a'' and ''b'', the logarithm log''b'' ''a'' is a number ''x'' such that . Analogously, in any group ''G'', powers ''b'k'' can be defined for all integers ''k'', and the discrete logarithm log' ...
s over finite fields of prime-power order. Computing discrete logarithms is an important problem in
public key cryptography
Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic alg ...
. 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 is implemented in the
PARI/GP
PARI/GP is a computer algebra system with the main aim of facilitating number theory computations. Versions 2.1.0 and higher are distributed under the GNU General Public License. It runs on most common operating systems.
System overview
The P ...
computer algebra system as th
factorcantor()function.
See also
*
Polynomial factorization
In mathematics and computer algebra, factorization of polynomials or polynomial factorization expresses a polynomial with coefficients in a given field or in the integers as the product of irreducible factors with coefficients in the same d ...
*
Factorization of polynomials over finite fields
References
*
*http://blog.fkraiem.org/2013/12/01/polynomial-factorisation-over-finite-fields-part-3-final-splitting-cantor-zassenhaus-in-odd-characteristic/
{{DEFAULTSORT:Cantor-Zassenhaus algorithm
Computer algebra
Finite fields
Polynomials factorization algorithms