Cryptographie à clé publique

publicité
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Cryptographie à clé publique
Lab Ferjeux, Paicheur Emilien
Université de Franche-comté
2012
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Plan
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Plan
1
2
3
4
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Le système RSA
L’algorithme de Karatsuba
Le RSA
Application informatique
Hachage
Signature
SSL
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Les premières méthodes de chiffrement
La méthode grecque
IVème siècle avant J-C.
Utilisation d’une scytale et d’une bande de cuir.
La méthode des Hébreux
Vème siècle avant J-C.
Substitution monoalphabétique inversée (A devient Z, B
devient Y,...).
La méthode de Nabuchodonosor, roi de Babylone
VIème siècle avant J-C.
Ecriture du message sur le crâne rasé des esclaves.
Information cachée et non codée.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Le carré de Polybe
150 avant J-C.
Substitution monoalphabétique.
Ne résiste pas à l’analyse des fréquences.
CRYPTOGRAPHIE devient
(13, 42, 54, 35, 44, 34, 22, 42, 11, 35, 23, 24, 15).
1
2
3
4
5
1
a
f
l
q
v
2
b
g
m
r
w
Lab Ferjeux, Paicheur Emilien
3
c
h
n
s
x
4
d
i, j
o
t
y
5
e
k
p
u
z
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Le chiffrement de César
Ier siècle avant J-C.
Chiffrement par décalage (ROT13).
Substitution monoalphabétique.
Attaque par recherche exhaustive.
CRYPTOGRAPHIE devient FUBSWRJUDSKLH.
clair
chiffré
clair
chiffré
A
D
N
Q
B
E
O
R
C
F
P
S
D
G
Q
T
E
H
R
U
Lab Ferjeux, Paicheur Emilien
F
I
S
V
G
J
T
W
H
K
U
X
I
L
V
Y
J
M
W
Z
Cryptographie à clé publique
K
N
X
A
L
O
Y
B
M
P
Z
C
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Le système de Vigenère
XVIème siècle.
Chiffrement polyalphabétique.
Attaque de Babbage (1851).
CRYPTOGRAPHIE devient CSAPUQGSCPIKE.
A
B
C
A
B
C
A
B
C
A
B
C
J
K
L
S
T
U
B
C
D
K
L
M
T
U
V
C
D
E
L
M
N
U
V
W
D
E
F
M
N
O
V
W
X
Lab Ferjeux, Paicheur Emilien
E
F
G
N
O
P
W
X
Y
F
G
H
O
P
Q
X
Y
Z
G
H
I
P
Q
R
Y
Z
A
H
I
J
Q
R
S
Z
A
B
Cryptographie à clé publique
I
J
K
R
S
T
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Le masque jetable
Appelé aussi "Chiffre de Vernam".
La clé est une suite de caractères au moins aussi longue
que le message à chiffrer, aléatoire et utilisée une seule
fois.
Sécurité théorique absolue (prouvé par Claude Shannon
en 1949).
CRYPTO devient EJRXXA.
message
masque
somme
somme [26]
C (3)
B (2)
E (5)
E (5)
R (18)
R (18)
? (36)
J (10)
Lab Ferjeux, Paicheur Emilien
Y (25)
S (19)
? (44)
R (18)
P (16)
H (8)
X (24)
X (24)
T (20)
D (4)
X (24)
X (24)
Cryptographie à clé publique
O (15)
L (12)
? (27)
A (1)
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Cylindre de Jefferson
Fin du XVIIIème siècle.
Chiffrement polyalphabétique.
26 roues tournant autour d’un axe.
Les 26 lettres sont disposées aléatoirement sur la tranche
de chaque roue.
Protection faible du message.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Enigma
D’origine allemande, commercialisée dès 1920.
Trois rotors sur lesquels sont disposés les lettres de
l’alphabet.
Le premier rotor avance d’un cran par lettre envoyée.
Le second rotor avance d’un cran après 26 lettres
envoyées (et donc après un tour complet du premier rotor).
Le troisième rotor avance d’un cran après un tour complet
du second rotor.
Période d’Enigma : 16900.
Déchiffrage par 3 scientifiques polonais, 7 ans avant la
Seconde Guerre Mondiale.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Plan
1
2
3
4
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Le système RSA
L’algorithme de Karatsuba
Le RSA
Application informatique
Hachage
Signature
SSL
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Exponentiation rapide
But : Calculer be .
Principe : On décompose e sous la forme
X
e=
ai 2i .
i≤d
On calculera alors
be =
Y
i
(b2 )ai .
i≤d
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Algorithme
algorithme expRap(b,e) : entier ;
y ← 1;
n ← e;
x ← b;
label 1
si n ≡ 1[2] alors
y←
x × y ; fin si
n ← n2
si n = 0 alors
retourner y ;
sinon
x ← x 2 et goto 1 ; fin si
fin expRap
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Exemple
On cherche à calculer 1321 .
i = 0.
y = 1.
n = 21.
x = 13.
i = 1.
y = 13.
n = 10.
x = 132 = 169.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Exemple
i = 2.
y = 13.
n = 5.
x = 1692 = 28561.
i = 3.
y = 13 × 28561 = 371293.
n = 2.
x = 285612 = 815730721.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Exemple
i = 4.
y = 13 × 28561 = 371293.
n = 1.
x = 8157307212 = 665416609183179841.
i = 5.
y =
=
371293 × 665416609183179841.
247064529073450392704413.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Echange de clés Diffie-Hellman : Principe
Crée en 1976 par Whitfield Diffie et Martin Hellman.
Résoud le problème de la distribution de clés.
On se place dans (Z/pZ)× , p premier, α générateur de
Z/pZ.
Alice et Bob connaissent p et α et veulent partager une clé.
Alice
choisit a
envoie αa [p]
reçoit αb [p]
calcule αba [p]
Lab Ferjeux, Paicheur Emilien
→
←
Bob
choisit b
reçoit αa [p]
envoie αb [p]
calcule αab [p]
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Echange de clés Diffie-Hellman : Résolution
Eve cherche à trouver a à partir de αa [p] = y [p].
Elle choisit comme méthode l’algorithme Baby Step, Giant
Step.
Principe de cette méthode :
√
Liste de petits pas : {αi | i = 0, ...,
E( p) − 1}.
√
√
−E( p)j
Liste de pas de géants : {y α
| j = 0, ..., E( p)}.
On cherche le terme commun
aux deux listes.
√
On obtient : αi0 = y α−E( p)j0 .
√
a = i0 + j0 E( p).
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Diffie-Hellman : Attaque de l’homme au milieu
Alice (A) choisit a, Bob (B) choisit b.
L’homme au milieu (H) choisit a0 et b0 .
A
αa [p]
αb0 [p]
0
αb a [p]
→
←
H
αa [p]
αb [p]
αa0 [p]
αb0 [p]
0a
0
b
α [p] et αa b [p]
Lab Ferjeux, Paicheur Emilien
B
←
→
αb [p]
αa0 [p]
0
αa b [p]
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Exemple : échange de clés
On se place dans Z/107Z, avec α = 3.
Alice choisit a = 11, envoie à Bob
αa [107] = 311 [107] = 62.
Bob choisit b = 29, envoie à Alice
αb [107] = 329 [107] = 52.
Leur clé secrète sera αab [107] = 311×29 [107] = 3.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Exemple : résolution
Eve connait les nombres suivants : p = 107, α = 3,
αa = 62, αb = 52, et veut trouver a.
Liste de petits pas :
{30 , 31 , 32 , ..., 39 } = {1, 3, 9, 27, 81, 29, 87, 47, 34, 102}.
Liste de pas de géants :
{62 × 3−0 , 62 × 3−10 , 62 × 3−20 , ...62 × 3−100 } =
{62, 3, ..., 44}.
Pour i0 = 1 et j0 = 1, on obtient le terme commun aux deux
listes : a = 1 + 1 × 10 = 11.
Eve connait maintenant la clé secrète d’Alice et Bob :
(αb )a .
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Exemple : attaque de l’homme au milieu
D’après l’exemple précédent : p = 107, α = 3, a = 11,
b = 29, αa [107] = 62, αb [107] = 52.
0
L’homme au milieu choisit a0 = 34, calcule αa [107] = 10.
Il l’envoie à Bob. Bob pense avoir reçu la clé d’Alice, et lui
envoie à son tour αb = 52.
L’homme au milieu choisit maintenant b0 = 51, calcule
0
αb [107] = 12.
Il l’envoie à Alice. Alice pense aussi avoir reçu la vrai clé
de Bob.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Exemple : attaque de l’homme au milieu
0
Alice a pour clé secrète : (αb )a [107] = 40.
0
Bob a pour clé secrète : (αa )b [107] = 13.
Seul l’homme au milieu connait les deux clés secrètes.
Parade : faire signer les échanges par une tierce personne
fiable.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Principe d’ElGamal
p un grand nombre premier,
g générateur de Z/pZ∗ ,
x la clé privée d’Alice,
h = gx .
c1 =
Bob
c2 ≡ m × hk [p]
(c1 , c2 )
g k [p],
Lab Ferjeux, Paicheur Emilien
←−
−→
Alice
(g, h, p)
m = cc12x
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Exemple
p = 67, g = 7, x = 51, k = 25
h
c1
c2
≡
≡
≡
751 [67]
725 [67]
33×2725 [67]
⇒
⇒
⇒
h = 27
c1 = 31
c2 = 52
D’après l’algorithme d’Euclide appliqué à (67,52), on a
c2 −1 = 58.
Bob
(31, 52)
(31, 52)
←−
−→
Lab Ferjeux, Paicheur Emilien
Alice
(7, 67, 27)
33
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
Plan
1
2
3
4
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Le système RSA
L’algorithme de Karatsuba
Le RSA
Application informatique
Hachage
Signature
SSL
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
RSA
Système d’échange de données.
Factorisation d’entier de 1024 bits (environ 300 chiffres).
1 an de calcul pour 30 ordinateurs communs.
La FFT (Fast Fourier Transform).
L’algorithme de Karatsuba.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
Protocole

U(X ) = [u0 + u1 X + u2 X 2 + . . . + uk X k ]+



[uk +1 X k +1 + . . . + un X n ]
V (X ) = [v0 + v1 X + v2 X 2 + . . . + vk X k ]+



[vk +1 X k +1 + . . . + vn X n ]
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
Protocole

UD (X )



UG (X )
V (X )


 D
VG (X )
=
=
=
=
u0 + u1 X + u2 X 2 + . . . + uk −1 X k −1
uk + uk +1 X + . . . + un X n−k
v0 + v1 X + v2 X 2 + . . . + vk −1 X k −1
vl + vk +1 X + . . . + vn X n−k
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
Protocole
U(X ) = UD (X ) + UG (X )X k et V (X ) = VD (X ) + VG (X )X k .
U × V = (UD + UG X k )(VD + VG X k ).
U × V = UD VD + (UD VG + UG VD )X k + UG VG X 2k .
(UG + UD )(VG + VD ) = UG VG + (UG VD + UD VG ) + UD VD .
UG VD + UD VG = (UG + UD )(VG + VD ) − UG VG − UD VD .
U ×V =
UD VD +[(UG +UD )(VG +VD )−UG VG −UD VD ]X k +UG VG X 2k .
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
Exemple

UD (X )



UG (X )
On veut calculer 4213 × 5698 :
V (X )


 D
VG (X )
=
=
=
=
3+X
2 + 4X
8 + 9X
6 + 5X
4213 × 5698 =
13×98+[(42+13)(56+98)−13×98−42×56]102 +42×56×104 .
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
Exemple
4213 × 5698 =
13×98+[(42+13)(56+98)−13×98−42×56]102 +42×56×104 .
42 × 56 = 12 + (66 − 20 − 12) × 10 + 20 × 102 =
12 + 340 + 2000 = 2352.
13 × 98 = 24 + (68 − 24 − 9) × 10 + 9 × 102 =
24 + 350 + 900 = 1274.
(42 + 13)(56 + 98) = 55 × 154 =
20+(190−20−75)×10+75×102 = 20+950+7500 = 8470.
4213×5698 = 1274+(8470−1274−2352)×102 +2352×104 =
1274 + 484400 + 23520000 = 24005674.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
Généralités
Ronald Rivest, Adi Shamir, Leonard Adleman (1977).
Clé publique, clé privée.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
La création des clés
Choisir p et q deux nombres premiers distincts.
On note n = pq.
On calcule l’indicatrice d’Euler : φ(n) = (p − 1)(q − 1).
On choisit e un nombre premier avec φ(n).
On calcule d l’inverse de e modulo φ(n).
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
La transmission du message
On suppose que Bob veut transmettre un message à Alice en
utilisant la clé publique que cette dernière a émise.
Bob crypte le message en utilisant la clé publique.
Il envoie le message crypté à Alice.
Alice décrypte le message en utilisant sa clé privée et
décrypte le message.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
Exemple : La création des clés
Alice choisit p = 3 et q = 11.
Elle calcule n = pq = 33 et φ(n) = (3 − 1)(11 − 1) = 20.
Elle choisit e = 3.
Comme on a 1 = 3 × 7 − 1 × 20 elle en déduit d = 7.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
Exemple : La transmission du message
Bob veut transmettre le mot MATHS à Alice.
M
A
T
H
S
Bi
13
1
20
8
19
Bob
Bi3
2197
1
8000
512
6859
Bi3 [33]
(Bi3 [33])7
19
1
14
17
28
893871739
1
105413504
410338673
13492928512
Lab Ferjeux, Paicheur Emilien
Alice
(Bi3 [33])7 [33]
13
1
20
8
19
Cryptographie à clé publique
M
A
T
H
S
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
L’attaque de l’espion
L’espion connait p ou q et en déduit q =
n
p
ou p = qn .
L’espion connait φ(n).
L’espion connait d.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
L’espion connait φ(n)
n−(p−1)(q−1)+1 = pq−(pq−p−q+1)+1 = p+q = p+ pn .
n = pq et s = p + q.
p2 − ps + n = 0.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
Exemple
33 − 20 + 1 = p + q = 14.
p+
n
p
= 14.
p2 − 14p + n = 0.
∆ = 196 − 132 = 64.
p=
14±8
2
= 3 ou 11.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
L’algorithme de Karatsuba
Le RSA
L’espion connait d
ed − 1 = 3 × 7 − 1 = 20 = 1 × φ(n).
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Hachage
Signature
SSL
Plan
1
2
3
4
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Exponentiation rapide
Principe
Résolution : Baby-step, Giant-step
Exemple
Cryptosystème d’ElGamal
Le système RSA
L’algorithme de Karatsuba
Le RSA
Application informatique
Hachage
Signature
SSL
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Hachage
Signature
SSL
Hachage
Fonction de hachage
Calcul de taille polynomiale.
Assimilable à une fonction à sens unique.
Résiste aux collisions faibles.
Résiste aux collisions fortes.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Hachage
Signature
SSL
Signature
Répond aux trois objectifs sécuritaires.
Application d’une fonction de hachage.
Chiffrement du haché.
Utilisation du certificat.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Hachage
Signature
SSL
Signature ElGamal
p un grand nombre premier,
g générateur de (Z/pZ)× ,
x ∈ [2, p − 2] la clé secrète du signataire (Bob),
y = g x [p].
Bob publie (p, g, y ).
Soit k aléatoire, premier avec p − 1
sign(m) = (r , s) = (g k [p], (H(m) − xr )k −1 [p − 1]).
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Hachage
Signature
SSL
Vérification
Si
g H(m) ≡ y r × r s [p]
Alors le message est resté intègre.
En effet dans Z/pZ,
H(m) = xr + sk
donc,
g H(m)
=
=
=
g xr + g ks
(g x )r + (g k )s
yrrs
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Hachage
Signature
SSL
Certificat
Carte d’identité numérique.
X.509, le plus courant.
Délivré par une autorité de certification.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Hachage
Signature
SSL
SSL
Secure Sockets Layer.
Répond aux trois principaux objectifs sécuritaires.
Utilisation de certificats.
Spontanéité.
Transparence.
Utilisé par les banques, les sites de paiement en ligne.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Plan
Histoire de la cryptographie
Cryptosystème de Diffie-Hellman
Le système RSA
Application informatique
Hachage
Signature
SSL
Protocole
Demande d’une page web sécurisée.
Emission d’un certificat par le serveur.
Vérification du certificat.
Chiffrement de la clé privée.
Récupération de l’URL et des données HTTP.
Envoi des données HTTP chiffrées et de document html.
Le navigateur déchiffre l’ensemble.
Lab Ferjeux, Paicheur Emilien
Cryptographie à clé publique
Téléchargement