Table des matières
1 Algorithme de Berkekamp 2
1.1 Principe de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Première étape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Seconde étape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Démonstrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Elimination des facteurs multiples (première étape) . . . . . . . . . . . . . 4
1.2.2 Seconde étape (algorithme de Berlekamp) . . . . . . . . . . . . . . . . . . 5
1.2.3 Application : recherche de polynômes irréductibles de degré fixé . . . . . . 6
1.3 Factorisation de polynômes à coefficients entiers . . . . . . . . . . . . . . . . . . . 7
1.3.1 Théorème de Landau-Mignotte . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 Première méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.3 Seconde méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Cryptographie et codes correcteurs 11
2.1 Cryptographie à clé publique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1 Deux exemples de codes à clé publique . . . . . . . . . . . . . . . . . . . 12
2.1.2 Le système RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.3 Sécurité de RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.4 Recherche de nombres premiers . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Codes correcteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.1 Vocabulaire de la théorie des codes . . . . . . . . . . . . . . . . . . . . . . 18
2.2.2 Codes linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.3 Code cycliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.4 Un exemple : le code de Hamming . . . . . . . . . . . . . . . . . . . . . . 21
3 Elimination 24
3.1 Résultants à une indéterminée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.1 Définition et propriété principale . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.2 Résultant et relations coefficients-racines . . . . . . . . . . . . . . . . . . . 25
3.1.3 Applications à l’arithmétique . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Elimination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1 Résultants de deux polynômes à nindéterminées . . . . . . . . . . . . . . 28
3.2.2 Théorème de Bézout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1
Chapitre 1
Algorithme de Berkekamp
1.1 Principe de l’algorithme
Soit pun nombre premier et soit nN. On pose q=pn. On cherche à factoriser un poly-
nôme Pnon constant de Fq[X]en facteurs irréductibles. Comme Fq(le corps à qéléments) est
un corps, Fq[X]est euclidien, donc factoriel, par suite cette décomposition est essentiellement
unique. On peut utiliser un algorithme "naïf" : diviser le polynôme considéré par tous les poly-
nômes de degré 1, puis de degré 2,. . ., puis les polynômes de degré deg(P)1. Ces polynômes
étant en nombre fini, cet algorithme se termine en un nombre fini d’étapes. On est assuré que le
premier diviseur trouvé est irréductible. L’inconvénient est que cet algorithme est très lent. On
va présenter dans ce chapitre un algorithme plus performant, l’algorithme de Berlekamp. Nous
commençons par la description de l’algorithme.
Remarque. Sur un corps quelconque, il n’existe pas d’algorithme (même très lent) permet-
tant de factoriser les polynômes. Par exemple, factoriser un polynôme de C[X]revient à calculer
ces racines et les travaux de Galois ont montré que ce n’était pas possible en toute généralité.
1.1.1 Première étape
Elle consiste à se ramener au cas d’un polynôme sans facteur multiple. Tout d’abord, on
vérifie si PFq[Xp], c’est-à-dire si P=Q0(Xp). Dans ce cas, Frobenius nous assure l’existence
d’un polynôme Q1Fq[X]tel que P=Q1(X)p. En réitérant éventuellement le procédé (si
Q1Fq[Xp]. . .), on est finalement ramené à P(X) = P1(X)pk1, avec P1/Fq[Xp].
Remarques.
1. Si q=p,Q1=Q0.
2. Le degré de Q1est le degré de Pdivisé par p, donc est inférieur strictement au degré de
P. Par suite, cette étape se termine en un nombre fini de passages pour trouver P1.
On travaille ensuite sur P1. On calcule Q1=P1P0
1et on pose P1=Q1R1. Alors R1n’a
que des facteurs simples. Si Q1n’est pas constant, on réitère l’ensemble de cette première étape
sur Q1.
Remarques.
1. Comme P1/Fq[Xp],P0
16= 0 et donc le degré de Q1est strictement inférieur au degré de
P1.
2. En conséquence, cette étape se termine en un nombre fini de passages.
2
A la fin de cette première étape, on a décomposé Psous la forme :
P=Rpk1
1. . . Rpkl
l,
où les RiFq[X]sont sans facteurs multiples.
1.1.2 Seconde étape
On est ainsi ramené à factoriser des polynômes sans facteur multiple, les Ri. On suppose donc
maintenant que Pn’a que des facteurs simples. Son degré est noté N. L’idée est de chercher un
polynôme non constant Hde degré < N tel que Pdivise HqH.
Pour tout 0jN1, on calcule le reste de la division euclidienne de (Xqj )par P. On le
note
N1
X
i=0
bi,jXi. Ces coefficients sont regroupés dans une matrice B= (bi,j)0i,jN1MN(Fq).
Le résultat suivant permet de déterminer un polynôme Hconvenable :
Proposition 1 Soit H=
N1
X
i=0
hiXiFq[X], de degré < N. Alors Pdivise HqHsi, et
seulement si :
(BIN)
h0
.
.
.
hN1
= 0,
ce qui revient à dire que le vecteur colonne des coefficients hiest dans le noyau de BIN.
Par suite, une résolution d’un système linéaire permet de déterminer un Hconvenable. On
utilise ensuite le résultat suivant :
Proposition 2 Soit PFq[X], unitaire, et soit HFq[X], tel que Pdivise HqH. Alors :
P=Y
λFq
P(Hλ),
L’algorithme de Berlekamp procède alors de la manière suivante : si BINest de rang N1,
alors Pest irréductible . Sinon, on choisit un polynôme Hnon constant tel que Pdivise HnH
grâce au calcul du noyau de BINet la proposition précédente donne une factorisation de Pen
facteurs non tous triviaux (ils sont tous de degré strictement inférieur au degré de pmais il est
possible que certains soient constants). En réitérant l’algorithme de Berlekamp sur les facteurs
trouvés, on finit par obtenir une décomposition en facteurs irréductibles de P.
Nous allons aussi montrer le résultat suivant :
Proposition 3 Si Pn’a pas de facteurs carrés, le nombre de facteurs irréductibles de Pest
Nrang(BIN).
Cette dernière proposition n’a pas d’intérêt lorsque l’on souhaite programmer Berlekamp,
mais servira souvent en pratique !
Remarques.
1. Lorsque k=Nrang(BIN)3, on peut appliquer la proposition 3 avec k1poly-
nômes non constants et linéairement indépendants plutôt que de réappliquer l’algorithme
immédiatement aux facteurs trouvés. Ceci augmente les chances de trouver tous les facteurs
irréductibles en le minimum de calculs.
2. L’algorithme nécessite (entre autre) le calcul de qPGCD. Il n’est donc performant que
lorsque le cardinal du corps de base est petit.
3
1.2 Démonstrations
Nous allons maintenant démontrer la validité du procédé.
1.2.1 Elimination des facteurs multiples (première étape)
Nous allons utiliser le morphisme de Frobenius.
Proposition 4 Soit Aun anneau unitaire commutatif de caractéristique p. L’application
suivante est un endomorphisme d’anneau :
F:AA
xxp
Il est appelé endomorphisme de Frobenius.
Preuve. Il est immédiat que F(1) = 1 et F(xy) = F(x)F(y)pour tous x, y A, car Aest
commutatif. Soient x, y A. Alors, par la formule du binôme :
F(x+y) = xp+
p1
X
k=1 p
kykxpk+yp.
Si 1kp1:
k!(pk)!p
k=p!.
Donc p|k!(pk)!p
k. D’autre part, comme 1kp1, les facteurs de k!et de (pk)!
sont tous < p. Par Gauss, pne divise pas k!(pk)!. Toujours par Gauss, pdivise p
k. Comme
car(A) = p,p
k= 0 dans Aet donc F(x+y) = F(x) + F(y).2
Remarque. Le fait que p|p
ksi 1kp1joue un rôle important dans la preuve des
théorèmes de Sylow.
Proposition 5 1. Si A=Fq, alors l’endomorphisme de Frobenius est un automorphisme.
2. Si A=Fp, alors l’automorphisme de Frobenius est l’identité.
3. Si A=Fpn, alors Fn=Id.
Preuve. 1. Considérons Ker(F). Il s’agit d’un idéal non nul de Fq(car F(1) = 1 6= 0), donc
est nul car Fqest un corps. Donc Fest injectif. Comme Fqest fini, cette injection de Fqdans
lui-même est une bijection.
2. Il s’agit du petit théorème de Fermat.
3. Si xFq, alors Fn(x) = xpn=xq. On sait que le corps fini Fqest l’ensemble des racines
de XqX, donc Fn(x) = x. Par suite, Fn=Id.2
Proposition 6 On considère A=Fq[X]. Alors l’endomorphisme de Frobenius de Aest
injectif et son image est Fq[Xp]. En conséquence, si QFq[Xp], il existe un unique PFq[X]
tel que Q(X) = P(X)p.
Preuve. Soit P(X) = a0+. . . +akXkFq[X]. Alors :
F(P) = ap
0+ap
1Xp+. . . +ap
kXkp.
Supposons F(P)=0. Alors en identifiant les coefficients, ap
0=. . . =ap
k= 0 dans Fq, donc
a0=. . . =ak= 0 :P= 0. Il est évident que Im(F)Fq[Xp]. Réciproquement, si Q(X) =
4
b0+b1Xp. . . +bkXkp Fq[Xp], d’après la proposition 5, il existe aiFqtel que bi=ap
ipour
tout i, et alors Q=F(P)Im(F).2
Remarque. Il n’est pas immédiat de trouver l’unique Qtel que tel que P=Qpsi P
Fq[Xp]: le problème est de trouver une racine p-ième des coefficients de Pdans Fq. Le seul cas
où cela est évident est si n= 1. D’après le second point de la proposition 5, P(Xp) = P(X)p.
Voir le TD pour un exemple.
Ainsi, la première partie de l’étape 1 fonctionne et on est ramené à un polynôme ne vérifiant
pas Frobenius.
Proposition 7 Soit P /Fq[Xp]. Posons P= (PP0)Q. Alors Qn’a que des facteurs
simples.
Preuve. Comme P /Fq[Xp],P06= 0 et est de degré strictement inférieur au degré de P, donc
PP06=Pet en conséquence, Qn’est pas constant. Par factorialité, on pose P=Pα1
1. . . P αk
k
la décomposition en facteurs irréductibles de P. On obtient :
P0=
k
X
i=1
αiP0
iPα1
1. . . P αi1
i. . . P αk
k
= k
Y
i=1
Pαi1
1!
| {z }
Q0(X)
k
X
i=1
αiP1. . . Pi1P0
iPi+1 . . . Pk!.
Il est clair que Q0(X)divise Pet P0donc divise PP0: posons PP0=Q0R0. Alors P=Q0R0Q.
Par suite, en divisant par Q0, on obtient P1. . . Pk=R0Q, donc Qdivise P1. . . Pk. Par factoria-
lité, Qn’a que des facteurs simples. 2
Remarque. Si αiest divisible par p, dans l’expression de P0on peut factoriser Pi(X)et donc
Q0n’est pas nécessairement le PGCD de Pet P0, contrairement à ce que l’on a en caractéristique
nulle. Par exemple, si P(X) = Xp(X1),P0(X) = Xpet donc PP0=Xpalors que Q0=Xp1.
1.2.2 Seconde étape (algorithme de Berlekamp)
Nous allons ici démontrer les propositions 1, 2 et 3.
Soit A=Fq[X]/hP(X)i. Il s’agit d’une Fq-algèbre de dimension N, dont une base est donnée
par B= (1, X, . . . , XN1).
On considère l’endomorphisme de Frobenius Fde Aet on pose φ=Fn. Si x, y A,φ(x+y) =
φ(x) + φ(y). Si aFqet xA, alors φ(ax) = Fn(a)φ(x) = (x), car aFq(proposition 5-3).
Donc φest Fq-linéaire. Sa matrice dans la base Best par définition la matrice B. En conséquence,
si H=h0+. . . +hN1XN1Fq[X]:
P|HqHHqH= 0 dans A
(φId)(H) = 0 dans A
(BIN)
h0
.
.
.
hN1
= 0,
ce qui démontre la proposition 1.
5
1 / 30 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !