Cryptographie – S4 PEC
2. faire la division euclidienne de apar b:
a=bq +r;
3. si r= 0, le pgcd est ´egal `a b, sinon, rem-
placer apar b,bpar ret retourner `a l’´etape
2.
2.3 Th´eor`eme de B´ezout et applica-
tions
Th´eor`eme de B´ezout :
Deux entiers aet bsont premiers entre eux si et
seulement si il existe deux entiers uet vtels que
au +bv = 1.
Plus g´en´eralement, si a∧b=d, alors il existe deux
entiers uet vtels que au +bv =d.
Algorithme d’Euclide ´etendu : pour calculer
uet v, on utilise l’algorithme d’Euclide ´etendu :
1. On effectue les divisions successives comme
dans l’algorithme d’Euclide. On note
r0, r1, . . . , rmet q1, q2, . . . , qm−1les restes
et les quotients successifs, avec a=r0et
b=r1:
a=q1b+r2, b =q2r2+r3, r2=q3r3+r4,
. . . rm−2=qm−1rm−1+rm
Le dernier reste non nul rmest ´egal au pgcd
dde aet b.
2. On calcule par r´ecurrence une s´erie d’´egalit´e
de la forme d=ukrk−1+vkrk, en partant de
l’´egalit´e d=rm=rm−2−qm−1rm−1(c’est-
`a-dire um−1= 1 et vm−1=−qm−1) :
si d=uk+1rk+vk+1rk+1, comme rk−1=
qkrk+rk+1, en rempla¸cant rk+1 on obtient
d=uk+1rk+vk+1 (rk−1−qkrk) =
vk+1rk−1+ (uk+1 −qkvk+1)rk.
On a donc
(uk=vk+1
vk=uk+1 −qkvk+1
3. On remonte ainsi jusqu’`a trouver d=u1r0+
v1r1=u1a+v1b.
Applications aux ´equations diophan-
tiennes : ´
Etant donn´es trois entiers a,bet c, on
veut d´eterminer tous les couples d’entiers (x, y)
solutions de l’´equation ax +by =c.
1. On calcule d=a∧bpar l’algorithme d’Eu-
clide. Si d-c, l’´equation n’a pas de solution ;
sinon, en divisant par don obtient l’´equation
´equivalente a0x+b0y=c0o`u a0=a/d,
b0=b/d,c0=c/d (en particulier a0∧b0= 1).
2. D’apr`es le th´eor`eme de B´ezout il existe deux
entiers uet vtels que a0u+b0v= 1 ; on les
calcule par l’algorithme d’Euclide ´etendu.
3. L’ensemble des solutions est alors {(c0u+
kb0, c0v−ka0) ; k∈Z}.
Entiers inversibles modulo n
Un entier aest inversible modulo nsi et seulement
si il existe un entier btel que ab ≡1 [n]. Cet en-
tier b, s’il existe, est unique modulo net s’appelle
inverse modulaire de a; on note b≡a−1[n].
Propri´et´e
Un entier aest inversible modulo nsi et seule-
ment si aet nsont premiers entre eux. A l’aide de
l’algorithme d’Euclide ´etendu, on calcule les coef-
ficients de B´ezout uet vtels que au +nv = 1.
Alors a−1≡u[n].
Chiffrement El Gamal :
1. Alice choisit un modulo N(de pr´ef´erence un
grand nombre premier) et deux entiers get
s, et elle calcule h≡gs[N].
2. Alice rend public N,get h(sa cl´e publique)
et garde secret s(sa cl´e priv´ee).
3. Pour envoyer un message chiffr´e m, Bob
choisit un entier al´eatoire r, calcule c1≡
gr[N] et c2≡hr.m [N], et envoie (c1, c2)
`a Alice.
4. Pour d´echiffrer le message re¸cu (c1, c2),
Alice calcule (cs
1)−1.c2≡((gr)s)−1.hr.m ≡
(grs)−1.gsr .m ≡m[N].
Un attaquant passif qui ´ecoute les ´echanges ne
peut pas retrouver facilement rou s(probl`eme
du log discret), et ne peut alors pas calculer m.
Ce cryptosyst`eme ne fonctionne correctement que
si l’entier rest choisi suffisamment al´eatoirement.
2.4 Th´eor`eme des restes chinois et ap-
plications.
Th´eor`eme des restes chinois : Soient met n
deux entiers premiers entre eux, et aet bdeux en-
IUT d’Orsay
D´epartement d’informatique
3