10.12.2012 Views

Prime Numbers

Prime Numbers

Prime Numbers

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

94 Chapter 2 NUMBER-THEORETICAL TOOLS<br />

we saw above, we can “create” the finite field Fpk by coming up with an<br />

irreducible polynomial f(x) inFp[x] ofdegreek. Wethussayalittleabout<br />

how one might do this.<br />

Every element a in Fpk has the property that apk = a, thatis,ais a root<br />

of xpk − x. In fact this polynomial splits into linear factors over Fpk with no<br />

repeated factors. We can use this idea to see that xpk − x is the product of<br />

all monic irreducible polynomials in Fp[x] of degrees dividing k. Fromthiswe<br />

get a formula for the number Nk(p) of monic irreducible polynomials in Fp[x]<br />

of exact degree k: One begins with the identity<br />

<br />

dNd(p) =p k ,<br />

d|k<br />

on which we can use Möbius inversion to get<br />

Nk(p) = 1<br />

k<br />

<br />

p d µ(k/d). (2.5)<br />

d|k<br />

Here, µ is the Möbius function discussed in Section 1.4.1. It is easy to see that<br />

the last sum is dominated by the term d = k, sothatNk(p) is approximately<br />

p k /k. That is, about 1 out of every k monic polynomials of degree k in Fp[x]<br />

is irreducible. Thus a random search for one of these should be successful in<br />

O(k) trials. But how can we recognize an irreducible polynomial? An answer<br />

is afforded by the following result.<br />

Theorem 2.2.8. Suppose that f(x) is a polynomial in Fp[x] of positive<br />

degree k. The following statements are equivalent:<br />

(1) f(x) is irreducible;<br />

(2) gcd(f(x),xpj − x) =1for each j =1, 2,...,⌊k/2⌋;<br />

(3) xpk ≡ x (mod f(x)) and gcd(f(x),xpk/q − x) =1for each prime q|k.<br />

This theorem, whose proof is left as Exercise 2.15, is then what is behind the<br />

following two irreducibility tests.<br />

Algorithm 2.2.9 (Irreducibility test 1). Given prime p and a polynomial<br />

f(x) ∈ Fp[x] of degree k ≥ 2, this algorithm determines whether f(x) is<br />

irreducible over Fp.<br />

1. [Initialize]<br />

g(x) =x;<br />

2. [Testing loop]<br />

for(1 ≤ i ≤⌊k/2⌋) {<br />

g(x) =g(x) p mod f(x); // Powering by Algorithm 2.1.5.<br />

d(x) =gcd(f(x),g(x) − x); // Polynomial gcd by Algorithm 2.2.1.<br />

if(d(x) = 1) return NO;<br />

}<br />

return YES; // f is irreducible.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!