You are on page 1of 87

Universit Pierre & Marie Curie

Cours d'arithmtique

LM 220
Pierre Wassef

mais il est fortement recommand de lire ce chapitre avant d'aborder le cours.


Les chapitres ou paragraphes dont les intituls sont suivis du signe ( ) sont des complments de cours facultatifs.

Le chapitre 0 rappelle les notions prrequises et les dnitions les plus importantes. Il n'est pas trait en cours

Table des matires


0 Rappels
0.1 L'ensemble 0.1.1 0.1.2 0.2 0.3

5
N
des entiers naturels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 6 6 8 10 12 14 16 18 19 Principe de rcurrence . . . . . . . . . . . . . . . . . . . . . . . . . . . . Proprit fondamentale de

Oprations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Groupes 0.3.1 0.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sous-groupes

Groupes quotients

0.4 0.5 0.6 0.7

Anneaux et corps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Espaces vectoriels et algbres L'anneau des polynmes Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A[X]

1 La division euclidienne dans l'anneau Z et ses consquences


1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 La division euclidienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Les sous-groupes de

21
21 22 23 24 26 27 28 28

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Diviseurs, nombres premiers L'algorithme d'Euclide

Plus grand commun diviseur ou pgcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le lemme de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Plus petit commun multiple ou ppcm . . . . . . . . . . . . . . . . . . . . . . . . Dcomposition d'un entier en facteurs premiers . . . . . . . . . . . . . . . . . .

2 Groupes nis
2.1 2.2 2.3 Les groupes quotients

31
Z/nZ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 32 34

Gnralits sur les groupes nis

Groupes cycliques et indicatrice d'Euler . . . . . . . . . . . . . . . . . . . . . . .

3 Arithmtique des congruences


3.1 3.2 3.3 3.4 Les anneaux quotients

37
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 38 39 41 42

Z/nZ

Thormes de Fermat et d'Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . Systmes de congruences. Thorme chinois 3.3.1 Retour l'indicatrice d'Euler . . . . . . . . . . . . . . . . . . . . . . . .

Application la cryptographie, l'algorithme RSA

4 La division euclidienne dans l'algbre K[X] et ses consquences


4.1 4.2 4.3 4.4 Gnralits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Les idaux de

47
47 49 49 50

K[X]

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Polynmes irrductibles

Pgcd de deux polynmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Arithmtique
4.5 4.6 4.7 4.8 Dcomposition d'un polynme en facteurs irrductibles La . . . . . . . . . . . . . . 51 51 52 53

K[X]/ P . . . . . Reprsentation de la K-algbre K[X]/ P Rgles de calculs dans K[X]/ P . . . . K-algbre


quotient Exemple d'un corps 4 lments Construction des corps nis

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Corps nis
5.1 5.2 5.3 5.4 5.5 5.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lment primitif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Caractristique d'un corps ni . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calculs dans un corps ni - Table de logarithmes Applications la cryptographie 5.6.1 5.6.2 5.7 5.7.1 5.7.2 5.7.3 5.7.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55
55 56 56 57 59 60 60 61 62 62 63 64 65

Protocole d'change de cls de Die-Hellman

Algorithme de chirement cl publique d'El Gamal

Complments facultatifs sur les corps nis Structure gnrale d'un corps ni Polynme minimal

()

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Dcomposition du polynme minimal . . . . . . . . . . . . . . . . . . . . Existence de corps nis . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Codes correcteurs d'erreurs


6.1 Gnralits 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.1.6 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemples lmentaires Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Distance entre les mots, la distance de Hamming Stratgie du maximum de vraisemblance Capacit de correction . . . . . . . . . . . . . . . . . .

67
67 67 68 69 69 70 71 71 73 74 74 75 77 78 80 84 84 85 86

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

Codes parfaits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Encodage des codes linaires - Matrices gnratrices . . . . . . . . . . . . Exemple : le code binaire de Hamming de longueur 7 Codes systmatiques Dcodage des codes linaires - Matrices de contrle Proprits des matrices de contrle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Codes linaires

Codes cycliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Polynme gnrateur d'un code cyclique Matrice gnratrice d'un code cyclique

Polynme de contrle et matrice de contrle d'un code cyclique . . . . . s Code binaire de Hamming de longueur 2 1 . . . . . . . . . . . . . . . Codes de Reed-Solomon . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 0 Rappels
0.1 L'ensemble N des entiers naturels
L'arithmtique est l'tude des proprits des nombres entiers, appels aussi entiers naturels. L'ensemble

N des entiers naturels est l'ensemble fondamental partir duquel se sont construites

les mathmatiques, nous admettrons l'existence de cet ensemble ainsi que les trois proprits qui le caractrisent :  

N1 : L'ensemble N est un ensemble totalement ordonn qui admet l'entier 0 comme plus petit lment . N2 : Tout lment de n N admet un successeur, c'est--dire un lment n > n tel qu'il n'existe aucun lment de N strictement compris entre n et n . (

successeur est alors unique


de

Montrer titre d'exercice que ce

.)

Cela permet de dnir l'entier

1,

etc. Pour chaque entier

N3 : L'ensemble N obit au

principe de rcurrence.

1 N comme le successeur de 0, l'entier 2 comme le successeur n N, on dsigne par n + 1 le successeur de n.

0.1.1 Principe de rcurrence


Principe de rcurrence
1. 2.

Soit A une partie de N vriant les deux conditions suivantes

n0 N, n0 A, n n0 , [(n A) = (n + 1 A)] . n n0 , n A.

alors
Le principe de rcurrence justie ce qu'on appelle les dmonstrations par rcurrence, qui ne concernent que les noncs o interviennent des entiers.

Dmonstration par rcurrence


Soit dmontrer qu'un nonc P (n) est vrai pour tout entier n n0 . Si on pose

A = {n N | P (n)

est vrai},

il sut, en vertu du principe de rcurrence, de dmontrer que


1. 2.

P (n0 )

est vrai,

n n0 ,

[P (n) = P (n + 1)].
5

Arithmtique

Il existe des variantes de dmonstrations par rcurrence, par exemple :

Variante 1 Pour dmontrer que P (n) est vrai pour tout n n0 , il sut de dmontrer que
P (n0 ) et P (n0 + 1) sont vrais, 2. n n0 + 1, [(P (n 1) et P (n)) = P (n + 1)]. Variante 2 Pour dmontrer que P (n) est vrai pour tout n n0 , il sut de dmontrer que 1. P (n0 ) est vrai, 2. n n0 , [(k [n0 , n], P (k)) = P (n + 1)]. (On rappelle que l'intervalle [n0 , n] dsigne l'ensemble des entiers k N vriant n0 k n.)
1.
Exercice 2

 Montrer que si deux entiers admettent le mme successeur, ils sont gaux.  Dmontrer par rcurrence que tout entier n 1 admet un prdcesseur, c'est--dire un entier dont il est le successeur, et que ce prdcesseur est unique.  Pour chaque n N, dnir (par rcurrence) l'entier n + k, pour tout k N, partir de la proprit N .
Exercice 1 Exercice 3

0.1.2 Proprit fondamentale de N


La proprit suivante de l'ensemble

N,

assez intuitive, intervient dans la dmonstration des

thormes essentiels de ce cours, elle implique en particulier l'existence de la division euclidienne. Elle constitue en elle-mme un exemple important de ce qu'on appelle en mathmatiques un

thorme d'existence. petit lment.


Si

Thorme 0.1 Proprit fondamentale de N


0 A, alors 0 N \ A, 1. [0, n1 ] N \ A, 2. (n1 + 1) A.
et il existe un entier

Toute partie non vide de N possde un plus

Preuve : Soit A une partie non vide de N. Si 0 A, 0 est le plus petit lment de A.
n1 N
tel que

En eet, si tel n'tait pas le cas, on aurait pour chaque entier

nN

l'implication

([0, n] N \ A) = ((n + 1) N \ A),


et comme

0 N \ A,

on en dduirait

N \ A = N,

(variante 2 ci-dessus), donc

A = ,

ce qui est

contraire aux hypothses. Il est clair que l'entier

a = n1 + 1

est le plus petit lment de

A.

0.2 Oprations
On dnit une

addition

sur

partir de la proprit

dire un application qui chaque couple d'entiers un ensemble quelconque. Une

N2 , (cf. (n, k) N N

exercice 3 ci-dessus), c'est-fait correspondre leur somme

n + k N. On gnralise cela, sous le vocable d' opration, ou de loi de composition interne,

loi de composition interne , ou opration


EE
dans

sur un ensemble

est donc tout

simplement une application de

E,

que l'on note

(x, y) x y.

Exemples
1. 2. 3.

E = N avec (x, y) x + y . E est l'ensemble des parties d'un E est l'ensemble des applications

ensemble

A,

avec

(x, y) x y .
dans lui-mme, avec

d'un ensemble

(x, y) x y .

P. Wassef

Cependant, pour qu'une opration soit intressante, il est ncessaire qu'elle possde un certain nombre des proprits ci-dessous, qui ne sont autres que les proprits bien connues de l'addition et de la multiplication usuelles.

Dnition 0.1 Une opration sur un ensemble E est dite 1. Associative si (x, y, z) E E E, (x y) z = x (y z).
x y z = (x y) z = x (y z).
2. 3.

C'est l'associativit qui permet de dnir l'lment x y z E en crivant

Possder un lment neutre s'il existe un lment e E


x E, e x = x e = x.

vriant

Commutative si (x, y) E E, x y = y x. Dnition 0.2 On dit qu'une partie F de E est stable pour l'opration si
(x, y) F F,
On peut alors parler de la
 Notation additive

x y F.

restriction de l'opration l'ensemble F .


L'lment neutre, s'il existe, sera alors (ou

Dans ce qui suit, les oprations seront notes sous l'une des deux formes suivantes.

dsign par 0.

(x, y) x + y . (x, y) xy

toujours

 Notation multiplicative sauf mention du contraire,

sera dsign par

x.y 1.

ou

x y ).

L'lment neutre, s'il existe et

Dnition 0.3

Avec les notations prcdentes, si l'opration possde un lment neutre, on dit qu'un lment x E possde un symtrique, ou est inversible (en notation multiplicative) ou possde un oppos (en notation additive), s'il existe un lment y E vriant respectivement respectivement

xy xy x+y

= yx = yx = y+x

= e = 1 = 0

en notation gnrale, en notation multiplicative, en notation additive.

En notation multiplicative, on dit alors que y est l'inverse de x et on note y = x1 . En notation additive, on dit que y est l'oppos de x, on note y = x.
Voici un exemple de dmonstration de porte gnrale, mais utilisant pour des raisons de lgret et de lisibilit la notation multiplicative.

Proposition 0.2 Preuve :


1. Soit

1. Si une opration possde un lment neutre, celui-ci est unique. 2. Si l'opration est associative et possde un lment neutre, le symtrique d'un lment x E , s'il existe, est unique.

et

deux lments neutres, alors

(1 (e
2. Si

est lment neutre est lment neutre

) = (1e = e1 = 1) ) = (1e = e1 = e)
on crit

= (e = 1).

et

sont deux inverses de

x E,

z = 1z = (yx)z = y(xz) = y1 = y. N,
ainsi

On admettra dans ce qui suit l'existence des ensembles suivants, construits partir de  L'ensemble  L'ensemble  L'ensemble  L'ensemble

que les proprits essentielles de l'addition et de la multiplication dnies sur ces ensembles.

Z des entiers relatifs. Q des nombres rationnels. R des nombres rels. C des nombres complexes.

Arithmtique

0.3 Groupes
Dnition 0.4
Un groupe est la donne d'un ensemble G muni d'une opration possdant les proprits suivantes. 1. Elle est associative. 2. Elle possde un lment neutre. 3. Tout lment de G admet un inverse. Si de plus l'opration est commutative, on dit que le groupe est commutatif ou ablien.

Conventions et notations
 Un groupe dont l'opration est reprsente par la multiplication sera appel groupe multiplicatif, son lment neutre sera, sauf mention du contraire, dsign par mention du contraire, son lment neutre sera dsign par 0.  S'il peut y avoir ambigut sur l'opration on adoptera la notation  Tout

1.

 Un groupe dont l'opration est reprsente par l'addition sera appel groupe additif, et sauf

du groupe, ou si on veut prciser cette opration, G


sera not multiplicativement.

(G, +)

ou

(G, ).

 Si rien n'est spci, un groupe quelconque

groupe additif Exemples


1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.

sera, sauf mention du contraire,

suppos commutatif.

(Z, +) (Q, +) (R, +) (C, +) (Q, ) (R, )

est un groupe commutatif. est un groupe commutatif. est un groupe commutatif. est un groupe commutatif. n'est pas un groupe. est un groupe commutatif.

(Q \ {0}, ) (R \ {0}, ) (R+\ {0}, ) (R\ {0}, ) (C, ) (N, +) (Z, ) A (C \ {0}, )

n'est pas un groupe. est un groupe commutatif. est un groupe commutatif. n'est pas un groupe.

n'est pas un groupe. est un groupe commutatif.

n'est pas un groupe. n'est pas un groupe. un groupe pour

15. Si

G des bijections de A sur lui-mme est la composition des applications (f, g) G G f g G. L'lment neutre de G est l'application identique IdA de A sur A. Si A possde au moins trois lments, ce groupe n'est pas commutatif.
est un ensemble. L'ensemble

16. En particulier, soit

n 2 un entier et soit A = {1, 2, . . . , n} N. Le groupe des bijections de A s'appelle groupe des permutations de {1, 2, . . . , n}, on le note Gn , il possde n! lments. Le groupe Gn n'est commutatif que si n = 2.
Soit G un groupe, et soit x et y deux lments de G, alors

Proposition 0.3

(xy)1 = y 1 x1 .

P. Wassef

Preuve : (xy)(y1 x1 ) = x(yy1 )x1 = x1x1 = xx1 = 1. Dnition 0.5 Soit G1 phisme de groupes si
et G2 deux groupes. Une application

de G1 dans G2 est un

mor-

(x, y) G1 G1 ,

u(xy) = u(x)u(y). u est un isomorphisme de groupes, les

Si de plus l'application u est une bijection, on dit que groupes G1 et G2 sont alors dits isomorphes.
Exercice 4

 crire la dnition qui prcde en notation additive.


Soit

On dmontrera les deux propositions qui suivent titre d'exercice.

Proposition 0.4

u un morphisme du groupe G1 u(1) = 1


et

dans le groupe G2 . Alors on a

x G1 ,

u(x1 ) = [u(x)]1 .

Proposition 0.5 Soit u un isomorphisme du groupe G1 sur le groupe G2 , alors l'application rciproque u1 est un isomorphisme du groupe G2 sur le groupe G1 . (u1 est appel isomorphisme rciproque de u).
Exercice 5

 Montrer que l'application exponentielle x e est un isomorphisme du groupe additif (R, +) sur le groupe multiplicatif (R \ {0}, ). Quel en est l'isomorphisme rciproque?
x +

Thorme 0.6 Soit G un groupe, a et b deux lments de G, l'quation ax = b admet une solution et une seule dans G. Autrement dit,
l'application x ax est une bijection de G sur lui-mme.

Preuve : On a les quivalences (ax = b) (a1 ax = a1 b) (x = a1 b) .


Ce rsultat est videmment vrai si le groupe est not additivement, l'application est une bijection de

x a + x

sur lui-mme.

Un groupe G est ni si l'ensemble G est ni. Le nombre d'lments de G est alors appel ordre du groupe G. Ainsi, le groupe Gn des permutations de l'ensemble {1, 2, . . . , n} est un
groupe ni d'ordre

n!.

Soit G1 et G2 deux groupes additifs. On munit l'ensemble produit G1 G2 de l'addition dnie par

Proposition 0.7

(1)

(x1 , x2 ) + (y1 , y2 ) = (x1 + y1 , x2 + y2 ).

1. Cette addition fait de G1 G2 un groupe, appel

groupe produit de G1

et G2 .

2. Le projecteur 1 : (x, y) x de G1 G2 dans G1 , (resp. 2 : (x, y) y de G1 G2 dans G2 ) est un morphisme de groupes.


Exercice 6

 crire l'analogue de (1 ) lorsque G et G sont deux groupes multiplicatifs.


1 2

10

Arithmtique

0.3.1 Sous-groupes
Soit G un groupe. Une partie H de G est un sous-groupe de G si les conditions suivantes sont ralises 1. (x, y) H H, xy H. 2. 1 H. 3. x H, x1 H.

Dnition 0.6 (Sous-groupe)

Remarques
1. La condition

ci-dessus signie que

H G

est stable pour l'opration de fait de

G.

2. La restriction
Exercice 7

de l'opration de

un groupe.

 Rcrire la dnition qui prcde en notation additive.


Avec les notations ci-dessus, H est un sous-groupe de G si et seulement si

Proposition 0.8
1. H = .

2. (x, y) H H, xy 1 H.

Preuve : Il existe x H

1 d'aprs 1., il rsulte alors de 2. que xx = 1 H. 1 1 On en dduit que pour tout y H , 1y = y H. 1 Il en rsulte que si (x, y) H H , (x, y ) H H donc x(y 1 )1 = xy H .
Exercice 8

 Montrer que si H est un sous-groupe de G et si K est un sous-groupe de H , alors est un sous-groupe de G.


Soit

Proposition 0.9
1. 2.

3.

u un morphisme du groupe G1 dans le groupe G2 . Si H1 est un sous-groupe de G1 , u(H1 ) = {u(h) | h H1 } est un sous-groupe de G2 . Si H2 est un sous-groupe de G2 , u1 (H2 ) = {x G1 | u(x) H2 } est un sous-groupe de G1 , en particulier, si e2 est l'lment neutre de G2 , u1 ({e2 }) est un sous-groupe de G1 , appel noyau de u et not ker(u). u est injectif si est seulement si ker(u) = {e1 }. Si c'est le cas, les groupes G1 et u(G1 )
sont isomorphes.

Preuve : Les points 1. et 2. sont faciles tablir. Pour 3., remarquons que si x et y G, on a
(u(x) = u(y)) e2 = u(x) (u(y))1 = u(xy 1 ) xy 1 ker(u) .

Exemples
1.

est un sous-groupe de

Q,

qui est un sous-groupe de

R,

lequel est un sous-groupe de

C.

2. Le groupe est un

{1, 1} est un sous-groupe de Q \ {0}, qui est un sous-groupe de R \ {0}, lequel sous-groupe de C \ {0}. R+\ {0}
est un sous-groupe de

3. Le groupe

R \ {0}.

4. Tout groupe sont appels

G admet les deux sous-groupes H1 = G et H2 = {1}. Ces deux sous-groupes sous-groupes triviaux de G. C = {z C | |z| = 1}
est un sous groupe de

5. Le cercle unit

C \ {0}.

(Le dmontrer

directement, puis partir de la proposition 0.9.)

P. Wassef
Dans la suite de ce paragraphe,

11

dsigne un groupe et

un lment de

G.

Dnition 0.7

 Si G est un groupe

multiplicatif, on dnit les puissances de x par


1 x.x. . . . .x
k fois

si k = 0 si k > 0

k Z,

xk =

1 1 x .x . . . . .x1
k fois

si k < 0

On pose alors  Si G est un groupe

x = {xk | k Z} G.

additif, on dnit les multiples de x par


0 x + x + + x
k fois

si k = 0 si k > 0

k Z,

kx =

(x) + (x) + + (x) si k < 0


k fois

On pose alors

x = {kx | k Z} G.

Thorme 0.10 Avec les notations prcdentes, l'ensemble x est un sous-groupe de G. De plus, pour tout sous-groupe H de G, on a l'implication
(x H)
ce qui signie que x

( x H) , G

est le plus petit sous-groupe de

contenant x.

x, k Z, (x ) = x x , (k, k ) Z2 , xk xk = xk+k x . Enn, H tant un sous-groupe de G,


k 1 k

Preuve : On a 1 = x0

on a

xk H

pour tout entier

k Z,

donc

x H.

Dnition 0.8

1. On dit que x est le sous-groupe de G

2. Le groupe G est dit monogne s'il existe un lment x G tel que G = x , un tel lment est alors appel gnrateur de G. On dit aussi que le groupe G est engendr par x.

engendr par x.

3. Un groupe
Exercice 9

monogne ni est appel groupe cyclique.


x

 Montrer que mme si le groupe G n'est pas commutatif, le sous-groupe En particulier, tout groupe monogne est commutatif.
n = 1,
on a

l'est.

Exemple important G = Z et n Z, alors n = {kn | k Z}. Le sous-groupe n de Z est dsign par nZ.
Remarquons que si ou

nZ = Z,

ce qui signie que

est monogne, engendr par

1.

12

Arithmtique

0.3.2 Groupes quotients


Rappelons qu'une relation binaire

dnie sur un ensemble

est une relation d'quivalence

si elle possde les proprits suivantes :

Rexivit
Symtrie

x E, (x, y) E E, (x, y, z) E E E, H

xRx. xRyyRx. xRy = xRz. yRz


un sous-groupe de

Transitivit
Soit

G y

un groupe commutatif not additivement, et soit

G.

La notion de groupe quotient intervient lorsqu'on ne veut pas distinguer entre deux lments

et

de

si leur dirence

xy

appartient

H. x et y de Z dsignent x y appartient au

Si par exemple on fait des calculs sur les heures, on dira que deux entiers la mme heure si leur dirence sous-groupe

24Z

xy

est un multiple de 24, c'est--dire si

La dnition du groupe quotient, que l'on dsigne par I  On dnit d'abord

G/H ,

se fait en deux tapes.

l'ensemble G/H .

II  On munit cet ensemble d'une structure de groupe commutatif, appele structure de groupe quotient, induite par celles de

et

H.

Construction de l'ensemble G/H Thorme 0.11 Soit G un groupe not

soit H un sous-groupe de G. 1. La relation binaire dnie sur G par

additivement, (non ncessairement commutatif ), et

xRy si et seulement si y x H
est une relation d'quivalence sur G. Si xRy , on dit que x et y sont quivalents modulo H . 2. Pour chaque x G, si x dsigne la classe d'quivalence de x, alors

x = {x + h | h H}.
On en dduit que toutes les classes d'quivalence sont quipotentes H . On les appelle classes d'quivalence modulo H .

Preuve :
1. Rexivit :  Symtrie

x G, x x = 0 H , donc xRx. : (xRy) (y x H) (y x) = x y H (yRx) . yxH zy H

 Transitivit :

xRy yRz
2. Soit

((z y) + (y x) = z x H) (xRz) . y G,
on a les quivalences

x G,

il rsulte de la dnition que pour tout

(1)

(y x)
pour

(xRy)

(h H, y = x + h) .
dans

On en dduit en particulier

x (h) = x + h x

0 = H . Soit x G, l'application x de H tout h H , est une bijection de H sur x car

x,

dnie par

P. Wassef
 

13

x x

est injective d'aprs le thorme 0.6 (page 9). est surjective d'aprs (1).

Remarque

En notation multiplicative, la relation d'quivalence ci-dessus s'crit

xRy si et seulement si yx1 H


et les conclusions du thorme 0.11 restent videmment vraies.
On dsigne par Les

G/H l'ensemble quotient de G par la relation lments de G/H sont les classes d'quivalence modulo H .

d'quivalence associe

H.

Dnition de l'addition sur G/H


On suppose maintenant le groupe

commutatif.

Proposition 0.12
suivante

Soit x1 , y1 , x2 et y2 des lments de G. On a, dans G/H , l'implication

x1 = x2 y1 = y2

(x1 + y1 = x2 + y2 ) .

Preuve :
x1 x2 H y1 y2 H
Soit

((x1 x2 ) + (y1 y2 ) = (x1 + y1 ) (x2 + y2 ) H) (x1 + y1 = x2 + y2 ) .

G/H , c'est--dire deux classes d'quivalence modulo H . On un reprsentant x G de , c'est--dire un lment x tel que x = , reprsentant y G de . On a donc = x et = y . La proposition 0.12 ci-dessus permet de dnir la somme de et en posant
deux lments de

et choisit

et un

(2)

+ = x + y.
1. Muni de l'addition dnie par (2), G/H est un groupe commutatif.

Proposition 0.13

2. L'application P de G sur G/H dnie, pour chaque x G, par

P (x) = x
est un morphisme de groupes dont le noyau est gal H .

Preuve :
1. Avec les notations qui prcdent, si

x et y G, il rsulte de (2) que x + y = y + x car x + y = y + x. 0 + x = x, ce qui prouve que 0 est l'lment neutre, (rappelons que 0 = H ). x + x = x + x = x x = 0, ce qui signie que x = x. G/H
est appel

2. Rsulte de 1. Le groupe

groupe quotient du groupe G par le sous-groupe H .

et

G/H , on choisit un reprsentant x de , un reprsentant y de , et la somme + est la classe de x + y .


Remarquons que rien n'est plus facile que d'additionner deux lments de On peut rsumer en disant que
Exercice 10 Exercice 11

 Pourquoi a-ton suppos le groupe G commutatif pour dnir l'addition sur G/H ?  Montrer que le groupe quotient Z/2Z ne possde que les deux lments 0 et 1, dresser sa table d'addition.

la somme des classes est la classe de la somme.

14

Arithmtique

0.4 Anneaux et corps


Dnition 0.9
Un anneau est la donne d'un ensemble A muni de deux oprations, une addition et une multiplication, vriant 1. (A, +) est un groupe commutatif, d'lment neutre not 0. 2. La multiplication est associative et possde un lment neutre not 1, appel lment unit. 3. La multiplication est distributive par rapport l'addition, c'est--dire

(x, y, z) A A A,

x(y + z) = xy + xz, (y + z)x = yx + zx.

 Si la multiplication est commutative, on dit que l'anneau A est commutatif.  L'anneau A est dit intgre si

(x, y) A A,

x=0 y=0

= (xy = 0) .

Remarque : La dnition gnrale d'un anneau ne suppose pas l'existence d'un lment unit,
mais dans ce cours, on supposera cette condition toujours vrie.

Proposition 0.14

Dans un anneau intgre, on peut "simplier", c'est--dire que si a, b et c sont des lments de A, avec c = 0, on a l'implication

(ca = cb)

(a = b).

Preuve : (ca = cb) = c(a b) = 0, l'anneau est intgre et c = 0, on en dduit a b = 0. Dnition 0.10 d'anneaux si
Soit A et B deux anneaux, une application u de A dans B est un morphisme

u(x + y) = u(x) + u(y) u(xy) = u(x)u(y). Si de plus l'application u est bijective, on dit que u est un isomorphisme d'anneaux, on dit alors que les anneaux A et B sont isomorphes.
(x, y) A A,

Proposition 0.15

Soit A et B deux anneaux. On munit l'ensemble produit AB de l'addition et de la multiplication dnies respectivement par

(x, y) + (x , y ) = (x + x , y + y ), (x, y) (x , y ) = (xx , yy ).


1. Ces oprations font de A B un anneau, appel

l'anneau produit de A et B .

2. Le projecteur A : (x, y) x de A B dans A, (resp. B : (x, y) y de A B dans B ) est un morphisme d'anneaux.

On dsigne par anneau A.

l'ensemble des lments inversibles

(pour la multiplication)

d'un

Proposition 0.16

Soit A un anneau, A est un groupe multiplicatif.

P. Wassef

15

Preuve
xy
1

: D'une part, on a 1 A . D'autre part, soit x et 1 1 1 A car (xy ) = yx . (Cf. proposition 0.3 page 8.)

deux lments de

A ,

alors

L'anneau Z
La notion de "multiple" (dnition 0.7 page 11) dnit une multiplication sur l'addition, en fait un anneau commutatif intgre.

Z,

qui avec

On retiendra donc que la multiplication sur Z est dnie partir de l'addition. Les seuls lments inversibles de Z sont 1 et 1, ce qui fait que Z est le groupe {1, 1} deux lments.

multiplicatif

Proposition 0.17 (Formule du binme de Newton)


a et b deux lments de A, et soit n 1 un entier, on a
n

Soit A un anneau commutatif. Soit

(N)

(a + b)n =
k=0

n Ck ak bnk .

Preuve : Pour n = 1, la formule (N ) se rduit a + b = a + b. Supposons-la vrie pour un


et montrons que cela implique qu'elle l'est pour l'entier n+1 n n repose sur l'galit Ck = Ck1 + Ck . entier

n1

(n + 1).

La dmonstration

(a + b)n+1 = (a + b)(a + b)n = (a + b)


n k=0 n Ck k=0 n+1

n Ck ak bnk n k+1 nk n Ck ak bnk+1 k=0 n

= =
k=1 n+1

n Ck1 ak bnk+1 + k=0

n Ck ak bnk+1

=
k=1 n+1

n n ak bn+1k (Ck1 + Ck ) + bn+1

=
k=0

n+1 Ck ak bn+1k .

Dnition 0.11

Un

idal I

d'un un anneau commutatif A est un sous-groupe de A vriant

a A, x I, ax I. A et {0} sont des idaux de A, ce sont les idaux triviaux de A. Un idal non trivial de A est appel idal propre de A.
Exercice 12

si 1 I .

 Soit I un idal d'un un anneau commutatif A. Montrer que I = A si et seulement

Dnition 0.12 Dnition 0.13


1. 1 L,

Un corps K est un anneau dans lequel tout lment non nul admet un inverse pour la multiplication, ce qui quivaut l'galit K = K \ {0}. Une partie L d'un corps K est un

sous-corps de K si

2. L est un sous-groupe de K,

16

Arithmtique
3. pour tout couple (a, b) K K ,

((a, b) L L)

ab1 L .

Cette dernire proprit signiant que L \ {0} est un sous-groupe de K .


Exercice 13

 Montrer que tout sous-corps d'un corps est un corps.


Tout corps est intgre.

Proposition 0.18

Preuve : Soit K un corps et soit a et b deux lments de K. Si a = 0, on crit


(ab = 0) = a1 (ab) = (a1 a)b = b = 0 .

Remarque

L'anneau

n'est pas un corps car ses seuls lments inversibles sont

et

1.

0.5 Espaces vectoriels et algbres


Dnition 0.14
Soit K un corps commutatif. Un K-espace vectoriel E , ou espace vectoriel sur K, est un groupe additif commutatif muni d'une multiplication par les scalaires (les lments de K), c'est--dire une application

(a, x) K E

ax E

vriant, pour tout (a, b) K K et (x, y) E E 1x = x, a(x + y) = ax + ay, (EV ) (a + b)x = ax + ay, (ab)x = a(bx). Une partie F de E est un

sous-espace vectoriel de E

si F est un sous-groupe de E tel que

(a, x) K E,

(x F ) = (ax F ). n
un entier

Exemple

Soit

un corps commutatif et soit

2.

Le produit cartsien

Kn = {(x1 , x2 , . . . , xn ) | i = 1, 2, . . . , n, xi K}
est un

K-espace

vectoriel pour l'addition dnie par

(x1 , x2 , . . . , xn ) + (y1 , y2 , . . . , yn ) = (x1 + y1 , x2 + y2 , . . . , xn + yn )


et la multiplication par les scalaires dnie par

K, (x1 , x2 , . . . , xn ) Kn ,

(x1 , x2 , . . . , xn ) = (x1 , x2 , . . . , xn ).

L'nonc qui suit va jouer un rle important au chapitre 5.

Proposition 0.19
L-espace vectoriel.

Soit K un corps commutatif et soit L un sous-corps de K. Alors K est un

Preuve : Les relations (EV ) ci-dessus sont vries pour tout (a, b) LL et (x, y) KK.

P. Wassef

17

Dnition 0.15 Soit K un corps commutatif et soit E et F deux K-espaces vectoriels. Une application u de E dans F est un morphisme de K-espaces vectoriels si  u est un morphisme de groupes additifs.  (a, x) K E, u(ax) = au(x). Si de plus l'application u est bijective, on dit que u est un isomorphisme de K-espaces vectoriels, les K-espaces vectoriels E et F sont alors dits isomorphes.
Soit de

A une partie non vide d'un K-espace A est un lment x E de la forme

vectoriel

E.

Une

combinaison linaire

d'lments

x=
i=1
o

i x i ,

n est un entier positif quelconque et o, pour chaque indice i = 1, 2, . . . , n, i K et xi A. On dsigne par vect(A) l'ensemble des combinaisons linaires d'lments de A. Si A = , on convient que vect(A) = {0}.

Proposition 0.20

L'ensemble vect(A) est un sous-espace vectoriel de E , et si F est un sousespace vectoriel de E , on a l'implication

(A F ) = (vect(A) F ).
En d'autres termes, vect(A) est le plus petit sous-espace vectoriel de E contenant A.

Dnition 0.16

Soit E un K-espace vectoriel. 1. Une partie (ou famille) A de E est dite gnratrice si vect(A) = E .

2. Une partie (ou famille) A de E est dite d'lments de A, on a l'implication


n

libre si, pour toute combinaison linaire

i x i
i=1

i x i = 0
i=1

= (1 = 2 = = n = 0).

3. Une base de E est une partie de E la fois gnratrice et libre. 4. L'espace vectoriel E est de dimension nie s'il existe dans E une partie gnratrice (ou famille gnratrice) nie. Tout K-espace vectoriel E de dimension nie possde une base. Deux bases de E ont mme nombre d'lments. Ce nombre est appel la dimension de E . (On convient de dire que si E est rduit 0, il possde une base forme de 0 vecteurs, il est de dimension 0.)

Thorme 0.21

Thorme 0.22

Soi E un K-espace vectoriel de dimension nie n 1. 1. Toute partie gnratrice de E possde au moins n lments et contient une base de E . 2. Toute partie libre de E possde au plus n lments et peut tre prolonge en une une base de E .

Soit E un K-espace vectoriel de dimension n 1. Une famille B = {b1 , b2 , . . . , bn } est une base de E si et seulement si tout lment x E s'crit d'une faon unique comme combinaison linaire des lments de B
n

Thorme 0.23

x=
i=1

i b i .

18

Arithmtique

Exemple Le K-espace vectoriel Kn est de dimension n. Parmi toutes les bases de Kn , la base canonique de Kn est particulirement utile, elle est dnie par
B = {e1 , e2 , . . . , en }
o, pour chaque

i = 1, . . . , n,

ei = (0, . . . , 0, 1, 0, . . . , 0) Kn .

1 en ime position

Soit n 1 un entier. Tout K-espace vectoriel E de dimension n est isomorphe l'espace vectoriel Kn .

Thorme 0.24

Dnition 0.17 Soit K un corps commutatif. Une K-algbre A est un anneau commutatif qui est un K-espace vectoriel vriant, pour tout (a, b) K K et (x, y) A A,
(ax)(by) = (ab)(xy).

Dnition 0.18 Soit K un corps commutatif et soit A et B deux K-algbres. Une application u de A dans B est un morphisme de K-algbres si  u est un morphisme d'anneaux.  u est un morphisme d'espaces vectoriels. Si de plus l'application u est bijective, on dit que u est un isomorphisme de K-algbres, les K-algbres A et B sont alors dites isomorphes.

0.6 Matrices
Dans cette section, on dsigne par coecients dans

K un corps commutatif. Toutes les matrices considres sont

Soit matrice m lignes et n colonnes. Si aij dsigne le coecient de M i-ime ligne et la j -ime colonne, on pourra crire M = (aij )1im, 1jn , ou plus simplement M = (aij ) s'il n'y a pas de confusion possibles quant m et n. Chaque colonne de M est identie un vecteur de Km . situ sur la On rappelle les dnitions et rsultats suivants.

Notation

K. M une

Le rang d'une matrice M m lignes et n colonnes est la dimension du sousespace vectoriel de Km engendr par les n colonnes de M .

Dnition 0.19 Dnition 0.20

Si M = (aij )1im, 1jn est une matrice m lignes et n colonnes, la matrice transpose de M , note t M est la matrice n lignes et m colonnes dnie par
t

M = (bij )1in, 1jm ,

o, pour tout (i, j),

bij = aji .

Proposition 0.25
        

Soit M une matrice. Le rang de M est gal au nombre maximum de colonnes de M linairement indpendantes dans Km , au rang de la matrice t M , au nombre maximum de lignes de M linairement indpendantes dans Kn . la dimension de la plus grande matrice carre inversible contenue dans M . en en en en en On ne modie pas le rang d'une matrice M permutant deux lignes, permutant deux colonnes, multipliant tous les lments d'une ligne ou d'une colonne par un scalaire non nul, ajoutant une ligne une combinaison linaire des autres lignes, ajoutant une colonne une combinaison linaire des autres colonnes.

Proposition 0.26

P. Wassef

19

0.7 L'anneau des polynmes A[X]


Soit l'anneau

A un anneau commutatif, on rappelle qu'un polynme P une variable coecients dans A est la donne d'une suite P = (a0 , a1 , . . . , an , . . .) d'lments de A, dont tous les A[X]
(on verra tout de suite ce qu'est

termes sont nuls partir d'un certain rang. L'ensemble de ces polynmes est not

X ).

Oprations sur les polynmes et notations


Soit

P = (a0 , a1 , . . . , an , . . .)

On dnit la somme et le

Q = (b0 , b1 , . . . , bn , . . .) deux polynmes produit de P et Q respectivement par


et

de

A[X].

(1) (2)
o pour chaque indice

P + Q = (a0 + b0 , a1 + b1 , . . . , an + bn , . . .) P Q = (c0 , c1 , . . . , cn , . . .),


i

i 0, ai aA

ci =
k=0

ak bik .

Un polynme dont les termes On identie tout lment

sont nuls pour tout au polynme

i 1 est appel polynme constant. constant (a, 0, 0, . . .), ce qui permet d'crire

aP = (aa0 , aa1 , . . . , aan , . . .).


Il est clair que le polynme polynme

1 = (1, 0, 0, . . .)

est l'lment neutre de la multiplication et le

0 = (0, 0, 0, . . .)

celui de l'addition.

Soit P = (a0 , a1 , . . . , an , . . .) A[X].  Si tous les ai sont nuls, on convient, pour rendre cohrente la proposition 0.28 ci-dessous, de poser deg(P ) = , sinon le degr deg(P ) de P est le plus grand entier k tel que ak = 0.  Le coecient a0 est le terme constant de P , et si deg(P ) = n 0, an est le coecient dominant de P .  Le polynme P est dit unitaire si son coecient dominant est gal 1.

Dnition 0.21

Attention,
Si on pose

les polynmes de degr

sont les polynmes constants

constant nul est de degr

. = a0 + a1 X + a2 X 2 + + an X n . X = (0, 1, 0, 0 . . .),

non nuls,

le polynme

Retour l'criture classique P


il rsulte de

(2)

qu'on a alors

X2 X3 ... n 1, X n

= (0, 0, 1, 0, 0 . . .) = (0, 0, 0, 1, 0 . . .) = ... = (0, . . . , 0, 1, 0, 0 . . .) .

1 en (n + 1)-ime position

Il en rsulte que si le polynme

P = (a0 , a1 , . . . , an , . . .)

est de degr

n 0,

on a

an = 0

et

P = a0 + a1 X + a2 X 2 + + an X n .
Il arrivera aussi que l'on crive

P (X) = a0 + a1 X + a2 X 2 + + an X n . On dmontrera les trois

propositions qui suivent titre d'exercice.

20

Arithmtique

Les oprations dnies ci-dessus font de A[X] un anneau commutatif. Si l'anneau A est intgre, il en est de mme de A[X].

Proposition 0.27

Proposition 0.28

Si l'anneau A est intgre, pour tous polynmes P et Q A[X], on a

deg(P + Q) max(deg(P ), deg(Q)),


si deg(P ) = deg(Q),

deg(P + Q) = max(deg(P ), deg(Q)),

deg(P Q) = deg(P ) + deg(Q),


avec la convention que si k est un entier 0 ou si k = , on a

et

k + () = () + k = .

Proposition 0.29

Si K est un corps commutatif, l'anneau K[X] est une K-algbre. Les seuls lments inversibles de K[X] sont les polynmes constants non nuls, qu'on identie aux lments non nuls de K. En d'autres termes, K[X] = K .

Chapitre 1 La division euclidienne dans l'anneau Z et ses consquences


(Euclide vcut Alexandrie au III e sicle avant J.C.)
Dans tout ce qui suit, on dira qu'un entier

est

positif

si

n 1,

et

positif ou nul si n 0.

1.1 La division euclidienne


Soit a et b deux lments de Z, avec b > 0. Il existe un couple unique (q, r) Z vriant
2

Thorme 1.1 (Division euclidienne)

a = bq + r 0 r < b.
On dit que q est le

quotient et r le reste de la division euclidienne de a par b.


A = {a bk | k Z} N n'est pas vide, en eet si a 0, on prend k = a, de sorte que a bk = a(1 b) 0. proprit fondamentale de N (page 6) que A possde un plus petit qZ
tel que

Preuve :


Existence.
k = 0,
lment

L'ensemble

et si

a 1

il sut de prendre

Il rsulte alors de la

r. A,
il existe

Par dnition de Supposons

r = a bq .

r b,

on crit alors

0 r b = a bq b = a b(q + 1) A, 0 r b < r, ce qui contredit le fait que r est le plus petit lment Unicit. Supposons a = bq1 + r1 = bq2 + r2 , avec 0 r1 < b et 0 r2 < b. Si q1 = q2 , supposons q1 q2 1 par exemple, on crit
mais on a de

A.

b b(q1 q2 ) = r2 r1 r2 ,
ce qui contredit l'hypothse On en dduit

r2 < b . r1 = r2 . 17 = 5 3 + 2, 17 = 5 (4) + 3,
21

Exemples

q1 = q2

et il s'en suit que

 Division euclidienne de  Division euclidienne de

17 par 5 : 17 par 5

q = 3 et r = 2. q = 4 et r = 3.

22

Arithmtique
b=0
est de signe quelconque.

On peut tendre la division euclidienne au cas o

Thorme 1.2
vriant

Soit a et b deux lments de Z, avec b = 0, il existe un couple unique (q, r) Z2

a = bq + r 0 r < |b| .

Preuve : Si b < 0, on eectue la division euclidienne de a par b selon le thorme 1.1


a = (b)q + r,
puis on remplace

0 r < b, r
est inchang.

par

et

par

q ,

le reste

Remarque importante Exemples


 Division euclidienne de  Division euclidienne de

Dans tous les cas,

le reste r est positif ou nul.


18 = 4 4 + 2 = (4) (4) + 2. 15 = 4 (4) + 1 = (4) 4 + 1.

18 par 4 : 15 par 4

1.2 Les sous-groupes de Z


La premire consquence de la division euclidienne dans sous-groupes de Soit

concerne la forme spcique des

Z. nZ
des multiples de

n Z,

on sait que l'ensemble

est un sous-groupe de

Z.

Nous allons

dmontrer la rciproque de ce rsultat, rciproque qui aura des consquences importantes par la suite.

Thorme 1.3

Soit H un sous-groupe de Z, il existe un entier unique n 0 tel que

H = nZ.

Preuve : Si H = { 0}, on crit H = 0Z.


Si

H = { 0},

on pose

A = {x H | x 1} = H N . x un lment non nul de H , alors ou bien x 1, ou bien x 1, donc A = . Soit n 1 le plus petit lment de A, (proprit fondamentale de N), montrons que H = nZ. Comme n H , il rsulte du thorme 0.10 (page 11) que nZ H. Rciproquement, soit m H , eectuons la division euclidienne de m par n
Soit

m = nq + r,
De

0 r < n.

m H et n H , il rsulte, H tant un sous-groupe de Z, que r = m nq H . D'o r = 0, sinon r serait un lment de A strictement plus petit que n. On a donc m = nq nZ. D'o H nZ. On en dduit H = nZ. Unicit Si nZ = mZ, m est multiple de n, et n est multiple de m, d'o m = n.

Corollaire 1.4
tout entier

Les idaux de Z sont les sous-groupes de Z.

Preuve : Tout idal d'un anneau en est par dnition un sous-groupe. Rciproquement, pour
n 0,
il est clair que

nZ

est un idal de

Z.

P. Wassef

23

1.3 Diviseurs, nombres premiers


Dnition 1.1
Soit a et b deux entiers, avec b = 0. 1. Lorsque le reste de la division euclidienne de a par b est nul, on dit que a est de b, que b est un diviseur de a ou que b divise a. 2. Lorsque a = 0, un diviseur b de a est un 3. diviseur propre.

multiple

diviseur propre de a si b = 1 et b = a. Un entier p est premier, ou est un nombre premier, si p 2 et si p n'admet pas de

Remarques 1. Le nombre 1 n'est pas premier.


2. Remarquons que souvent au cas o 3. Tout entier

(b divise a) b > 0.
divise

quivaut

((b)

divise

a),

on se ramnera donc le plus

b=0

puisque

0 = b 0.

Proposition 1.5

Soit a, b et c dans Z, alors

c divise a c divise b

(m, n) Z2 ,

c divise (am + bn) .

Preuve : Soit q1 et q2 deux entiers tels que a = q1 c et b = q2 c, alors


am + bn = q1 cm + q2 cn = (q1 m + q2 n)c.
Soit un entier

a 0,

on dsigne par D(a) l'ensemble des diviseurs positifs de a.

On voit facilement que

1. Si a > 0, D(a) est ni, son plus grand lment est a et son plus petit lment est 1. 2. D(0) = N . 3. Si b D(a), D(b) D(a).
Dire qu'un entier

a2

est premier quivaut donc dire que

D(a) = {1, a}.

L'nonc suivant est un bel exemple de thorme d'existence, on en dduit en eet l'existence d'une innit de nombres premiers. Notons que c'est encore une consquence directe de la proprit fondamentale de (thorme 0.1 page 6).

Thorme 1.6 Preuve

Soit un entier a 2, le plus petit diviseur de a strictement suprieur 1 est premier. Cela implique que tout entier a 2 admet au moins un diviseur premier.

D(a) l'ensemble des lments de D(a) strictement suprieurs 1, comme a > 1, a D(a) donc D(a) = . Soit p le plus petit lment de D(a). Si p n'est pas premier il possde un un diviseur propre q , on a donc 1 < q < p et q D(p) D(a), ce qui contredit le fait que p est le plus petit lment de D(a).
: Dsignons par

Corollaire 1.7
L'entier

L'ensemble des nombres premiers est inni.

Preuve : Par l'absurde, supposons cet ensemble ni gal {p1 , p2 , . . . , pq }.


a = p1 p2 . . . pq + 1
n'est divisible par aucun des

pi

mais admet un diviseur premier

d'aprs le thorme 1.6, d'o contradiction.

24

Arithmtique

1.4 Plus grand commun diviseur ou pgcd


Soit

a et b deux entiers non

tous deux nuls (cf. remarque 1. ci-dessous), il est facile de vrier


H(a, b) = {au + bv | (u, v) Z2 } {0}. d1
tel que

que l'ensemble

est un sous-groupe de

non rduit

Il existe donc d'aprs le thorme 1.3 (page 22) un entier unique

(1)
Cet entier

H(a, b) = {au + bv | (u, v) Z2 } = d Z. d


est

appel le plus grand commun diviseur ou pgcd de a et b.


k Z,
on a donc l'quivalence suivante (k

tant donn un entier

((u, v) Z2 , k = au + bv)

est un

multiple du pgcd de a et

b).

Les notations usuelles pour le pgcd sont pgcd (a, b) ou n'y a pas de confusion possible. Nous adopterons la

Remarques
1. Si

(a b) ou (a b), ou encore (a, b) lorsqu'il notation pgcd (a, b).

a = b = 0, le sous-groupe H(a, b) est rduit {0}. Certain manuels conviennent donc de = 0, avec la convention que 0 divise 0. Or tout entier positif divise 0, il n'y a donc pas proprement parler de plus grand diviseur de 0. Au contraire, 0 apparat comme le plus petit diviseur 0 de lui-mme. C'est pourquoi nous ne retiendrons pas
dire que pgcd (0, 0) cette convention, qui par ailleurs ne prsente pas beaucoup d'intrt.

2. Il rsulte de la dnition que si 3. Il est clair que

a > 0,

on a pgcd (a, 0)

= a. = pgcd (a, b).

H(a, b) = H(a, b),

il en rsulte que pgcd (a, b)

On peut caractriser le pgcd de deux entiers de la faon suivante.

Thorme 1.8 (Proprit caractristique du pgcd)


1. d est un diviseur commun de a et b, 2. tout diviseur commun de a et b divise d.

Soit a et b deux entiers non tous deux nuls. Un entier positif d est le pgcd de a et b si et seulement si les deux conditions suivantes sont satisfaites :

Preuve : Soit d le pgcd de a et b, alors H(a, b) = d Z.


1. Comme 2. Comme entier

a H(a, b)

et

b H(a, b), d

divise

et

b.
donc tout

d H(a, b), il existe deux entiers u et v de Z tels que d = au + bv , c divisant a et b divise d d'aprs la proposition 1.5 (page 23). d

Rciproquement, soit

un entier positif vriant les conditions 1. et 2., la condition 1. implique

d divise d, et la condition 2. implique que d divise d , d'o d = d. On voit donc que (pgcd (a, b) = d) quivaut (D(a) D(b) = D(d)), c'est--dire que d est le plus grand lment de D(a) D(b). Cela justie l'appellation de plus grand commun diviseur de a et b.
d'aprs ce qui prcde que

Dnition 1.2

On dit que deux entiers a et b sont premiers commun positif est 1, autrement dit si leur pgcd est gal 1.

entre eux si leur seul diviseur

Remarquons qu'il rsulte de cette dnition que l'entier Le thorme suivant, d au mathmaticien franais ce qui prcde.

tienne Bzout (1730-1783), synthtise

est premier avec tout autre entier.

P. Wassef

25

Thorme 1.9 (Bzout) Soit a, et b deux entiers. 1. Soit d 1 un diviseur commun de a et b, alors d est le pgcd de a et b si et seulement
s'il existe deux entiers u et v tels que

(1)

au + bv = d.

2. Les entiers a et b sont premiers entre eux si et seulement s'il existe deux entiers u et v tels que

(2)

au + bv = 1.

Cette relation est appele identit de Bzout.

Preuve
1. Si

: Remarquons d'abord que les relations

(1)

et

(2)

impliquent chacune que

et

ne

sont pas tous deux nuls.

d = pgcd (a, b),

l'existence de

u b

et

vient de la dnition de

d.

(Cf. dmonstration du

thorme 1.8 page 24). Rciproquement, si

divise

et

et vrie

d'aprs la proposition 1.5 (page 23), donc 2. Il en rsulte que la condition diviseur commun

(1), tout diviseur commun de a et b divise d d = pgcd (a, b) d'aprs le thorme 1.8.

c>0

de

(2) est ncessaire. Elle est susante car elle implique que tout et b divise 1 donc c = 1, ce qui veut dire que pgcd (a, b) = 1.
vriant

Remarque
a=4
et

Si

b = 6,

on a

a = 0 et b = 0, le couple (u, v) d = 2 et on peut crire

(1)

n'est pas unique. Par exemple si

2 = (1) 4 + 1 6 = (4) 4 + 3 6 = 2 4 + (1) 6,


La proposition qui suit n'est autre que la "rgle

etc. apprise l'cole.

de rduction d'une fraction "

Proposition 1.10
Si on crit

Soit a et b deux entiers, et soit d 1 un diviseur commun de a et b.

(1)

a = da1 et b = db1 ,
pgcd (a1 , b1 )

alors d = pgcd (a, b) si et seulement si

= 1.

Preuve : Soit u et v deux entiers, on a l'quivalence


(d = au + bv)(1 = a1 u + b1 v).

Proposition 1.11

Soit p un nombre premier et soit a Z. Alors ou bien p et a sont premiers entre eux, ou bien p divise a.

Preuve : Soit d = pgcd (a, p). Puisque d divise p et p est premier, d est gal 1 ou p.
 Si  Si

d = 1, p d = p, p

et

sont premiers entre eux.

 Avec les notations du thorme de Bzout, montrer que les entiers u et v sont premiers entre eux.  Existe-t-il des entiers premiers avec 0 ? Si oui, lesquels?
Exercice 14 Exercice 15

divise

a.

26

Arithmtique
Exercice 16

 Montrer que si d = pgcd (a, b) et si le couple (u , v ) Z vrie au + bv = d, les autres couples (u, v) vriant au + bv = d sont les couples (u , v ) dnis pour chaque k Z par
0 0 2 0 0 k k

o a et b sont dnis par a = da et .  Rsoudre dans Z l'quation 5x 18y = 4.  Rsoudre dans Z l'quation 6x + 15y = 28.  Soit a, b, c et d quatre entiers, dmontrer les implications suivantes. 1. pgcd (a, b) = d pgcd (ac, bc) = dc . pgcd (a, b) 2. pgcd (a, c) = 1 = pgcd (a, bc) = 1 . =1 3. (pgcd (a, b) = 1) = (m 2, n 2, pgcd (a , b ) = 1). 4. pgcd (a, b) = 1 = pgcd ((a + b), ab) = 1 . 5. (pgcd (a, b) = d) = (n 2, pgcd (a , b ) = d ).
1 1 1
Exercice 17 Exercice 18 Exercice 19

uk = u0 + kb1 , vk = v0 ka1 b = db1

2 2

La proposition qui suit va nous permettre de construire un algorithme de calcul du pgcd de deux entiers, appel algorithme d'Euclide.

Proposition 1.12 Preuve


: Si

Soit a et b deux entiers, avec b = 0. Si r est le reste de la division euclidienne de a par b, on a pgcd (a, b) = pgcd (b, r).
communs de

a = bq + r, (la double ingalit 0 r < b ne a et b sont les diviseurs communs de b et r.

nous servira pas ici), les diviseurs

1.5 L'algorithme d'Euclide


Cet algorithme a t tabli et baptis ainsi par tienne Bzout, il est bas sur la proposition 1.12 et permet de calculer le pgcd de deux entiers euclidiennes. Soit

a et b en eectuant un nombre ni de divisions


et

et

deux entiers positifs, on pose

r0 = a

r1 = b ,

et tant que

ri > 0

on eectue les

divisions euclidiennes successives suivantes.

(DE)

r 0 = r 1 q1 + r 2 , r 1 = r 2 q2 + r 3 , ... rk2 = rk1 qk1 + rk , rk1 = rk qk + rk+1 , (r1 , r2 , r3 , . . .)

o o

0 r2 < r 1 0 r3 < r 2 0 rk < rk1 0 rk+1 < rk


on a pgcd (a, b)

...
o o

Il rsulte de la proposition 1.12 que pour chaque La suite des restes

k 0,

= pgcd (rk , rk+1 ).

tant une suite strictement dcroissante d'entiers positifs, on

obtient ncessairement un reste nul au bout d'un nombre ni de divisions. Soit

rn

le dernier reste non nul. On a pgcd (a, b)

rn+1 = 0,

ce qui signie que

= pgcd (rn , rn+1 ) = pgcd (rn , 0) = rn .

l'algorithme d'Euclide : On eectue les divisions euclidiennes successives dcrites cidessus jusqu' obtenir un reste nul, le pgcd de a et b est le dernier reste non nul.
D'o L'algorithme d'Euclide peut tre dcrit formellement comme suit.
Algorithme d'Euclide Entres

: entiers a et b positifs.

Sortie

pgcd (a, b).

Rgle

si v > 0, (u, v) (v, u [u div v]v), si v = 0, (u, v) u.

P. Wassef

27

Algorithme d'Euclide tendu L'algorithme d'Euclide tendu permet de dterminer d = pgcd (a, b) ainsi que deux entiers u
et

vriant

d = au + bv.
Reprenons la suite entiers

(DE)

des divisions euclidiennes et chaque tape

k 0,

calculons deux

uk

et

vk

tels que

rk = auk + bvk .
Un coup d'il De la relation

(DE) montre que u0 = 1, v0 = 0, u1 = 0 (rk1 = rk qk + rk+1 ), qu'on crit rk+1 = rk1 rk qk ,

et

v1 = 1.

on dduit que pour Si

k 1,

on a

uk+1 = uk1 uk qk vk+1 = vk1 vk qk . u = un


et

d = rn

D'o

l'algorithme d'Euclide tendu :


a
et

est le dernier reste non nul, on a

v = vn .
ainsi que deux entiers

Soit deux entiers positifs tels que

b.

Pour dterminer

d = pgcd (a, b),

et

on crit

d = au + bv, r0 = a, u0 = 1, v0 = 0,

r1 = b, u1 = 0, v1 = 1,

et

k 1,

rk+1 = rk1 rk qk , uk+1 = uk1 uk qk , vk+1 = vk1 vk qk ,

jusqu' obtenir un reste nul.

Si

rn

est le dernier reste non nul, on a

d = rn , u = un , v = vn .

Cela se formalise comme suit.


Entres Rgle

: entiers a et b positifs.

Sortie

: entiers d, u, v , avec d = pgcd (a, b) = au + bv .


(b, 0, 1, a, 1, 0),

(a, b)

puis avec q = d div t,

si t > 0, (t, x, y, d, u, v) (d qt, u qx, v qy, t, x, y), si t = 0, (t, x, y, d, u, v) (d, u, v).

1.6 Le lemme de Gauss


Parmi les corollaires les plus importants du thorme de Bzout gure le rsultat suivant, connu sous le nom de lemme de Gauss.

Thorme 1.13 (Lemme Gauss) (Carl Friedrich Gauss, 1777-1855) Soit a, b et c trois entiers. Si a divise le produit bc et si a est premier avec b, a divise c.

Preuve
il vient

: Soit

kZ

tel que

deux membres de cette

bc = ka, et soit (u, v) Z2 tel que 1 = au + bv. Multipliant les galit par c, on obtient c = cau + cbv, puis remplaant cb = bc par ka, c = cau + kav = acu + akv = a(cu + kv).

Attention Si a et b ne sont pas premiers entre eux, la conclusion fausse ; par exemple, 6 divise 3 4 mais ne divise ni 3 ni 4.

du lemme de Gauss est

28

Arithmtique

Corollaire 1.14 Soit a, m et n trois entiers. Si m et n sont premiers entre eux et divisent a, leur produit mn divise a. Preuve : On crit a = km = Proposition 1.15
n.
Comme

divise

km

et est premier avec

m, n

divise

k.

Soit p un nombre premier, et soit k un entier compris entre 1 et (p 1). p Le coecient binomial Ck est divisible par p.
p p Preuve : On a k!(p k)Ck = p!, donc p divise k!(p k)Ck . Si k est compris entre 1 et (p 1),

l'entier

k!(p k)

est premier avec

p,

le rsultat dcoule alors du lemme de Gauss.

1.7 Plus petit commun multiple ou ppcm


Soit que

et

deux entiers, on sait que l'intersection des sous-groupes

aZ

et

bZ

de

sous-groupe de

Z.

Il existe donc d'aprs le thorme 1.3 (page 22) un unique entier

Z est m0

un tel

(1) m est m = ppcm (a, b).


Cet entier

aZ bZ = mZ.

appel le plus petit commun multiple

ou

ppcm

de

et

b,

on le note

La caractrisation qui suit rsulte directement de la dnition.

Proposition 1.16 (Proprit caractristique du ppcm) Soit a et b deux entiers. Un entier m 0 est le ppcm de a et b si et seulement si les deux conditions suivantes sont satisfaites :
1. m est un multiple commun de a et b, 2. tout multiple commun de a et b est un multiple de m.
La proposition suivante ramne le calcul du ppcm celui du pgcd.

Proposition 1.17

Soit a et b deux entiers non tous deux nuls et soit d leur a = da1 , b = db1 , alors ppcm (a, b) = d|a1 b1 |. En particulier, on a l'galit
pgcd (a, b)

pgcd .

Si on pose

ppcm (a, b) = |ab|.

Preuve : Supposons pour simplier que a et b sont non ngatifs, et soit m1 = da1 b1 . Les entiers
a1
et Soit

b1 M

sont premiers entre eux d'aprs la proposition 1.10 (page 25). un multiple commun de

a = da1

et

b = db1 .

Si on pose

M = dM1 ,

alors

M1

est un

multiple commun de multiple du produit

a1 et b1 , donc, d'aprs le corollaire 1.14 ci-dessus du lemme de Gauss, un a1 b1 . Il en rsulte que M = dM1 est un multiple de m1 = da1 b1 . Il est clair d'autre part que m1 est lui-mme un multiple commun de a et b. On a donc prouv, d'aprs la proposition 1.16, que m1 = ppcm (a, b). Il est clair enn que dm1 = da1 db1 = ab.

1.8 Dcomposition d'un entier en facteurs premiers


Proposition 1.18 Soit p un nombre premier. Si p divise un produit q1 q2 . . . qn de n entiers, il existe au moins un indice i {1, 2, . . . , n} tel que p divise qi . Preuve : Par rcurrence. Supposons k = 2 et p divise q1 q2 .
Ou bien

divise

q2

ou bien

est premier avec

q2

donc divise

q1

d'aprs le lemme de Gauss. ou bien dcoule

Supposons le rsultat tabli pour

est premier avec

qn

donc divise

n 1, si p divise q1 q2 . . . qn , alors ou bien p divise qn q1 q2 . . . qn1 d'aprs le lemme de Gauss, le rsultat

alors de l'hypothse de rcurrence.

P. Wassef

29

Corollaire 1.19

Soit p un nombre premier. Si p divise un produit p1 p2 . . . pn de n nombres premiers, il existe un indice i {1, 2, . . . , n} tel que p = pi .
Le thorme 1.6 (page 23) et le corollaire 1.19 ci-dessus vont permettre de dmontrer l'important rsultat suivant, appel "Thorme fondamental de l'arithmtique".

Thorme 1.20 Thorme fondamental de l'arithmtique


faon unique (D)
a = p1 1 p2 2 . . . pn n ,

Tout entier a > 1 s'crit de

les entiers pi sont premiers et vrient p1 < p2 < < pn ,


les entiers i sont positifs.

Preuve :
1.

Existence. Soit p1
lment, alors

le plus petit diviseur premier de

(thorme 1.6 page 23).

L'ensemble des entiers positifs

tels que (p1 divise

a)

est ni, soit

son plus grand

est l'unique entier positif tel que

(p1 1
on crit Si

divise a

et

(p1 1 +1

ne divise pas a),

a = p 1 1 a1 .
c'est termin. Si

a1 = 1,

a1 > 1,

on recommence.

Soit

p2 le plus petit diviseur premier de a1 , et 2 1 le plus grand entier tel que p2 2 1 2 divise a1 . On pose a = p1 p2 a2 , et on remarque que p2 > p1 et que a > a1 > a2 1.

On recommence l'opration jusqu' obtenir un quotient d'un nombre ni d'oprations puisque

an = 1,

ce qui arrive au bout

a > a1 > a2 > > ak > 1.


2.

Unicit. Supposons
(1)
o les

a = p1 1 p2 2 . . . pn n = p1 1 p2

. . . pm

pi

et les

pi

sont premiers et vrient

p1 < p 2 < < p n


et o les (a) (b) (c)

et

p1 < p 2 < < p m ,

i et m = n,

les

sont des entiers

1.

Il faut montrer que

i = 1, 2, . . . , n, pi = pi , i = 1, 2, . . . , n, i = i . pi
est gal l'un des gal l'un des

(a) D'aprs le corollaire 1.19 (page 29), chaque

pi .

La famille des et les

pi

concide donc avec celle des

p i et chaque p i est p i , d'o m = n. pi = pi


pour

(b) Comme de plus les chaque

pi i = 1, 2, . . . , n.

pi

sont rangs par ordre croissant, on a

(c) Supposons qu'il existe un indice i tel que i = i , par exemple i < i . En divisant i les deux membres de (1) par pi , on en dduit que pi divise un produit de nombres premiers tous dirents de lui-mme, ce qui est impossible d'aprs le corollaire 1.19.

30

Arithmtique
(D)
constitue la

L'galit

prcdent en dmontre l'existence pour tout entier

dcomposition de l'entier a en facteurs premiers. Si le thorme a, la dcomposition eective d'un "grand"

entier (de plusieurs centaines de chires) en facteurs premiers est jusqu' ce jour, malgr les moyens informatiques dont on dispose, un processus trs lent. En amont de ce problme gure dj celui de savoir si un entier donn est premier ou non. Des tests probabilistes de primalit et de non primalit des grand entiers existent mais sont d'autant plus longs aboutir qu'on leur demande une abilit plus grande.

Chapitre 2 Groupes nis


Dans toute la suite du cours, on dsigne par Si

est un groupe ni, on rappelle que l'entier

#E le nombre des lments d'un #G est appel ordre de G.

ensemble ni

E.

2.1 Les groupes quotients Z/nZ


Dnition 2.1 Soit n un entier positif. On dit que deux entiers a et b sont congrus modulo n si leur dirence (b a) est multiple de n, c'est dire si (b a) nZ. Cette relation est note
ab
La notion de congruence modulo

(mod n).

a t introduite par Gauss.

Soit n un entier positif. La congruence modulo n est une relation d'quivalence sur Z. Soit a Z, la classe d'quivalence a de a modulo n est appele classe de a modulo n, et on a a = {a + nk | k Z}.

Proposition 2.1

Preuve : On retrouve la relation d'quivalence associe au sous-groupe nZ. (Cf. page 12). Proposition 2.2 Soit n un entier positif et soit a Z. Le reste r de la division euclidienne
de a par n est le seul entier vriant

(1)

r a (mod n), 0 r < n.

Il en rsulte que deux entiers a et b sont congrus modulo n si et seulement si le reste de la division euclidienne de a par n est gal au reste de la division euclidienne de b par n.

Preuve : Il est clair que r a (mod n). Soit r1 un entier vriant (1), alors r r1 est multiple
de

et

|r r1 | < n,

ce qui montre que

Rappelons que l'addition du groupe

r r1 = 0. quotient Z/nZ

est dnie, si

et

sont deux entiers, par

a + b = a + b.

Proposition 2.3 Preuve


classes : Soit

Le groupe Z/nZ est d'ordre n, plus prcisment, on a

Z/nZ = { 0, 1, . . . , (n 1) }. a Z, il rsulte de 0, 1, . . . , (n 1) sont toutes


la proposition 2.2 que distinctes. On

a {0, 1, . . . , (n 1) } et que remarque que n = 0, (n + 1) = 1, etc.

les

Proposition 2.4 Le groupe Z/nZ est cyclique (additif ), engendr par 1. Preuve : Consquence directe de la dnition de l'addition de Z/nZ.
31

32

Arithmtique

2.2 Gnralits sur les groupes nis


Du thorme 0.11 (page 12), on dduit une proprit essentielle des groupes nis :

Thorme 2.5 (Lagrange)


groupe.

Dans un groupe ni, l'ordre d'un sous-groupe divise l'ordre du

Preuve
que

: Soit

un groupe ni et

un sous-groupe de

G.

On sait d'aprs le thorme 0.11 qu'un nombre ni

(page 12) que les classes d'quivalence modulo

possdent toutes le mme nombre d'lments

et constituent une partition de

de classes, on en dduit que l'ordre de

G. G

L'ensemble est gal

G tant ni, il n'y a m fois l'ordre de H .

L'tude d'un groupe comporte l'tude de tous ses sous-groupes, le thorme prcdent permet de cerner la recherche des sous-groupes, un groupe d'ordre 8 par exemple ne possdera pas de sous-groupe d'ordre 3, 5 ou 7. De mme qu'un groupe d'ordre premier ne possdera que ses deux sous-groupes triviaux.

Dnition 2.2

Soit G un groupe ni et soit x G. On appelle groupe x = {x | k Z} de G engendr par x.


k
Notons que le seul lment de

ordre de

x l'ordre du sous-

d'ordre

est l'unit

1.

Thorme 2.6

Soit G un groupe ni, soit x G et soit m l'ordre de x. Alors

1. m divise l'ordre de G. 2. m est le plus petit entier positif tel que xm = 1. 3. Les lments 1, x, x2 , . . . , xm1 sont tous distincts dans G. 4. x = {1, x, x2 , . . . , xm1 }.

Preuve :
1. Rsulte du thorme de Lagrange. 2. Si

m = 1,

c'est vident. On suppose

m 2,

la dmonstration se fait en deux tapes. ,

(a) On montre qu'il existe au moins un entier Soit comme l'ordre de

1 m

tel que

x = 1.

A = {x, x2 , . . . , xm , xm+1 } x , x
est gal

m,

il existe au moins deux lments gaux dans vriant

A,

k, , 1 k m, 1 k + m + 1
on en dduit (b) Soit

xk = xk+ ,

1 m

et

x = 1.
il rsulte de

le plus petit entier positif tel que

xn = 1,

(a)

que

(n m).

Montrons que de

par

x {1, x, x , . . . , x }. Soit en eet k Z, n s'crit k = nq + r, 0 r n 1, ce qui donne

n1

la division euclidienne

xk = xnq xr = (xn )q xr = 1q xr = xr {1, x, x2 , . . . , xn1 },


il en rsulte

m = # x #{1, x, x2 , . . . , xn1 } n,

c'est--dire , en vertu de

(a),

m = # x = #{1, x, x2 , . . . , xm1 } = n.
Cela dmontre 2. et 4. 3. Rsulte de l'galit

m = #{1, x, x2 , . . . , xm1 }.

P. Wassef

33

Il dcoule du thorme 2.6 un chapelet de corollaires tous aussi importants les uns que les autres.

Corollaire 2.7

Soit G un groupe ni d'ordre n, alors on a xn = 1 pour tout x G.

Preuve : Soit m l'ordre de x, et soit k 1 l'entier tel que n = mk, alors


xn = xmk = (xm )k = 1k = 1.
Tout groupe ni G d'ordre premier p est cyclique et engendr par l'un quelconque de ses lments distincts de 1.

Corollaire 2.8
: Soit

Preuve
d'o

m = p,

c'est--dire

x G, x = 1. Comme x x x = G.

et

1 x

, l'ordre

de

est

et divise

p,

Corollaire 2.9

Soit G un groupe d'ordre n. Pour chaque entier positif k , soit G (k) le nombre des lments d'ordre k de G, alors on a

n=
d/n

G (d).

Preuve : On sait que si k ne divise pas n, on a G (k) = 0. Si d divise n, soit G (d) l'ensemble
des lments d'ordre et un seul. Le thorme suivant est trs utile pour dterminer l'ordre des lments d'un groupe ni.

d de G, alors G (d) = #G (d) et tout lment de G appartient un G (d)

Thorme 2.10

Soit G un groupe ni, soit x G et soit m l'ordre de x.

1. Pour tout entier positif q , on a l'quivalence

(xq = 1)
2. Pour tout entier positif k ,

(m divise q).

xk est d'ordre m/d, o d = pgcd (m, k).

Preuve :
1. Si

divise

q,

posons

q = mq ,

alors

xq = xmq = (xm )q = 1q = 1.
Rciproquement, si

xq = 1,

soit

q = mq + r, 0 r < m,

la division euclidienne de

par

m.

Alors

1 = xq = xmq +r = xmq xr = xr .
On dduit du point 2. du thorme 2.6 (page 32 ) que 2. On crit

r = 0.

m = dm et k = dk , de sorte que pgcd (m , k ) = 1. k k k Soit l'ordre de x , de l'galit (x ) = x = 1, on dduit que m divise k, c'est--dire dm divise dk , d'o m divise k et m divise d'aprs le lemme de Gauss.
Rciproquement, nalement

(xk )m = xkm = xdk m = xmk = (xm )k = 1,

donc

divise

et

=m.

34

Arithmtique
Bien comprendre le point 1. du thorme 2.10 : si

Attention

xG

et si

est un entier

> 1,

l'galit (xq = 1) n'implique pas que x est d'ordre q mais seulement que l'ordre de x divise q .
En particulier, soit G un groupe d'ordre n ; d'aprs le corollaire 2.7 ci-dessus, tous n de G vrient x = 1, mais ces lments ne sont pas tous d'ordre n. Mieux, si cyclique,

les lments G n'est pas

aucun

de ses lments n'est d'ordre

n.

L'important corollaire suivant rsulte du point 2. du thorme 2.10.

Corollaire 2.11
k

Soit G un groupe ni, soit x G et soit k un entier positif. L'ordre de x est gal l'ordre de x si et seulement si k est premier avec l'ordre de x.

 Soit G un groupe ni commutatif et soit x et y deux lments de G, d'ordres respectifs p et q. Montrer que 1. Si p et q sont premiers entre eux, le produit z = xy est d'ordre pq et le sous-groupe de G engendr par z contient x et y. 2. Il existe un lment t G dont l'ordre est gal au ppcm de p et q.
Exercice 20

2.3 Groupes cycliques et indicatrice d'Euler


On rappelle qu'un groupe gnrateur de

G,

tel que

G est cyclique s'il est ni et s'il G = g , ce qui quivaut l'galit (ordre
de

existe un lment

g G,

appel

g) = (ordre

de

G).

On rappelle galement que

tout groupe cyclique est commutatif.

L'nonc suivant est une consquence directe du thorme 2.6 (page 32).

Thorme 2.12

Soit G un groupe cyclique d'ordre n, et soit g G un gnrateur de G.

1. g est d'ordre n. 2. Tous les lments g k sont distincts pour k = 0, 1, . . . , n 1. 3. G = {g k | k 0} = {1, g, . . . , g n1 }. 4. En notation additive, cela s'crit G = {kg | k 0} = {0, g, . . . , (n 1)g}.

Corollaire 2.13
L'application

Deux groupes cycliques de mme ordre sont isomorphes.

Preuve : Soit G1 et G2 deux groupes cycliques d'ordre n, de gnrateurs respectifs g1 et g2 .


u
de

G1

sur

G2

dnie par si si si

k 0,
est un isomorphisme de

k k u(g1 ) = g2 u(kg1 ) = kg2 k u(kg1 ) = g2 G1


sur

G1 G1 G1

et et

G2 G2

sont multiplicatifs, sont additifs,

est additif et

G2

multiplicatif,

G2 .

Corollaire 2.14
Exercice 21

Tout groupe cyclique d'ordre n 1 est isomorphe Z/nZ.

Preuve : On a vu, proposition 2.4 page 31, que le groupe Z/nZ est cyclique d'ordre n.

 Montrer que les groupes Z/4Z et (Z/2Z Z/2Z) sont commutatifs, d'ordre 4, mais non isomorphes.

P. Wassef

35

Dnition 2.3 Indicatrice d'Euler (Leonhard Euler, 1707-1783)


(1) (1 k n) et (pgcd (k, n) = 1). n,
on a pgcd (1, n)

Soit n un entier positif, l'indicatrice d'Euler de n, note (n), est dnie comme tant gale au nombre des entiers k vriant

Notons que pour tout entier positif

Exemples

= 1,

ce qui fait que

(n) 1.

(1) = 1, (2) = 1, (3) = 2. Etc. 2. Si n = 10, les entiers vriant (1) sont 1, 3, 7 et 9, il y en a 4, donc (10) = 4. Remarquons que (9) = 6, la fonction n'est pas croissante. Nous verrons plus loin (page 41), que l'indicatrice d'Euler (n) se calcule partir de la dcomposition de l'entier n en facteurs premiers. La premire tape est le rsultat suivant.
1. Il est clair que

Proposition 2.15

Soit p un nombre premier. Pour tout entier positif n, on a

(pn ) = pn pn1 = (p 1)pn1 = pn 1


En particulier, (pn ) est pair ds que p > 2.

1 p

Preuve : Parmi les pn entiers k tels que 1 k pn , il y a pn1 multiples de p, les autres sont
premiers avec

d'aprs la proposition 1.11 (page 25).

Thorme 2.16 Preuve

Un groupe cyclique G d'ordre n possde (n) gnrateurs distincts. Plus prcisment, si g est un gnrateur de G, les (n) gnrateurs de G sont les lments g k , o 1 k n et pgcd (n, k) = 1.

1k si pgcd (k, n) = 1.
groupe (additif )

k : Il rsulte du thorme 2.12 (page 34) que tous les lments g sont distincts pour n, puis du corollaire 2.11 (page 34) que si k 1, g k est gnrateur de G si et seulement

Transcrit en notation additive, le thorme prcdent permet de dterminer les gnrateurs du

Z/nZ.

Corollaire 2.17 (Gnrateurs de Z/nZ)

Les (n) gnrateurs du groupe Z/nZ sont les classe k modulo n, o 1 k n et pgcd (k, n) = 1.

Preuve : Rsulte du fait que 1 est gnrateur Z/nZ. Thorme 2.18 Soit G un groupe cyclique d'ordre n. Pour chaque diviseur d de n, l'ensemble
Ud = {x G | xd = 1}
est un sous-groupe d'ordre d de G. C'est le seul sous-groupe d'ordre d de G. Ce sous-groupe est cyclique. Il en rsulte que G possde exactement (d) lments d'ordre d, et que tout sous-groupe d'un groupe cyclique est cyclique.

Preuve
Posons

: Le groupe

G g

tant commutatif,

Ud

est un sous-groupe de

G.

Il rsulte ensuite du

corollaire 2.7 (page 33) que tout sous-groupe d'ordre

de

est contenu dans

Ud . k 1, n ).

n = dn

et soit

un gnrateur de

G,

on a l'quivalence, pour tout entier

(g k )d = g kd = 1
Les lments de

(kd

est multiple de

n = dn ) (k

est multiple de

g n , g 2n , . . . , g dn = g n = 1. Ces lments sont tous distincts car in n pour tout i = 1, . . . , d. n Le sous-groupe Ud est donc cyclique d'ordre d, engendr par g , il possde par consquent (d) gnrateurs qui sont les seuls lments d'ordre d de Ud donc de G. nk D'aprs le corollaire 2.11 (page 34), ces lments sont les g , o k est premier avec d. Ud
sont donc

36

Arithmtique
Exercice 22

Exercice 23

 Dterminer les lments d'ordre 8 du groupe Z/32 Z.  Soit G le groupe (additif) (Z/3Z Z/3Z). 1. Quel est l'ordre de G ? 2. Dterminer U = {x G | 3x = 0}. 3. Dterminer l'ensemble des lments d'ordre 3 de G. En dduire que les conclusions du thorme 2.18 ci-dessus ne s'appliquent pas un groupe non cyclique, mme s'il est commutatif.
Contrexemple

Corollaire 2.19
(1)

Pour chaque entier positif n, on a

n=
d/n

(d).

Preuve : Rsulte du thorme 2.18 appliqu au groupe Z/nZ, et du corollaire 2.9 (page 33). Le thorme suivant donne une caractrisation trs pratique des groupes cycliques, dont nous
ferons usage au chapitre 5.

Thorme 2.20

Soit G un groupe d'ordre n. Pour chaque diviseur d de n, soit

Ud = {x G | xd = 1}, G (d) le nombre d'lments d'ordre d de G.


Les conditions suivantes sont quivalentes. 1. Pour chaque diviseur d de n, #Ud d. 2. Pour chaque diviseur d de n, G (d) (d). 3. Pour chaque diviseur d de n, G (d) = (d). 4. G est cyclique. 5. Pour chaque diviseur d de n, #Ud = d.

Preuve : Notons que si G n'est pas commutatif, Ud n'est pas ncessairement un sous-groupe.
1 = 2.
Si

x G d'ordre d, donc x Ud , et il rsulte du x Ud , d'o # x = d #Ud . Sous l'hypothse 1., on en dduit d = #Ud , donc x = Ud . Le sous-groupe x possde (d) gnrateurs d'aprs le thorme 2.16 (page 35), et l'galit x = Ud implique que ce sont les seuls lments d'ordre d de G. On en dduit G (d) = (d). Autrement dit, ou bien G (d) = 0 ou bien G (d) = (d), d'o G (d) (d). 2 = 3. Le corollaire 2.9 (page 33) et le corollaire 2.19 ci-dessus impliquent l'galit
il existe un lment thorme 2.7 (page 33) que

G (d) 1,

n=
d/n

G (d) =
d/n

(d). d
de

De cette galit et de la condition 2., on dduit que pour tout diviseur

n,

on a

G (d) = (d). 3 = 4.
lment

d = n, on dduit de d'ordre n, il est cyclique.


Pour vident.

3. que

G (n) = (n) 1,

le groupe

possde donc un

4 = 5. 5 = 1.

C'est le thorme 2.18 (page 35).

Chapitre 3 Arithmtique des congruences


3.1 Les anneaux quotients Z/nZ
La proposition suivante permet de dnir une multiplication sur l'ensemble quotient

Z/nZ.

Proposition 3.1

Soit a et b deux entiers, et soit n un entier positif, alors on a dans Z/nZ,

a=a b=b

ab = a b + q1 n
et

Preuve : Il existe q1 et q2 dans Z tels que a = a

b = b + q2 n ,

ce qui donne

ab = a b + n(a q2 + b q1 + nq1 q2 ).
Ceci justie la dnition suivante.

Dnition 3.1

tant donnes deux classes et Z/nZ, on Z/nZ comme suit.

dnit la classe produit

1. On choisit un reprsentant a et un reprsentant b , c'est dire deux entiers a et b vriant a = et b = .

2. On

pose

= ab.

Proposition 3.2

La multiplication dnie ci-dessus fait du groupe quotient Z/nZ un anneau commutatif d'lment neutre 0 et d'lment unit 1.

Preuve : On sait que l'addition fait de Z/nZ un groupe commutatif. On vrie facilement que
la multiplication dnie ci-dessus est commutative, distributive par rapport l'addition, et que la classe

1 en est l'lment neutre. L'anneau Z/nZ est appel anneau quotient de l'anneau Z par l'idal nZ. Rappelons que (Z/nZ) dsigne l'ensemble des lments de Z/nZ inversibles pour la cation. On sait que (Z/nZ) est un groupe multiplicatif (proposition 0.16 page 14).
Soit n un entier positif, soit q Z et soit q la classe de q modulo n.

multipli-

Thorme 3.3

1. On a l'quivalence

(q (Z/nZ) ) (pgcd (q, n) = 1) .

On dit alors que l'entier q est inversible modulo n. 2. L'anneau Z/nZ est un corps si et seulement si n est premier. On le dsigne alors par Fn .
37

38

Arithmtique

Z tel que q = 1, c'est--dire qu'il q = 1 + nk , ce qui implique pgcd (q, n) = 1. Rciproquement, si pgcd (q, n) = 1, il existe d'aprs le thorme de Bzout deux entiers u et v vriant qu + nv = 1, d'o, modulo n, q u + n v = 1, mais n = 0, d'o q u = 1, c'est--dire que q est inversible dans l'anneau Z/nZ. Enn, Z/nZ est un corps si et seulement si pour tout q {1, . . . , n 1}, q (Z/nZ) , c'est-dire pgcd (q, n) = 1, ce qui signie que n est premier.
existe

Preuve : Soit q un lment inversible de Z/nZ, il existe


kZ
tel que

Important
1. La dmonstration prcdente montre que si

est inversible modulo

n,

son inverse peut

tre calcul l'aide de l'algorithme d'Euclide tendu. 2. Les lments inversibles de

l'anneau Z/nZ ne sont autres que les gnrateurs du groupe

Z/nZ.

Corollaire 3.4 Convention

Soit n un entier positif, le groupe (Z/nZ) est d'ordre (n), o dsigne l'indicatrice d'Euler.

a {1, 2, . . . , n 1} un entier premier avec n. On dira que l'entier b est l'inverse de a modulo n si ab 1 (mod n) et si b {1, 2, . . . , n1}.
Soit
Exercice 24

 Dterminer l'inverse de 5 modulo 12, de 8 modulo 27 et de 14 modulo 25.


5

Exercice 25

 Dresser la table de multiplication de l'anneau Z/4Z et du corps F

= Z/ Z

5.

3.2 Thormes de Fermat et d'Euler


Thorme 3.5 Petit thorme de Fermat (Pierre de Fermat, 1601-1665) tant donn un
nombre premier p et un entier a Z, on a

ap a

(mod p). a
est multiple

Preuve
de

: Soit

a Z.

On sait d'aprs la proposition 1.11 (page 25) qu'ou bien

est premier avec p. Soit a la classe de a modulo p. p p  Si a est multiple de p, a est aussi multiple de p, on a donc a a 0  Si pgcd (a, p) = 1, alors a (Z/pZ) d'aprs le thorme 3.3 (page 37). ou bien Or

(mod p).

(Z/pZ)

est d'ordre

Ceci s'crit

p1

p 1 donc a p1 = 1 d'aprs le corollaire 1 (mod p), il en rsulte ap a (mod p).

2.7 (page 33).

Thorme 3.6 (Euler)

Soit n un entier positif, et soit a Z un entier premier avec n, alors

a (n) 1

(mod n). a (Z/nZ)


et

Preuve

: Soit

la classe de

modulo

n.

On a

(Z/nZ)

est d'ordre

(n),

on

applique le corollaire 2.7 (page 33).

P. Wassef

39

3.3 Systmes de congruences. Thorme chinois


Un systme de congruences est un systme de la forme

(SC)

(mod m1 ), x a1 x a2 (mod m2 ), ... ... x ak (mod mk ). ai ,


et les

o les

mi sont des entiers donns. Rsoudre le systme (SC ) consiste dterminer tous les entiers x Z vriant le systme. Lorsque les entiers mi sont premiers entre eux deux deux, nous allons voir que le systme (SC ) admet toujours des solutions. Ce rsultat est connu sous le nom de Thorme chinois
parce que les Chinois en utilisaient des cas particuliers pour dterminer les dates de certains vnements astronomiques. D'aprs Michel Demazure (Cours d'algbre, ditions Cassini, 1997), le thorme chinois apparat pour la premire fois dans le trait appel

Juzhang suhanshu

crit entre 280 et 473 de notre

re. Le problme y tait pos de la faon suivante.

Nous avons des choses dont nous ne connaissons pas le nombre ;  si nous les comptons par paquets de 3, le reste est 2,  si nous les comptons par paquets de 5, le reste est 3,  si nous les comptons par paquets de 7, le reste est 2. Combien y a-t-il de choses ? Rponse 23.
Nous allons voir qu'il sut de savoir rsoudre un systme de deux congruences.

Thorme 3.7 (Thorme chinois)


(SC) xa xb

Soit m et n deux entiers premiers entre eux. 1. Pour tout couple d'entiers (a, b) Z2 , il existe c Z tel que l'on ait l'quivalence

(mod m), (mod n).

(x c

(mod mn)).

Le systme (SC) admet donc une innit de solutions dans Z, ce sont tous les entiers de la forme x = c + kmn, o k Z. Deux solutions distinctes sont congrues modulo mn. 2. Les anneaux Z/mnZ et (Z/mZ Z/nZ) sont isomorphes et l'application

:
dnie par

Z/mnZ Z/mZ Z/nZ (x (mod mn)) = (x (mod m), x (mod n))

x Z,

ralise un isomorphisme entre ces anneaux.

Preuve :
1. Soit

et

deux entiers tels que

un + vm = 1.

L'entier

dni par l'galit

(S)
est solution de

c = aun + bvm (SC)


puisque

c = a(1 vm) + bvm = a + vm(b a) a c = aun + b(1 un) = b + un(a b) b


Il est facile de vrier que pour tout entier de

(mod m), (mod n).


est aussi solution

k Z,

l'entier

x = c + kmn

(SC). n,
donc

Rciproquement, soit modulo

et

x une solution de (SC), alors x c est congru 0 modulo m n divisent x c donc mn divise x c puisque pgcd (m, n) = 1.

et

40

Arithmtique
2. On vrie facilement que prcdente que

ralise un morphisme d'anneaux. Il rsulte de la question

est surjective, donc bijective puisque les deux anneaux

Z/mnZ

et

Z/mZ Z/nZ

ont mme nombre

mn

d'lments.

Remarque
en eet

(a, b) Z2 , systme (SC).

L'isomorphisme rciproque de s'obtient en rsolvant le systme (SC). Soit 1 la relation (a, b) = x Z/mnZ signie que x est solution du

En particulier, il rsulte de

se calcule l'aide du thorme de Bzout, c'est--dire de l'algorithme d'Euclide tendu.


(S)
que

1 (a, b) = x

Le thorme chinois nous dit qu'un systme de deux congruences quivaut, lorsque premiers entre eux, une seule congruence. Pour rsoudre un systme o les

m et n sont (SC) k > 2 congruences,

mi

sont premiers entre eux deux deux, il sut donc de rsoudre le systme des deux

premires congruences en les remplaant par une unique congruence, ce qui ramne le systme

Exemple
(SC)


k1

congruences, etc. Pour nalement aboutir deux. Dterminer la plus petite solution positive

x0

du systme

x9 x 13

(mod 14), (mod 31).

Premire mthode : partant de la

relation de Bzout

1 = (11) 14 + 5 31,
l'galit

(S)

s'crit

c = 13 (11) 14 + 9 5 31 = 607.


Deuxime mthode : on crit le systme (SC) dans Z puis dans l'un des deux groupes Z/14Z
ou

La solution cherche est

x0 = 261

puisque

261 607 (mod 14 31)

et

1 261 14 31.

Z/ Z.

31

Dans

Z/ Z

14

par exemple, cela donne

x = 9 + 14k, x = 13 + 31 ,
d'o l'on tire

x = 9 x = 13 + 31

= 13 + 3 ,

3 = 9 13 = 4 = 10.
dans

Comme 14 et 31 sont premiers entre eux, 14 et 3 le sont, donc 3 est inversible modulo 14. L'inverse de

Z/ Z

14

est

5,

ce qui donne

= 50 = 8.

Posant

= 8 + 14

, on obtient

x = 13 + 31 = 13 + 31 8 + (14 31) = 261 + (14 31) .


Exercice 26

 Refaire les calculs prcdents dans Z/31 Z.


G1
et

Corollaire 3.8 Preuve

Soit G1 et G2 deux groupes cycliques d'ordres respectifs m et n. Le groupe produit G1 G2 est cyclique si et seulement si m et n sont premiers entre eux.
: Les groupes

G2

sont respectivement isomorphes aux groupes

Z/mZ

et

Z/nZ

d'aprs le corollaire 2.14 (page 34), la condition est donc susante d'aprs le thorme chinois. Elle est ncessaire car si pgcd (m, n)

= d > 1,

on pose

m = dm1

et

n = dn1 ,

et soit

q = ppcm(m, n) = dm1 n1 = n1 m = m1 n.
Comme

mn = qd,

on a

q < mn,

et tout lment

(x, y) G1 G2

vrie

(x, y)q = (xq , y q ) = (xn1 m , y m1 n ) = (1, 1).


Il n'existe donc pas dans

G1 G2

d'lment d'ordre

mn,

ainsi

G1 G2

n'est pas cyclique.

P. Wassef
Exercice 27

41

 Dcrire l'isomorphisme de Z/12Z sur Z/3Z Z/4Z.

Corollaire 3.9

Soit m et n deux entiers premiers entre eux, les groupes multiplicatifs

(Z/mnZ)
sont isomorphes.

et

(Z/mZ) (Z/nZ)

Preuve : Les anneaux Z/mnZ et (Z/mZ Z/nZ) tant isomorphes, les groupes (Z/mnZ) et
(Z/mZ Z/nZ)
Exercice 28

le sont, il est facile de voir que

(Z/mZ Z/nZ) = (Z/mZ) (Z/nZ) .

 Montrer que que si m > 2 et n > 2 sont deux entiers premiers entre eux, le groupe (Z/mnZ) n'est pas cyclique.

3.3.1 Retour l'indicatrice d'Euler


Thorme 3.10
Soit l'indicatrice d'Euler (dnie page 35). 1. Si m et n sont deux entiers positifs premiers entre eux, alors

(mn) = (m) (n).


2. Si a = p1 1 p2 2 . . . pq q est la dcomposition en facteurs premiers d'un entier a 2, alors q q

(a) =
i=1

(pii )

=a
i=1

1 pi

En particulier, (a) est paire ds que a > 2.

Preuve :
1. On sait d'aprs le corollaire 3.4 (page 38) que On a donc

#(Z/kZ) = (k)

pour tout entier

k > 0.

(mn) = #(Z/mnZ) = #(Z/mZ) #(Z/nZ) = (m) (n).


en vertu du corollaire 3.9 ci-dessus. 2. On en dduit par rcurrence sur

q,

et compte tenu de la proposition 2.15 (page 35),

(a) =
i=1

(pii )

=
i=1

pii

1 1 pi

=a
i=1

1 pi

Si

a > 2, (a)

est paire d'aprs la proposition 2.15 page 35.

Notons que pour calculer facteurs premiers de

(a)

selon la formule ci-dessus, il faut connatre la dcomposition en

a.

42

Arithmtique

3.4 Application la cryptographie, l'algorithme RSA


La cryptographie, du grec

kryptos

qui signie cach, et

graphein

criture, est l'art de transformer

un message pour tenter de le rendre illisible par toute autre personne que son destinataire. Depuis l'antiquit, la ncessit de faire parvenir des messages qui ne puissent tre lus par "l'ennemi" a suscit quantit de techniques de cryptage de textes. Jules Csar fut le premier responsable militaire crypter ses messages. Le

chire de Csar

consistait remplacer chaque

lettre de l'alphabet par la lettre venant trois places aprs. Un tel algorithme de cryptage, o chaque lettre est remplace par une autre, est appel

chire de substitution. dchirage.

Dans le cas du chire de Csar, le destinataire remplaait chaque lettre par la lettre venant trois places avant dans l'alphabet et retrouvait ainsi le message, il avait c'est--dire l'information lui permettant d'eectuer le

la cl

du chirage,

Un mot ou une suite de mots peut servir fabriquer un chire de substitution plus ecace. Soit par exemple la suite de mots LE ROI AGAMEMNON. On commence par ter les lettres qui se rptent et coller les mots, ce qui donne LEROIAGMN. Utilisant ces lettres comme dbut de l'alphabet chir, les autres lettres suivant normalement, on obtient l'alphabet chir suivant :

a b c d e f
l e r o i a

g
g

h
m

i
n

j
p

k
q

l
s

m n
t u

o
v

p
w

q
x

r
y

s
z

t
b

u v
c d

w
f

x y
h j

z
k

Un indiscret, interceptant le message SIZTLBMRIZBLTCZLUB, s'il ne possde pas la cl, c'est-dire la phrase "LE ROI AGAMEMNON", devra essayer toutes les permutations possibles de l'alphabet, il y en a

26!, c'est dire qu'il peut en avoir pour des annes, noter par exemple que 20!

secondes reprsentent plus de 77 milliards d'annes, c'est--dire plus de 5 fois l'ge de l'univers. Les chires de substitution restrent inviols durant plus de quinze sicles. Ce sont les Arabes qui les premiers ont "cass" ces chires, grce leur science des langues, utilisant des mthodes statistiques trs nes bases sur la frquence moyenne d'utilisation de telle ou telle lettre dans telle ou telle langue. On a retrouv en 1987, dans les archives ottomanes Istanbul, un trait intitul "Manuscrit

sur le dchirement des messages crypts ", crit par le clbre philosophe arabe Abou Youssouf

Al Kindi, qui vcut de la n du VIIIe


ouvrage connu de

sicle au milieu du IX

et qui crivit 290 ouvrages de

mdecine, d'astronomie, de mathmatiques, de linguistique et de musicologie. C'est le premier

cryptanalyse, ou l'art de dcrypter un message sans en connatre la cl.

L'histoire de la cryptographie ne fut depuis qu'une longue joute entre cryptographes et cryptanalystes, les mmes individus jouant souvent les deux rles, joute dont on pourra lire les pisodes et les dtails dans le passionnant ouvrage de Simon (JC Lattes,

Singh "Histoire des codes secrets "

1999).

Les algorithmes modernes de cryptage ne sont plus des chires de substitution, c'est--dire que la mme lettre, "e" par exemple, sera, au fur et mesure de ses apparitions dans le texte, remplace par des symboles dirents entre eux, ce qui rend caduques les analyses bases sur la frquence moyenne d'occurrence d'une lettre dans une langue donne. Jusqu'aux annes 1970, des centaines de "fonctionnaires" de toutes nationalits parcouraient le monde, une petite mallette attache au poignet, pour transmettre les fameuses cls. Ce n'est qu'en 1976 que deux chercheurs amricains, Whiteld

Die

et Martin

Hellman

dmontrrent que ce qui passait pour un rve fou tait possible : deux correspondants, (appels traditionnellement Alice et Bernard en franais), pouvaient se fabriquer une cl secrte au vu et au su de tous les espions du monde, reprsents par Eve (voir plus loin le protocole d'change de cls de Die-Hellman). Ces travaux ouvraient en mme temps la voie la cryptographie cl publique.

P. Wassef

43

Parmi les problmes majeurs auxquels s'attaque la cryptographie aujourd'hui, citons le problme de la

tication de l'expditeur d'un message, message qui peut tre secret ou non. L'algorithme cl publique RSA
Imagin par les trois chercheurs amricains Ronald

gnration de cls de chirage, celui de la condentialit et celui de l'authen-

Rivest, Adi Shamir et Leonard Adleman

en 1977, dans la foule de la dcouverte de Die et Hellman, l'algorithme RSA, nomm d'aprs leurs initiales, a rvolutionn le domaine de la cryptographie. Le plus tonnant de l'aaire rside dans le fait que le protocole de Die-Hellman et l'algorithme e RSA reposent sur des proprits mathmatiques connues depuis le XVIII sicle, voire depuis e Fermat au XVII sicle. Mais il est vrai que la puissance de calcul ncessaire la mise en uvre de ces algorithmes n'tait pas disponible cette poque. L'algorithme RSA est un algorithme de cryptage qui permet aussi de signer un message, c'est-dire de rendre possible l'authentication de l'expditeur. Il repose sur le fait qu'en l'tat actuel du savoir et de la technique, on ne sait eectuer rapidement aucune des deux oprations suivantes :  Dcomposer un "grand" entier en facteurs premiers.  tant donn un grand entier

et un entier

e, inverser

la fonction

e : Z/nZ Z/nZ
c'est--dire retrouver

dnie par

e (x) = xe ,
ceci dans les cas, bien entendu, o

x (mod n)

partir de

xe (mod n),

Convention

cette fonction est injective. tant donn un entier positif pour signier que

a = b (mod n)

Cela revient dire que

est le

n et deux entiers a et b, il nous a b (mod n) et que 0 b < n. reste de la division euclidienne de a par n. e

arrivera d'crire

L'algorithme RSA est bas sur le rsultat arithmtique suivant, corollaire du thorme d'Euler, qui permet sous certaines conditions d'inverser rapidement la fonction ci-dessus.

Lemme 3.11

Soit p et q deux nombres premiers distincts, et soit n = pq . Pour tout entier positif t tel que t 1 (mod (n)), on a

a Z,
Posons

at a

(mod n),

c'est--dire

x Z/nZ,

xt = x.

Preuve : On sait que (n) = (p 1)(q 1).


t = 1 + k(n), avec k N, et soit a Z. Trois cas sont possibles. 1. (pgcd (a, p) = 1) et (pgcd (a, q) = 1), ce qui quivaut (pgcd (a, n) = 1). 2. (pgcd (a, p) = 1) et a est multiple de q . (resp (pgcd (a, q) = 1) et a est multiple 3. a est multiple de pq = n. (n) Dans le premier cas, on a a 1 (mod n) d'aprs le thorme d'Euler, donc at = a1+k(n) = a a(n)
 Dans le second cas, de

p).

(mod n).

ap1 = a(p) 1 (mod p)

d'aprs le thorme d'Euler, donc

(1)

at = a1+k(p1)(q1) = aak(p1)(q1) = a a(p1) a


est multiple de

k(q1)

(mod p).

Comme de plus

q,

on a

(2)
On dduit de

at a 0

(mod q).

(1) et (2) que at a est multiple de p et q donc de n, c'est--dire at a (mod n).

44

Arithmtique
a 0 (mod n)
donc

 Dans le troisime cas, on a

at a 0 (mod n).

Corollaire 3.12 Soit p et q deux nombres premiers distincts et soit n = pq. Soit e un entier positif premier avec (n) et soit d l'inverse de e modulo (n). 1. L'application e dnie sur Z/nZ par e (x) = xe est une bijection de Z/nZ sur lui-mme, et la bijection rciproque est l'application d dnie par d (x) = xd 2. On en dduit que les applications e et d dnies sur l'ensemble {2, 3, . . . , n 1} par
e (a) = ae (mod n) et d (a) = ad (mod n)
sont des bijections rciproques de {2, 3, . . . , n 1}.

Preuve : Pour tout x Z/nZ, d e (x) = e d (x) = xed = x puisque ed 1 (mod (n)).
Pour le point 2., on remarque que

d (0) = e (0) = 0
o

et

d (1) = e (1) = 1.

Chaque lment d'information transmettre, chire, lettre, etc., est reprsent par un entier appartenant un ensemble

{2, 3, . . . , C},

C N,

c'est ce qu'on appelle un

encodage, cet
q.
Il calcule le

encodage est connu de tous. Chaque utilisateur du cryptosystme RSA procde comme suit.  Il choisit (ou achte sur le march) deux "grands" nombres premiers produit toujours 

et

 Il choisit un entier qui est sa secrte 

d > 1 premier avec (n) et calcule son inverse e modulo (n). Il publie le couple (e, n), qui est donc appel sa cl publique, et conserve le couple (d, (n))

n = pq n > C.

et et l'indicatrice d'Euler

(n) = (p 1)(q 1).

Remarquons que l'on a

cl secrte.
n

Remarquons que, connaissant la cl publique

(d, (n))

devrait calculer

(e, n), quiconque voudrait reconstituer la cl (n) = (p 1)(q 1), donc connatre p et q , c'est--dire la m {2, 3, . . . , C} Bernard, elle prend

dcomposition de

Encryptage

en facteurs premiers.

Si Alice veut envoyer le message secret

connaissance de la cl publique (e, n) de ce dernier (dont la cl secrte est (d, (n))), puis e calcule l'entier M = m (mod n). C'est le message crypt, qu'elle envoie Bernard. d  Bernard calcule M (mod n) et rcupre m puisque

Dcryptage

M d med (mod n) = m (mod n).




Signature
le couple

L'algorithme RSA permet en outre Alice de

signer un message m de faon

ce que Bernard soit certain que c'est bien elle qui l'a envoy. Si (e1 , n1 ) est sa cl publique et (d1 , (n1 )) sa cl secrte, Alice calcule l'entier s = md1 (mod n1 ) et fait parvenir Bernard 

(m, s), Bernard calcule se1 (mod n1 ). Si se1 = m, il est certain que le message vient d'Alice puisque seule Alice connat l'inverse d1 de e1 modulo (n1 ), c'est--dire la bijection rciproque d1 de la bijection e1 de l'ensemble {2, 3, . . . , n1 1} dans lui-mme. Commentaire Dans notre cas, le message sign par RSA n'est pas secret, mais il est authenti.
Recevant

Vrication

(m, s)

qui est le

message sign.

L'algorithme RSA est dit

asymtrique au sens o
Alors

 pour chirer, Alice utilise la cl publique du destinataire Bernard,  pour dchirer, Bernard utilise sa propre cl secrte.

Exemple

(77) = 6 10 = 60. Bernard choisit e = 13, il utilise l'algorithme d'Euclide tendu pour calculer d, et obtient 1 = 13 37 + 60 (8), c'est--dire d = 37. Sa cl publique est donc (77, 13) et sa cl prive (60, 37). 13 Pour envoyer Bernard le message m = 9, Alice calcule M = 9 (mod 77) en utilisant un algorithme de calcul rapide des puissances bas sur l'criture en binaire de 13,
Soit

n = 7 11 = 77.

13 = 23 + 22 + 1 = 1101.

P. Wassef
Pour calculer

45

x13 = x x4 x8 ,

il lui sut de calculer successivement

x x2 x4 x8 x12 = x4 x8 x13 = x x12 ,


ce qui ne fait que 5 multiplications au lieu de 12. Pour cet algorithme de calcul rapide des n puissances, le nombre des multiplications ncessaires pour calculer a est major par 2 log2 n. Chacune des oprations est eectue modulo

77,
2

ce qui vite les trop grands nombres.

92 = 81 94 98 912 = 98 94 913 = 912 9


Recevant

= 4 = 162 = 256 = 25 16 = 400 = 15 9 = 135 =

4 16 25 15 58

(mod (mod (mod (mod (mod

77), 77), 77), 77), 77).

M = 58,

Bernard calcule

5837 (mod 77)

de la faon suivante

582 = 3364 584 588 5816 5832 5836 = 5832 584 5837 = 5836 58
et rcupre

532 = 2809 372 = 1369 602 = 3600 582 = 3364 53 37 = 1961 36 58 = 2088

= = = = = = =

53 37 60 58 53 36 9

(mod (mod (mod (mod (mod (mod (mod

77), 77), 77), 77), 77), 77), 77),

m=9

(en eectuant 7 multiplications au lieu de 36).

46

Arithmtique

Chapitre 4 La division euclidienne dans l'algbre K[X] et ses consquences


Dans tout ce chapitre, K dsigne un corps commutatif.

4.1 Gnralits
Soit A et B deux polynmes de K[X] tels que B = 0. Il existe un couple unique (Q, R) K[X] vriant
2

Thorme 4.1 (Division euclidienne)

(DE) On dit que Q est le

A = BQ + R deg(R) < deg(B).

quotient et R le reste de la division euclidienne de A par B .


division des

La dmonstration est base sur le lemme suivant, qui justie la technique de la

polynmes suivant les puissances dcroissantes.

Lemme 4.2

Soit U et V deux polynmes non nuls de K[X] tels que deg(U ) deg(V ). Il existe un polynme Q K[X] tel que deg(U V Q) < deg(U ).

Preuve : Soit ak le coecient dominant de U


On "tue" le monme dominant de

VQ

Preuve du thorme 4.1.




soit

ak X ak et

en posant qu'ainsi

= deg(U V Q) < k .

bq celui de 1 ak (bq ) et Q =
et

V . Par hypothse, on a k q . X kq , de sorte que le coecient

Existence. Considrons l'ensemble A = {A BQ | Q K[X]} K[X], et soit r


des degrs des polynmes de

le plus petit

A.

Il existe un polynme

Q K[X]

tel que

deg(A BQ) = r.
Supposons

r deg(B) 0.

D'aprs le lemme 4.2, il existe

Q K[X]

tel que le polynme

(A BQ) BQ = A B(Q + Q )
soit de degr On a donc 

r < r, ce qui est impossible puisque A B(Q + Q ) A. r < deg(B). Unicit. Soit Q et Q1 K[X] deux polynmes vriant les ingalits deg(A BQ) < deg(B), deg(A BQ1 ) < deg(B).
47

48

Arithmtique
On en dduit

deg((A BQ) (A BQ1 )) = deg(B(Q1 Q)) < deg(B), Q1 Q = 0.


implique celle du polynme

ce qui n'est possible que si L'unicit du polynmes

Retenons que dans la pratique, la division euclidienne des polynmes correspond la division suivant les puissances dcroissantes.

R = A BQ.

Dnition 4.1

1. On dit que B est un diviseur ou un facteur de A, ou que B divise A, ou que A divisible par B , lorsque le reste de la division euclidienne de A par B est nul. 2. On dit que B est un

Soit A et B deux polynmes de K[X], avec B = 0.

est

diviseur propre de A si B

divise A et si 1 deg(B) < deg(A).

Proposition 4.3

Soit A et B deux polynmes non nuls de K[X]. On a l'quivalence

{(A divise B) et (B divise A)} ( K , A = B).

Preuve : Soit Q et Q
A = Q QA,
qu'il existe l'anneau

les deux polynmes non nuls tels que tant intgre, on en dduit

K[X]

A = QB et B = Q A, cela donne Q Q = 1, d'o deg(Q) = 0. c'est--dire

tel que

Q = K .
un polynme de K[X]. Pour chaque a K, la

Dnition 4.2 Soit P = c0 + c1 X + + ck X k valeur de P en a est dnie par


On dit qu'un un lment a K est

P (a) = c0 + c1 a + + ck ak K.

racine de P

si P (a) = 0 K.

Le rsultat suivant est une premire consquence de la division euclidienne dans

K[X].

Proposition 4.4

Le polynme P K[X] admet a K comme racine si et seulement s'il est divisible par le polynme (X a).

Preuve : Eectuons la division euclidienne dans K[X] de P


unique de polynmes polynme

(Q, R) K[X]2

vriant

est donc constant. Comme

par B = X a. Il existe un couple P = BQ + R, et deg(R) < deg(X a) = 1. Le B(a) = 0, on a P (a) = 0 si et seulement si R = 0.

On en dduit le thorme suivant, qui joue un rle essentiel dans la thorie des corps nis.

Soit P K[X] et a1 , a2 , . . . , ak des racines distinctes de P dans K, alors P est divisible par le polynme (X a1 )(X a2 ) . . . (X ak ) de degr k . Il en rsulte qu'un polynme de degr n de K[X] possde au plus n racines distinctes dans K.

Thorme 4.5

Preuve : Par rcurrence. La proprit est vraie pour k = 1 d'aprs la proposition 4.4 ci-dessus.
Supposons-la vrie pour

k 1,

alors

P (X) = (X a1 ) . . . (X ak1 )Q(X). P (ak ) = (ak a1 ) . . . (ak ak1 )Q(ak ) = 0, l'intgrit de K implique Q(ak ) = 0 donc Q(X) = (X ak )Q1 (x), d'o le rsultat. Le thorme 4.5 reste vrai si le corps K est remplac par un anneau intgre. Contrexemple Dans l'anneau (Z/ Z)[X], on a l'galit (X 2)(X 3) = X(X 5). Le polynme P = (X 2)(X 3) possde donc 4 racines distinctes dans l'anneau non intgre Z/ Z. Pour chacune des racines ai = 0, 2, 3 ou 5, P est divisible par (X ai ). Mais P n'est pas divisible par le produit des (X ai ), qui est de degr 4.
Comme

P. Wassef

49

4.2 Les idaux de K[X]


A K[X], on voit facilement que l'ensemble A = {AQ | Q K[X]} est un idal de K[X]. Nous allons voir que rciproquement, comme dans le cas de Z, la division euclidienne dans K[X] implique que tout idal de K[X] est de cette forme. Rappelons qu'un polynme A K[X] est dit unitaire si son coecient dominant est gal 1.
Soit

Thorme 4.6 Soit I un idal de K[X] non rduit degrs des polynmes non nuls appartenant I .
2. Il existe un polynme unitaire

{0}, et soit r 0

le plus petit des

1. Pour tout polynme A I de degr r, on a I = A .

unique U I

tel que I = U .

3. I est un idal propre de K[X] si et seulement si r 1.

Preuve : L'entier r existe d'aprs la proprit fondamentale de N (page 6).


1. Soit

A I de degr r 0, et soit P I . La division euclidienne de P par A s'crit P = AQ + R, avec deg(R) < deg(A) = r. On voit que R = P AQ I , et comme deg(R) < r , on a R = 0 et P = AQ. Cela montre que I A . Rciproquement, il est clair que A I .

2. Divisant

A par son coecient dominant, on obtient un polynme unitaire U I tel que I = U . Ce polynme est unique car si U I est un polynme unitaire tel que I = U = U , chacun des deux polynmes U et U divise l'autre, il existe K tel que U = U (cf. proposition 4.3 page 48), les polynmes U et U tant unitaires, on a ncessairement = 1 donc U = U . deg(U ) = 0, U = 1 I , I = {0}, I= A.
ce qui quivaut

3. Si

I = K[X].
, ce qui montre que tout idal

Remarquons que si est de la forme

on peut crire

I = 0

de

K[X]

On pourra comparer la dmonstration qui prcde celle du thorme 1.3 (page 22), et le rle dans les deux cas de la proprit fondamentale de

(page 6).

4.3 Polynmes irrductibles


Dnition 4.3
Un polynme irrductible est un polynme non constant qui n'admet pas de diviseur propre. Un polynme non irrductible est aussi dit rductible.
Par exemple, tous les polynmes de degr Lorsque

1 sont irrductibles. Lorsque K = C, ce sont les seuls.

K = R,

il y a aussi les polynmes de degr 2 de discriminant ngatif. Pour d'autres

corps, nous verrons qu'il existe des polynmes irrductibles de degr arbitrairement grand. On dmontre l'exact quivalent du thorme 1.6 page 23 :

Thorme 4.7

Soit P un polynme de degr n 1, et soit D N l'ensemble des degrs des diviseurs non constants de P . Alors D = puisque n D. Soit r le plus petit lment de D et soit A un diviseur de P de degr r, alors A est irrductible. Cela signie que tout polynme de degr positif admet un facteur irrductible.

Attention Il est faux de penser qu'un polynme est irrductible si et seulement s'il n'a pas de racine. Ainsi
1. Tout polynme de degr 1 admet une racine, mais est irrductible.

50

Arithmtique
2. Le polynme

(X 2 + 1)2 , de degr 4, n'a pas de racine dans R mais est rductible dans R[X], le polynme (X 2 +X +1)3 , de degr 6, n'a pas de racine dans F2 mais est rductible dans F2 [X], etc.

On a cependant l'quivalence suivante

dans les seuls cas des polynmes de degr 2 ou 3.

Proposition 4.8

Un polynme de degr 2 ou 3 est irrductible dans K[X] si et seulement s'il n'admet pas de racine dans K.

Preuve : Un polynme P
-dire un diviseur Si on crit Si

est rductible si et seulement s'il possde un diviseur propre, c'est-

A vriant 1 deg(A) < deg(P ), cela implique deg(P ) 2. P = AB , alors on a (1 deg(B) deg(P ) 1) et (deg(A) + deg(B) = deg(P )). deg(P ) 3, on en dduit (deg(A) = 1) ou (deg(B) = 1), donc P admet une racine.

 Montrer que dans F [X], le seul polynme irrductible de degr 2 est X + X + 1, les seuls polynmes irrductibles de degr 3 sont X + X + 1 et X + X + 1.  Montrer que dans F [X], les seuls polynmes irrductibles unitaires de degr 2 sont X + 1, X + X + 2, et X + 2X + 2.
Exercice 29

Exercice 30

4.4 Pgcd de deux polynmes


Soit

et

deux polynmes non tous deux nuls de

K[X],

on vrie facilement que l'ensemble

I(A, B) = {AU + BV | (U, V ) K[X]2 }


est un idal de

K[X]. Comme A et B

sont lments de

Il existe d'aprs le thorme 4.6 (page 49) un unique

I(A, B), cet idal n'est pas rduit {0}. polynme unitaire D K[X] tel que

I(A, B) = D .

Dnition 4.4

On appelle plus grand commun diviseur de A et B , ou pgcd de A et B , et on dsigne par pgcd (A, B) l'unique polynme unitaire D K[X] tel que I(A, B) = D .
La dmonstration des noncs qui suivent est quasi-identique celle des noncs qui leur correspondent dans le cas de l'anneau

Z.
pgcd de

Thorme 4.9 (Proprit caractristique du pgcd) (Cf. thorme 1.8 page 24)
Soit A et B deux polynmes de K[X] non tous deux nuls. Le polynme unitaire D K[X] tel que 1. D est un diviseur commun de A et B . 2. Tout diviseur commun de A et B divise D.
On dira que deux polynmes

A et B est l'unique

et

sont

premiers entre eux si leur seul diviseur unitaire

commun est le polynme 1, autrement dit si leur pgcd est le polynme 1.

Thorme 4.10 (Thorme de Bzout) (Cf. thorme 1.9 page 25)


Soit A et B deux polynmes de K[X]. 1. Soit D un diviseur commun unitaire de A et B . Alors D est le seulement s'il existe deux polynmes U et V dans K[X] tels que
pgcd de

A et B si et

(1)

AU + BV = D.

P. Wassef

51

2. En particulier, les polynmes A et B sont premiers entre eux si et seulement s'il existe deux polynmes U et V dans K[X] tels qu'on ait

(2)

AU + BV = 1.

Proposition 4.11 (Cf. proposition 1.12 page 26) Soit A et B


pgcd (A, B) Ce rsultat dbouche sur

deux polynmes de K[X], avec B = 0, et soit R le reste de la division euclidienne de A par B , alors

= pgcd (B, R).

l'algorithme d'Euclide et l'algorithme d'Euclide tendu pour

les polynmes, respectivement identiques leurs homonymes pour les entiers. Comme dans le cas des entiers, le lemme de Gauss pour les polynmes et la dcomposition en facteurs irrductibles rsultent du thorme de Bzout.

Thorme 4.12 (Lemme de Gauss ) (Cf. thorme 1.13 page 27)

Soit A, B et C trois polynmes de K[X]. Si A divise le produit BC et est premier avec B , A divise C .

4.5 Dcomposition d'un polynme en facteurs irrductibles


L'nonc suivant se dduit du thorme 4.7 (page 49) d'existence d'un facteur irrductible de la mme faon que le Thorme fondamental de l'arithmtique (page 29) se dduit du thorme 1.6 (page 23).

Thorme 4.13 (Cf. Thorme fondamental de l'arithmtique 1.20 page 29)


A = P11 P22 . . . Pnn ,
o

Tout polynme non nul A K[X] s'crit d'une faon unique une permutation prs

K , les polynmes Pi sont irrductibles, unitaires et tous distincts, les entiers i sont positifs.
Exercice 31

 Dcomposer en facteurs irrductibles dans F [X] le polynme


2

A = X 5 + X 4 + X 3 + X 2 + X + 1.

4.6 La K-algbre quotient K[X]/ P


Soit

P K[X]

d'quivalence

modulo P

un polynme non constant est dnie par

(deg(P ) 1).

Comme dans le cas de

Z,

la relation

(1)

(A, A ) K[X]2 ,

(A A (mod P ))
on dsigne par

si et seulement si

(A A P ) . P
:

Pour chaque polynme

A K[X],

sa classe d'quivalence modulo

A = {A K[X] | A A (mod P )} = {A + P Q | Q K[X]}.


On dsigne par

K[X]/ P

l'ensemble quotient de

K[X]

par la relation d'quivalence

(1),

c'est-

-dire l'ensemble des classes modulo

P.

52

Arithmtique
P par

Proposition 4.14 (Cf. proposition 3.2 page 37) L'addition, la multiplication et la multiplication par un scalaire, dnies sur l'ensemble quotient K[X]/ A+B (A, B) K[X]2 , AB a K, a A

= A + B, = AB, = aA,

font de K[X]/ P une K-algbre dans laquelle l'lment neutre de l'addition est 0, classe du polynme 0 K[X], et l'lment neutre de la multiplication est 1, classe du polynme 1 K[X].

K[X] un polynme non constant.  La classe A K[X]/ P d'un polynme A K[X] est inversible dans K[X]/ P si et seulement si A est premier avec P .  Il en rsulte que l'anneau K[X]/ P est un corps si et seulement si le polynme P est irrductible dans K[X].

Thorme 4.15 (Cf. thorme 3.3 page 37) Soit P

4.7 Reprsentation de la K-algbre K[X]/ P


q Z et soit n un entier positif. On a vu que la faon la plus simple de dcrire la classe q dans Z/nZ consiste crire q = r , o r est le reste de la division euclidienne de q par n. On peut dire dans ce sens que l'entier r {0, 1, . . . , n 1} reprsente la classe q modulo n. On procde de la mme faon dans l'anneau K[X]/ P , grce la proposition suivante.
Soit

Proposition 4.16

Soit A et P deux lments de K[X], on suppose deg(P ) 1. Le reste R de la division euclidienne de A par P est le seul polynme de K[X] tel que

R A (mod P ), deg(R) < deg(P ).

Preuve : Il est clair que R A (mod P ).


R R (mod P ) avec deg(R ) < deg(P ), le polynme R R est divisible par P et deg(R R) < deg(P ), ce qui implique R R = 0. Notation Pour chaque entier positif n, dsignons par K[X](n) le sous-espace vectoriel de K[X] constitu des polynmes Q K[X] tels que deg(Q) < n. Dans ce qui suit, on pose n = deg(P ) 1. La proposition 4.16 nonce alors que pour tout A K[X], la classe A K[X]/ P contient un seul polynme appartenant K[X](n) , ce polynme est le reste de la division euclidienne de A par P . Dans la suite de ce chapitre, on dsigne par la classe du polynme X dans la K-algbre quotient K[X]/ P . k Pour chaque polynme A = a0 + a1 X + + ak X K[X], posons
L'unicit vient de ce que si

A() = a0 + a1 + + ak k K[X]/ P ,
de sorte que

A() = A (mod P ),

et qu'en particulier on a

P () = 0.

Cela permet d'crire

K[X]/ P = {A | A K[X]} = {A() | A K[X]}.


Soit

A = PQ + R

la division euclidienne de

par

P,

de la relation

P () = 0

il rsulte que

A() = R().

P. Wassef
On en dduit

53

(1)

K[X]/ P = {R() | R K[X](n) } = {a0 + a1 + + an1 n1 | ai K}. R1


et

De plus, il rsulte de la proposition 4.16 que si

R2 K[X](n) ,

on a l'quivalence

(2)
On dduit de

(R1 () = R2 ()) (R1 = R2 ). (1)


et

(2)

que la famille

{1, , 2 , . . . , n1 }

est une base du

K-espace

vectoriel

K[X]/ P

. On a ainsi dmontr l'important thorme suivant.

Thorme 4.17

Soit P K[X] un polynme de degr n 1. 1. Tout lment x K[X]/ P s'crit d'une faon et d'une seule sous la forme

x = R(), o R K[X](n) .
2. En tant que K-algbre, K[X]/ P est un K-espace vectoriel de dimension n et la famille

{1, , 2 , . . . , n1 }
en constitue une base, qu'on appelle la
Exercice 32

R[X]/ X 2 + 1

 Montrer que le corps C des nombres complexes n'est autre que le corps quotient . A quoi correspond dans C la classe de X dans R[X]/ X + 1 ? La base {1, } ?
2

base canonique de K[X]/ P

4.8 Rgles de calculs dans K[X]/ P


Sous les hypothses du thorme 4.17 ci-dessus, chaque lment x K[X]/ P s'crit de faon (n) unique x = R(), avec R K[X] . L'addition ne pose pas de problme puisque la somme de (n) (n) deux polynmes de K[X] appartient K[X] . Pour la multiplication, on procde comme

Rgle de calcul pour la multiplication Pour multiplier les deux lments R1 () et R2 () dans K[X]/ P , on calcule le reste R de la division euclidienne dans K[X] du polynme produit R1 R2 par P et on crit R1 ()R2 () = R().

suit.

Exemple

Supposons par exemple

K=Q

et

P = X 3 X + 1.

Q[X]/ P = {a2 + b + c | a, b, c Q}.


Soit eectuer le produit de

(2 + )

par

(2 + 1),

on crit

(1)
puis on en dduit

(2 + )(2 + 1) = 4 + 3 + 2 + , X 4 + X 3 + X 2 + X = (X 3 X + 1)(X + 1) + 2X 2 + X 1,
R

(2 + )(2 + 1) = R() = 22 + 1. (1)


en utilisant la relation

On peut aussi rduire l'expression obtenue dans

P () = 3 + 1 = 0,
c'est--dire

3 = 1, 3
par

ce qui donne, en remplaant autant de fois qu'il le faut

1,

(2 + )(2 + 1) = 4 + 3 + 2 + = ( 1) + 1 + 2 + = 22 + 1.

54

Arithmtique

Chapitre 5 Corps nis


Pour chaque nombre premier

p,

nous connaissons dj le corps

Nous allons voir comment, partir des corps

Fp ,

appels

corps premiers, on peut construire

Fp = Z/pZ

lments.

d'autres corps nis, et nous en tudierons les principales proprits. Nous admettrons le rsultat suivant.

Thorme 5.1 (Wedderburn 1882-1948)


Rappelons d'autre part que deux corps

Tout corps ni est commutatif.


sont

de corps u de K sur K , c'est--dire une application bijective u de K sur K


(x, y) K2 ,
Un

K et K

isomorphes s'il existe un isomorphisme


vriant et

u(x + y) = u(x) + u(y)

u(xy) = u(x)u(y).

automorphisme d'un corps K est un isomorphisme de K sur lui-mme. Lemme 5.2 Soit K un corps ni et L un sous-corps de K. Alors K est un espace vectoriel de
dimension nie n sur L, ce qui implique que K possde (#L)n lments.
vectoriel est ncessairement de dimension nie puisque sait qu'il existe une base

Preuve : On a vu, (proposition 0.19 page 16) que K est un espace vectoriel sur L. Cet espace
K
est ni. Soit

cette dimension, on

{b1 , b2 , . . . , bn } de K sur L. Tout lment x K s'crit de faon unique x = 1 b1 + 2 b2 + + n bn , i L

et chaque

i ,

pour

i = 1, 2, . . . , n,

peut prendre

#L

valeurs distinctes.

5.1 Exemple d'un corps 4 lments


Soit

P = X2 + X + 1

le seul polynme irrductible de degr 2 de l'algbre

On sait, (thorme 4.15 page 52), que d'quivalence du polynme

dans

F2 [X]/ P est un corps et que si F2 [X]/ P , alors, (thorme 4.17 page

F2 [X]. dsigne
53),

la classe

F2 [X]/ P = {a + b | a, b F2 } = {0, 1, , 1 + }.
La table de multiplication de 2 = 1 + ,

F2 [X]/ P
0 0 1 0 0 0 0

s'crit, compte tenu de l'galit 1 0 1

P () = 0,

c'est--dire

1+
0

1+
On y voit par exemple que l'inverse de

1+
est

1+
1

1+
1

(1 + ).
55

56

Arithmtique

5.2 Construction des corps nis


Nous admettrons le rsultat suivant, qui est dmontr dans la section facultative 5.7 page 62.

Thorme 5.3

Pour tout nombre premier p et tout entier positif n, il existe un polynme irrductible de degr n dans l'anneau Fp [X].
On en dduit, pour tout nombre premier

et tout entier positif

n,

l'existence d'un corps

pn

lments. Le thorme suivant, reprenant le thorme 4.17 (page 53), dcrit ce corps.

Thorme 5.4 (Existence de corps nis)


n

Soit n un entier positif et soit p un nombre premier, il existe un corps p lments. Plus prcisment, soit P Fp [X] un polynme irrductible de degr n et soit K le corps Fp [X]/ P , on dsigne par la classe d'quivalence du polynme X dans K. 1. Le corps K est constitu des lments de la forme R(), o R dcrit l'espace vectoriel Fp [X](n) des polynmes de degr n 1 de Fp [X]. 2. Si K, il existe 4. #K = pn .

un seul polynme R Fp [X](n)

tel que = R().

3. La famille {1, , 2 , . . . , n1 } est une base de l'espace vectoriel K sur Fp .

Preuve :
1. 2. et 3. rsultent du thorme 4.17 (page 53). 4. Rsulte de 3, (cf. dmonstration du lemme 5.2 page 55).

5.3 lment primitif


La proprit suivante des corps nis joue un rle important en cryptographie ainsi que pour la construction de certains codes correcteurs d'erreurs.

Thorme 5.5 Preuve


: Soit

Si K est un corps ni, le groupe multiplicatif K est cyclique.

d L'ensemble Ud = {x K | x = 1} d concide avec l'ensemble des racines distinctes du polynme X 1. On dduit du thorme 4.5

un diviseur de l'ordre du groupe

K .

(page 48) que

#Ud d, K

puis on applique le thorme 2.20 (page 36).

Il en rsulte que si

(q 1)

lments, le groupe cyclique gnrateurs. Ces gnrateurs du groupe K sont appels

est un corps

lments primitifs de K.

K ,

d'ordre

q 1,

possde

L'importance d'un lment primitif a K tient au fait qu'on peut dcrire tous les lments du groupe K en termes des (q 1) premires puissances positives de a. Cela

implique

que si un sous-corps

L de K contient un lment primitif a, alors L = K. C'est par


celle donne ici, qui est propre aux "codeurs" et aux

cette dernire proprit qu'on dnit un lment primitif dans la plupart des traits d'algbre, dnition

qui n'est pas quivalente

cryptographes. Ce que nous appelons ici lment primitif est appel par les algbristes "racine primitive de l'unit". Pour la non quivalence des deux dnitions, voir l'exemple du corps construit en 5.5 page 59.
Exercice 33

 Dterminer les lments primitifs du corps construit en 5.1 (page 55).

P. Wassef

57

5.4 Caractristique d'un corps ni


Soit

un corps ni d'lment unit 1, et soit

:ZK

le morphisme de groupes dni par

n Z
Le corps

(n) = n.1.

K tant ni, l'application ne peut tre injective, elle n'est pas non plus identiquement nulle. Son noyau est donc un sous-groupe non trivial de Z, de la forme pZ, avec p 2. L'entier p est le plus petit entier positif tel que p.1 = 0, supposons p = p1 p2 , avec 1 < p1 < p, on aurait alors 0 = p.1 = (p1 .1)(p2 .1), avec p1 .1 = 0 et p2 .1 = 0, ce qui est impossible puisque K est intgre. L'entier p est donc premier. Ce nombre premier p est appel la caractristique du corps K. Si K est un corps de caractristique p, tout sous-corps de K contient l'unit 1, donc contient (Z), donc est de caractristique p.

Proposition 5.6 Preuve

Soit K un corps ni de caractristique p et d'lment unit 1. L'ensemble L = (Z) = {n.1 | n Z} est un sous-corps de K, isomorphe Fp .
: On vrie facilement que et seulement si On dnit une

L est un anneau. Par dnition de p, on a (m.1 = n.1) (m n) pZ, on en dduit que L = {0, 1, 2.1, . . . , (p 1).1}. bijection u de L sur Fp en posant, pour chaque n {0, 1, . . . , p 1}, u(n.1) = n Fp .

si

On vrie facilement que, pour tout

(x, y) L2

u(x + y) = u(x) + u(y) u(x y) = u(x) u(y)


Il en rsulte que

est un isomorphisme d'anneaux. L'anneau

Fp

tant un corps, il en est donc

de mme de l'anneau

L.

Soit K un corps ni de caractristique p, on identie le corps Fp au sous-corps de K dni par

L = {0, 1, 2.1, . . . , (p 1).1}.


Il en rsulte que K, ainsi que tous ses sous-corps, admettent Fp comme sous-corps. Cela justie l'appellation de corps premier pour Fp . Rciproquement, tout corps ni contenant le corps Fp est de caractristique p, en particulier les corps K = Fp [X]/ P dcrits en section 5.2, et le corps Fp lui-mme. La proposition suivante donne des rgles de calcul dans un corps ni de caractristique p.

Proposition 5.7
2

Soit K un corps ni de caractristique p.


i i i

1. (x, y) K , (x + y)p = xp + y p . 2. (x, y) K2 , i 2, (x + y)p = xp + y p . 3. Fp = {x K | x = xp }. 4. Soit Q K[X], on a l'quivalence

(Q Fp [X]) ([Q(X)]p = Q(X p )) .

58

Arithmtique

Preuve :
1. On dveloppe

(x + y)p par la formule du binme de Newton, puis on remarque que pour p tout entier k = 1, . . . , p 1, le coecient binomial Ck est divisible par p, (proposition 1.15 page 28), donc est nul dans Fp . i
partir de la question prcdente.

2. Par rcurrence sur 3. Le groupe

F p

est d'ordre

p 1,

tout lment

relation aussi vrie par 0, donc Rciproquement, le polynme page 48), on a l'ingalit 4. Soit

x F vrie p Fp {x K | x = xp }.

donc

xp1 = 1,

d'o

xp = x,

X p X possdant au plus p racines dans K, (thorme 4.5 #{x K | x = xp } p, d'o l'galit Fp = {x K | x = xp }.

Q(X) = a0 + a1 X + + an X n . D'aprs 1. on a [Q(X)]p = ap + ap X p + + ap (X p )n , 0 1 n

le rsultat dcoule alors de 3. ci-dessus.

 Soit K un corps ni de caractristique p. Montrer que l'application u de K dans lui-mme dnie par u(x) = x est un automorphisme de K, c'est--dire un isomorphisme de corps de K dans lui-mme.
Exercice 34

Le thorme qui suit nous permettra d'eectuer des calculs pratiques dans un corps ni.

Thorme 5.8

Soit K un corps ni q lments, de caractristique p.

1. Si n est la dimension de l'espace vectoriel K sur Fp , on a q = pn . 2. Tout x K vrie xq1 = 1, ce qui implique x1 = xq2 . 3. Tout x K vrie xq = x. 4. Dans l'anneau K[X], on a l'galit

X q1 1 =
aK

(X a).

5. Soit a un lment primitif de K. La famille

B = {1, a, a2 , . . . , an1 }
est une base de l'espace vectoriel K sur Fp , c'est--dire que tout lment x K s'crit d'une faon unique x = R(a), avec R Fp [X](n) .

Preuve :
1. Consquence du lemme 5.2 (page 55).

2. et 3. Le groupe K est d'ordre q 1 donc tout xq = x, relation qui est aussi vrie par 0.
4. Rsulte de 2. et du thorme 4.5 page 48. 5. Le corps famille

x K

vrie

xq1 = 1 = x xq2 ,

d'o

K tant un espace vectoriel de B = {1, a, a2 , . . . , an1 } est libre.

dimension

sur

Fp ,

il sut de montrer que la

Supposons le contraire, une relation linaire non identiquement nulle entre les (n) l'existence d'un polynme non constant P Fp [X] tel que P (a) = 0. Soit

ai

quivaut

B le sous Fp -espace vectoriel de K engendr par la famille B . D'aprs notre hypothse, dim(B) < n donc B est strictement inclus dans K. On en dduit que B\{0} est strictement inclus dans K . Si on montre que B est un anneau, comme B \ {0} contient a, B \ {0} contiendra toutes les puissances positives de a et cela prouvera que a n'est pas un gnrateur de K .

P. Wassef
Par dnition de

59

B,

on peut crire

(1)
Soit

B = {R(a) | R Fp [X](n) }. A = {Q(a) | Q Fp [X]}, montrons que B = A, ce qui prouvera que B


est un anneau.

(1) que B A. Rciproquement, soit Q Fp [X], et soit Q = P Q1 + R1 , (n) avec R1 Fp [X] , la division euclidienne de Q par P , on a d'une part Q(a) = R1 (a) (n) puisque P (a) = 0, et d'autre part R1 (a) B puisque R1 Fp [X] , ce qui prouve que A B et l'galit.
Or il rsulte de

ristique.

Exercice 35

 Montrer que deux corps nis ayant mme nombre d'lments ont mme caract-

5.5 Calculs dans un corps ni - Table de logarithmes


Le thorme 5.8 (page 58) fournit un moyen ecace pour eectuer des calculs dans un corps

K de caractristique p, si on en connat un lment primitif a. n Soit q = p le nombre d'lments de K. On sait en eet que chaque
ni de faon unique sous chacune des deux formes suivantes : (1) (2)

lment de

x K

s'crit

x = R(a), x = ai ,
o

R Fp [X](n) .

On sait additionner deux lments donns sous cette forme. La multiplication de deux lments donns sous cette

i {0, 1, 2, . . . , q 2}.

forme s'eectue en additionnant les exposants modulo

(q 1).

La question est de pouvoir passer de la premire la seconde forme et rciproquement, c'est-dire d'tablir la

table des logarithmes de base a.

Le plus instructif est de donner un exemple.

P = X 2 + 1 est irrductible dans F3 [X]. Le corps K = F3 [X]/ P possde 9 lments, le groupe K est d'ordre 8. 2 2 La classe de X dans K vrie P () = + 1 = 0, c'est--dire = 1 = 2. 4 On voit que n'est pas un lment primitif puisque = 1 (remarquons qu'au sens des traits d'algbre, au sens des gnrateur de K sur Fp , est un lment primitif d'aprs le thorme
On sait que le polynme 5.4 page 56.) Par contre, l'lment a = + 2 est primitif puisque a4 = 2 = 1. Remarquons que a vrie la relation

a2 = 2 + 4 + 4 = 2 + + 1 = ,

et que

a2 = 1 + a,
relation qu'on utilisera pour le calcul des puissances successives de La table de logarithmes de base

dans la base

{1, a}

de

K.

s'crit :

0 a 1 a 2 a 3 a a4 5 a 6 a 7 a

= = = = = = = =

1, a, 1 + a, 1 + 2 a, 2, 2 a, 2 + 2 a, 2 + a,

c'est--dire

loga (1) loga (a) loga (1 + a) loga (1 + 2 a) loga (2) loga (2 a) loga (2 + 2 a) loga (2 + a)

= = = = = = = =

0, 1, 2, 3, 4, 5, 6, 7.

60

Arithmtique

a, multiplier entre eux deux lments donns sous addition modulo 8. Par exemple, pour calculer le produit (2 + a)(2 + 2a), on consulte la table de logarithmes, on y trouve 2 + a = a7 et 2 + 2a = a6 , d'o
Connaissant la table des logarithmes de base la forme (1) revient eectuer une

(2 + a)(2 + 2a) = a7+6 = a13 = a5 = 2a.

Additionner deux lments donns sous la forme (2) se fait de faon symtrique, par exemple
a3 + a2 = (1 + 2a) + (1 + a) = 2 = a4 .

Inverser

un lment

que sous la forme (2),

x = 0 donn sous la forme (1) est k 1 on a (a ) = a8k . Par exemple

aussi automatique, compte tenu de ce

(1 + 2a)1 = (a3 )1 = a83 = a5 = 2a.


Remarquons que dans un corps K q lments, on peut toujours, en l'absence de table de 1 logarithmes, crire que x = xq2 puisque xq1 = 1. Dans un corps de trs grande taille, d'lment primitif a, il existe des mthodes rapides, tant m donn un entier m 2, pour calculer l'lment a . Mais il est beaucoup plus dicile, en l'absence de table de logarithmes, d'eectuer le calcul inverse : connaissant m (1), dterminer l'entier m = loga (x) tel que x = a . Ce problme est connu sous le nom de prenant que des valeurs entires). Certains algorithmes de cryptographie sont bass sur la dicult rsoudre le problme du logarithme discret.
Exercice 36

x K sous la forme

problme du logarithme discret (ce logarithme ne

 Dterminer tous les lments primitifs du corps K dni ci-dessus.

5.6 Applications la cryptographie


5.6.1 Protocole d'change de cls de Die-Hellman
Le problme ici est li la gnration de cls. Il s'agit pour deux personnes d'obtenir une cl qu'ils seront les seuls possder, cl qui leur servira chirer leur correspondance en utilisant un chirement cl secrte. Ce protocole est bas sur la dicult rsoudre le problme du logarithme discret dans des corps de grande taille lorsque certaines conditions sont remplies. Le protocole d'change de cls de Die-Hellman permet, partir d'une cl publique, deux personnes dsirant communiquer secrtement, de se fabriquer une cl secrte. Soit

Fq

un corps

lments dans lequel le problme du logarithme discret est dicile, et soit

un lment primitif de

Fq ,

le couple

(Fq , g)

est public.

Voici le protocole que doivent suivre Alice et Bernard pour se confectionner une cl secrte au vu et au su de tout le monde :  Alice choisit un entier

1 < a < q 1 et transmet sa cl publique g a Bernard. b  Bernard choisit un entier b vriant 1 < b < q 1 et transmet sa cl publique g Alice. b ab  Alice lve g la puissance a, obtenant = g . a ab  Bernard lve g la puissance b, obtenant = g , qui sera leur cl secrte commune. a b Alice et Bernard sont les seuls connatre car Eve peut intercepter g et g mais ne peut en ab dduire = g qu'en connaissant a ou b, c'est--dire en ayant rsolu le problme du logarithme discret de base g dans Fq . a
vriant

P. Wassef

61

Vulnrabilit du protocole de Die-Hellman - Ncessit d'une signature


Le protocole de Die-Hellman est vulnrable l'attaque suivante : Eve choisit un entier c tel c a que 1 < c < q 1 et calcule g . Elle intercepte la cl publique g envoye par Alice Bernard, c lui substitue la cl g qu'elle envoie Bernard, lequel croit recevoir la cl publique d'Alice. Lorsque Bernard envoie Alice sa cl publique La cl "secrte" d'Alice est donc

gb,

Eve l'intercepte et envoie

gc

Alice.

=g

ac

et celle de Bernard

=g

bc

, Eve les connat puisque

qu'il lui sut d'lever chacune des cls publiques d'Alice et Bernard la puissance

c.

Eve intercepte alors tous les messages d'Alice Bernard, est capable de les dchirer, de les modier avec la cl

puis de les envoyer Bernard en les chirant avec la cl

Elle procde de mme avec les messages envoys par Bernard Alice, qu'elle dchire avec la cl

et renvoie Alice en les rechirant l'aide de la cl

La vulnrabilit du protocole de Die-Hellman rside dans le fait qu'il ne permet pas d'authentier les participants.

5.6.2 Algorithme de chirement cl publique d'El Gamal


C'est un exemple de chirement cl publique bas sur le problme du logarithme discret.

g un lment primitif de Fq . On suppose que le problme du logarithme discret de base g dans Fq est dicile. Le couple (Fq , g) est public. Rappelons 1 que pour tout x Fq , on a x = xq2 puisque xq1 = 1. L'encodage consiste assigner chaque lment de message un lment de Fq de faon injective.
Soit

Fq

une corps

lments et soit

Si Bernard veut permettre un tiers de lui envoyer des messages a secrets, il choisit un entier a tel que 1 < a < q , qui sera sa . Il calcule = g , qu'il publie, et qui sera sa

Cl secrte, cl publique Encryptage


x

cl publique.

cl secrte

Pour envoyer Bernard le message

m Fq ,

Alice

choisit alatoirement un

entier

tel que

1 < x < q,

et lui transmet le couple

(, ) = (g x , m x ) = (g x , m g ax )
qui est le message crypt ou chir. 

Dcryptage
eet

Bernard, grce sa cl secrte

a,

peut calculer l'inverse

= g ax

de

g ax ,

en

= g ax = g ax(q2) = (g x )a(q2) = a(q2) ,


il en dduit

m = (m g ax ) g ax = .

Comme l'algorithme RSA, cet algorithme est L'introduction de l'ala

asymtrique.

est un avantage au sens o le mme message envoy plusieurs fois ne

sera pas cod de la mme faon chaque fois.

Signature d'El Gamal ( )


La signature d'El Gamal quipe le logiciel

GNU Privacy Guard (GPG)

libre du logiciel de cryptage PGP. Les signatures de ce type, dites ont valeur lgale en France depuis le mois de mars 2000. On considre un corps premier de

signatures numriques,

qui est une dclinaison

Fp

un entier compris entre

Fp 0

et un lment primitif et

problme du logarithme discret de public.

g de Fp . On identie chaque lment p 1. Les entiers p et g sont choisis de telle sorte que le base g soit dicile rsoudre dans Fp . Le couple (Fp , g) est

62

Arithmtique

Signature
m,
 Elle modulo

Soit

a1

la cl secrte d'Alice et

1 = g a1

sa cl publique. Pour signer le message

elle procde comme suit.

choisit alatoirement un entier positif e premier avec p 1 et calcule son inverse d


p 1. s1 = g e (mod p)
et l'entier

 Elle calcule l'entier

s2 = d(m a1 s1 ), (mod p 1).

c'est--dire tel que

(1)


m = es2 + a1 s1
Recevant le triplet

Vrication
vante dans

 Le message sign est le triplet

(m, s1 , s2 ). (m, s1 , s2 ),

Bernard calcule

s ss2 11 1

et vrie l'galit sui-

Fp
s g m = 11 ss2 , 1

(2)
qui rsulte de l'galit 

(1)

puisque

s g m = g es2 +a1 s1 = as2 11 . 1

Justication

tant donn que Bernard connat la cl publique

1 a1 ,

d'Alice, pour authentier

son message, celle-ci doit prouver Bernard qu'elle connat l'entier cl secrte. La faon la plus simple serait de lui communiquer

a1 = logg (1 )

qui est sa

ce qui constituerait une

signature mais obligerait Alice changer de cl, celle-ci n'tant plus secrte.

e = d = 1, puisqu' ce moment l, on aurait s1 = g et s2 = m a1 , d'o on dduit immdiatement a1 . L'entier e est donc une cl secrte e destine protger la cl secrte a1 . Connaissant s1 = g , Eve ne peut en dduire e, donc d. Connaissant s2 = d(m a1 s1 ), elle ne peut donc en dduire a1 . Mais comment l'galit (2) peut-elle prouver Bernard qu'Alice connat a1 ? Remarquons que (2) quivaut l'galit (1) des logarithmes de base g :
C'est ce qui se passerait si elle avait choisi

m = es2 + a1 s1
Il en rsulte qu'Alice, connaissant Eve, ne connaissant que

(mod p 1).
connat ncessairement

s1 , s2 , e

et

m,

a1 .

s1

sans connatre

s2

vriant

(1),

mme si elle connat

e, et ignorant a1 , m ou m a1 s1 .

ne peut pas dterminer d'entier

Des alas

dirents sont utiliss pour deux signatures conscutives.

5.7 Complments facultatifs sur les corps nis ( )


5.7.1 Structure gnrale d'un corps ni
Nous utiliserons le rsultat d'arithmtique lmentaire suivant.

Lemme 5.9

Soit a, m et n trois entiers positifs, avec a 2. Alors

(am 1) divise (an 1) si et seulement si m divise n.

Preuve : Si m divise n, on pose n = mq et on crit


an 1 = amq 1 = (am )q 1 = (am 1)(am(q1) + am(q2) + + 1) = (am 1) b.
Dans le cas gnral, la division euclidienne de

par

s'crit

n = mq + r, 0 r < m,

d'o

an 1 = amq+r 1 = (amq 1)ar + (ar 1) = (am 1)bar + (ar 1),


comme r

(ar 1) < (am 1),

le reste de la division euclidienne de

(an 1)

par

(am 1)

est

(a 1),

ce qui dmontre le lemme.

La structure gnrale d'un corps ni de caractristique

est dcrite par le thorme suivant.

P. Wassef

63

Thorme 5.10

Soit K un corps de caractristique p, q = pn lments.

1. Le nombre d'lments de tout sous-corps de K est de la forme pr , o r divise n. 2. Rciproquement, pour tout diviseur r de n, K possde un unique sous-corps pr lments, r c'est l'ensemble des a K vriant ap = a.

Preuve :
1. Le nombre d'lments d'un sous-corps

de

(page 58). D'aprs le lemme 5.2 (page 55), 2. Soit

K est de la forme pr d'aprs le thorme 5.8 pn est une puissance de pr donc r divise n.

n r un diviseur de n. Le groupe multiplicatif K est cyclique d'ordre p 1, et (p 1) n divise (p 1) d'aprs le lemme 5.9 ci-dessus. Il rsulte alors du thorme 2.18 (page 35) pr 1 que les lments de K vriant a = 1 forment un sous-groupe d'ordre (pr 1) de K . pr En ajoutant 0, on en dduit que l'ensemble L = {a K | a = a} possde pr lments.

L \ {0} est un groupe multiplicatif, il reste montrer que L est un groupe additif, L est stable pour l'addition d'aprs le point 2 de la proposition 5.7 (page 57), et 0 L. Soit a L, montrons que a L.  Si p = 2, on a a = a donc a L. r r pr  Si p > 2, p est impair donc (a) = ap = a, c'est--dire a L. r Ainsi L est bien un corps. L'unicit vient du fait que si L1 est un sous-corps p lments r pr de K, le groupe L1 est d'ordre (p 1) donc tout lment a L1 vrie a = a, ce qui fait que L1 L donc L1 = L.
Comme or

5.7.2 Polynme minimal


Soit

un corps de caractristique

p,

q = pn

lments, et soit

a K.

Il est facile de voir que

l'ensemble

I = {Q Fp [X] | Q(a) = 0}
est un idal de

Fp [X].

Le polynme

thorme 5.10 (page 63), ce qui fait

= X q X appartient que I donc I = {0}.

Fp [X],

et

(a) = 0

d'aprs le

Il existe d'aprs le thorme 4.6 (page 49) un polynme unitaire unique

I= P

Le polynme

polynme minimal de a sur le corps Fp , ou simplement polynme minimal de a, son degr d est appel degr algbrique de a sur Fp . Le polynme P est irrductible dans Fp [X] puisque K est intgre.
P
est appel
Exercice 37

. On rappelle que

est le polynme unitaire de degr minimum

P Fp [X] de I .

tel que

 Soit K un corps ni de caractristique p et soit P F [X] un polynme irrductible unitaire. Montrer que si P possde une racine a K, alors P est le polynme minimal de a. En dduire la proposition suivante.
p

Proposition 5.11
Soit

Soit P Fp [X] un polynme irrductible unitaire, si dsigne la classe de X dans le corps Fp [X]/ P , alors P est le polynme minimal de .

K un corps ni et soit a K . Dsignons par Fp (a) le plus petit sous-corps de K contenant a, ou sous-corps engendr par a. (La notation Fp (a) rappelle que ce sous-corps contient le corps premier Fp .) Le corps Fp (a) est dcrit par le thorme suivant.

Soit K un corps ni de caractristique p, soit a K un lment de degr algbrique r 1, et soit P le polynme minimal de a. 1. Le corps Fp (a) est constitu de l'ensemble des lments de K de la forme Q(a), o Q dcrit l'anneau Fp [X].

Thorme 5.12

64

Arithmtique
2. La famille {1, a, a2 , . . . , ar1 } est une base de l'espace vectoriel Fp (a) sur Fp , c'est--dire que tout lment x Fp (a) s'crit d'une manire et d'une seule

x = R(a),

(r) avec R Fp [X].

3. #Fp (a) = pr . 4. Il existe un isomorphisme de corps de Fp (a) sur Fp [X]/ P tel que (a) = X .

Preuve :
1. Soit

l'ensemble des lments de

de la forme

Q(a),

2.

a A et que A est un anneau contenu dans A est un corps, l'galit A = Fp (a) rsultera de la dnition de Fp (a). 1 Soit x = Q(a) un lment non nul de A, montrons que x A. Comme Q(a) = 0, Q n'est pas multiple de P , donc pgcd (P, Q) = 1 dans Fp [X] puisque P est irrductible. Il rsulte du thorme de Bzout qu'il existe deux polynmes U et V de Fp [X] tels que P U + QV = 1, ce qui donne Q(a)V (a) = x V (a) = 1 et dmontre que A est un corps. Soit x = Q(a) Fp (a), la division euclidienne Q = P Q1 + R dans Fp [X] montre, puisque (r) P (a) = 0, que Q(a) = R(a), avec R Fp [X]. (r) Soit R1 et R2 Fp [X] deux polynmes tels que R1 (a) R2 (a) = (R1 R2 )(a) = 0, le polynme P divise alors le polynme R1 R2 , avec deg(R1 R2 ) < deg(P ), d'o R1 R2 = 0.
aisment que Si on montre que

Q dcrit Fp [X]. Fp (a).

On vrie

3. Rsulte de 2. 4. Si

Q1

et

Q2

sont deux polynmes de

Fp [X],

on a les quivalences

(Q1 (a) = Q2 (a)) ((Q1 Q2 )


par

multiple de

P ) Q1 = Q2
surjective
de

dans

Fp [X]/ P
dans

Cela permet, d'aprs 1., de dnir une application

Fp (a)

Fp [X]/ P

(Q(a)) = Q,
de sorte que

(a) = X . L'application

est bijective puisque les corps

ont mme nombre d'lments, elle est compatible avec l'addition et est donc un isomorphisme de corps.

Fp (a) et Fp [X]/ P la multiplication,

Soit K un corps ni de caractristique p, et soit a un lment primitif de K. Si P Fp [X] est le polynme minimal de a, les corps K et Fp [X]/ P sont isomorphes.

Corollaire 5.13

Preuve : Si a est un lment primitif de K, on a Fp (a) = K.


Le polynme minimal d'un lment primitif de

est appel

polynme primitif.

5.7.3 Dcomposition du polynme minimal


Thorme 5.14
Soit K un corps ni de caractristique p, soit a K un lment de degr algbrique r 1, P le polynme minimal de a et Fp (a) le sous-corps de K engendr par a. r 1. L'entier r est le plus petit entier positif tel que ap = a. i 2. Les racines de P dans le corps K sont les r lments ap Fp (a), pour i = 0, 1, . . . , r 1, elles sont toutes distinctes. 3. On a l'galit dans Fp [X]

(1)

P = (X a)(X ap ) . . . (X ap

r1

).

P. Wassef

65

Preuve :
r 1. On sait (thorme 5.12 page 63), que #Fp (a) = p , le groupe Fp (a) est donc d'ordre r 1 r pr 1, ce qui implique ap = 1, c'est--dire ap = a. s ps Soit s le plus petit entier positif tel que a = a, alors ap 1 = 1, cela implique que ps 1 r divise p 1 donc que s divise r d'aprs le lemme 5.9 (page 62). ps Il rsulte alors du thorme 5.10 (page 63) que l'ensemble L = {x Fp (a) | x = x} est s le sous-corps de Fp (a) p lments. Comme a L, on en dduit L = Fp (a) donc s = r .
2. Supposons

ap = ap

avec

0 i < j r 1,
rj+i

on en dduit
j rj

ap

= (ap )p

rj

= (ap )p

= ap = 1,

1 r j + i r 1. p p Comme P Fp [X], on sait d'aprs le thorme 5.7 (page 57) que [P (X)] = P (X ), on 2 i p p p p en dduit 0 = [P (a)] = P (a ) = P (a ) = = P (a ) pour tout i 2. Comme P est i p de degr r , les r lments a , i = 0, 1, . . . , r 1, sont les seules racines de P dans K, et P tant unitaire on a l'galit (1) dans K[X].
ce qui est impossible puisque donc 3. Montrer que l'galit

1 j i r 1,

(1)

a lieu dans

Fp [X]

revient montrer que le polynme


r1

Q = (X a)(X ap ) . . . (X ap
appartient

)
Or

Fp [X].

Pour cela, il faut et il sut que


r1

[Q(X)]p = Q(X p ).
2

[Q(X)]p = (X a)p (X ap )p . . . (X ap
Les lments

)p = (X p ap )(X p ap ) . . . (X p a) = Q(X p ).

ap , ap , . . . , ap

r1

sont appels les

conjugus de a.

5.7.4 Existence de corps nis


Thorme 5.15
Soit p un nombre premier et n un entier positif. On pose

n = X p X Fp [X].
Soit P Fp [X] un polynme irrductible unitaire de degr r. Alors 1. P divise n si et seulement si r divise n. 2. Le polynme P 2 ne divise pas n .

Preuve : Soit K = Fp [X]/ P


minimal de  Si 

et soit

= Cl(X). On sait que #K = pr , que P


donc

est le polynme

p = , c'est--dire n () = 0. Par dnition du polynme minimal, cela implique que P divise n . pn Rciproquement, si P divise n , alors n () = 0, c'est--dire = . n p Mais l'ensemble A = {a K | a = a} est un sous-anneau de K (Cf. la dmonstration du thorme 5.10 page 63). Comme A contient , A contient toutes les puissances de , donc n A = K. Ainsi tout lment de K vrie ap 1 = 1. r r n Or K contient un lment d'ordre (p 1), donc (p 1) divise (p 1) donc que r divise n. n 1 2 n p Si P divisait n , P diviserait n = p X 1 = 1. r
divise divise

et que n, (pr 1)

pr 1

= 1. (pn 1)

n 1

=1

donc

Le thorme ci-dessus va nous servir dmontrer l'important rsultat suivant.

Pour tout nombre premier p et tout entier positif n, il existe un polynme irrductible de degr n dans l'anneau Fp [X].

Thorme 5.16

66

Arithmtique

Preuve : Pour chaque entier positif n, dsignons par Np (n) le nombre de polynmes unitaires
irrductibles de degr  

n dans Fp [X]. Pour n = 1, Np (1) = p. 2 Pour n = 2, un polynme unitaire de degr 2 s'crit P = X + aX + b, o a, b Fp , 2 il en existe p . Un tel polynme est irrductible si et seulement s'il n'est pas d'une des
formes

deux

P = (X ) (X ), o , Fp , = , 2 (2) P = (X ) o Fp . Or il existe p (p 1)/2 polynmes de la forme (1) et p


(1)

de la forme (2), on en dduit

Np (2) = p2
 Pour

p (p 1) p (p 1) p= 1. 2 2

n 3,

Le polynme

on utilise le thorme 5.15 (page 65). n tant de degr pn , il rsulte du thorme 5.15 que

(1)
d/n
d'o en particulier

d Np (d) = pn ,

(2)
Appliquant l'ingalit

n Np (n) pn . (2)
tous les diviseurs

de

n
d

et en reportant dans
n

(1),

on obtient

p n Np (n)
d/n, d<n
Ce qui donne la minoration

n p[ 2 ]+1 1 p = < p[ 2 ]+1 . p p1 d=1

[n] 2

Np (n)

tant entier, on en dduit

pn p[ 2 ]+1 Np (n) > 0. n Np (n) 1.


Pour tout nombre premier p et tout entier po-

Il en rsulte le thorme d'existence des corps nis.

Thorme 5.17 (Existence des corps nis)


sitif n, il existe un corps q = p lments.
n

Preuve : Soit P
lments.

Fp [X]

un polynme irrductible de degr

n,

le corps

Fp [X]/ P

possde

pn

Enn, l'nonc suivant est une autre importante consquence du thorme 5.15 (page 65).

Thorme 5.18 (Isomorphisme) Deux corps qui ont mme nombre d'lments sont morphes, ce qui permet de parler du corps Fq q lments. Preuve : Soit K et K deux corps pn lments. Soit un lment primitif de K, et
P Fp [X]
le polynme minimal de

isosoit est

On sait d'aprs le thorme 5.13 (page 64) que

isomorphe

Fp [X]/ P

Il rsulte du thorme 5.15 que le polynme P , irrductible de degr n, divise le polynme n X p X , lequel admet pour racines les lments de K , (thorme 5.10 page 63). Le polynme

n racines distinctes dans le corps K . Soit l'une d'elles. Le polynme P tant irrductible dans Fp [X], est de degr n sur Fp et P est son polynme minimal, donc K = Fp () est isomorphe Fp [X]/ P d'aprs le thorme 5.12 (page 63). Plus prcisment, il existe un seul isomorphisme u de K sur K tel que u() = , mais attention, le choix de n'est pas unique ds que n 2.
admet donc

Chapitre 6 Codes correcteurs d'erreurs


6.1 Gnralits
Coder, ou encoder une information consiste lui donner

temporairement

une certaine forme,

l'information tant ultrieurement restitue par l'opration de dcodage, c'est--dire l'opration inverse de l'encodage. Encoder une information peut avoir plusieurs buts.  La condentialit.  Le stockage, la compression de donnes en est un exemple.  La possibilit de dtecter et/ou de corriger les erreurs qui surviennent lors de la transmission de cette information, c'est--dire lorsque l'information devient message. C'est l'objet des codes correcteurs d'erreurs, appels plus simplement codes correcteurs. C'est ce cadre qui nous intresse ici. Le principe de base des codes correcteurs d'erreurs est de rajouter un message transmettre une information supplmentaire, appele information tion s'appelle pouvoir dtecter et ventuellement corriger de possibles erreurs de transmission. Cette opradonc associ un mot de code de longueur suprieure celle du message. Le des mots de code ainsi obtenus.

redondante ou de contrle, de manire

encodage du message et son rsultat est un mot de code. A chaque message est code est l'ensemble

6.1.1 Exemples lmentaires


Supposons qu'on veuille guider un avion en lui faisant parvenir par radio l'un ou l'autre des quatre messages suivants : virer tribord, a bbord, vers le haut ou vers le bas. L'ide la plus simple et la plus conomique consiste reprsenter les messages

haut et bas respectivement transmettre.


Si par exemple le mot

par les

mots binaires 01, 10, 11 et 00 qui

tribord, bbord, seront les messages

Le problme est que si le canal de transmission radio est bruit, des erreurs peuvent se produire.

10

est envoy et qu'une erreur de transmission aecte le premier bit, le

pilote de l'avion recevra le mot

00 et n'aura aucun moyen de savoir qu'une erreur est intervenue.

D'o danger. Voici trois exemples d'encodage de ces quatre messages. 1. La premire ide venant l'esprit consiste ddoubler chaque message, c'est--dire encoder les messages

01, 10, 11

et

00

respectivement par les mots de code de longueur 4 et

0101, 1010, 1111

0000.

Une erreur est alors dtectable par le pilote puisque l'eet d'une erreur sur un mot de code le transforme en un mot qui n'est pas un mot de code. Une erreur intervenant par exemple lors de la transmission du mot de code

0101

donnera l'un des mots

1101, 0001,

67

68

Arithmtique
0111 ou 0100 qui n'appartiennent pas au code. Recevant l'un de ces quatre mots, le pilote saura qu'il y a eu erreur lors de la transmission, ce qui est important, mais il ne pourra pas retrouver le mot de code d'origine puisque par exemple, si le message reu est 1101,
le mot de code d'origine,

sous l'hypothse d'une seule erreur, peut aussi bien tre

0101

que

1111.

Le pilote n'aura d'autre choix que de demander que le message lui soit

rexpdi. Mais attention, ce qui prcde ne vaut que sous l'hypothse de l'occurrence d'une seule erreur. Si en eet deux erreurs interviennent lors de la transmission du mot de code le pilote pourra recevoir par exemple le mot de raison de se mer. Le

0101,

0000,

qui est un mot de code, et n'aura pas

code est l'ensemble des mots de code. On a ici C1 = {0101, 1010, 1111, 0000}.
01, 10, 11
et

2. Utiliser des mots de code plus courts pour le mme rsultat est plus conomique. Par exemple, si on encode nos messages

00

en leur ajoutant un

bit de parit,

de

sorte que la somme des bits d'un mot de code soit paire, on obtient le code de longueur 3

C2 = {011, 101, 110, 000}.


Comme l'eet d'une erreur modie la parit d'un mot, le code donc la mme ecacit que

C2

dtecte une erreur, il a

C1

tout en tant plus court.

3. Si maintenant on triple chaque message, obtenant le code de longueur 6

C3 = {011100, 100011, 111111, 000000}, 110101, il sait qu'il y a erreur puisque ce mot n'est pas un mot de code, et de plus, sous l'hypothse d'une seule erreur, il sait que le seul mot de code qui a pu tre envoy est le mot 010101, ce qui lui permet de corriger l'erreur.
et que le pilote reoive le mot

6.1.2 Dnitions
On gnralise facilement les exemples ci-dessus. 1. On commence par supposer que tous les messages transmettre sont des "mots" de

q lments. Chaque message, k not est assimil un lment (x0 , x1 , . . . , xk1 ) de l'ensemble F , qui k devient ainsi l'espace des messages. On a alors q messages possibles. Un code construit sur un alphabet F q lments est appel code q -aire, il est dit binaire si q = 2 et ternaire si q = 3. Dans les exemples ci-dessus, on avait q = k = 2.
mme longueur crits l'aide d'un 2. On suppose que tous les mots de code sont de mme longueur 3. Si on veut

k > 0, x = x0 x1 . . . xk1 ,

alphabet F

n > k.

M messages de longueur k , avec M q k , l'encodage consiste choisir un entier n > k , puis associer chaque message encoder un mot de code de n longueur n, c'est--dire un lment de l'ensemble F , et cela de faon bien videmment
injective.

encoder

4. Le

code obtenu, c'est--dire l'ensemble des mots de code, apparat donc comme un enC

semble

est appele 5.

longueur du code. On parle alors de Le rapport k/n est appel taux d'information du code C .
m
est entach de

lments, avec

M qk ,

contenu dans

F n . La longueur n des mots code q -aire de longueur n M

de code mots.

6. Lors de la transmission d'un mot de code dira que

erreurs, avec

m = m0 m1 . . . mn1 par un canal bruit, on 1 r n, ou d'une erreur de poids r, si r

des composantes

mi

de du mot

sont modies.

P. Wassef
7. L'encodage introduit une

69

redondance

gale

n k.

C'est cette redondance qui doit

permettre d'obtenir des mots plus "distants" les uns des autres de faon pouvoir dtecter ou corriger des erreurs intervenant lors de la transmission. 8. Le

dcodage consiste, lors de la rception d'un mot x F n , dterminer si x est un mot de code, puis, si ce n'en est pas un, le corriger grce la redondance, c'est--dire
m
mis qui a t transform en

dterminer me mot de code

lors de la transmission.

Le dcodage suppose un certain nombre d'hypothses portant sur les proprits du canal de transmission et sur le nombre maximum d'erreurs aectant le mot Dans les exemples 6.1.1 (page 67), les codes longueur respectivement 4, 3 et 6.

m.

C1 , C2

et

C3

sont des codes binaires 4 mots, de

6.1.3 Distance entre les mots, la distance de Hamming


Richard Hamming (1915-1998), mathmaticien nord-amricain, a jou un rle important dans l'laboration de la thorie du codage algbrique.

Dnition 6.1 Soit x = x0 x1 . . . xn1 et y = y0 y1 . . . yn1 F n deux mots de longueur n, on appelle distance de Hamming entre les mots x et y , et on note dH (x, y) le nombre d'indices
i {0, 1, 2, . . . , n 1} tels que xi = yi .

Proposition 6.1 Preuve


: Soit que l'on a

La distance de Hamming dnit une distance sur l'ensemble F n .


Hamming

x et y F n , il rsulte directement de la dnition de la distance de dH (x, y) = dH (y, x) 0 et que (dH (x, y) = 0) si et seulement si (x = y).

Reste dmontrer l'ingalit triangulaire. n Soit x, y et z F et soit i un indice tel que

(zi = yi ),

c'est--dire qu'on a soit

xi = yi , alors on ne peut pas avoir (xi = zi ) (xi = zi ), soit (zi = yi ), soit les deux, ce qui signie que

et

dH (x, y) dH (x, z) + dH (z, y).


tant donn un code

C,

on appelle

distance minimum de C
C1
et

l'entier

dni par

d = min{dH (m, m ) | m C, m C, m = m }.
Dans les exemples 6.1.1 (page 67), les codes code

C2

ont pour distance minimum

d = 2,

et le

C3

a pour distance minimum

d = 3.

Les paramtres qui caractrisent un code sont  sa longueur  le nombre

n, M de

ses mots,

 sa distance minimum

d,  le nombre d'lments q de l'alphabet F . On parlera donc de (n, M, d)q -codes ou de codes q -aires

de paramtres

(n, M, d).

6.1.4 Stratgie du maximum de vraisemblance


On fait l'hypothse que le canal de transmission a un comportement symtrique, c'est--dire que lors de la transmission, chaque composante autres composantes, la probabilit d'tre remplace par chacun des mot de code

mi

d'un mot

transmis a, indpendamment des

soit transform

1 p d'tre transmise sans erreur, et la probabilit p/(q 1) q 1 autre symboles de F . Dans ce cas, la probabilit qu'un en un mot x la suite de r erreurs est gale p q1
r

P (x/m) = (1 p)nr

= (1 p)n

p (q 1)(1 p)

70

Arithmtique
0< p <1 (q 1)(1 p)
ds que

Or on a

0<p<

q1 , q

condition qu'on supposera satisfaite.

la probabilit P (x/m) est une fonction dcroissante de r. La stratgie du maximum de vraisemblance consiste rechercher le mot code m qui rend
Ds lors, l'observation

la plus vraisemblable, c'est--dire la probabilit

P (x/m)

maximum. Cela est

ralis dans notre cas lorsque le nombre d'erreurs Comme

est minimum.

corriger x en lui faisant correspondre le mot de code m le plus proche de x au sens de la distance de Hamming, et cela n'est possible
r = dH (m, x),
cela revient que lorsque ce mot de code est unique.

6.1.5 Capacit de correction


Proposition 6.2
Soit C un code de distance minimum d, et soit x F n un message reu aect de r erreurs, avec r 1. 1. Si 2r < d, c'est--dire si r (d 1)/2 , le code C corrige les r erreurs. 2. Si (d 1)/2 < r = d/2 , (ce qui suppose d pair) le code C dtecte l'existence de r erreurs mais ne peut pas toujours les corriger. 3. Si d/2 < r d 1, le code C dtecte l'existence d'erreurs mais risque d'eectuer une correction errone.

Preuve : Soit m C
1. Le mot de code

le mot de code mis, on a par hypothse

dH (m, x) = r.
supposons en eet

m C

vriant

m est alors le seul dH (m , x) r, on

mot de code tel que en dduit

dH (m, x) r,

m =m

puisque

dH (m , m) dH (m , x) + dH (m, x) 2r d 1 < d.
2. Il n'existe pas de mot de code code

m C

tel que

n'est plus ncessairement le seul

dH (m , x) < dH (m, x) = r, vrier dH (m, x) = r .

mais le mot de

3. On sait qu'il y a erreur car

x C,

mais il peut exister un mot de code

m C

tel que

dH (m , x) < dH (m, x) = r.
L'entier un code

t = (d 1)/2 t-correcteur.

est appel

capacit de correction du code C , on dit alors que C est

Les codes correcteurs jouent un rle capital dans tous les domaines o une information numrique est transmise par le biais d'un canal plus ou moins bruit. Cela va de la transmission de donnes informatiques l'intrieur d'une mme machine ou sur un rseau informatique, la transmission de donnes satellitaires, en passant par la lecture d'un CD ou d'un DVD. Augmenter la capacit de correction d'un code implique une plus grande redondance, donc un cot de transmission accru et une perte de vitesse de transmission de l'information. Aussi, lorsque la rapidit est prioritaire et les erreurs peu frquentes, comme c'est le cas en ce qui concerne par exemple les changes de donnes l'intrieur d'un mme ordinateur, il sut qu'on puisse dtecter l'existence d'erreurs, l'opration de transmission est alors rpte. A l'inverse, lorsque la rptition de la transmission est impossible, comme dans le cas de satellites envoyant des observations en direct, et que l'on veut une information de haute qualit, une grande capacit de correction est ncessaire.

P. Wassef

71

6.1.6 Codes parfaits


Soit

x Fn

et soit

un entier positif. La boule

BH (x, r)

de centre

et de rayon

pour la

distance de Hamming est dnie par

BH (x, r) = { y F n | dH (x, y) r} .

Proposition 6.3

Si #F = q , on a
r

#BH (x, r) =
i=0

Cin (q 1)i .

Preuve : Pour chaque i {0, 1, . . . , r}, il existe Cin (q 1)i mots y F n tels que dH (x, y) = i.
Soit de

C un code de paramtres (n, M, d)q . Dire que t = (d 1)/2 est la capacit de correction C signie que les M boules BH (m, t) centres en les mots de code m C sont deux deux n disjointes dans F . Ceci implique l'ingalit
t

M
i=0
Cette galit est appele

Cin (q 1)i q n .

borne d'empilement des sphres.


parfait si d = 2t + 1 est impair et si

Dnition 6.2

Un code de paramtres (n, M, d)q est

BH (m, t) = F n .
mC

Proposition 6.4

Un code de de paramtres (n, M, d = 2t + 1)q est parfait si et seulement si


t

M
i=0
Quand un code est parfait, tout lment

Cin (q 1)i = q n . x Fn
est dans une boule de Hamming de rayon

centre en un mot de code, et une seule. C'est une situation idale pour le dcodage. Aucune place n'est perdue. Malheureusement, les codes parfaits sont rares.

6.2 Codes linaires


Dans tout ce qui suit, on choisit pour alphabet F le corps Fq q lments. Dans la pratique, r est la plupart du temps de la forme 2 o r N , ou ventuellement q = 3. L'ensemble dimension

d'une structure naturelle d'espace vectoriel de Fn . Cela permet q de parler du mot nul, dont toutes les composantes sont gales 0, qu'on notera lui-mme 0,

Fn des mots de longueur n est muni q n sur le corps Fq , chaque mot est

assimil un vecteur de

d'additionner deux mots, de retrancher un mot d'un autre, etc.

Proposition 6.5

Sur Fn , la distance de Hamming dH vrie q

x Fn , y Fn , z Fn , q q q

dH (x, y) = dH (x + z, y + z) = dH (x y, 0).

72

Arithmtique

Preuve : Pour chaque indice i {0, 1, 2, . . . , n 1}, on a les quivalences


(xi = yi ) (xi + zi = yi + zi ) (xi yi = 0).
On dnit le de

poids w(x) d'un mot x Fn comme tant le nombre des composantes non nulles q
w(x) = dH (x, 0)
et il rsulte de la proposition prcdente que si

x.

On voit que

et

y Fn , q

dH (x, y) = w(x y).


qui sera reu, o Si, lors de la transmission, un mot de code m est aect de r erreurs, c'est le mot e Fn est un mot de poids r qui reprsente les r erreurs. q

x = m+e

Dnition 6.3
On dira aussi

Un code linaire q -aire de longueur n et de dimension k est un sousespace vectoriel de dimension k de Fn . On supposera toujours k 1. q

Exemple Les code C1 , C2 et C3 dnis en 6.1.1 (page 67) sont des codes linaires binaires. Proposition 6.6 Soit C un code linaire, la distance minimum d de C est donne par
d = min{w(m) | m C, m = 0}

code linaire de longueur n et de dimension k sur Fq .

Preuve

d = min{w(m) | m C, m = 0} = min{dH (m, 0) | m C, m = 0}. Comme C , il rsulte de la dnition de la distance minimum d que d d. Rciproquement, C tant un ensemble ni, il existe m1 et m2 C tels que m1 = m2 et d = dH (m1 , m2 ), or dH (m1 , m2 ) = w(m1 m2 ), et (m1 m2 ) C , (m1 m2 ) = 0, d'o dd. k Un code linaire de longueur n et de dimension k sur Fq possde M = q mots. k Les paramtres d'un code linaire s'criront (n, k, d)q au lieu de (n, q , d)q , o n est la longueur, k la dimension et d la distance minimum du code. L'ingalit suivante fournit une majoration de la distance minimum d en fonction des deux autres paramtres n et k , elle est appele borne de Singleton.
: Posons le mot nul

appartient

Proposition 6.7
(S)

Soit C un code linaire de longueur n et de dimension k , alors on a

d + k n + 1.
: Soit

proches de 1 puisque relis par l'ingalit

Fn constitu des mots dont les k 1 dernires q composantes sont nulles, alors dim(Fk ) = n (k 1) = n k + 1, donc dim(C) + dim(Fk ) = n + 1 > n, on en dduit C Fk = {0}. Il existe un mot non nul m C Fk , ce qui implique w(m) n k + 1, donc d n k + 1 d'aprs la proposition 6.6 ci-dessus. d On appelle distance relative du code C le rapport = . L'ingalit (S) signie que la disn k tance relative et le taux de transmission R = ne peuvent tre simultanment arbitrairement n Fk
le sous-espace vectoriel de

Preuve

+R1+

1 . n

Dnition 6.4

Un code linaire pour lequel on a d = n k + 1 est appel code l'anglais "Maximum Distance Separable".
Exercice 38

MDS,
r

de

 Soit n un entier positif. Montrer qu'une condition ncessaire pour qu'il existe un code linaire binaire parfait 1-correcteur de longueur n est que l'entier n soit de la forme n = 2 1, o r est un entier positif.

P. Wassef

73

6.2.1 Encodage des codes linaires - Matrices gnratrices


Conventions de notations
Fk dans q
Soit Soit

M la matrice de A x = x0 x1 . . . xk1 un mot q -aire

Fn , et q

une application linaire de k n par rapport aux bases canoniques respectives de Fq et Fq . de longueur

et

deux entiers positifs,

k,

identi au vecteur

x = (x0 , x1 , . . . , xk1 ) Fk , q
on conviendra pour allger le texte d'crire On crira aussi Im(M ) pour Im(A) et Soit

x1
. . .

A(x) = M (x)
pour

au lieu de

A(x) = M

xk ker(M ) ker(A).

messages l'aide d'une application linaire


est gale

un

(n, k, d)q -code C.

linaire

C.

k L'espace des messages est identi Fq , k n injective E de Fq dans Fq dont l'image Im(E)

on encode les

Pour les codeurs, les vecteurs de encoder, l'encodage

sont des mots, ils les notent donc traditionnellement comme des vecteurs lignes, ce qui signie que si x = x0 x1 . . . xk1 est un message

Fk q

ou

Fn q

x E(x)

sera reprsent matriciellement par

(1)
o

E : x = x0 x1 . . . xk1 (x0 , x1 , . . . , xk1 ) G = x G,

G est la transpose de la matrice de E par rapport aux bases canoniques respectives de Fk q n et Fq , c'est--dire une matrice k lignes et n colonnes coecients dans Fq . Remarque Si on dsigne par 0 , 1 , . . . , k1 Fn les lignes de la matrice G, alors q (2) (x0 x1 . . . xk1 ) G = x0
0

+ x1

+ + xk1

k1 .

Dnition 6.5 Une matrice G k lignes et n colonnes coecients matrice gnratrice du (n, k, d)q -code C si les lignes de G constituent
vectoriel C .

dans Fq est appele une base de l'espace

Soit G une matrice k lignes et n colonnes coecients dans Fq , pour que l'application linaire E dnie par (1) soit un encodage de C , il faut et il sut que G soit une matrice gnratrice de C .

Proposition 6.8

Preuve : Rsulte de la relation (2) ci-dessus et de la dnition d'une matrice gnratrice. Proposition 6.9 Soit G une matrice gnratrice d'un (n, k, d)q -code C .

1. Les k lignes de G tant linairement indpendantes, G est de rang maximum gal k . 2. Toute matrice dduite de G par une ou plusieurs des transformations suivantes, appeles oprations lmentaires sur les lignes, est encore une matrice gnratrice de C :  permutation de deux lignes,  multiplication de tous les lments d'une ligne par un scalaire non nul de Fq ,  addition une ligne d'une combinaison linaire des autres lignes.
1. Rsulte des propositions 0.25 et 0.26 (page 18). 2. Une opration lmentaire applique une base de l'espace vectoriel en une autre base de

Preuve :
C
la transforment

C.

Preuve : La matrice G tant de rang k, ses k lignes constituent une base de Im(E).

Proposition 6.10 Rciproquement, soit G une matrice k lignes et n colonnes coecients dans Fq , de rang maximum k . Il existe un seul (n, k, d)q -code admettant G pour matrice gnratrice, c'est le code C = Im(E), o E est l'application linaire dnie en (1) ci-dessus partir de G. On l'appelle code dni par G, ou code de matrice gnratrice G.

74

Arithmtique

6.2.2 Exemple : le code binaire de Hamming de longueur 7


C'est un code linaire de longueur 7 et de dimension 4. On considre le mot que les trois mots qui s'en dduisent par dcalage, 0110100, 0011010 et 7 vecteurs de F2 , on voit facilement que ces quatre mots sont linairement indpendants. Le code binaire de Hamming de longueur 7 est le code linaire engendr par ces 4 mots, dsignons-le par

1101000 F7 , ainsi 2 0001101. En tant que

CH .

Une matrice gnratrice de

CH est 1 1 0 1 G= 0 0 0 0

donne par

0 1 1 0

1 0 1 1

0 1 0 1

0 0 1 0

0 0 0 1

Les

24 = 16

mots de code sont

(0000) G = 0000000, (0010) G = 0011010, (0100) G = 0110100, (0110) G = 0101110, (1000) G = 1101000, (1010) G = 1110010, (1100) G = 1011100, (1110) G = 1000110,
Tous les mots non nuls de code 1-correcteur.

(0001) G = 0001101, (0011) G = 0010111, (0101) G = 0111001, (0111) G = 0100011, (1001) G = 1100101, (1011) G = 1111111, (1101) G = 1010001, (1111) G = 1001011. 3,
on a donc

CH

sont de poids

d = 3,

ce qui signie que

est un

3 7 De plus, une boule de Hamming de rayon 1 dans F2 possde 1 + 7 = 2 lments. Comme il 4 4 3 7 existe 2 mots de code et que 2 2 = 2 , le code de Hamming de longueur 7 est parfait, (cf.
exercice 38 ci-dessus). En revanche,

d = 3 < n k + 1 = 7 4 + 1 = 4,

le code de Hamming

CH

n'est pas MDS.

6.2.3 Codes systmatiques


Un

(n, k, d)q -code

est dit

systmatique

s'il possde une matrice gnratrice

qu'on peut

crire par blocs sous la forme

G = (Ik | B)
o

Ik

dsigne la matrice unit

lignes et

colonnes, et

une matrice

lignes et

(n k)

colonnes. Une telle matrice est dite

L'intrt d'un code systk matique tient au fait que si un message x = x0 x1 . . . xk1 Fq est encod par une la matrice normalise G, on le retrouve sous forme des k premires composantes du mot de code xG associ

normalise,

ou

de forme standard.

x,

puisque

x G = x0 x1 . . . xk1 c1 . . . cnk .
x

Thorme 6.11

Soit G = (ai j )0ik1, 0jn1 une matrice k lignes et n colonnes, de rang maximum k . On peut transformer G en une matrice normalise, par une suite d'oprations lmentaires sur les lignes de G, si et seulement si G possde la proprit suivante :

(N )

La sous-matrice carre A = (ai j )0ik1, 0jk1 de G est de rang k.

P. Wassef

75

Preuve

: Dire que la matrice

sur les lignes de G, transformer A en la matrice unit Ik , ce qui transforme G en une matrice
normalise. Un code linaire possdant une matrice gnratrice normalise est appel

peut, l'aide de

la mthode du pivot de Gauss, par une suite d'oprations lmentaires code systmatique.

est de rang

signie qu'elle est inversible, c'est--dire qu'on

Thorme 6.12 Preuve :

1. Un (n, k, d)q -code est systmatique si et seulement s'il admet une matrice gnratrice possdant la proprit (N ).

2. Toutes ses matrices gnratrices possdent alors la proprit (N ).

1. Rsulte de la proposition 6.9 (page 73) et du thorme 6.11 (page 74). 2. Soit

G = (ai j )

et

G = (ai j )

deux matrices gnratrices du mme code et

C,

posons

A = (ai j )0ik1, 0jn1


Les

A = (ai j )0ik1, 0jn1 .


, constituent une bases de

lignes de

G,

ainsi que les

lignes de

C,

il existe donc

une matrice carre base) telle que

M k lignes et k colonnes, inversible, (matrice de changement de G = M G, ce qui implique A = M A, c'est--dire que les matrices A et

on mme rang.

Codes quivalents
Soit de rang

(n, k, d)q -code non systmatique et G une matrice gnratrice de C . Comme G est k colonnes de G linairement indpendantes, une permutation des colonnes de G peut placer ces colonnes en les k premires positions. En d'autres termes, il existe une permutation de {0, 1, . . . , n 1} qui, applique aux colonnes de G, transforme G en une matrice G possdant la proprit (N ). Le code C dni par G est donc systmatique.
un

k,

il existe

Il est facile de voir que  si On  tout mot de

m = m0 m1 . . . mn1 C , le mot (m) = m(0) m(1) . . . m(n1) C et de cette forme. crit dans ce cas que (C) = C .

appartient

Deux codes linaires C et C de longueur n sont dits une permutation de {0, 1, . . . , n 1} telle que (C) = C .
On a ainsi dmontr le thorme suivant.

Dnition 6.6

quivalents

s'il existe

Thorme 6.13
Exercice 39

Tout code linaire est quivalent un code systmatique.

 Montrer que le code binaire de Hamming de longueur 7 est systmatique. En dterminer une matrice gnratrice normalise l'aide de la mthode du pivot de Gauss.
6.2.4 Dcodage des codes linaires - Matrices de contrle
n qu'un mot reu x Fq est un mot de code l'aide n nk d'une application linaire S de Fq sur Fq dont le noyau ker(S) est gal C . Cette application linaire est donc de rang maximum n k , et on a l'quivalence
Soit

un

(n, k, d)q -code.

On

contrle

x Fn , q

(x C) (S(x) = 0)

76

Arithmtique

S(x) Fnk est appel syndrome de x, il est nul si et seulement si x C . q n nk possde (n k) La matrice H de S par rapport aux bases canoniques respectives de Fq et Fq lignes et n colonnes. H est de rang maximum n k et ker(H) = C . On l'appelle matrice de contrle du code C . Plus gnralement :
Le vecteur

Dnition 6.7

On appelle matrice de contrle d'un (n, k, d)q -code C toute matrice H (nk) lignes et n colonnes, de rang maximum nk , coecients dans Fq , telle que ker(H) = C . nk Le syndrome du mot x est alors le vecteur H(x) Fq . Soit G une matrice gnratrice du (n, k, d)q -code C . Une matrice H (nk) lignes et n colonnes, de rang n k , coecients dans Fq , est une matrice de contrle de C si et seulement si on a la relation

Proposition 6.14

(1)

H t G = 0.
t quivaut dire que pour tout vecteur colonne c de G, on a 0. Or les vecteurs colonnes de t G sont les vecteurs lignes de G et on sait qu'ils constituent
: Dire que

Preuve
H(c) =

H tG = 0

une base de l'espace vectoriel la matrice l'galit

H tant de C = ker(H).

rang

C . La condition (1) quivaut donc l'inclusion C ker(H), mais (n k), ker(H) est de dimension n (n k) = k = dim(C), d'o

Nous allons voir comment dterminer une matrice de contrle d'un code dni par une matrice gnratrice.

normalise de C , alors la matrice est une matrice de contrle de C .

Cas d'un code systmatique Corollaire 6.15 Soit C un (n, k, d)q -code systmatique et G = (Ik |B) une matrice gnratrice
H = t B | Ink

Preuve : La matrice t G s'crit par blocs sous la forme t G =


t B | Ink Ik tB

Ik tB

et il est clair que

= t B +t B = 0.

 Dterminer une matrice de contrle du code de Hamming C de longueur 7 dni en 6.2.2 (page 74).
Exercice 40

Cas d'un code non systmatique


Soit

un

(n, k, d)q -code

non systmatique, on procde comme suit.

1. On sait d'aprs le thorme 6.13 (page 75) qu'il existe une permutation

de l'ensemble

{0, 1, . . . , n 1} telle que le code (C) = C gnratrice normalise G de C .


3. Il est clair que la matrice de

soit systmatique. On dtermine une matrice

2. Le corollaire 6.15 (page 76) permet alors de dterminer une matrice de contrle

de

dduite de

en appliquant la permutation

aux colonnes

est une une matrice de contrle de

C.

P. Wassef
Exercice 41

77

 Dterminer une matrice de contrle du code binaire C de matrice gnratrice


1 G= 1 0 1 1 1 0 0 1 1 0 1 1 0 0 0 1 . 0

Un code peut enn tre dni par une de ses matrices de contrle. On dmontrera le rsultat suivant titre d'exercice.

Proposition 6.16

tant donne une matrice H (n k) lignes et n colonnes, de rang maximum n k , coecients dans Fq , il existe un seul (n, k, d)q -code admettant H pour matrice de contrle, c'est le code C = {x Fn | H(x) = 0} = ker(H). q Si H est de la forme H = (A|Ink ), le code C = ker(H) est systmatique et une matrice gnratrice normalise G de C est donne par

G = Ik | t A .

6.2.5 Proprits des matrices de contrle


Outre sa fonction strictement parler de contrle, une matrice de contrle est utile deux autres titres, elle permet d'une part de calculer la distance minimum algorithme de dcodage.

du code et fournit un

1. Dtermination de la distance minimum


L'nonc suivant montre comment on peut dduire la distance minimum d'un code de sa matrice de contrle.

Thorme 6.17

Soit C un (n, k, d)q -code, H une matrice de contrle de C , et soit r un entier vriant 1 r n. 1. S'il existe dans C un mot de poids r, il existe r colonnes de la matrice H linairement dpendantes. 2. S'il existe r colonnes de la matrice H linairement dpendantes, il existe un mot de code de poids r , avec 1 r r. 3. On en dduit que la distance minimum d est gale au nombre minimum de colonnes de la matrice H qui sont linairement dpendantes. Tout systme constitu de (d 1) des n colonnes de H est alors libre. 4. Il en rsulte que pour tout x Fn , on a q

w(x) d 1 h(x) = 0

= (x = 0).

Preuve : Dsignons par c0 , c1 , . . . , cn1 les n colonnes de H .


1. Soit

m = m0 m1 . . . mn1 Fn un mot de code q composantes non nulles de m. De l'galit


r

de poids

r,

et soit

mi1 , mi2 , . . . , mir

les

(1)
il rsulte que les

H(m) =
p=1

mip cip = 0,
sont linairement dpendantes.

colonnes

ci1 , ci2 , . . . , cir

78

Arithmtique
2. Soit

ci1 , ci2 , . . . , cir r colonnes de H i 2 , . . . , ir

nuls mi1 , mi2 , . . . , mir


de rang i1 ,

linairement dpendantes, il existe r scalaires non tous r de Fq tels que mip cip = 0. Le mot m Fn , dont les composantes q p=1

sont respectivement

sont nulles, vrie la relation dsigne le nombre des

(1), c'est scalaires mij non (d 1)

mi1 , mi2 , . . . , mir , et dont les autres composantes donc un mot de code de poids r r , o r 1
nuls.

3. Consquence directe de 1. et 2. 4. Si

n'tait pas nul, il existerait

colonnes de

linairement dpendantes.

2. Table de dcodage
(n, k, d)q -code, t = (d1)/2 sa capacit de correction, et H une matrice de contrle. Une fois transmis, si un mot m est entach de r erreurs, le mot reu x est de la forme x = m + e, n o e Fq est de poids w(e) = r et reprsente les r erreurs de transmission. On parle aussi d'une erreur e de poids r . Le syndrome de x est
Soit un

H(x) = H(m + e) = H(m) + H(e) = H(e).


Il rsulte du thorme 6.17 ci-dessus que

si l'erreur e est de poids


Supposons en eet

w(e) t,

la connaissance de

H(e)

dtermine

e.

e Fn , de poids w(e ) t, vriant H(e) = H(e ), c'est--dire H(ee ) = 0. q Comme w(e e ) w(e) + w(e ) 2t d 1, il rsulte du thorme 6.17 que e = e . Sous l'hypothse d'au plus t erreurs, il ne reste plus qu' dresser une table de dcodage n contenant tous les lments e Fq de poids w(e) t, chacun suivi de son syndrome. Si le mot x est reu, on calcule le syndrome H(x).  Si H(x) = 0, pas de correction.  Si H(x) gure dans la table, on dcode x par m = x e, o H(e) = H(x).  Si H(x) ne gure pas dans la table, c'est que x est aect de plus de t erreurs. Cas d'une erreur de poids 1. Lorsque seule la i-ime composante mi du mot m est aect d'une erreur, qui le transforme en mi + a, avec a Fq , le syndrome du mot reu x est gal au vecteur obtenu en multipliant le i-ime vecteur colonne de la matrice H par a. Dans le cas d'un code binaire, le dcodage est particulirement simple puisque a = 1, le syndrome d'une erreur en i-ime position est alors le i-ime vecteur colonne de la matrice H .

6.3 Codes cycliques


Soit

m = m0 m1 . . . mn1 Fn q

un mot de longueur

n,

on note

(m) = mn1 m0 m1 . . . mn2


le mot obtenu par dcalage circulaire

droite

des composantes de

m.

Dnition 6.8

Un

code cyclique C

est un code linaire tel que

m C,

(m) C.

P. Wassef
Il en rsulte que si

79

2 est un mot de code, le mot (m) = mn2 mn1 m0 . . . mn3 est enk core un mot de code, ainsi que tous les mots (m) pour tout k 3. En particulier, le mot n1 (m) = m1 m2 . . . mn1 m0 , qui est le mot obtenu par dcalage gauche des composantes k n de m. Les mots (m) sont appels mots dcals de m. Notons que (m) = m.

Les codes cycliques sont les codes linaires les plus importants, cela tient au fait qu'on peut les dcrire facilement en termes de polynmes. tant donn un mot

m = m0 m1 . . . mn1 Fn , q

le polynme

m(X) = m0 + m1 X + + mn1 X n1 Fq [X]


est appel

polynme associ

au mot

m.

Cette reprsentation d'un mot par un polynme

permet, comme on va le voir, de dcrire entirement les codes cycliques. On dmontrera la proposition suivante titre d'exercice.

Proposition 6.18

L'application m m(X) est un isomorphisme de l'espace vectoriel Fn sur q (n) le sous-espace vectoriel Fq [X] de Fq [X] constitu des polynmes de degr au plus gal n 1.
tant donn un polynme

P = a0 + a1 X + + ar X r Fq [X](n) , m = a0 a1 . . . ar 0 . . . 0
nr1

l'unique mot

m Fn q

tel que

m(X) = P

est le mot

qu'on appellera donc le

mot de longueur n associ au polynme P .

tudions l'eet du dcalage droite sur cette reprsentation polynmiale des mots. n Soit m = m0 m1 . . . mn1 Fq , on a

(m)(X) = mn1 + m0 X + + mn2 X n1 = m0 X + + mn2 X n1 + (mn1 X n mn1 X n ) + mn1 = X m(X) + mn1 (1 X n ),


ce qui implique

(m)(X) = Xm(X) X n 1, X
du polynme

(mod X n 1). m
se

Cela signie que, modulo le polynme traduit par la multiplication par

le dcalage droite eectu sur le mot

m(X).

Les deux propositions suivantes rsument les proprits essentielles de la reprsentation polyn nmiale des mots de Fq . La premire dcoule directement de ce qui prcde.

Proposition 6.19
a)

Pour tout m = m0 m1 . . . mn1 Fn , on a q

(m)(X) = Xm(X) + mn1 (1 X n ),

ce qui implique, pour tout entier positif k ,

b)

k (m)(X) X k m(X)

(mod X n 1).

En d'autres termes, le polynme k (m)(X) est l'anneau Fq [X] du polynme X k m(X) par le
On a vu plus haut que le mot de longueur

le reste de la division euclidienne dans polynme X n 1.


un polynme

r n1

se termine droite par

n associ (n r 1) zros.

P Fq [X](n)

de degr

Les mots se terminant droite par un

certain nombre de zros jouent par consquent un rle particulier dans la thorie des codes cycliques, la proposition suivante dtaille les calculs qui les concernent.

80

Arithmtique
Fn un q

Proposition 6.20 Soit k un entier tel que 1 k n, et soit m = mo m1 . . . mn1 mot non nul dont les k 1 dernires composantes sont nulles. Alors
a)

Les k mots

m = m0 m1 . . . mnk 0 . . . 0 0, (m) = 0 m0 m1 . . . mnk 0 . . . 0, = k1 (m) = 0 0 . . . 0 m0 m1 . . . mnk


sont linairement indpendants dans Fn . q
b)

On a dans Fq [X] les galits suivantes (m)(X) = = k1 (m)(X) = k (m)(X) =

Xm(X) X k1 m(X) X k m(X) mnk (X n 1)

Preuve :
a) Il est clair que la matrice dont les lignes sont les rang

mots

m, (m), . . . , k1 (m) k1

est de

k,

ces mots sont donc linairement indpendants. dernires

b) Rsulte de la proposition 6.19 ci-dessus, compte tenu du fait que les composantes du mot

sont nulles, c'est--dire

deg(m(X)) n k .

6.3.1 Polynme gnrateur d'un code cyclique


Thorme 6.21 Soit C un code linaire de longueur n sur Fq , il existe dans C un mot non nul unique m possdant un nombre maximum de zros droite, et tel que la dernire
lettre non nulle de m soit gale 1.

m = a0 a1 . . . ar1 1 0 . . . 0.
On dsignera m comme tant le

mot minimal du code C .


ar = 0. Multipliant
possde au moins

Preuve : La proprit fondamentale de N assure l'existence d'un mot non nul m C possdant
un nombre maximum de zros droite. On crit m = a0 a1 . . . ar 0 . . . 0, avec m par ar 1 , on obtient un mot de C rpondant aux conditions ci-dessus. Ce mot est unique dans

car si

un zro de plus droite que


Exercice 42

vrie a

=0

 Montrer que si un code est cyclique, son mot minimal m = a

m,

donc

m C est un autre m m = 0.

tel mot, le mot

m m

a1 . . . ar1 1 0 . . . 0

Thorme 6.22 Soit C un code cyclique de longueur n et de dimension k sur Fq , et soit m = a0 a1 . . . ar1 1 0 . . . 0 C le mot minimal de C . Alors
1. Les n r mots

m = a0 a1 . . . ar1 1 0 . . . 0 0, (m) = 0 a0 a1 . . . ar1 1 0 . . . 0, = nr1 (m) = 0 0 . . . 0 a0 a1 . . . ar1 1

constituent une base de C . 2. On en dduit r = n k .

P. Wassef
3. Pour tout m Fn , on a l'quivalence q

81

(m C) (m(X) divise m(X)).


4. Le polynme m(X) divise le polynme X n 1.

Preuve : Posons l = n r, et soit m Fn . q


La division euclidienne dans

Fq [X]

de

m(X)

par

m(X)

s'crit

(1)

m(X) = (b0 + b1 X + + bl1 X l1 )m(X) + R(X),

deg(R) r 1.

Il en rsulte, d'aprs la proposition 6.20 b) (page 80),

m(X) = b0 m(X) + b1 (m)(X) + + bl1 l1 (m)(X) + R(X)


ce qui donne dans

Fn q m = b0 m + b1 (m) + + bl1 l1 (m) + mR ,

(2)
o

mR

est le mot de

Fn q

associ au polynme

R.

1. Le code

C est un sous-espace vectoriel de Fn qui contient tous les mots i (m), il rsulte q donc de (2) que si m C , alors mR C . Or deg(R) < deg(m) = r , c'est--dire que mR possde plus de zros droite que m, on en dduit mR = 0. La relation (2) devient (3) m = b0 m + b1 (m) + + bl1 l1 (m), {m, (m), . . . , l1 (m)}
engendre

ce qui signie que la famille

C.

Mais on sait d'aprs

la proposition 6.20 a) que cette famille est libre, c'est donc une base de 2. Il en rsulte

C.

k = l = n r. mR = 0, mais comme deg(R) < r n 1, c'est--dire = 0 d'aprs la proposition 6.18 (page 79). La relation (1)

3. On a vu que si m C , on a R Fq [X](n) , cela implique R devient

(4)
ce qui signie que elle-mme 4. Comme

m(X) = (b0 + b1 X + + bk1 X k1 )m(X), m(X) divise m(X). m Fn , dire que m(X) q implique (3), c'est--dire m C .
et divise

Rciproquement, soit

m(X)

quivaut la relation

(4)

qui

ar = 1

k = n r,

la dernire galit de la proposition 6.20 b) s'crit

k (m)(X) = X k m(X) (X n 1).


Comme

k (m) C ,

on peut remplacer

m(X)

par

k (m)(X)

dans la relation

(4),

d'o

(5)

k (m)(X) = X k m(X) (X n 1) = (b0 + b1 X + + bk1 X k1 )m(X). m(X)


divise

Il en rsulte que

Xn 1

puisque

(5)

s'crit

X n 1 = (b0 b1 X bk1 X k1 + X k )m(X).


Le point 2. du thorme ci-dessus dcrit le code cyclique C comme tant l'ensemble des mots m Fn tels que le polynme m(X) divise le polynme m(X). Cela justie la dnition suivante. q

82

Arithmtique

Dnition 6.9 Le polynme g = m(X) associ au mot minimal m d'un code cyclique C est appel polynme gnrateur de C . Remarquons que le polynme g = m(X) est unitaire et de degr minimum parmi tous les
polynmes

m(X)

associs aux mots non nuls

de

C.

Le thorme suivant montre que chacune des trois premires proprits nonces dans le thorme 6.22 ci-dessus est en fait une proprit caractristique du polynme gnrateur d'un code cyclique, souvent plus pratique utiliser que la dnition 6.9 ci-dessus.

Thorme 6.23

Soit C un code cyclique de longueur n et de dimension k sur Fq , et soit

g = g0 + g1 X + + gr1 X r1 + X r Fq [X]
un polynme unitaire de degr r n 1 tel que le mot m = g0 g1 . . . gr1 1 0 . . . 0 de longueur n associ au polynme g soit un mot de code, les conditions suivantes sont quivalentes. 1. Le mot m est le mot minimal de C . 2. Le polynme g est le polynme gnrateur de C . 3. Pour chaque mot m Fn , on a l'quivalence q

(m C) (g divise m(X)) .
4. Pour chaque mot m C , g divise m(X). 5. La famille des n r mots {m, (m), . . . , nr1 (m)} est une base de C . 6. r = n k . 7. r n k . Si ces conditions quivalentes sont vries, le polynme g divise le polynme X n 1, (ce qui implique en particulier que g0 = 0, cf. exercice 42.)

Preuve : Les conditions 1. et 2. sont quivalentes d'aprs la proposition 6.18 (page 79).
Soit

g le polynme gnrateur de C .  2. = 3. d'aprs le thorme 6.22,


condition 4. implique que que

et il est clair que

On sait d'aprs le thorme 6.22 que

3. = 4. deg(g ) = n k et que g

divise

m(X) = g .

La

divise

g,

les deux polynmes tant unitaires, on en dduit

g = g . On a donc montr l'quivalence de 2., 3. et 4. De mme, 2. = 5. d'aprs le thorme 6.22, et 5. = (k = n r), c'est--dire 6., il est clair que 6. = 7. La condition 7. signie que deg(g) deg(g ), et comme g divise g et que les polynmes sont unitaires, on en dduit g = g , c'est--dire 2.
D'o l'quivalence entre 2., 5., 6. et 7.

enn

deux

Le polynme gnrateur

divise le polynme

Rciproquement, tout diviseur unitaire cyclique de longueur

X n 1 d'aprs le thorme 6.22. g Fq [X] du polynme X n 1 correspond

un code

dont

est le polynme gnrateur. C'est l'objet du thorme suivant.

Soit g = g0 + g1 X + + gr1 X r1 + X r un diviseur unitaire de degr r du polynme X n 1 dans Fq [X], avec 0 r n 1. Soit m = g0 g1 . . . gr1 1 0 . . . 0 Fn le mot q de longueur n associ au polynme g , et soit k = n r. Alors le code C Fn de longueur n engendr par les k mots q

Thorme 6.24

{m, (m), . . . , k1 (m)}


est cyclique, de dimension k , et son polynme gnrateur est le polynme g . On dit que le code C est le code cyclique engendr par g.

P. Wassef

83

Preuve : Le code C

est de dimension k car les mots m, (m), . . . , n indpendants dans Fq d'aprs la proposition 6.20 a) (page 80). k1 Soit m = 0 m + 1 (m) + + k1 (m) un lment de C , on a

k1

(m)

sont linairement

(m ) = 0 (m) + 1 2 (m) + + k1 k (m).


Pour montrer que Comme

est cyclique, on voit qu'il sut de montrer que

k (m) C .

gr = 1,

on sait par la proposition 6.20 b) que

(1)
Le polynme est un

k (m)(X) = X k m(X) (X n 1). m(X) = g , unitaire de degr r, divise le polynme unitaire X n 1, polynme de Fq [X] unitaire de degr k = n r . On peut donc crire X n 1 = (h0 + h1 X + + X k )m(X),
le quotient

ce qui, rapport dans

(1),

donne

k (m)(X) = X k m(X) (h0 + h1 X + + hk1 X k1 + X k )m(X) = (h0 + h1 X + + hk1 X k1 )m(X) = h0 m(X) + h1 X m(X) + + hk1 X k1 m(X).
On en dduit, compte tenu des propositions 6.18 et 6.20 a) (page 80), l'galit dans

Fn q

k (m) = h0 m + h1 (m) + + hk1 k1 (m) k (m) C et que C est cyclique. Enn, le polynme g est associ un mot de C , il est polynme gnrateur de C d'aprs le thorme 6.23.
qui montre que son polynme gnrateur. Ainsi, puisqu'on a vu que deux codes cycliques de mme longueur possdant le mme polynme n gnrateur sont identiques, et si on excepte le code trivial C = Fq pour lequel g = 1, il existe unitaire de degr

(n k),

c'est donc le

Le thorme 6.23 signie que tout code cyclique est engendr, au sens du thorme 6.24, par

autant de codes cycliques de longueur n sur Fq que de diviseurs unitaires propres du polynme X n 1 dans l'anneau Fq [X]. Savoir dcomposer le polynme X n 1 dans l'anneau Fq [X] est donc essentiel pour dnir des codes cycliques de longueur n.
Exercice 43

 Soit m un mot non nul de F et soit C le sous-espace vectoriel de F engendr par la famille { (m) | i = 0, 1, . . . , n 1}. Montrer que 1. C est un code cyclique et que c'est le plus petit code cyclique contenant le mot m. 2. Le polynme gnrateur du code C est le pgcddes polynmes X 1 et m(X). 3. Dterminer le code C et son polynme gnrateur lorsque q = 3, n = 9 et m = 022011000.
n q m n q i m m n m

Retour sur le code binaire de Hamming de longueur 7


Le code binaire de Hamming

CH

de longueur 7 dni en 6.2.2 (page 74) est engendr par les

mots l1 = 1101000 et les trois l3 = 0011010 et l4 = 0001101.

mots qui s'en dduisent par dcalage droite

l2 = 0110100,

Pour qu'il soit cyclique, il sut que

(l4 ) CH ,

L'examen de la liste des mots de code page 74 polynme gnrateur de

(l4 ) = 1000110 = l1 + l2 + l3 . montre que le mot minimal est l1 = 1101000,


or

le

CH

est donc le polynme

g = l1 (X) = 1 + X + X 3 ,
polynme qui divise

X7 1

puisque

X 7 1 = (1 + X + X 3 )(1 + X + X 2 + X 4 ).

84

Arithmtique

6.3.2 Matrice gnratrice d'un code cyclique


Il rsulte du point 1. du thorme 6.22 (page 80) qu'on peut construire une matrice gnratrice d'un code cyclique partir du mot minimal de ce code, ou, ce qui revient au mme, de son polynme gnrateur.

Thorme 6.25

Soit C un code cyclique de longueur n et de dimension k sur Fq et soit

g = g0 + g1 X + + gr1 X r1 + X r
son polynme gnrateur, de degr r = n k . La matrice k g0 . . . gr1 1 0 0 0 g0 . . . gr1 1 0 . .. .. .. .. G= . . . . . . 0 ... 0 g0 . . . gr1 0 0 ... 0 g0 . . . est une matrice gnratrice de C . lignes et n colonnes ... 0 ... 0 . .. . . . 1 0 gr1 1

Preuve : Rsulte du thorme 6.22 et de la dnition d'une matrice gnratrice : la premire


ligne de

est le mot minimal de

m C,

les lignes suivantes sont les dcals droite de

m.

Corollaire 6.26

Tout code cyclique est systmatique.

Preuve : Cela rsulte de la forme de la matrice G ci-dessus et du fait que g0 = 0. Exemple De l'galit X 8 1 = (X 3 + X 2 + X + 1) (X 5 + X 4 + X + 1) dans F2 [X], on dduit
que le code cyclique binaire de longueur

engendr par le polynme

g = 1 + X + X4 + X5

est

de dimension 3 et admet pour matrice gnratrice la matrice

1 1 0 0 1 1 0 0 G = 0 1 1 0 0 1 1 0 0 0 1 1 0 0 1 1

6.3.3 Polynme de contrle et matrice de contrle d'un code cyclique


Dnition 6.10
Soit C un code cyclique de longueur n et de dimension k sur Fq , de polynme gnrateur g . On appelle polynme de contrle de C le polynme h, quotient de la division euclidienne dans Fq [X] du polynme X n 1 par le polynme g .
Comme

est unitaire de degr

n k,

le polynme de contrle

est unitaire de degr

k.

Thorme 6.27

Soit C un code cyclique de longueur n sur Fq , et soit

h = h0 + h1 X + + hk1 X k1 + X k
son polynme de contrle. La matrice (n k) lignes et n colonnes 1 hk1 . . . h0 0 0 ... 0 0 1 hk1 . . . h0 0 ... 0 . .. . .. .. .. .. .. H= . . . . . . . . . . 0 ... 0 1 hk1 . . . h0 0 0 0 ... 0 1 hk1 . . . h0 est une matrice de contrle de C .

P. Wassef

85

Preuve : Soit g = g0 + g1 X + + gr1 X r1 + X r le polynme gnrateur de C . L'galit


g(X)h(X) = X n 1
signie qu'on a

(h0 g0 = 1)

et que pour chaque entier avec

l = 1, . . . , n 1,
et

on a

(1)
i+j=l
La matrice o

hi gj = 0, H

(hj = 0

si

j > k)

(gi = 0

si

i > r).

ci-dessus est de rang maximum

nk

et les relations

est la matrice gnratrice de

dnie par le thorme

(1) expriment que H t G = 0, 6.25. La matrice H est donc une

matrice de contrle de
Exercice 44

Exemples

 Soit C un code cyclique de longueur n sur F , et soit h son polynme de contrle. Montrer que pour tout mot m F , on a (m C) si et seulement si le polynme m(X)h(X) est divisible par le polynme X 1.
q n n q

d'aprs la proposition 6.14 (page 76).

1. Dans l'exemple prcdent du code cyclique binaire de longueur 8 engendr par le polynme g = 1 + X + X 4 + X 5 , le polynme de contrle est h = X 3 + X 2 + X + 1. La matrice

lignes et

colonnes

1 0 H = 0 0 0

1 1 0 0 0

1 1 1 0 0

1 1 1 1 0

0 1 1 1 1

0 0 1 1 1

0 0 0 1 1

0 0 0. 0 1

est donc une matrice de contrle de ce code. 2. On a vu que le code binaire de Hamming de longueur 7 est engendr par le polynme g = 1 + X + X 3 , et que X 7 1 = (1 + X + X 3 )(1 + X + X 2 + X 4 ). Son polynme de contrle est donc colonnes

h = X 4 + X 2 + X + 1 et 1 0 1 1 1 0 0 H = 0 1 0 1 1 1 0. 0 0 1 0 1 1 1

la matrice

lignes et

en est une matrice de contrle.

6.3.4 Code binaire de Hamming de longueur 2s 1


Autre approche du code binaire de Hamming de longueur 7
3
et par Le polynme gnrateur

g = 1 + X + X de ce code est irrductible dans F2 [X]. Dsignons par F8 le corps F2 [X]/ g , la classe de X dans F8 . Comme F8 est d'ordre premier 7, et = 1, est un lment primitif de F8 . 2 2 4 4 Comme g F2 [X], on a g( ) = (g()) = 0 et g( ) = (g()) = 0, on en dduit g = (X )(X 2 )(X 4 ). P () = 0, alors P (2 ) = P (4 ) = 0 et il en rsulte que P est divisible par g , c'est--dire que P () = 0 si et seulement si P est divisible par g dans F2 [X]. 7 Soit m = c0 c1 . . . c6 F2 , il rsulte du thorme 6.22 (page 80) que m CH si et seulement si
De mme, pour tout

P F2 [X],

si

le polynme

m(X) = c0 + c1 X + + c6 X 6

86

Arithmtique
g,
ce qui quivaut d'aprs ce qui prcde

est divisible par

m() = c0 + c1 + + c6 6 = 0. 7 Le code CH apparat donc comme le noyau de l'application linaire u de F2 dans F8 dnie par
6

x0 x1 . . . x6

F7 , 2

u(x0 x1 . . . x6 ) =
k=0

xk k . Fq [X]

Gnralisation

Rappelons (thorme 5.8 page 58 ) l'galit suivante dans

X q1 1 =
aF q
Soit

(X a).
des puissances

un lment primitif de

sont toutes distinctes pour

Fq , le groupe F est dcrit par l'ensemble q i = 1, 2 . . . , q 1. On en dduit l'galit


q1

i ,

qui

(1)
Soit

X q=2
s
, avec

q1

1=
i=1

(X i ).
l'application linaire de

s 2,

soit

n=q1

et soit

Fn 2

dans

Fq

dnie par

n1

x0 x1 . . . xn1 Fn , 2
Le code dni par

u(x0 x1 . . . xn1 ) =
k=0

xk k .

n = 2s 1. s On montrera titre d'exercice que CH est un code cyclique parfait de dimension k = 2 1 s, de distance minimum d = 3 et de polynme gnrateur CH = ker(u)
est appel code binaire de Hamming de longueur

s1

g=
i=0
lequel est un diviseur de

(X 2 ) F2 [X], (1)
ci-dessus.

Xn 1

d'aprs l'galit

6.3.5 Codes de Reed-Solomon


Ce sont des codes de Reed-Solomon qui sont utiliss pour la lecture des disques compacts, des DVD, et pour la tlmtrie par satellite. Ces codes sont des codes cycliques de longueur n = q 1, sur un corps Fq avec q > 2. Le plus souvent on prend q = 2s avec s 2. L'galit

(1)

ci-dessus permet, en choisissant un entier

un polynme

de degr

nk

qui divise le polynme

k tel que 1 k < n = q 1, X n 1 dans Fq [X] en posant

de dnir

nk

(2)

g=
i=1

(X i ) Fq [X].

Un code de Reed-Solomon de longueur un polynme

n et de dimension k est un code cyclique engendr par (2) ci-dessus. Un code de Reed-Solomon est MDS, c'est--dire que sa distance minimum vrie d = n k + 1. (Cf exercice 46 page 87). s Lorsque q = 2 , avec s 2, Fq est un F2 -espace vectoriel de dimension s, on reprsente chaque lment de Fq par une squence de s bits 0 ou 1. Un mot de code s'crit donc comme une suite s de 2 1 squences de s bits. s On en dduit donc un code binaire C de longueur sn = s(2 1) et de dimension sk , dont la s distance minimum est au moins gale la distance minimum d = q k = 2 k du code C , et g
de la forme souvent strictement suprieure.

P. Wassef

87

Les codes de Reed-Solomon ont un bon comportement vis vis des "boues" d'erreurs causes, par exemple, par une rayure sur un disque. En eet, si correction de

t = (d 1)/2

est la capacit de

C,

le code est capable de corriger un nombre d'erreurs de transmission de bits

qui ne modient pas plus de rpartissent dans au plus

t s-uples reprsentant les lments de Fq , autrement dit qui se n tranches de s bits. Si ces erreurs sont groupes, ce nombre peut tre nettement plus grand que t et peut atteindre le nombre st. Un code de Reed-Solomon sur le corps F256 , avec n = 255, k = 251 et d = 5 est utilis pour la 8 lecture des disques compacts. Comme 256 = 2 , chaque lment de F256 est reprsentable par un octet, un mot de code est donc constitu d'une suite de 255 octets. Le nombre des messages 251 k qu'il est possible d'encoder est quasi-illimit : q = 256 = 2 2008 3.10 604 , bien suprieur 80 au nombre, estim 10 , des particules de l'univers. Sa matrice de contrle ne possde que 4 lignes. Le code de Reed-Solomon (255, 251, 5) corrige 2 octets entachs d'erreurs, c'est--dire t
des jusqu' 16 erreurs de bits si ces erreurs sont groupes.
Exercice 45

 Soit F = F [X]/ X + X + 1 et soit = X . 1. Montrer que est un lment primitif de F . 2. crire la table des logarithmes de base . 3. Soient g F [X] le diviseur unitaire de (X 1) dni par
Exemple d'un code de Reed-Solomon.

g = (X )(X 2 ).

Montrer que g = X + X + . 4. crire une matrice gnratrice du code (de Reed-Solomon) C de longueur 7 engendr par g. 5. Dterminer le polynme de contrle et une matrice de contrle de C . 6. En dduire que C est MDS. 7. Corriger le mot reu 1.  Soit un lment primitif du corps F . On pose n = q 1 et on considre un entier k vriant 1 k n 1. Soit P F [X] un polynme de degr n 1 possdant au plus (n k) coecients non nuls. 1. Montrer que P peut s'crire sous la forme P = c X , o les d sont nk entiers vriant
2 4 3 3 2 4 4
Exercice 46

nk i=1

di

0 d1 < < dnk n 1.

2. On pose a monde

= di

pour chaque i = 1, 2, . . . , n k. Montrer que le dterminant de Vander1 1 D=

... ... 1 a a a associe au (n k)-uple (a , a , . . . , a ) est non nul. 3. En dduire que si P ( ) = 0 pour tout entier i = 1, 2, . . . , n k, alors P = 0. 4. En dduire que la distance minimum d du code de Reed-Solomon de dimension k dni en section 6.3.5 vrie d n k + 1, donc que ce code est MDS.
nk 2 nk nk1 nk 1 2 nk i

...

a1 a2

...

a2 1 a2 2

ank1 1 ank1 2

You might also like