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
0≤r < |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|b⇔adivise b⇔best un multiple
de a⇔ ∃k∈Z, 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|b⇔a.c |b.c
Congruence
Notation : a≡b[n]⇔aest congru `a bmodulo n
⇔ndivise b−a⇔ ∃k∈Z, a =b+k.n.
Propri´et´es
1. L’addition et la multiplication sont compa-
tibles avec la relation de congruence : si
a≡b[m] et c≡d[m], alors a+b≡c+d[m]
et a.c ≡b.d [m]
2. Pour tout entier cnon nul, a≡b[m]⇔
a.c ≡b.c [m.c].
3. Si a≡b[m.n], alors a≡b[m] et a≡b[n].
4. La relation de congruence modulo mest une
relation d’´equivalence :
– pour tout entier a,a≡a[m] (r´efl´exivit´e),
– si a≡b[m], alors b≡a[m] (sym´etrie),
– si a≡b[m] et b≡c[m], alors a≡c[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 n−1. 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 ab≡c[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 ca≡ga[N] et le transmet `a
Bob. Bob calcule cb≡gb[N] et le transmet
`a Alice. caet cbne sont pas secrets.
4. Alice re¸coit cbet calcule Kab ≡(cb)a≡
(gb)a≡gba [N]. Bob re¸coit caet calcule
Kab ≡(ca)b≡(ga)b≡gab [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,ca≡ga[N] et cb≡gb[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 a∧b, 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 a∨b, 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
a∧b=pγ1
1pγ2
2. . . pγk
k
a∨b=pδ1
1pδ2
2. . . pδk
k
o`u γi= min(αi, βi) et δi= max(αi, βi).
Propri´et´es
- (a∧b)×(a∨b) = ab. En particulier si aet
bsont premiers entre eux, a∨b=ab.
-a∧b=b∧a,a∧(b∧c) = (a∧b)∧c.
- 0 ∧a=a,a∧a=a, 1 ∧a= 1.
- Si x|aet x|b, alors x|(a∧b).
- Si a|xet b|x, alors (a∨b)|x.
-ma∧mb =m(a∧b). En particulier, si a∧b=
d, alors d|a,d|b, et (a/d)∧(b/d) = 1.
- Pour tout entier k,a∧b=a∧(b+ak)
Lemme de Gauss
Si a|bc et a∧b= 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 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
R´esum´e de cours
tiers quelconques. Alors le syst`eme de congruences
(x≡a[m]
x≡b[n]
admet une solution x, unique modulo mn.
En particulier, si x≡y[m] et x≡y[n], alors
x≡y[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
x≡bmu +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,ap≡a[p].
De fa¸con ´equivalente, si a6≡ 0 [p], alors ap−1≡
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
an≡a[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 xe≡a[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
(p−1)(q−1) et calcule avec Euclide ´etendu son
inverse dmodulo (p−1)(q−1). 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
c≡me[n] et envoie le message chiffr´e c`a
Alice.
2. Pour d´echiffrer le message re¸cu c, Alice cal-
cule m0≡cd[n].
On v´erifie qu’on a bien m0≡m[n] :
Comme on a de = 1 + k(p−1)(q−1), modulo
pon trouve que m0≡(me)d≡m1+k(p−1)(q−1) ≡
m×(mp−1)k(q−1) ≡m[p] avec le petit th´eor`eme
de Fermat, et on trouve de mˆeme que m≡m0[q] ;
comme pet qsont premiers entre eux, le th´eor`eme
des restes chinois implique que m≡m0[n].
Utilisation en authentification (signature) :
1. Pour authentifier un message m, Alice cal-
cule sa signature s≡md[n] et envoie (m, s)
`a Bob.
2. Pour s’assurer que le message re¸cu (m, s) a
bien ´et´e envoy´e par Alice, Bob r´ecup`ere sa
cl´e publique (n, e) et v´erifie que m≡se[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 l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!