Cantor-Zassenhaus
also: equal degree factorization, distinct degree
The randomized algorithm that splits a product of irreducibles of equal degree over a finite field. For odd p, a random element raised to (p^d - 1)/2 is 1 in some of the factor fields and -1 in others, so a GCD separates the two groups, and each attempt succeeds with probability about one half.
Splits a product of distinct irreducibles that all have the same degree over . By the Chinese remainder theorem the quotient ring factors:
For odd , exactly half the nonzero elements of each are squares, and raising to sends them to and the non-squares to . A random therefore lands on in some components and in others, and the GCD separates the two groups:
Each attempt splits with probability close to one half, so the expected number of attempts is constant. The exponent needs a bignum: overflows a machine word almost immediately.
Verbatim. x^4 + 1 is irreducible over Z and splits modulo every prime.
> factormod x^4 + 1, 51 * (x^2 + 2)^1 * (x^2 + 3)^1
It is preceded by distinct-degree factorization, which separates the factors by degree first, using the identity that is the product of every monic irreducible whose degree divides .
see also
Berlekamp's algorithm · Hensel lifting
referenced by
read more