Introduction `
a la Cryptologie
Chapitre 9 : Anneaux de polynˆ
omes
Michael Eisermann (Institut Fourier, UJF Grenoble)
Ann´
ee 2008-2009
IF / IMAG, Master 1, S1-S2
document mis `
a jour le 7 juillet 2009
FOURIER
INSTITUT
f
i
www-fourier.ujf-grenoble.fr/~eiserm/cours # crypto
1/32
Objectifs de ce chapitre
Les polynˆ
omes sont un outil omnipr´
esent en alg`
ebre
et dans ses nombreuses applications comme la cryptologie.
D´
eveloppement math´
ematique :
Division euclidienne S=P Q +Rtelle que deg R < deg P.
Sur un anneau int`
egre un polynˆ
ome de degr´
ena au plus nracines.
Sous-groupes multiplicatifs finis GK×d’un anneau int`
egre K.
D´
eveloppement algorithmique :
Arithm ´
etique des polynˆ
omes, notamment la division euclidienne.
Application aux anneaux quotients : repr´
esentants et algorithmes.
Recherche d’une racine primitive de K×dans un corps fini.
2/32
Sommaire
1L’anneau des polynˆ
omes
D´
efinition et construction de l’anneau des polyn ˆ
omes
Algorithmes pour l’addition et la multiplication
Propri ´
et´
e universelle et fonctions polynomiales
2La division euclidienne
Propri ´
et´
es du degr´
e
La division euclidienne de polynˆ
omes
Application aux anneaux quotients
3Racines
Racines d’un polynˆ
ome
Racines multiples et d´
eriv ´
ee
Sous-groupes multiplicatifs finis d’un anneau int`
egre
3/32
L’anneau des polynˆ
omes
Th´
eor`
eme
Pour tout anneau commutatif Kil existe un anneau commutatif K[X]tel que :
L’anneau K[X]contient Kcomme sous-anneau et Xcomme ´
el´
ement.
Tout ´
el´
ement PK[X]s’´
ecrit de mani `
ere unique comme
P=a0+a1X1+· · · +anXno`
unN, a0, a1,...,anK, an6= 0.
D´
efinition
Dans ce cas on dit que K[X]est l’anneau des polyn ˆ
omes sur l’anneau des
coefficients Ken la variable X. On appelle Pun polyn ˆ
ome sur Ken X.
On d´
efinit le degr´
edeg P:= net le coefficient dominant dom P:= an.
Le polynˆ
ome nul est particulier : on pose deg 0 := −∞ et dom 0 := 0.
Tout polyn ˆ
ome PK[X]peut ˆ
etre ´
ecrit de mani `
ere unique comme
P=
X
k=0
akXk
sous-entendant que seul un nombre fini de coefficients aksont non nuls.
Ainsi deg P= sup{kN|ak6= 0}avec la convention sup =−∞.
§1.1 4/32
L’anneau des polynˆ
omes : op´
erations
Ce qui compte est la suite des coefficients dans K:
X
k=0
akXk=
X
k=0
bkXkak=bkpour tout kN.
Pour l’impl´
ementation il suffit donc de stocker les coefficients :
Pour un polynˆ
ome «dense »on stocke toute la suite initiale
(a0, a1, a2,...,an)telle que an6= 0 et ak= 0 pour k > n.
Pour un polynˆ
ome «creux »on ne stocke que les monˆ
omes non nuls.
L’addition et la multiplication des polynˆ
omes sont donn´
ees par
X
k=0
akXk«+
X
k=0
bkXk«=
X
k=0
(ak+bk)Xk
X
i=0
aiXi«·
X
j=0
bjXj«=
X
s=0X
i+j=s
aibj«Xs
Ces formules se traduisent imm´
ediatement en algorithmes.
Si l’on sait impl´
ementer K, alors on sait impl´
ementer K[X].
§1.1 5/32
L’anneau des polynˆ
omes : preuve d’existence par construction
Pour la construction on consid`
ere les suites dans K`
a support fini,
K(N):= (ak)kN˛
˛
˛
On a akKpour tout kNet il existe
nNtel que ak= 0 pour tout k > n.
Sur K(N)on d´
efinit une addition et une multiplication par
`ak´kN+`bk´kN:= `ak+bk´kNet
`ai´iN·`bj´jN:= X
i+j=s
aibjsN.
Lemme (exercice long mais b´
en´
efique)
(K(N),+,·)est un anneau commutatif.
On identifie tout ´
el´
ement aKavec (a, 0,0,0, . . . )K(N).
Ainsi l’anneau Kdevient un sous-anneau de l’anneau K(N).
On pose X:= (0,1,0,0, . . . ), ce qui entraˆ
ıne X2= (0,0,1,0, . . . ), etc.
Tout PK(N)non nul est de la forme P= (a0, a1,...,an,0, . . . )o`
u
a0, a1,...,anKet an6= 0 : il s’´
ecrit donc de mani `
ere unique comme
P=a0+a1X1+· · · +anXn.
Ceci prouve que K(N)est l’anneau des polynˆ
omes sur Ken la variable X.
§1.1 6/32
L’anneau des polynˆ
omes : v´
erification des axiomes
Pour prouver que (K(N),+,·)est un anneau il faut v´
erifier les axiomes.
L’associativit´
e de (K(N),+) d´
ecoule de celle de (K,+) :
ˆ(ak)k+ (bk)k˜+ (ck)k= (ak+bk)k+ (ck)k= [(ak+bk) + ck]k
= [ak+ (bk+ck)]k= (ak)k+ (bk+ck)k= (ak)k+ˆ(bk)k+ (ck)k˜
La commutativit´
e de (K(N),+) d´
ecoule de celle de (K,+) :
(ak)k+ (bk)k= (ak+bk)k= (bk+ak)k= (bk)k+ (ak)k
L´
el´
ement neutre de (K(N),+) est le polynˆ
ome nul :
(0)k+ (ak)k= (0 + ak)k= (ak)k.
Dans (K(N),+) l’´
el´
ement oppos´
e de (ak)kest (ak)k:
(ak)k+ (ak)k= (ak+ (ak))k= (0)k.
§1.1 7/32
L’anneau des polynˆ
omes : v´
erification des axiomes
L’associativit´
e de (K(N),·)repose sur celle de (K,·):
ˆ(ai)i·(bj)j˜·(ck)k=X
i+j=s
aibjs·(ck)k=X
i+j+k=t
(aibj)ckt
=X
i+j+k=t
ai(bjck)t= (ai)i·X
j+k=s
bjcks= (ai)i·ˆ(bj)j·(ck)k˜
La commutativit´
e de (K(N),·)repose sur de celle de (K,·):
(ai)i·(bj)j=X
i+j=s
aibjs=X
j+i=s
bjais= (bj)j·(ai)i
L´
el´
ement neutre est (1,0,0, . . . ) = (δi)io`
uδ0= 1 et δi= 0 pour i > 0:
(δi)i·(aj)j=X
i+j=s
δiajs= (as)s
La distributivit´
e de (K(N),+,·)repose sur de celle de (K,+,·):
(ai)i·ˆ(bj)j+ (cj)j˜= (ai)i·(bj+cj)j=X
i+j=s
ai(bj+cj)s
=X
i+j=s
aibj+aicjs=X
i+j=s
aibjs+X
i+j=s
aicjs= (ai)i·(bj)j+(ai)i·(cj)j
§1.1 8/32
L’anneau des polynˆ
omes : algorithmes
Algorithme 9.1 addition de deux polynˆ
omes
Entr´
ee: les coefficients de A=Pn
k=0 akXket B=Pn
k=0 bkXksur K.
Sortie: les coefficients de la somme C=A+Bsous la forme C=Pn
k=0 ckXk
pour kde 0`
anfaire ckak+bkfin pour
retourner (c0,...,cn)
Algorithme 9.2 multiplication de deux polynˆ
omes
Entr´
ee: les coefficients de A=Pm
i=0 aiXiet B=Pn
j=0 bjXjsur K.
Sortie: les coefficients du produit C=A·Bsous la forme C=Pm+n
k=0 ckXk
pour kde 0`
am+nfaire ck0fin pour
pour ide 0`
amfaire
pour jde 0`
anfaire
ci+jci+j+aibj
fin pour
fin pour
retourner (c0,...,cm+n)
!
Cette m´
ethode de multiplication est de complexit´
e quadratique :
elle effectue (m+ 1)(n+ 1) additions et multiplications dans K.
§1.2 9/32
Analogie formelle entre polynˆ
omes et entiers naturels
L’arithm ´
etique des polynˆ
omes et des entiers naturels sont tr`
es similaires.
L’analogie est la plus frappante quand on travaille en base p:
Tout entier naturel ANs’ ´
ecrit de mani `
ere unique comme
A=a0+a1p+a2p2+. . . anpnou 0ak< p, an6= 0.
Tout polyn ˆ
ome AZ/
p[X]s’´
ecrit de mani `
ere unique comme
A=a0+a1X+a2X2+. . . anXnou akZ/
p, an6= 0.
L’addition et la multiplication dans Z/
p[X]sont tr`
es similaires `
a celles dans N.
Une seule diff´
erence est cruciale : dans le cas des entiers la propagation des
retenues fait que le calcul au rang kpeut avoir un effet au rang k+ 1.
Pour les polynˆ
omes il n’y pas de retenue : ainsi l’arithm´
etique des polynˆ
omes
est plus simple que l’arithm ´
etique des entiers !
On verra plus tard d’autres similarit´
es :
Les anneaux Zet Z/
p[X]sont tous les deux euclidiens.
Ils ont la mˆ
eme asymptotique des ´
el´
ements premiers.
§1.2 10/32
La propri ´
et´
e universelle de l’anneau des polynˆ
omes
Proposition
Soit ϕ:KLun morphisme d’anneaux. Soit K[X]l’anneau des polyn ˆ
omes.
Pour tout xLil existe un unique morphisme d’anneaux ˜ϕ:K[X]Ltel
que ˜ϕ|K=ϕet ˜ϕ(X) = x. Explicitement, ce morphisme est donn ´
e par
˜ϕ(a0+a1X1+· · · +anXn) = ϕ(a0) + ϕ(a1)x1+· · · +ϕ(an)xn.
D´
emonstration. Unicit´
e. — Tout morphisme d’anneaux ˜ϕ:K[X]L
v´
erifiant ˜ϕ|K=ϕet ˜ϕ(X) = xest de la forme explicit´
ee dans l’´
enonc´
e.
Existence. — La formule d´
efinit une application ˜ϕ:K[X]L.
Exercice : v´
erifier qu’il s’agit d’un morphisme d’anneaux.
(O`
u utilise-t-on les propri ´
et´
es de l’anneau des polynˆ
omes K[X]?)
Notation
Si K=Let ϕ:KLest l’identit´
e, ou si KLet ϕ:KLest l’inclusion,
alors on ´
ecrit simplement P(x)pour ˜ϕ(P):
P=a0+a1X1+· · · +anXn=P(x) = a0+a1x1+· · · +anxn.
Autrement dit, on substitue la variable Xpar l’´
el´
ement x.
§1.3 11/32
Polynˆ
omes vs fonctions polynomiales
Corollaire
Tout polyn ˆ
ome PK[X]d´
efinit une fonction fP:KKpar x7→ P(x).
Pour aKla fonction fa=aest constante. Nous avons fX= idKet
fP+Q=fP+fQet fP·Q=fP·fQ.
Autrement dit, nous avons un morphisme d’anneaux K[X]KK,X7→ idK.
!
Pour K=Rnous avons l’habitude d’identifier Pet fP.
On verra plus bas que c’est possible si l’anneau Kest int`
egre et infini.
En g´
en´
eral ce n’est pas possible car fP=fQne garantit pas que P=Q.
Exemple
Soit K=Z/
pou pNest premier. Consid´
erons P=XpXdans Z/
p[X].
Alors P6= 0 mais fP= 0 d’apr `
es le petit th´
eor`
eme de Fermat.
Remarque (Exercice)
Pour tout anneau Ket tout ensemble , l’ensemble Kdes fonctions
f: Ω Kest un anneau pour l’addition et la multiplication «point par
point »:(f+g)(x) = f(x) + g(x)et (f·g)(x) = f(x)·g(x)pour tout x.
En particulier ceci explique l’anneau KKdes fonctions KKci-dessus.
§1.3 12/32
´
Evaluation d’un polynˆ
ome d’apr`
es Horner
Soit P=a0+a1X+a2X2+· · · +anXnun polyn ˆ
ome sur K.
Comment calculer efficacement l’´
evaluation P(x)pour xK?
M´
ethode na¨ıve : On calcule akxk=akx· · · xen effectuant kmultiplications.
Impl´
ement´
e ainsi, le calcul de P(x) = a0+a1x+a2x2+· · · +anxn
n´
ecessite nadditions et 1 + 2 + · · · +n=n(n+1)
2multiplications.
M´
ethode de Horner : On ´
evalue P(x)par l’expression ´
equivalente suivante :
P(x) = ((· · · ((anx+an1)x+an2)· · · x+a2)x+a1)x+a0.
Ceci ne n´
ecessite que nadditions et nmultiplications !
Pour n= 100 on passe de 5050 `
a100 multiplications.
Pour n= 1000 on passe de 500500 `
a1000 multiplications.
Algorithme 9.3 ´
evaluation d’un polynˆ
ome selon Horner
Entr´
ee: des coefficients a0, a1, a2,...,anKet un ´
el´
ement xK.
Sortie: la valeur y=a0+a1x+a2x2+···+anxn.
yan,
pour kde n1`
a0faire yy·x+akfin pour
retourner y
§1.3 13/32
Propri ´
et´
es du degr´
e
Proposition
Par construction, tout anneau de polynˆ
omes K[X]sur un anneau K
vient avec une fonction deg : K[X]N∪ {−∞}.
1deg(P+Q)sup{deg P, deg Q},
avec ´
egalit´
e ssi deg P6= deg Qou dom P+ dom Q6= 0.
2deg(P Q)deg P+ deg Q,
avec ´
egalit´
e ssi P= 0 ou Q= 0 ou dom P·dom Q6= 0.
Si dom P·dom Q6= 0, alors dom(P Q) = dom P·dom Q.
D´
emonstration. L’assertion (1) est claire.
L’assertion (2) est triviale si P= 0 ou Q= 0, suivant la convention
(−∞) + deg Q=−∞ et deg P+ (−∞) = −∞ dans ces deux cas.
Si P6= 0 et Q6= 0, il suffit d’expliciter le produit : Supposons que
P=a0+a1X1+· · · +anXno`
uan6= 0,
Q=b0+b1X1+· · · +bmXmo`
ubm6= 0.
Alors P Q =a0b0+ (a0b1+a1b0)X1+· · · + (anbm)Xm+n.
Si anbm6= 0, alors deg(P Q) = n+met dom(P Q) = dom P·dom Q.
§2.1 14/32
Anneaux int`
egres
Corollaire
Pour tout anneau Kles conditions suivantes sont ´
equivalentes :
1L’anneau Kest int`
egre.
2On a deg(P Q) = deg P+ deg Qpour tout P, Q K[X].
3L’anneau des polynˆ
omes K[X]sur Kest int`
egre.
D´
emonstration. (1) (2) : Clair pour P= 0 ou Q= 0. Si P, Q K[X],
alors dom P6= 0 et dom Q6= 0, donc dom P·dom Q6= 0 grˆ
ace `
a (1).
D’apr`
es la proposition on conclut que deg(P Q) = deg P+ deg Q.
(2) (3) : Si P6= 0 et Q6= 0, alors deg P0et deg Q0, et grˆ
ace `
a (2) on
obtient deg(P Q) = deg P+ deg Q0. En particulier P Q 6= 0.
(3) (1) : Dans un anneau int`
egre tout sous-anneau est int`
egre.
Exemple (Avertissement dans le cas d’un anneau non int`
egre)
Dans Z/
6[X]on consid`
ere P=¯
1 + ¯
2Xet Q=¯
1 + ¯
3X.
On a deg P+ deg Q= 2, mais pour le produit on trouve deg(P·Q) = 1 car
P·Q= (¯
1 + ¯
2X)·(¯
1 + ¯
3X) = ¯
1 + ¯
5X+¯
6X2=¯
1 + ¯
5X
§2.1 15/32
´
El´
ements inversibles
Corollaire
Pour tout anneau int`
egre Knous avons K[X]×=K×.
D´
emonstration. ´
Evidemment on a toujours K×K[X]×.
Montrons K[X]×=K×si Kest int`
egre : Si PK[X]×, alors il existe
QK[X]tel que P Q = 1. On a donc 0 = deg(P Q) = deg P+ deg Q.
Ceci implique deg P= deg Q= 0, donc P, Q Ket ainsi P, Q K×.
Exemple (Avertissement dans le cas d’un anneau non int`
egre)
Dans Z/
4[X]on consid`
ere P=¯
1 + ¯
2Xde degr´
e1. On trouve
P·P= (¯
1 + ¯
2X)·(¯
1 + ¯
2X) = ¯
1 + ¯
4X+¯
4X2=¯
1.
Exercice : expliciter le groupe Z/
4[X]×des ´
el´
ements inversibles dans Z/
4[X].
§2.1 16/32
Division euclidienne de polynˆ
omes
Proposition (Division euclidienne de polynˆ
omes)
Soit PK[X]un polynˆ
ome `
a coefficient dominant inversible, dom PK×.
Alors pour tout SK[X]il existe une unique paire Q, R K[X]telle que
S=P Q +Ret deg R < deg P.
Dans cette situation on appelle Squo P:= Qle quotient et
Srem P:= Rle reste de la division euclidienne de Spar P.
D´
emonstration. Unicit´
e. — Si P Q +R=P Q0+R0et deg R, deg R0<deg P,
alors P(QQ0) = R0R. Puisque dom PK×, nous avons
deg P+ deg(QQ0) = deg[P(QQ0)] = deg(RR0)<deg P.
Ceci n’est possible que pour deg(QQ0)<0, c’est-`
a-dire QQ0= 0.
On conclut que Q=Q0puis R=R0.
Existence. — Si deg S < deg Palors Q= 0 et R=Sconviennent.
Pour deg Sdeg Pon proc`
ede par r´
ecurrence sur n= deg S.
On suppose le r´
esultat vrai pour tout polynˆ
ome ˜
Savec deg ˜
S < n.
On pose M= dom(P)1dom(S)·Xdeg Sdeg Pet ˜
S=SP M .
On voit que deg(P M ) = deg Set dom(P M) = dom S, donc deg ˜
S < deg S.
Par hypoth`
ese il existe ˜
Q, R K[X]tels que ˜
S=P˜
Q+Ret deg R < deg P.
Ainsi S=˜
S+P M =P Q +Ren posant Q=˜
Q+M.
§2.2 17/32
La division euclidienne : algorithme
Algorithme 9.4 division euclidienne de deux polynˆ
omes
Entr´
ee: deux polynˆ
omes S, P K[X]tel que dom PK×.
Sortie: les polyn ˆ
omes Q, R K[X]v´
erifiant S=P Q +Ret deg R < deg P.
Q0;RS
tant que deg Rdeg Pfaire
Mdom(P)1dom(R)·Xdeg Rdeg P
QQ+M;RRP M
fin tant que
retourner (Q, R)
Proposition
L’algorithme 9.4 ci-dessus est correct.
D´
emonstration. Terminaison. — Le monˆ
ome Mest choisi tel que Ret P M
aient le mˆ
eme degr´
e et coefficient dominant. Ainsi deg(RP M )<deg R.
L’algorithme se termine apr `
es au plus 1 + deg Sdeg Pit ´
erations.
Validit´
e. — L’initialisation Q0,RSassure que S=P Q +R.
Chaque it´
eration QQ+M,RRP M conserve cette ´
egalit´
e.
`
A la fin nous avons S=P Q +Ret deg R < deg P, comme souhait ´
e.
§2.2 18/32
Application aux anneaux quotients
Corollaire
Soit PK[X]un polynˆ
ome tel que dom PK×. Alors l’anneau quotient
K[X]/(P)admet une description pratique : pour toute classe xK[X]/(P)il
existe un unique repr´
esentant RK[X]tel que deg R < deg P.
D´
emonstration. Existence. — On sait que x=cl(S)pour un SK[X].
Il existe Q, R K[X]tels que S=P Q +Ret deg R < deg P.
On obtient ainsi x=cl(S) = cl(P Q +R) = cl(R)comme souhait´
e.
Unicit´
e. — Supposons que x=cl(R) = cl(R0)o`
udeg R, deg R0<deg P.
On a alors RR0=P Q avec QK[X]. Ainsi
deg P > deg(RR0) = deg(P Q) = deg P+ deg Q.
On conclut que Q= 0, donc R=R0, comme ´
enonc´
e.
Remarque
Soulignons l’analogie entre Z/
met K[X]/(P): dans les deux cas on peut
choisir un repr´
esentant pr´
ef´
er´
epour chaque classe du quotient.
Z/
m={¯r|rN, r < m}={¯
0,¯
1, . . . , m 1}
K[X]/(P) = {¯
R|RK[X],deg R < deg P}
Ainsi calculer dans K[X]/(P)c’est calculer dans K[X]en ne retenant que le
reste modulo P(c’est-`
a-dire l’unique reste de la division euclidienne par P).
§2.3 19/32
Exercices
Exercice
Soit F4:= Z/
2[X]/(X2+X+ 1). On pose x:= ¯
XF4.
1Donner la liste des ´
el´
ements de F4.
2´
Ecrire les tables d’addition et de multiplication pour F4.
3Est-ce que F4est un corps ?
Exercice
Soit PZ/
m[X]un polynˆ
ome avec deg P=det dom P= 1.
1D´
eterminer le cardinal de l’anneau quotient Z/
m[X]/(P).
2Si Z/
m[X]/(P)est un corps, alors n ´
ecessairement mest premier et P
est irr´
eductible, c’est-`
a-dire P=QR implique QZ/×
mou RZ/×
m.
(On verra plus bas que ces conditions sont aussi suffisantes.)
§2.3 20/32
1 / 8 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 !