Académique Documents
Professionnel Documents
Culture Documents
Le but de ce chapitre est de comprendre les corps finis : montrer leur existence, leur unicité,
et les moyens de les construire et les manipuler.
On a déjà vu que Z/pZ est un corps si et seulement si p est premier, mais les Z/pZ ne sont
pas les seuls corps finis. On verra que pour chaque nombre premier p et chaque r ≥ 1, il y a un
corps de cardinal pr , et qu’il est unique à isomorphisme près (mais cet isomorphisme n’est pas
unique, contrairement au cas de Z/pZ). On notera Fpr « le » corps de cardinal pr ( 34 ).
L’exemple le plus simple est le suivant : F4 = Z/2Z[X]/⟨X 2 + X + 1⟩. En effet, comme
2
X + X + 1 est un polynôme irréductible dans Z/2Z[X], F4 est un corps. On note α = X̄ ∈ F4 .
Il vérifie la relation α2 = −α − 1 = α + 1 puisque −1 = 1.
F4 est un espace vectoriel de dimension 2 sur Z/2Z, et (1, α) est une base. F4 a donc 4
éléments : 0, 1, α, 1 + α.
Pour calculer, c’est facile, on fait le produit, et on utilise la relation α2 = α + 1. Par exemple
α(1 + α) = α + α2 = α + 1 + α = 1. Donc 1 + α est l’inverse de α.
Dans la suite on note, pour p premier, Fp le corps à p éléments, c’est à dire Fp = Z/pZ.
Lorsqu’on aura vu l’existence et l’unicité des corps de cardinal q = pr , on utilisera la notation
Fq le corps correspondant. Mais attention, Fq ̸≃ Z/qZ ! ! !
En particulier, il n’y a pas de corps de cardinal 6 puisque 6 n’est pas une puissance d’un
nombre premier.
Preuve. Puisque Z/pZ est un sous-corps de K, K est un espace vectoriel sur Fp . Soit r sa
dimension. En tant que Z/pZ-espace vectoriel, K ≃ (Z/pZ)r , donc #K = pr .
Lemme V.2. Soit K un corps fini de cardinal q (donc q = pr pour un nombre premier p).
1. Tout élément de K ∗ vérifie xq−1 − 1 = 0.
2. Tout élément de K vérifie xq − x = 0.
3. K ∗ est un groupe cyclique de cardinal q − 1.
Preuve. (1) C’est le théorème de Lagrange appliqué a K ∗ . (2) découle de 1 pour x ∈ K ∗ , et est
évident pour x = 0. On a déja vu (3) : théorème I.19.
66
De manière un peu familière, on dit souvent le Frobénius...
Le résultat suivant est à la fois simple, fondamental, et un peu magique. Cela donne aux
corps de caractéristique positive un sel très particulier.
Preuve. Le fait que ce soit un morphisme multiplicatif est clair. Ce qui est magique est le fait
que ce soit un morphisme additif : (x + y)p = pi=0 pi xi y p−i . D’après le fait suivant, tous
P
les
coefficients binomiaux pi sont divisibles par p pour 1 < i < p. Pour tout 1 < i < p, pi xi y p−1
Remarque V.6. Par exemple les coefficients binomiaux de degré 5 sont 1, 5, 10, 10, 5, 1, tous
divisibles par 5 sauf le premier et le dernier. Ceci ne se généralise pas si p n’est pas premier. Les
coefficients de degré 6 sont 1, 6, 15, 20.. ne sont pas divisibles par 6. On peut quand même dire
des choses sur la divisibilité des coefficients binomiaux en général (voir le théorème de Lucas).
p!
Preuve. Ecrire avec des factorielles : pi = i!(p−i)!
: le numérateur est divisible par p mais p est
premier avec le dénominateur.
Remarque V.7. Le fait que φ est un morphisme d’anneau n’utilise pas que K est un corps,
seulement que c’est un anneau de caractéristique p.
Preuve. Comme tout morphisme de corps, φ est injectif. Puisque K est fini, φ est automatique-
ment surjectif.
Proposition V.10. L’ensemble des points fixes d’un automorphisme de corps est un sous-corps.
L’ensemble des points fixes de φ est exactement Z/pZ. En effet, les éléments de Z/pZ vérifient
x = x (Fermat), et il n’y en a pas d’autre car le polynôme X p − X ne peut pas avoir plus de p
p
racines.
L’ensemble des points fixes de φk donnera des sous-corps plus gros, de cardinal ≤ pk car
k k
Xp − X n’a pas plus de pk solutions, et de cardinal exactement pk si X p − X est scinde.
Corollaire qui vaut le coup d’etre noté :
67
r
Lemme V.14. f (X) = X p − X est à racines simples dans toute extension de Fp .
Preuve. En effet, f ′ (X) = −1 ne s’annule nulle part, donc ne peut pas s’annuler en une racine
de f .
Preuve du Théorème. Pour l’unicité, on montre que si K existe c’est un corps de décomposition
r
de f (X) = X p − X relativement à Fp (ou plutôt une extension de décomposition de Fp donnée
par f (X)). Par unicité du corps de décomposition, ceci montre l’unicité.
Montrons que si K est un corps de cardinal pr , c’est un corps de décomposition de f . Chacun
des éléments de K est une racine de f , donc f admet pr racines distinctes, donc f est scindé
dans K. C’est bien un corps de décomposition parce que K est bien engendré par les racines de
f (il est même égal à l’ensemble des racines de f ).
r
Pour l’existence : soit K un corps de décomposition de f (X) = X p − X relativement à Fp .
Comme vu ci-dessus, les racines de f sont simples, donc K est de cardinal ≥ pr . Mais l’ensemble
des racines de f est exactement l’ensemble des points fixes de φr : K → K (l’itéré du morphisme
r
de Frobénius, φr (x) = φ ◦ φ · · · ◦ φ(x) = xp ). C’est donc un sous-corps K ′ ⊂ K. Comme f a
exactement pr racines, K ′ est de cardinal pr . K ′ est donc un corps de cardinal pr , ce qui montre
l’existence.
Rq : en fait, comme K est le corps de décomposition de f , K = K ′ .
Ceci est une preuve d’existence théorique, mais ce n’est pas suffisant en pratique si on veut
calculer dans un tel corps. On verra plus bas comment faire.
Remarque V.16. Autrement dit, les sous-corps de Fps sont les Fpr avec r|s. Par ex, si q = 4096 =
212 , vérifier qu’il y a 6 sous-corps.
Remarque V.17. ATTENTION : il ne suffit pas que pr |ps ie r ≤ s !
Preuve de la proposition. Condition nécessaire : si Fpr ,→ Fps , Fps est un ev d’une certaine
dimension d sur Fpr . Donc Fps ≃ev Fdpr et en particulier ps = (pr )d = pdr .
Autre preuve : si Fpr ,→ Fps , alors F∗pr est isomorphe à sous-groupe de F∗ps donc (pr −1)|(ps −1)
donc r|s (Cf lemme de divisibilité ci-dessous).
Réciproquement, soit K un corps de cardinal ps , et r un diviseur de s, et soit φ : K → K
r
l’automorphisme de Frobénius, et son itéré φr (x) = xp . Les points fixes de φr forment un sous-
r
corps, disons K ′ , qui est l’ensemble des racines de X p − X dans K. Par le lemme de divisibilité
r s s
ci-dessous, le fait que r|s implique que (X p −X)|(X p −)X. Comme X p −X est scindé à racines
r r
simples dans K, X p − X aussi, autrement dit X p − X a exactement pr racines, donc K ′ est
de cardinal exactement pr .
Unicité du sous-corps : si K ′ ⊂ K est de cardinal pr , alors ses éléments sont exactement les
r
éléments qui satisfont xp − x = 0.
Lemme V.18. 1. Dans n’importe quel corps K, X n − 1 divise X m − 1 dans K[X] ssi n|m.
2. Pour tout entier a > 1, an − 1 divise am − 1 dans Z ssi n|m.
r s
3. En particulier, X p − X divise X p − X ssi r|s.
Pq−1
Preuve. Si m = qn, et en notant Y = X q , (X m − 1) = (Y q − 1) = (Y − 1)( i=0 Y i) =
(X q − 1)( q−1 qi
P
i=0 X ).
68
Réciproquement, supposons X n − 1 divise X m − 1, et montrons n|m. Soient q, r la division
et le reste de la division euclidienne m = nq + r (avec r < n). On travaille dans K[X]/(X n − 1).
Puisque X n ≡ 1 (mod X n − 1), on a X nq ≡ 1 (mod X n − 1), et X nq+r ≡ X r (mod X n − 1), et
X nq+r − 1 ≡ X r − 1 (mod X n − 1), qui est nul ssi r = 0 puisque r < n.
Le 2ème énoncé se montre de la même façon en raisonnant modulo an − 1.
r s r s
Pour le 3ème : (X p − X)|(X p − X) ssi (X p −1 − 1)|(X p −1 − 1) ssi pr − 1|ps − 1 d’après 1
ssi r|s d’après 2.
xy = 2α4 − α3 + 5α2 − 3α − 3
69
Proposition V.20. Soit Fq un corps fini de cardinal q, et soit Pn l’ensemble des polynômes
unitaires irréductibles de degré n dans Fq [X].
Alors Pn ̸= ∅ et
n
Y Y
Xq − X = P (X)
d|n P ∈Pd
n
Remarque V.21. Cette proposition donne la décomposition en facteurs irréductibles de X q − X
dans Fq [X]. Elle s’applique typiquement à Fq = Z/pZ lorsque q = p, mais plus généralement, à
tout corps fini K = Fq .
q n − q 1+n/2 ≤ nNn ≤ q n
La majoration vient du fait que nNn +autres termes = q n . On utilise cette majoration appliquée
aux Nd pour obtenir la minoration de Nn : pour tout d, on a dNd ≤ q d . On en déduit
X X X
qn = dNd ≤ nNn + q d ≤ nNn + q d ≤ nNn + q n/2+1
d|n d|n,d̸=n d≤n/2
2
q −q
35. q 2 = 1N1 + 2N2 = q + 2N2 car N1 = q, donc N2 = 2
70
(la dernière inégalité est une somme géométrique ; ou penser à l’écriture en base q : 1111 ≤
10000.) D’où l’inégalité.
Corollaire V.25. Le nombre d’itérations moyen T (p, n) de l’algorithme 7 pour trouver un poly-
nôme irréductible de degré n dans Z/pZ vérifie
pn n
T (p, n) = ≤ √ ≤ 3, 5 × n
Nn 1 − 1/ 2
pour n ≥ 3, soit = O(n) indépendamment de p.
Pour n = 2, le nombre moyen d’itérations est ≤ 4.
Si on cherche un polynôme de degré 1000, on a au moins 1 chance sur 3500 que le polynôme
soit irréductible, et il faudra tester au plus 3500 polynômes en moyenne.
Preuve (exo). Ici q = p. Le nombre d’itération moyen est égal à l’inverse de la proportion de
polynômes irréductibles.
Puisque n ≥ 3, 1 − n2 ≤ −1/2 donc la proportion de polynôme irréductibles vérifie
n √ √
Nn 1 − p1− 2 1 − 1/ p 1 − 1/ 2
≥ ≥ ≥
pn n n n
1− 1
Pour n = 2, mais N 2
p2
= 2 p donc le nombre moyen d’itérations est 1−1/p 2 2
≤ 1−1/2 = 4. Il
faut donc en moyenne au plus 4 itérations pour trouver un polynôme irréductible de degré 2 en
cherchant au hasard.
En appliquant la formule d’inversion de Möbius, on peut aussi avoir une formule explicite :
Corollaire V.26. Nn = n1 d|n µ(n/d)q d
P
n
et puisque P n’apparaı̂t pas dans cette liste, P est premier à X q l − X, donc (2) est vraie.
Réciproquement, supposons (1) et (2) et écrivons P = Q1 , . . . Qk comme produit d’irréduc-
tibles dans Fq [X]. D’après (1), chaque Qi est dans un Pd avec d|n. D’après (2), aucun Qi ne
peut etre dans un Pd avec d ̸= n. Donc tous les Qi sont dans Pn , et puisque P est lui aussi de
degré n, il y a un seul facteur, et P est irréductible.
71
Remarque V.28. Note sur l’effectivité : Attention, il ne faut pas travailler avec des polynômes
n
de degré q n qui est en général beaucoup trop gros. Pour vérifier (1) on calcule X q modulo P
en faisant une exponentiation rapide.
n
Pour calculer le pgcd dans (2), on commence par calculer X q l − X mod P par exponentia-
tion rapide, puis on est ramené a calculer le pgcd de 2 polynômes de degré ≤ n.
C’est donc le polynôme unitaire dont les racines sont les racines primitives n-ièmes de l’unité
dans C. Son degré est donc φ(n) (l’indicatrice d’Euler). C’est a priori un polynôme à coefficients
complexes, mais on verra plus bas qu’il est à coefficients entiers.
Notons que si on fait le produit avec toutes les racines n-ièmes (au lieu des racines primitives
n-ièmes seulement), on obtient
Y
(X − e2ikπ/n ) = X n − 1
1≤k≤n
puisque c’est la décomposition de X n − 1 en facteurs de degré 1 (les e2ikπ/n sont les racines
n-ièmes de l’unité, c’est à dire les racines de X n − 1).
Exemple V.30.
— Φ1 = X − 1
— Φ2 = X + 1 √ √
— Φ3 = (X − −1+i 2
3
)(X − −1−i 3
2 ) = X 2 + X + 1,
— Φ4 = (X − i)(X + i) = X + 1. 2
5 −1
— Φ5 = XX−1 = X 4 + X 3 + X 2 + X + 1.
√ √
— Φ6 = (X − 1+i2 3 )(X − 1−i2 3 ) = X 2 − X + 1
— Si p est premier, alors Φp = X p−1 + · · · + X + 1. En effet,
Qp
Y
2ikπ/p
Y
2ikπ/p (X − e2ikπ/p ) Xp − 1
(X − e )= (X − e ) = k=1 =
X −1 X −1
k∧p=1 k̸=1
r
X p −1 r−1
— Plus généralement, si p est premier, Φpr = = Φp (X p ). En effet, les indices k
X pr−1 −1
qui ne sont pas premiers avec sont les multiples de p, ce sont donc les pk pour k ≤ pr−1 .
pr
On a donc
Qp r 2ikπ/pr )
Qp r 2ikπ/pr ) r
Y
2ikπ/pr k=1 (X − e k=1 (X − e Xp − 1
(X − e ) = Qpr−1 = Qpr−1 = pr−1
2ikpπ/pr ) 2ikπ/pr−1 ) X −1
k∧pr =1 k=1 (X − e k=1 (X − e
Preuve. On note Un l’ensemble des racines n-iemes de l’unité dans C, et pour d|n, on note
Ud∗ ⊂ Un l’ensemble des racines primitives d-ièmes de l’unité. On a une partition Un = ⊔dn Ud∗
(partition des racines de l’unité selon leur ordre). On a alors
Y Y Y Y
Xn − 1 = (X − ω) = (X − ω) = Φd .
ω∈Un d|n ω∈Ud∗ d|n
72
P
Remarque V.32. En regardant les degrés, ceci redonne l’égalité n = d|n φ(d).
Preuve. Remarquons d’abord que Φn est à racines simples pour n ∧ p = 1. En effet, il suffit de
voir que X n − 1 est à racines simples (puisque Φn est un diviseur de X n − 1). Mais la dérivée de
X n − 1 est nX n−1 , et comme n ̸= 0 (mod p), elle ne s’annule qu’en 0, et donc pas aux racines
n-ièmes de 1. Ceci montre que X n − 1 et donc Φn est à racines simples dans K.
Pour comprendre quelles sont les racines de Φk , remarquons d’abord que Q pour tout k, toute
racine de Φk est une racine k-ième de l’unité. En effet, puisque (X k − 1) = d|k Φd , Φk divise
X k − 1 dans Z[X] et donc aussi dans K[X] ( 37 ). Toute racine x ∈ K de Φk est donc une racine
k-ième de l’unité dans K.
Montrons l’inclusion
n o n o
racines primitives n-ièmes de 1 dans K ⊂ racines de Φn dans K .
Si x ∈ K est une racine primitive n-ième de l’unité, c’est une racine de X n − 1. Mais x ne peut
pas être racine d’un Φd avec d|n, d ̸= n, sinon elle serait d’ordre ≤ d puisque Φd |X d − 1. Puisque
(X n − 1) = d|n Φd , x est une racine de Φn .
Q
Pour l’inclusion réciproque, soit x ∈ K une racine de Φn . On a vu que x est une racine
n-ième de 1. Si d
Q elle n’est pas primitive, alors x = 1′ pour un certain d|n, donc x est une racine
de X − 1 = d′ |d Φd′ , donc d’un certain Φd′ avec d |d, donc d′ |n, d ̸= n. Comme
d
Y
X n − 1 = Φn × Φd ,
d|n,d̸=n
r
36. Preuve de la remarque : Soit n = pr m avec p ∧ m = 1. On a que ri=0 Φpi m = Φm (X p ) dans Z[X] : en
Q
effet, les racines du membres de gauche sont les racines de l’unité d’ordre exactement pi m pour un certain i ≤ r,
r
c’est a dire les x tq xp soit racine primitive m-ième de l’unité, ce qui donne les racines du membre de droite.
r
Réduisant mod p, on obtient grace au Frobénius ri=0 Φpi m = Φm (X)p dans Fp [X]. Ceci montre par recurrence
Q
sur r ≥ 1 que
r r−1
Φpr m = Φpm −p mod p :
pour r = 1, la formule donne bien Φpm Φm = Φpm ie Φpm = Φp−1 m , et l’induction est claire. Finalement, l’egalite
pr −pr−1
Φpr m = Φm est vraie dans K[X], et montre que Φpr m et Φm ont les memes racines dans K.
37. Ici, on uilise que si P = AB dans Z[X], alors cette egalité reste vraie dans K[X] en remplacant les coefficients
de P, A, B par leur image dans K par le morphisme canonique c : Z → K. C’est évident, mais une façon de justifier
cela est de considérer le morphisme Φ : Z[X] → K[X] donné par la propriété universelle de l’anneau de polynôme
associé au morphisme canonique c : Z → K et envoyant X sur X. Ainsi Φ(P ), Φ(A), Φ(B) ne sont rien d’autre
que les polynômes obtenus en remplacant les coefficients de P, A, B par leur image dans K par le morphisme
canonique c : Z → K. Puisque Φ est un morphisme d’anneaux, Φ(A)Φ(B) = Φ(P ). Donc si A divise P dans Z[X]
ca reste vrai dans K[X] après le remplacement des coefficients.
73
et puisque x est à la fois racine de Φn et de Φd′ , x est racine double de X n − 1, contradiction.
Ceci montre l’autre inclusion.
Lemme V.37 (Lemme de Gauss). Le contenu est multiplicatif : c(P Q) = c(P )c(Q).
Le lemme est vrai plus généralement dans A[X] avec A anneau factoriel. Dans ce contexte,
le contenu est défini à association près, et l’énoncé dit plutôt c(P Q) ∼ c(P )c(Q).
1
Preuve. Le lemme est clair si P ou Q est nul. En remplacant P par P̃ = c(P ) P et Q par
1
Q̃ = c(Q) Q, on peut supposer que c(P ) = c(Q) = 1 et il faut montrer que c(P Q) = 1. Si ce n’est
pas le cas, il y a un diviseur premier p de c(P Q). En particulier, l’image de P Q dans Z/pZ[X]
est nulle. Par contre, l’image de P et de Q dans Z/pZ[X] sont non-nulles. Comme Z/pZ[X] est
intègre, c’est une contradiction.
Lemme V.38. Soit f ∈ Z[X] et soit f = Q1 . . . Qn une décomposition en produit dans Q[X].
Alors on peut écrire f = c(f )Q̃1 . . . Q̃n avec Q̃i ∈ Z[X], associé à Qi dans Q[X] et c(Q̃i ) = 1.
Démonstration. Soit Q̃i = pqii Qi pour un certain pqii ∈ Q \ {0} de sorte que les coefficients de Q̃i
soient entiers et premiers entre eux, ie c(Q̃i ) = 1. L’égalité f = Q1 . . . Qn devient
q1 . . . qn Q̃1 . . . Q̃n = p1 . . . pn f.
Preuve. Si f n’est pas irréductible dans Z[X], on écrit f = AB avec A, B ∈ Z[X] non inversibles.
Si A était constant, alors l’entier A diviserait c(f ), donc A = ±1, contredit que A n’est pas
inversible. Par symmétrie de l’argument A et B sont son constants, ce qui montre que f n’est
pas irréductible dans Q[X].
Pour la réciproque on utilise le Lemme V.38 : si f n’est pas irréductible dans Q[X], f =
Q1 . . . Qn avec n ≥ 2 et des Qi ∈ Q[X] non constants. Le lemme V.38 conclut que f n’est pas
irréductible dans Z[X].
74
Ce théorème permet de déduire que Z[X] est un anneau factoriel, et plus généralement que
si A est un anneau factoriel, alors A[X] est encore factoriel (voir par exemple [Perrin]).
Ce théorème permet de démontrer l’irréductibilité de polynômes en réduisant modulo p.
Prenons par exemple f = 5X 4 + X 3 − 7X 2 − X + 1 et montrons qu’il est irréductible dans Q[X].
Il suffit de voir qu’il est irréductible dans Z[X]. Si ce n’est pas le cas, f = AB dans Z[X], avec
deg A, deg B < deg f . En réduisant modulo 2, on obtient que f¯ = ĀB̄, avec deg Ā, deg B̄ < deg f
et comme deg f = deg f¯, f¯ n’est pas irréductible dans Z/2Z[X]. Mais f¯ = X 4 + X 3 + X 2 + X + 1
est irréductible dans Z/2Z[X] : il n’a pas de racine dans Z/2Z, et si on écrit f¯ comme produit
de polynômes unitaires de degré 2, on voit que leur coefficient constant est égal à 1, donc
f¯ = (X 2 + aX + 1)(X 2 + bX + 1), donc a + b = 1 et ab = 1 ce qui est impossible dans Z/2Z.
Preuve du théorème. Ref : [Demazure.] Puisque Φn est unitaire, son contenu est égal à 1, donc
l’irréductibilité dans Q[X] et Z[X] sont équivalentes.
Supposons donc que Φn n’est pas irréductible dans Q[X], donc d’après le Lemme V.38, on
peut écrire Φn = P Q avec P, Q ∈ Z[X], et P irréductible dans Q[X].
On va démontrer l’assertion suivante : si ζ ∈ C est une racine de P , et si p est un nombre
premier ne divisant pas n, P (ζ p ) = 0.
Pour en déduire le théorème, partons de ζ ∈ C une racine de P , et de ζ ′ une autre racine
primitive n-ième de l’unité ; on sait que ζ ′ = ζ k pour un certain k ∈ Z/nZ× , on décompose
k en facteurs premiers k = p1 . . . pl (pas forcément distincts). Les pi ne divisent pas n parce
que si pi |n, ζ pi est une racine n/pi -ième de l’unité, ce qui empèche ζ ′ d’être une racine primitive
n-ième de l’unité. Soit ζ1 = ζ p1 . C’est encore une racine de P d’après l’assertion. On peut ensuite
réappliquer l’assertion à ζ1 : ζ1p2 est encore une racine de P , et en itérant ce raisonnement, on
obtient que ζ ′ est une racine de P . Ceci montre que toutes les racines primitives n-ièmes de
l’unité sont des racines de P , donc P et Φn ont le même degré et puisque P |Φn , on en déduit
P = Φn .
Démontrons maintenant l’assertion. Rappelons que Φn = P Q. Si P ne s’annule pas en ζ p ,
c’est que Q oui (puisque Φn s’annule en ζ p ). Donc Q(ζ p ) = 0, donc ζ est une racine de Q(X p ).
Comme P est irréductible et s’annule en ζ, c’est le polynôme minimal de ζ, donc P |Q(X p ) dans
Q[X]. D’après le lemme V.38, il existe R ∈ Z[X] tq P R = Q(X p ).
Maintenant on réduit mod p et on utilise qu’élever à la puissance p est le Frobénius. On a
P̄ R̄ = Q̄(X p ) = Q̄(X)p (car le Frobénius est un morphisme d’anneau et que le Frobénius est
l’identité sur Z/pZ). En particulier, si P̃ est un facteur irreductible de P̄ dans Z/pZ[X], il divise
Q̄p donc Q̄.
Mais comme par ailleurs, on a aussi Φ̄n = P̄ Q̄, P̃ 2 divise Φn , ce qui contredit que Φn est à
racines simples dans toute extension de Z/pZ (car Φn est un diviseur de X n −1, et n∧p = 1).
Proposition V.41. Soit Fq un corps fini, où q = ps . Soit n un entier premier a p. Alors le
polynôme Φn (X) est irréductible dans Fq [X] si et seulement si la classe de q dans le groupe
(multiplicatif ) (Z/nZ)× engendre ce groupe.
V.5.d Construction des corps finis par la factorisation des corps cyclotomiques
On peut utiliser les polynômes cyclotomiques pour donner une autre methode pour construire
les corps finis, et qui a l’avantage de produire un générateur du groupe F× q . En effet, pour
construire Fq avec q = pr , il suffit de construire une extension qui contient une racine primitive
(pr − 1)-ième de l’unité. On peut donc prendre Fq = Fp [X]/⟨P ⟩, où P est un facteur irréductible
de Φpr −1 . Notons en particulier que tout facteur irréductible de Φpr −1 est de degré r.
75
Pour cela, il faut savoir factoriser Φpr −1 en facteurs irréductibles dans Fp [X]. On peut utiliser
l’algorithme de Berlekamp, ou celui de Cantor Zassenhaus pour factoriser des polynômes à
coefficients sur un corps fini.
Mais au final, cet algorithme n’est pas le plus efficace semble-t-il. 38
76
Algorithme 8 : Algorithme de Berlekamp
Entrée : P ∈ Fp [X] sans facteur multiple, réductible
Sortie : D ∈ Fp [X] tel que D|P et 1 < deg D < deg P
Déterminer une base B de N = {x ∈ Fp [X]/⟨P ⟩|xp = x}
Si dim(N ) = 1, dire « P est irréductible »
Prendre Q ∈ Fp [X] qui représente un élément de B non constant
Pour α ∈ Z/pZ faire:
calculer D = pgcd(P, Q − α)
si 1 < deg(D) < deg(P ), renvoyer D
77
dans Fpd : Tout élément Q de Fp [X]/Pi eleve a la puissance (pd − 1)/2, donne ±1, 0. Ceci signifie
pd −1 pd −1 pd −1
que Pi divise soit (Q 2 − 1), soit Q 2 ou bien Q 2 + 1. On prend Q au hasard (en fait de
degré ≤ 2d suffit). La proba que tous les Pi divisent le meme est la proba que l’image de Q soit
dans le meme tiers pour tout i qui est au plus une chance sur 2 si r ≥ 2 (ie s’il y a plusieurs
facteurs).
78