wiki

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, 5
1 * (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

Swinnerton-Dyer polynomial

read more