# Factorization of Polynomials over Finite Fields

advertisement ```Factorization
of Polynomials
over Finite Fields
By Robert J. McEliece*
Abstract. If }(x) is a polynomial over GF{q), we observe (as has Berlekanip) that if
h{x)q = h(x) (mod/(x)), then/(i) = TTa gGF(9) gcd (f(x), h{x) — a). The object of this paper
is to give an explicit construction of enough such h's so that the repeated application of
this result will succeed in separating all irreducible factors of/. The h's chosen are loosely
defined by ht{x) = xi + a;&raquo;'&laquo;-f z&quot;&quot;2 + ■• • (mod/(x)). A detailed example over GF(2) is
given, and a table of the factors of the cyclotomic polynomials *„0r) (mod p) for p = 2,
n g 250; p = 3, n S 100; p = 5, 7, n g 50, is included.
I. Introduction. The object of this paper is to present a workable algorithm for
factoring polynomials over finite fields. The existence of such an algorithm is not in
doubt since it is clearly possible to generate recursively all irreducible polynomials
of a given degree over a given finite field, and then test any polynomial for divisibility by the irreducibles, one by one; naturally such an algorithm is highly
impractical for even low degrees. It is of course frequently necessary to be able to
factor polynomials over finite fields; for example in factoring rational primes in
algebraic number fields. The algorithm to be given is quite usable; for example over
GF(2) it is effective for hand calculations up to degree 15 or so, and with the aid
of a computer it is possible to go up to degree several hundred without difficulty.
Through the use of this algorithm we have constructed a table, appearing in the
microfiche section of this issue, of the factors of xn — 1 over GF(p) for p = 2,
n &aacute; 250; p = 3, n ^ 100; p = 5, n g 50, p = 7, n g 50. This table gives the
factorization of the primes 2, 3, 5, 7 in the corresponding cyclotomic fields, and is
also of use in studying linear recurrence relations of period n over GF(p), since the
characteristic polynomials of such recurrences are precisely the divisors of xn — 1.
Published tables of irreducible polynomials over finite fields are insufficient to
factor xn — 1 for even modest values of n; for example Marsh's table  of polynomials irreducible over GF(2) up to degree 19 cannot be used to factor xi3 — 1 over
GF(2).
Let us finally mention that Berlekanip  has recently published a similar
algorithm, which shares Theorem 1, below, with ours, but proceeds in a somewhat
different direction. A brief comparison of the two algorithms is given at the end of
the next section.
II. The Algorithm. Throughout, let F = GF(q), q = pr, p a prime. If f(x) and
g(x) are polynomials over F, denote by (/, g) their greatest common divisor, which
we assume is monic. (We also adopt the convention (/, a) = 1 for a &pound; F.) We are
given a polynomial f(x) of degree n over F, and are asked to write / as a product of
irreducible factors. We are free to assume that f(x) is squarefree, since unless / is a
Received February 19, 1968, revised October 3, 1968.
* This paper presents the results of one phase of research carried out at the Jet Propulsion
Laboratory,
California Institute of Technology, under Contract No. NAS 7-100, sponsored by
the National Aeronautics and Space Administration.
861
License or copyright restrictions may apply to redistribution; see http://www.ams.org/journal-terms-of-use
862
ROBERT J. MCELIECE
pth power, //(/, /') will be a nontrivial squarefree divisor of/. And while the algorithm can be applied to an arbitrary polynomial, squarefree or not, to find the irreducible powers which divide it, any preliminary reduction in the degree of / which
can be made will shorten the computations. Thus f(x) is henceforth squarefree. We
further assume/(0) ^ 0. Under these circumstances there will be a smallest integer
e such that f(x)\xe — 1 and (e, p) = 1. e is called the period of /.
Theorem 1 gives a way to factor /, under certain circumstances :
Theorem 1. If h(x)q = h(x) (mod f(x)), then
fix) = II (f(x), h(x) - a) .
a&amp;F
Proof. Let 0 be a root of / in a splitting field K. Then h(8)* = h(d) and so h(d),
being fixed by the Galois group of K/F, is an element of F. Thus every root of / is a
root of exactly one of the polynomials h(x) — a, and Theorem 1 follows.
Theorem 1 need not give a nontrivial factorization of/; if h(x) = a(modf(x)) for
some a G F, Theorem 1 is of no use. However, if Theorem 1 does give a nontrivial
factorization of /, we say that h is an f-reducing polynomial; naturally h is automatically /-reducing if 0 &lt; deg h &lt; n = deg /. (It will soon develop that /-reducing
polynomials always exist if/ is reducible.) The object of the rest of this section is to
indicate a method of constructing /-reducing polynomials. There are two possible
ways the algorithm could work: first, we could find just one/-reducing polynomial,
and then inductively proceed to find reducing polynomials for the resulting factors ;
or, we could produce so many /-reducing polynomials that they themselves would
reduce all resulting factors of /. We shall below give two similar families of /-reducing polynomials, corresponding to these two possibilities.
If we discover the least integer N such that xqN = x(mod/(a;)), then N = l.c.m.
(m, 7i2, • • -, nt), where/(.r) = /i(a;) fi(x) ■■• ft(x) is the factorization of/into
irreducibles with deg/fc = n*. N is the degree of the splitting field for/ Now consider
the algebra R&iexcl; over GF(q) of polynomials y = y(x) (mod f(x)), and define the map
T(y) = y + y&quot; + y&quot;&quot;2+ • • • + yqN~l- Next we say that /* is a regular divisor of /
if N/nk is not divisible by p. Note that regular divisors always exist.
Theorem 2. T is a GF(q)-linear function on Rf whose rank is equal to the number
of regular divisors of F. Range (T) &Ccedil;I GF(q) if and only iff is irreducible.
Proof. By a generalization of the well-known Chinese Remainder Theorem
[3, p. 63] Rf is isomorphic to the direct sum R}%&copy; ■• • &copy; Rit under the map y —*
(y h 2/2i • • •&gt; y*) with y = yk (mod fk(x)). Since the /* are irreducible, the Rfk are
fields. Let Tk be the trace on Rfk; i.e., Tk(y) = y + y&laquo; + ■■• + y&gt;nk~\ Then for
y G Rfk, T(y) = mkTk(y) where mk = N/nk. Thus for y G R,, T(y) =
T(yi, J/2, • • -, yp) = (mPTi(yi), ■■-, mtTt(yt)), and so if mk = 0 (i.e.,/* is irregular)
the fcth coordinate of T(y) will be identically zero, and otherwise the fcth coordinate
ranges freely over GF(q). This shows that dim range (T) = number of regular
divisors. To prove the last sentence of Theorem 1, notice that in the isomorphism
Rf = Rf &copy; • • • &copy; Rft, GF(q) appears as the diagonal; i.e. &iquest;-tuples of the form (a,
a, • • -, a), a G GF(q). Clearly if t ^ 2, range (T) cannot be contained in GF(q) since
as we have seen the nonzero coordinates of range (T) vary independently from one
another. This completes the proof of Theorem 2.
Now since 1, x, x2, ■• -, xn~l are a basis for Rf over GF(q), the polynomials
License or copyright restrictions may apply to redistribution; see http://www.ams.org/journal-terms-of-use
factorization
of polynomials
over finite
fields
863
Tiix) = T(x*) = xi + xiq + ■• • + xiqN~l span range (T). Furthermore Ti(x)q =
Ti(x) (modf(x)), so we arrive at the important
Corollary
1. The polynomials Ti(x), 1| t &lt; &raquo;, include f-reducing polynomials
unless f is already irreducible.
Although the polynomials T&iquest; of Corollary 1 enable us to begin the factorization
of/, they are not usually able to reduce all the resulting factors. What is not difficult
to show is that the best the TVs allow is the factorization f = fi ■■■fPfj+i where
/i&gt; h, • • ' ; fi are the regular divisors of / and /y+1 is the product of the irregular
divisors. Of course what one does in practice is compute the first/-reducing
T',-, and
then compute new T&iquest; for each of the resulting factors. However, it is possible to
give another set of polynomials, Rpx), which are capable of separating all the irreducible factors of/ at once.
Definition. For each i, 1 ^ i &lt; e, let m{ be the least integer such that x' =
xiqmi (mod f(x)). (It is easy to see that m,- = orde/(e,&iquest;)(g), but it is not necessary to
know e in order to compute the m&iquest;.) We define
&Auml;,(a:) s x* + xiq 4- ■■■ + xiqmi~l (mod /(*))
.
Then the Ri clearly satisfy Rq = R (modf(x)), and so they are certainly candidates
for/-reducing polynomials; indeed Tpx) = ctRi(x) (mod f(x)) for c&iquest; = N/m,, so
that the &ntilde;&iquest; are certainly no worse than the Tt. We now show that the &szlig;„ 1 ^ i &lt; e,
are capable of distinguishing all the factors of /. Two easy lemmas are required. We
shall see that it is enough to consider the special case f(x) = x&quot; — 1.
Lemma 1. Letf(x) = xe — 1 for some e prime to p. Ifh(x)q = h(x) (mod xe — 1),
then h(x) is a GF(q)-linear combination of the polynomials Rpx).
Proof. We first describe the R,. According to the definition let m&iquest; be the smallest
integer such that x' = x'&quot;™*(mod xe — 1); i.e., i = iqm* (mod e). Hence Ri = xi +
xiq + • • • + xiqm~l, and the exponents which occur are precisely the residues mod e
which are obtained from i by multiplying by various powers of q. For example with
q = 3, e = 13, the orbits are (0), (1, 3, 9), (2, 6, 5), (4, 12, 10), (7, 8, 11) and so
Ri = R3 = Rv = x + x3 + x9; R2 = R&laquo; = Rn = x2 + xb + xe, etc. Now suppose
h(x)q = h(x) (mod x&quot; — 1); if we let h(x) = &pound;&iexcl;&uuml;
hkxk, then h(x)q = h(xq) =
y, hk xqk, with exponents reduced mod e, if necessary. Hence hk = hkq = hkq2= • • •
for all k, so that h(x) = ^]*Gk hk Rk(x), where the set K contains exactly one
member from each equivalence class of residues modulo e given by fci ~ fc2if and
only if ki = ki q' (mod e) for some t ^ 0.
Lemma 2. Iff is an irreducible divisor of xe — 1, then there is a polynomial g with
(xe - 1, fg) = f and (fg)q = fg (mod x&deg; - 1).
Proof. Since (e, p) = 1, xe — 1 is squarefree, and so (/, (xe — 1)//) = 1. Hence
there is a g such that fg = 1 (mod (xe — 1)//). This implies (fg)2 = fg (mod xe — 1)
and so also (fg)q = fg (mod xe — 1). Finally from (g, (xe — 1)//) = 1 follows
(fg,* - 1) - /.
Theorem 3. Letfi andfi be distinct irreducible divisors of xe — 1. Then there is an
integer i, 1 | i &lt; e, and distinct elements a, b G F such that
Ri(x) = a(mod fP) ,
Hence the factors fi andfi
using Ri.
can be &quot;separated&quot;
Ri(x) = 6(mod /2) .
by the factorization given in Theorem 1,
License or copyright restrictions may apply to redistribution; see http://www.ams.org/journal-terms-of-use
864
ROBERT J. MCELIECE
Proof. Suppose, on the contrary,
that for each i there is an element a&iquest;: G F such
that Ri(x) = ai (modfifP). By Lemma 2 there exists h(x) such that (fih)q = fpi
(mod xe — 1) and (fih, xe — 1) = fi. Lemma 1 then shows that/i/i = YJ biRpx) for
suitable fc&iquest; G &iacute;1- Our assumption implies that fih = YJ &amp;&laquo;-&szlig;i= 23 a&lt;^i —
b (mod/1/2) ; this implies fih = b (mod/i) so that b = 0. On the other hand/^
= 0
(mod/1/2) is in conflict with (fih, xe — 1) = /1, and the proof is complete.
Corollary.
For any squarefree f(x), the corresponding Rpx), 1 g i &lt; e =
period (/), will separate all irreducible factors of f.
Proof. Denote by Rpe)(x) the R's associated with xe — 1. Theorem 3 shows us
that the Rpe)(x) suffice to separate all factors of xe — 1, so they certainly suffice to
separate the factors of/. On the other hand xiqTn= x' (mod xe — 1) certainly implies
that xiqm = xi (modf(x)), so that RPe)(x) = kiRi(x) (modf(x)) for suitable fc,-G F;
thus the Ri can separate all the factors of/. (In fact it is not hard to see that fc&lt;= 1
for all i.)
The corollary to Theorem 3 shows that the Ri} 1 &aacute; i &lt; e, will separate the
factors of/. One might hope, however, that only the Ri} 1 ^ i &lt; n, would be needed,
but this is not always the case. For example over GF(2), if f(x) = f if if 3 with deg /1 =
deg/2 = 4, deg/3 = 8, then &szlig;i, • ■-, Ru cannot separate/1 from/2. Hence the disadvantage in using the Ri is that it is in general necessary to compute a large
number of them in order to be sure they will separate all factors. However, in the
important special case f(x) = Xe — 1, the Ri are ideally suited. (See Example 2,
below.)
Comparison with Berlekamp's Algorithm. The central point of Berlekamp's
algorithm is that the equation h(x)q — h(x) = 0 (mod f(x)) may be regarded as a
homogeneous system of n simultaneous linear equations in the coefficients of h.
Thus Berlekamp finds /-reducing polynomials by finding the nullspace of a certain
n X n matrix over GF(q). This amounts to row-reducing annXn
matrix, which
turns out to require on the order of n3 coordinate operations over GF(q), and the
amount of calculation is not highly dependent upon the polynomial being factored.
On the other hand, the analysis of the algorithm of this paper is not so simple,
for the amount of calculation required depends very heavily on the integer N which
in turn is highly sensitive to the factorization of /. For example consider squarefree
polynomials f(x) of degree 12 over GF(2) ; if f(x) is the product of the three irreducibles of degree four, N = 4, while degrees 3, 4 and 5 give N = 60. The mean
value for N among all squarefree polynomials of degree 12 which have no linear
factor is 16.4, and it seems reasonable to conjecture that the mean value of N grows
linearly with n. (But one can show that the largest possible value of N grows faster
than exp (71a) for all a &lt; &sect;.) Thus to compute Tpx), one needs N successive gth
powers of xi (modulo f(x)), which requires n2N coordinate operations. And since in
general several 7\- must be computed before an/-reducing
polynomial is found, this
algorithm is no better than Berlekamp's.
However, the process of computing successive gth powers modulo / is a less complex operation than row-reducing an n X n
matrix, so that the present algorithm is, for example, easier to program.
III. Examples.
1. Let us apply the algorithm to the polynomial/(x)
= x17 4- xu 4- x13 + xn
4- x&quot; + x10 + x9 + xs + x7 4- xb 4- x4 4- x+ 1 over GF(2).f(0)
= 1 and/ is not
License or copyright restrictions may apply to redistribution; see http://www.ams.org/journal-terms-of-use
FACTORIZATION OF POLYNOMIALS OVER FINITE
FIELDS
865
a square. Now/' = z16 + x12 + x10 + Xs + x6 + x4 + 1. We compute (/,/') by
Euclid's algorithm, abbreviating a polynomial 2Z&quot;=o atx* by the (n + l)-tuple
(onOn-i
■ • • aiflo) :
100111111110110011
10001010101010001
101010100010001
10001010101010001
100000100010101
101010100010001
1010000000100
101010100010001
10100000001
10100000001
Hence (/, /') = x10 + x8 + 1, and an easy division gives //(/, /') = x7 + x5 + x4
+ x + 1 =/, which we now know to be squarefree. We now compute the Tpx),
and to do so it is convenient to have a list of even powers of x modulo /:
x&deg; =0000001
x2
x4
x6
xs
=0000100
=0010000
=1000000
=110
0 110
i10 = 1 0 0 1 1 0 1
x12 = 10 10 0 10
(Berlekamp observed that the operation of squaring a polynomial
n-l
YJ diX' mod f(x)
&iquest;=o
is the same as multiplying
powers.) We compute 7V
the vector ao&szlig;i • • • an-i by the n X n matrix of even
x
=0000010
x2
x4
xs
=0000100
=0010000
=110
0 110
x16
x32
x64
=0001011
=10
0 0 10 1
=10
0 0 0 11
a;128 =10
10 111
Z256 =0100001
■x-612 = 10 0 110
0
Ti(x) = 10 0 0 111
x210 = x, hence N = 10.
Ti(x) is therefore an /-reducing
polynomial,
so
/ = (1 0 1 1 0 0 1 1, 1 0 0 0 1 1 1) (1 0 1 1 0 0 1 1, 1 0 0 0 1 1)
must be a nontrivial
factorization:
License or copyright restrictions may apply to redistribution; see http://www.ams.org/journal-terms-of-use
866
ROBERT J. MCELIECE
10110011
10 0 0 111
11110
1
10 0 0 111
11110
1
11110
1
10110011
10 0 0 11
111111
10 0 0 11
1110
0
10 0 0 11
110 11
1 1 1
1 1 1
1 1 1
Hence/ = (1 1 1 1 0 1) (1 1 1). Of course 1 1 1 is irreducible, and it remains to investigate 11110
1. The matrix of even powers modulo 1 1 1 1 0 1 is obtained by
reducing the corresponding matrix for J by reducing mod 1 1 1 1 0 1 :
x&deg; = 0 0 0 0 1
x2
x4
x6
xs
x
x2
x4
xs
x16
=
=
=
=
0
1
0
1
0
0
0
1
1
0
1
1
=00010
=00100
=10
0 0 0
=1110
0
=01011
Ti(x) = 00001
0
0
1
0
0
0
1
0
x3
x6
x12
x24
x&laquo;
=01000
=00111
=10
10 1
=01101
=10110
Tz(x) =00001
x2i = x, N = 5
Hence 1 1 1 1 0 1 is irreducible and so/(x) = (1 1 1 1 0 1) (1 1 1) is a product of
irreducibles. (Actually in this case we could deduce that 11110
1 was
from A7 = 10 for /, since any factorization of 1111 0 1 would have led to
N.) Next we check to see whether or not (J, /') is divisible by either
factors already found. (/, /') = (110 0 0 l)2, so we need only check for
irreducible
a different
of the two
divisibility
by 111, and it is easily found that 11 0 0 0 1 = (11 1) (1 0 1 1). Hence
fix)
= (x6 + x4 + x8 + x2 + l)(x3
+ x + l)2(x2 + x + l)3
is the complete factorization.
2. Consider the factorization of the polynomials xe — 1 over GF(p), p a prime.
There is no loss in assuming that (e, p) = 1, since if e = eip', then
xe — 1 = (xn — l)pt. In this special case, the computation of the &Auml;,- is very simple
(see proof of Lemma 1) ; one need only compute the orbits of the residues mod e
under the cyclic permutation group generated by i —&gt;ip (mod e), and these orbits
contain the exponents which occur in the various &Auml;,-. For example with p = 3,
e = 20 the orbits are
(0), (1, 3, 9, 7) (2, 6, 18, 14) (4, 12, 16, 8) (5, 15) (10) (11, 13, 19, 17),
and so the corresponding
Ri are &Auml;i(x) = x 4- x3 4- x7 + x9, Ri(x) = x2 + x6 -f- x14
License or copyright restrictions may apply to redistribution; see http://www.ams.org/journal-terms-of-use
FACTORIZATION OF POLYNOMIALS OVER FINITE FIELDS
867
+ x18,R3(x) = x4 + x8 + x12+ x16, etc. The algorithm of this paper, using the R/s,
was programmed on an SDS-930 computer, and produced the table appearing in the
microfiche section of this issue.
Notes on the Table in the Microfiche Section: For a given e only the irreducible
factors of xe — 1 which are not factors of xe' — 1 for e' &lt; e are given, so what we have
really is a table of the factorization of the cyclotomic polynomials ^(x) of order e,
deg 4&gt;e(x) = 4&gt;(e).The complete factorization is obtained from the formula xe — 1 =
IX* I&laquo; \$&aacute;(x). As is well known, the irreducible factors of &lt;Pe(x) are all of the same
degree = ord6(p), and in fact the shape of the complete factorization may be seen
from the orbits used to calculate the Ri. In the example given above, the orbit
structure shows that x20 — 1 is a product of four irreducibles of degree 4, one of
degree 2 and two of degree one. The orbits (1, 3, 9, 7) and (11, 13, 19, 17) exhaust
the residues prime to 20, so that \$2o(x) is a product of two irreducibles of degree 4.
If a polynomial/(x)
= ao + aix + ■• • + amxm divides \$e(x), then so does its
reciprocal polynomial f(x) = am 4- am-ix + • • • + aaxm, and only one member of a
reciprocal pair is listed. For those e which divide an integer of the form pl + 1, each
irreducible divisor of \$e(x) is self-reciprocal; this is indicated by a &quot;P&quot; (since the
polynomials are then palindromes) after the entry e. When e is either an odd prime
r (or twice an odd prime) and \$e(x) = xM + x'-2 + ■• • + x + 1 (or xr_1 — xr_2 +
• ■• — x + 1) is irreducible, the entry &quot;I&quot; is given. Also, for some values of e = fg
the irreducible divisors of \$e(x) may be obtained from those of period/ by replacing
x by x&deg;. This is indicated by the entry (f-g).
Finally, for p = 2 and 3 the entries are coded. Binary polynomials are given the
customary octal representation; e.g., 7053 represents x11 + x10 + x9 + x5 + x3 +
x + 1. Ternary polynomials are coded in the base 9; e.g., 378 represents x5 + 2x3 +
x2 + 2x + 2. Polynomials for p = 5 and p = 7 are not coded; i.e., the coefficients
are read directly from the table entries.
Information Processing
Jet Propulsion Laboratory
Pasadena, California 91103
1. R. W. Marsh,
Table of Irreducible Polynomials over GF(2) through Degree 19, NSA, U.S.
Department of Commerce, Office of Tech. Service, Washington, D.C., 1951.
2. E. R. Berlekamp,
&quot;Factoring polynomials over finite fields,&quot; Bell System Tech. J., v. 46,
1967, pp. 1853-1859. MR 36 #2314.
3. S. Lang, Algebra, Addison-Wesley, Reading, Mass., 1965. MR 33 #5416.
License or copyright restrictions may apply to redistribution; see http://www.ams.org/journal-terms-of-use
```