R´ ESUM´ E DE COURS DE CRYPTOGRAPHIE DUT Informatique, S4 Parcours ´

R´
ESUM´
E DE COURS DE CRYPTOGRAPHIE
DUT Informatique, S4 Parcours ´
Etudes Courtes
1 Arithm´etique ´el´ementaire
1.1 Division, congruence
Division euclidienne
Soient aet bdeux entiers avec b6= 0 ; il existe un
unique couple d’entiers (q, r) tel que a=q.b +ret
0r < |b|.as’appelle le dividende,bs’appelle le
diviseur,qs’appelle le quotient de la division de a
par b,rs’appelle le reste de la division de apar b.
Divisibilit´e
Notation : a|badivise bbest un multiple
de a⇔ ∃kZ, b =ak
Propri´et´es
1. Pour tout entier a, 1 |aet a|a(r´eflexivit´e).
2. Si a|bet b|c, alors a|c(transitivit´e).
3. Si a|bet a|c, alors a|(b+c).
4. Pour tout entier cnon nul, a|ba.c |b.c
Congruence
Notation : ab[n]aest congru `a bmodulo n
ndivise ba⇔ ∃kZ, a =b+k.n.
Propri´et´es
1. L’addition et la multiplication sont compa-
tibles avec la relation de congruence : si
ab[m] et cd[m], alors a+bc+d[m]
et a.c b.d [m]
2. Pour tout entier cnon nul, ab[m]
a.c b.c [m.c].
3. Si ab[m.n], alors ab[m] et ab[n].
4. La relation de congruence modulo mest une
relation d’´equivalence :
pour tout entier a,aa[m] (r´efl´exivit´e),
si ab[m], alors ba[m] (sym´etrie),
si ab[m] et bc[m], alors ac[m]
(transitivit´e).
Entiers modulaires
On note Z/nZl’ensemble des entiers modulo n,
c’est-`a-dire l’ensemble des classes d’´equivalence
pour la relation de congruence modulo n. Chaque
´el´ement de Z/nZa un unique repr´esentant com-
pris entre 0 et n1. L’addition et la multiplication
sont bien d´efinies dans Z/nZ.
1.2 Exponentiation modulaire
Algorithme d’exponentiation rapide : Pour
calculer abmodulo n:
– Ecrire bcomme somme de puissances de 2 :
b=Pk
i=0 bi2i(´ecriture binaire).
Calculer a2,a4,a8, . . . a2kmodulo npar mises
au carr´e successives.
Faire le produit des a2imodulo npour les in-
dices itels que bi= 1.
Le probl`eme inverse s’appelle probl`eme du lo-
garithme discret : ´etant donn´es aet c, trouver
btel que abc[n]. C’est un probl`eme difficile.
R´esum´e de cours
Echange de cl´es Diffie-Hellman :
1. Alice et Bob choisissent un modulo N(de
pr´ef´erence un grand nombre premier) et un
entier g;Net gne sont pas secrets.
2. Alice choisit un nombre secret a. Bob choisit
un nombre secret b.
3. Alice calcule caga[N] et le transmet `a
Bob. Bob calcule cbgb[N] et le transmet
`a Alice. caet cbne sont pas secrets.
4. Alice re¸coit cbet calcule Kab (cb)a
(gb)agba [N]. Bob re¸coit caet calcule
Kab (ca)b(ga)bgab [N].
5. Alice et Bob disposent maintenant d’une cl´e
commune Kab dont ils peuvent se servir pour
chiffrer leur correspondance.
Un attaquant passif qui ´ecoute les ´echanges
connaˆıt N,caga[N] et cbgb[N] mais il
ne connaˆıt ni ani b: il ne peut pas calculer (faci-
lement) la cl´e Kab.
2 Nombres premiers, pgcd,
th´eor`eme de B´ezout
2.1 D´ecomposition en nombres pre-
miers
D´efinition : Un nombre premier est un nombre
entier diff´erent de ±1 qui n’est divisible que par
1 et par lui-mˆeme. Exemples : 2, 3, 5, 7, 11, 13,
17 . . . On note Pl’ensemble des nombres premiers,
cet ensemble est infini (th´eor`eme d’Euclide).
Th´eor`eme (R´epartition des nombres premiers).
Si on note π(x)le nombre de nombres premiers
inf´erieurs `a x, alors π(x)x
ln(x), c’est-`a-dire
π(x)/x
ln(x)x→∞ 1.
Informellement, autour d’un grand nombre nen-
viron un entier sur ln(n) est premier.
D´ecomposition en nombre premier
Tout nombre entier npeut se d´ecomposer en fac-
teurs premiers : n=±pα1
1pα2
2. . . pαk
k, pi∈ P.
Cette ´ecriture est unique `a permutation des fac-
teurs premiers pr`es.
M´ethode na¨ıve de factorisation : Pour
d´ecomposer un entier nen nombre premier, on
teste successivement si p|npour tout nombre
premier p < n; en cas de succ`es, on recommence
`a partir de pen rempla¸cant npar n/p, sinon, n
est premier.
Lemme d’Euclide
Soient aet bdeux entiers et pun nombre premier.
Alors p|ab p|aou p|b.
2.2 PGCD et nombres premiers entre
eux
D´efinitions : Soient aet bdeux entiers. Le plus
grand commun diviseur de aet b, not´e pgcd(a, b)
ou ab, est le plus grand entier dtel que d|a
et d|b. Le plus petit commun multiple de aet b,
not´e ppcm(a, b) ou ab, est le plus petit entier m
tel que a|met b|m.
On dit que aet bsont premiers entre eux si leur
pgcd vaut 1.
Lien avec la d´ecomposition en nombres pre-
miers
Si a=pα1
1pα2
2. . . pαk
ket b=±pβ1
1pβ2
2. . . pβk
k, alors
ab=pγ1
1pγ2
2. . . pγk
k
ab=pδ1
1pδ2
2. . . pδk
k
o`u γi= min(αi, βi) et δi= max(αi, βi).
Propri´et´es
- (ab)×(ab) = ab. En particulier si aet
bsont premiers entre eux, ab=ab.
-ab=ba,a(bc) = (ab)c.
- 0 a=a,aa=a, 1 a= 1.
- Si x|aet x|b, alors x|(ab).
- Si a|xet b|x, alors (ab)|x.
-mamb =m(ab). En particulier, si ab=
d, alors d|a,d|b, et (a/d)(b/d) = 1.
- Pour tout entier k,ab=a(b+ak)
Lemme de Gauss
Si a|bc et ab= 1, alors a|c.
Algorithme d’Euclide : pour calculer le pgcd
de deux entiers aet b,
1. si a < b, ´echanger aet b;
2IUT d’Orsay
D´epartement d’informatique
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 ab=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, . . . , qm1les restes
et les quotients successifs, avec a=r0et
b=r1:
a=q1b+r2, b =q2r2+r3, r2=q3r3+r4,
. . . rm2=qm1rm1+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=ukrk1+vkrk, en partant de
l’´egalit´e d=rm=rm2qm1rm1(c’est-
`a-dire um1= 1 et vm1=qm1) :
si d=uk+1rk+vk+1rk+1, comme rk1=
qkrk+rk+1, en rempla¸cant rk+1 on obtient
d=uk+1rk+vk+1 (rk1qkrk) =
vk+1rk1+ (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=abpar 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 a0b0= 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, c0vka0) ; kZ}.
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 ba1[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 a1u[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 hgs[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 c2hr.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
R´esum´e de cours
tiers quelconques. Alors le syst`eme de congruences
(xa[m]
xb[n]
admet une solution x, unique modulo mn.
En particulier, si xy[m] et xy[n], alors
xy[mn].
R´esolution pratique : `a l’aide de l’algorithme
d’Euclide ´etendu, on calcule les coefficients de
B´ezout uet vtels que mu +nv = 1. Alors
xbmu +anv [mn].
3 Th´eor`eme de Fermat et RSA
3.1 Le petit th´eor`eme de Fermat
Petit th´eor`eme de Fermat : Soit pun nombre
premier. Alors pour tout entier a,apa[p].
De fa¸con ´equivalente, si a6≡ 0 [p], alors ap1
1 [p].
Application `a la primalit´e
On peut se servir de ce th´eor`eme comme test de
primalit´e : pour v´erifer si un nombre nest pre-
mier ou pas, on teste pour plusieurs entiers asi
ana[n]. En cas d’´echec, on sait que nn’est
pas premier, sinon nest probablement (mais pas
sˆurement) premier.
Cons´equence : prouver qu’un nombre n’est pas
premier est beaucoup plus facile que de factoriser
un nombre.
3.2 Le syst`eme RSA
La s´ecurit´e de ce syst`eme repose sur la difficult´e de
calculer des “racines e-i`emes modulaires” : ´etant
donn´es des entiers e,net a, trouver un entier xtel
que xea[n]. On ne sait r´esoudre efficacement
ce probl`eme que quand la factorisation de nest
connue.
G´en´eration des cl´es : Alice choisit deux grands
nombres premiers pet qet calcule leur produit
n=pq. Elle choisit un entier epremier avec
(p1)(q1) et calcule avec Euclide ´etendu son
inverse dmodulo (p1)(q1). Alice publie (n, e)
(la cl´e publique) et garde secret d(la cl´e priv´ee).
Utilisation en confidentialit´e (chiffrement) :
1. Pour transmettre un message m`a Alice,
Bob r´ecup`ere sa cl´e publique (n, e), calcule
cme[n] et envoie le message chiffr´e c`a
Alice.
2. Pour d´echiffrer le message re¸cu c, Alice cal-
cule m0cd[n].
On v´erifie qu’on a bien m0m[n] :
Comme on a de = 1 + k(p1)(q1), modulo
pon trouve que m0(me)dm1+k(p1)(q1)
m×(mp1)k(q1) m[p] avec le petit th´eor`eme
de Fermat, et on trouve de mˆeme que mm0[q] ;
comme pet qsont premiers entre eux, le th´eor`eme
des restes chinois implique que mm0[n].
Utilisation en authentification (signature) :
1. Pour authentifier un message m, Alice cal-
cule sa signature smd[n] et envoie (m, s)
`a Bob.
2. Pour s’assurer que le message re¸cu (m, s) a
bien ´et´e envoe par Alice, Bob r´ecup`ere sa
cl´e publique (n, e) et v´erifie que mse[n].
4IUT d’Orsay
D´epartement d’informatique
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

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