Vous êtes sur la page 1sur 43

Introduction `a la Cryptographie

6. Cryptographie asym´etrique (2)

E. Thom´e (cours et TD)

´ Equipe Caramba, INRIA Nancy
´
Equipe Caramba, INRIA Nancy

Vu la derni`ere fois

Principe g´en´eral de la cl´e publique.Vu la derni`ere fois Le chiffrement doit ˆetre non d´eterministe. La primitive RSA. Ses propri´et´es

Le chiffrement doit ˆetre non d´eterministe.la derni`ere fois Principe g´en´eral de la cl´e publique. La primitive RSA. Ses propri´et´es d´esagr´eables. Le

La primitive RSA.publique. Le chiffrement doit ˆetre non d´eterministe. Ses propri´et´es d´esagr´eables. Le padding.

Ses propri´et´es d´esagr´eables. Le padding.cl´e publique. Le chiffrement doit ˆetre non d´eterministe. La primitive RSA. Difficult´e de la factorisation. 2

Difficult´e de la factorisation.Le chiffrement doit ˆetre non d´eterministe. La primitive RSA. Ses propri´et´es d´esagr´eables. Le padding. 2 /

Plan

Contexte

Cryptographie utilisant les groupes

Choix de groupes, et attaques

Performances

PKI

Plan

Contexte

Cryptographie utilisant les groupes

Choix de groupes, et attaques

Performances

PKI

S’appuyer sur un probl`eme math´ematique

L’exemple de RSA : on s’appuie sur un probl`eme math´ematique :

la factorisation.

Il y a beaucoup d’autres probl`emes math´ematiques qui peuvent donner lieu `a des protocoles cryptographiques.

Exemple dans un groupe cyclique (fini).

Une op´eration facile : la puissance.cryptographiques. Exemple dans un groupe cyclique (fini). Une op´eration difficile : le logarithme discret . 5

Une op´eration difficile : le logarithme discret . logarithme discret.

Groupes

Soit (G , ·, 1) un groupe fix´e, connu de tout le monde. G est un groupe, donc :

Il y a une op´eration not´ee · .  

Il y a une op´eration not´ee ·.

 
Il y a un ´el´ement neutre not´e 1.

Il y a un ´el´ement neutre not´e 1.

Chaque ´el´ement x a un sym´etrique x − 1 t.q. x · x − 1

Chaque ´el´ement x a un sym´etrique x 1 t.q. x · x 1

= 1.

G est cyclique : ∃ g , G = { g i } .

G

est cyclique : g , G = {g i }.

On peut aussi noter additivement : (G , +, 0) : La loi est not´ee +. L’´el´ement neutre est not´e 0. Le sym´etrique de x est l’oppos´e x.

Un bon groupe pour la crypto satisfait un cahier des charges.

Condition 1 : Pas trop de bits pour ´ecrire les ´el´ements.

Exemple : log 2 n + bits pour G

de cardinal n.

Condition 2 : cf plus tard.

Condition 3 : cf plus tard.

Exponentiation

Dans un groupe, on peut calculer :

Le produit de deux ´el´ements. [ Condition 2 : pour pas trop cher ! M( G produit de deux ´el´ements. [Condition 2 : pour pas trop cher ! M(G ) O((log n) 2 )].

La puissance d’un ´el´ement : a k (additivement le multiple). puissance d’un ´el´ement : a k (additivement le multiple).

Si #G = n, alors k est d´efini modulo n (pourquoi ?).

Exponentiation

Dans un groupe, on peut calculer :

Le produit de deux ´el´ements. [ Condition 2 : pour pas trop cher ! M( G produit de deux ´el´ements. [Condition 2 : pour pas trop cher ! M(G ) O((log n) 2 )].

La puissance d’un ´el´ement : a k (additivement le multiple). puissance d’un ´el´ement : a k (additivement le multiple).

Si #G = n, alors k est d´efini modulo n (pourquoi ?).

Coˆut pour calculer a k :

Exponentiation

Dans un groupe, on peut calculer :

Le produit de deux ´el´ements. [ Condition 2 : pour pas trop cher ! M( G produit de deux ´el´ements. [Condition 2 : pour pas trop cher ! M(G ) O((log n) 2 )].

La puissance d’un ´el´ement : a k (additivement le multiple). puissance d’un ´el´ement : a k (additivement le multiple).

Si #G = n, alors k est d´efini modulo n (pourquoi ?).

Coˆut pour calculer a k :maxi 2(log 2 n)M(G ).

Exponentiation rapide :

Un carr´e pour chaque bit de k . k.

Une multiplication par bit non nul.)M( G ). Exponentiation rapide : Un carr´e pour chaque bit de k . Total 3

Total 3 log 2 nM(G ) en moyenne.

2

Logarithme discret

Le logarithme discret de a G est l’´el´ement k Z/ nZ tel que :

g k = a.

C’est l’op´eration inverse de l’exponentiation. Cadre additif : ´etant donn´e A, trouver k tel que A = kg . Difficult´e :

donn´e A , trouver k tel que A = kg . Difficult´e : Dans certains groupes,

Dans certains groupes, c’est trivial. Exemple :

Logarithme discret

Le logarithme discret de a G est l’´el´ement k Z/ nZ tel que :

g k = a.

C’est l’op´eration inverse de l’exponentiation. Cadre additif : ´etant donn´e A, trouver k tel que A = kg . Difficult´e :

Dans certains groupes, c’est trivial. Exemple :(Z / n Z , + , 0). Z/ nZ , +, 0).

En g´en´eral, c’est tr`es difficile.c’est trivial. Exemple :( Z / n Z , + , 0). Condition3 : on veut

Condition3 : on veut que le log discret soit difficile.

Plan

Contexte

Cryptographie utilisant les groupes

Choix de groupes, et attaques

Performances

PKI

`

A quoi ¸ca sert

L’asym´etrie entre exponentiation et logarithme discret sert `a fabriquer des protocoles.

But du jeu :

Tˆache facile = exponentiation = tˆache de l’acteur honnˆete.discret sert `a fabriquer des protocoles. But du jeu : Tˆache difficile = log discret =

Tˆache difficile = log discret = tˆache de l’attaquant.facile = exponentiation = tˆache de l’acteur honnˆete. On ´etudie plusieurs primitives : ´ Echange de

On ´etudie plusieurs primitives :

´

Echange de cl´es.difficile = log discret = tˆache de l’attaquant. On ´etudie plusieurs primitives : ´ Chiffrement. Signature.

Chiffrement.= log discret = tˆache de l’attaquant. On ´etudie plusieurs primitives : ´ Echange de cl´es.

Signature.= log discret = tˆache de l’attaquant. On ´etudie plusieurs primitives : ´ Echange de cl´es.

Diffie-Hellman

Primitive essentielle : l’´echange de cl´es.

Donn´ee publique : un groupe

G = g
G
= g

, avec #G = n.

Alice

   

Bob

 
k A
k
A

al´eatoire

k B
k
B

al´eatoire

x A = g k A

 
x A
x
A

x B = g k B

x B = g k B
 
 
       
     
y
y

= x

k

A

B

x B
x
B
y
y

k

A

= x

B

Alice et Bob peuvent ensuite utiliser y comme cl´e de chiffrement pour leur communication (avec AES par exemple).

S´ecurit´e de Diffie-Hellmann

Un espion potentiel doit retrouver g k A k B `a partir de g k A et g k B (probl`eme CDH).

R´esultats partiels d’´equivalence avec g x x . g x x.

g x x : probl`eme du logarithme discret . x x : probl`eme du logarithme discret.

Le choix d’un groupe ad´equat est crucial.CDH). R´esultats partiels d’´equivalence avec g x x . g x x : probl`eme du logarithme

Chiffrement : ElGamal

Donn´ee publique : un groupe G = g , avec #G = n. Alice choisit
Donn´ee publique : un groupe
G
= g
, avec #G = n.
Alice choisit au hasard une cl´e secr`ete
s
∈ Z/ nZ , et publie
h
= g s
.

Chiffrement : ElGamal

Donn´ee publique : un groupe G = g , avec #G = n. Alice choisit
Donn´ee publique : un groupe
G
= g
, avec #G = n.
Alice choisit
s
∈ R Z/ nZ , et publie
h
= g s
.

Chiffrement : ElGamal

Donn´ee publique : un groupe G = g , avec #G = n. Alice choisit
Donn´ee publique : un groupe
G
= g
, avec #G = n.
Alice choisit
s
∈ R Z/ nZ , et publie
h
= g s
.

Quand Bob souhaite envoyer un message

`a Alice :et publie h = g s . Quand Bob souhaite envoyer un message Bob calcule au

Bob calcule au hasard r ∈ Z / n Z , et envoie au hasard r Z/ nZ , et envoie

Alice recoit (u , v ), et calcule v · u − s = m . u, v ), et calcule v · u s = m.

(g r , h r m) .
(g r , h r m)
.

Tˆache de l’attaquant : (g r , g s ) h r = g rs (CDH).

Attention !

Bob doit ˆetre s´erieux dans son choix d’al´ea. Le cryptosyst`eme d’ElGamal est tr`es demandeur d’al´ea !

Signature : DSA

Donn´ee publique :

G = g
G
= g

Un groupe groupe

Une fonction arbitraire φ : G → Z / n Z pas trop moche . φ : G Z/ nZ pas trop moche .

Une fonction de hachage H . H.

, avec #G = n.

Alice : cl´e secr`ete

Signature de m : couple (u Z/ nZ , v Z/ nZ ), v premier avec n, tels que :

s
s

R Z/ nZ , cl´e publique

h = g s .
h
= g s
.

φ(g H(m)v 1 h uv 1 ) = u.

Alice la calcule avec :

Choix de k ∈ R Z / n Z , k R Z/ nZ ,

u = φ ( g k ), et v = k − 1 ( H ( = φ(g k ), et v = k 1 (H(m) + su).

Signature DSA

Job d’Alice :

k

g k .

u = φ(g k ).

H(m).

H(m) + s · u.

R Z/ nZ .

k 1

mod n.

v = k 1 (H(m) + su).

Job de Bob (v´erifier) :

H( m ) v − 1 (m)v 1

uv − 1 1

g H(m)v 1 g H ( m ) v − 1

h uv 1 h u v − 1

φ(g H(m)v 1 h uv 1 ) φ ( g H ( m ) v − 1 h u v − 1

Tirage al´eatoire.

Une exponentiation dans G . Une application de φ. Fonction de hachage.

Produit

dans

Z/ nZ .

Inversion

dans

Z/ nZ .

Produit

dans

Z/ nZ .

Hachage, inverse, produit. produit. Une exponentiation dans G . Une exponentiation dans G .

Un produit dans G , et une comparaison.

DSA = une horreur ?

C’est trop compliqu´e ?

Oui : je suis incapable de me souvenir par cœur des formules.DSA = une horreur ? C’est trop compliqu´e ? Pas tant : je sais o`u se

Pas tant : je sais o`u se trouve l’info, c’est ¸ca qui compte.: je suis incapable de me souvenir par cœur des formules. Compliqu´e `a d´ecrire n’est pas

Compliqu´e `a d´ecrire n’est pas incompatible avec rapide ! rapide !

Pour implanter DSA, il faut savoir :

Calculerdans Z / n Z .

dans Z/ nZ .

Calculerdans G .

dans G .

Appliquer les fonctions φ et H . φ et H.

Faire un tirage al´eatoire.Calculer dans G . Appliquer les fonctions φ et H . NB : Signature = ´el´ements

NB : Signature = ´el´ements de Z/ nZ , pas de G . Parfois nettement plus court `a ´ecrire.

Plan

Contexte

Cryptographie utilisant les groupes

Choix de groupes, et attaques

Performances

PKI

Choix de groupes

On a mentionn´e des groupes trop simples : G = (Z/ nZ , +, 0).

Groupes plus r´esistants :

Groupes multiplicatifs de corps finis : Z / p Z ∗ , · , 1 . Z/ pZ , ·, 1 .

Courbes elliptiques.de corps finis : Z / p Z ∗ , · , 1 . Ces groupes

Ces groupes se distinguent par la taille de groupe n´ecessaire pour contrer les attaques sur le logarithme discret.

D´ecrire un peu les groupes.pour contrer les attaques sur le logarithme discret . D´ecrire un peu les attaques. ´ El´ements

D´ecrire un peu les attaques.sur le logarithme discret . D´ecrire un peu les groupes. ´ El´ements de comparaison : vitesse

´

El´ements de comparaison : vitesse et s´ecurit´e par rapport `a RSA.

Know your enemy

Les algorithmes de calcul de logarithmes discret mettent en danger les protocoles.

de logarithmes discret mettent en danger les protocoles. Un attaquant qui r´esout DL casse Diffie-Hellman. 19

Un attaquant qui r´esout DL casse Diffie-Hellman.

Know your enemy

Les algorithmes de calcul de logarithmes discret mettent en danger les protocoles.

Un attaquant qui r´esout DL casse Diffie-Hellman. casse Diffie-Hellman.

Un attaquant qui r´esout DL casse ElGamal. casse ElGamal.

Know your enemy

Les algorithmes de calcul de logarithmes discret mettent en danger les protocoles.

Un attaquant qui r´esout DL casse Diffie-Hellman. casse Diffie-Hellman.

Un attaquant qui r´esout DL casse ElGamal. casse ElGamal.

Un attaquant qui r´esout DL casse DSA. casse DSA.

Un algorithme de calcul de DL :

s’applique `a une famille particuli`ere de groupes . une famille particuli`ere de groupes.

a une complexit´e qui d´epend de la taille du groupe . taille du groupe.

Certains algorithmes sont plus sp´ecifiques que d’autres. La bonne taille de groupe d´epend de la famille.

Pr´eambule : la r´eduction de Pohlig-Hellman

Soit (G , ·, 1) avec #G =

n.

Supposons n = p 1 n = p 1

. p k .

On veut r´esoudre DL : calculer x = log a ∈ Z / n Z . x = log a Z/ nZ .

Th´eor`eme des restes chinois

Calculer x = Calculer x mod p 1 + Calculer x mod p 2 + ··· Calculer x mod p k .

R´eduction de Pohlig-Hellman

Le coˆut de DL dans G est au plus ´egal au coˆut de DL dans les

sous-groupes de G de cardinal p 1 ,

, p k .

Moralit´e :

La taille compte.de G de cardinal p 1 , , p k . Moralit´e : Mais surtout, le

Mais surtout, le plus grand facteur premier compte !de DL dans les sous-groupes de G de cardinal p 1 , , p k .

Les algorithmes g´en´eriques

Les algorithmes les moins sp´ecifiques s’appliquent `a tous les groupes.

´

Enonc´e g´en´eral : G = g connu, #G = n ; a = g x , trouver

Exemple des pas de b´eb´e, pas de g´eant :

x.

Soit C = √ n . x est inconnu, mais on sait qu’il existe une ´ecriture C = n . x est inconnu, mais on sait qu’il existe une ´ecriture x = Cy + z, avec y , z C .

Soit B = { 1 , g , g 2 , B = {1, g , g 2 ,

Il existe β ∈ B et γ ∈ G tels que β = γ . β ∈ B et γ ∈ G tels que β = γ.

Calculer l’intersection de ces ensembles., Il existe β ∈ B et γ ∈ G tels que β = γ .

Complexit´e :que β = γ . Calculer l’intersection de ces ensembles. , g C } , et

, g C }, et G = {ag C , ag 2C ,

, ag C 2 }.

Les algorithmes g´en´eriques

Les algorithmes les moins sp´ecifiques s’appliquent `a tous les groupes.

´

Enonc´e g´en´eral : G = g connu, #G = n ; a = g x , trouver

Exemple des pas de b´eb´e, pas de g´eant :

x.

Soit C = √ n . x est inconnu, mais on sait qu’il existe une ´ecriture C = n . x est inconnu, mais on sait qu’il existe une ´ecriture x = Cy + z, avec y , z C .

Soit B = { 1 , g , g 2 , B = {1, g , g 2 ,

Il existe β ∈ B et γ ∈ G tels que β = γ . β ∈ B et γ ∈ G tels que β = γ.

Calculer l’intersection de ces ensembles., Il existe β ∈ B et γ ∈ G tels que β = γ .

Complexit´e : O ( C log C ) en temps, et O(C log C ) en temps, et

, g C }, et G = {ag C , ag 2C ,

, ag C 2 }.

Les algorithmes g´en´eriques

Les algorithmes les moins sp´ecifiques s’appliquent `a tous les groupes.

´

Enonc´e g´en´eral : G = g connu, #G = n ; a = g x , trouver

Exemple des pas de b´eb´e, pas de g´eant :

x.

Soit C = √ n . x est inconnu, mais on sait qu’il existe une ´ecriture C = n . x est inconnu, mais on sait qu’il existe une ´ecriture x = Cy + z, avec y , z C .

Soit B = { 1 , g , g 2 , B = {1, g , g 2 ,

Il existe β ∈ B et γ ∈ G tels que β = γ . β ∈ B et γ ∈ G tels que β = γ.

Calculer l’intersection de ces ensembles., Il existe β ∈ B et γ ∈ G tels que β = γ .

Complexit´e : O ( C log C ) en temps, et O ( C ) en m´emoire. O (C log C ) en temps, etO (C ) en m´emoire.

, g C }, et G = {ag C , ag 2C ,

, ag C 2 }.

 

˜

Ce qui compte c’est le terme principal : on retient :

O( n).

˜

Il existe des algorithmes en

Th´eor`eme : aucun algorithme g´en´erique ne peut faire mieux.

O( n) en temps, et O (1) en m´emoire.

S’il n’y a pas mieux

Si pour une famille de groupes, seuls les algos g´en´eriques s’appliquent :

Alors pour #G = n = 2 m , il faut G = n = 2 m , il faut

Pour imposer α s comme boulot `a l’attaquant, il faut m proportionnel `a s ( m ≈ α s comme boulot `a l’attaquant, il faut m proportionnel `a s (m s × 2 log 2 α).

La taille de groupe idoine croˆıt lin´eairement avec le temps.l’attaquant, il faut m proportionnel `a s ( m ≈ s × 2 log 2 α

O(2 ˜ m/2 ) pour DL.

Corps finis

Un objet math´ematique pas trop compliqu´e : Z/ pZ .

Z/ p Z est un corps . / pZ est un corps.

Les ´el´ements non nuls forment un groupe . groupe.

On veut faire de la crypto dans (Z / p Z ∗ , · , 1). Z/ pZ , ·, 1).

Plus g´en´eralement, idem avec n’importe quel corps fini . corps fini.

Avantages : Inconv´enients :
Avantages :
Inconv´enients :

C¸a fait pas trop trop mal `a la tˆete. Dommage, DL est dur, mais pas si dur que ¸ca.

`a la tˆete. Dommage, DL est dur, mais pas si dur que ¸ca. Coˆut du calcul

Coˆut du calcul de log discret dans (Z/ pZ ) :

du calcul de log discret dans ( Z / p Z ) ∗ : exp( O

exp(O((log p) 1/3 )).

Algorithme du crible alg´ebrique. Tr`es, tr`es compliqu´e.log discret dans ( Z / p Z ) ∗ : exp( O ((log p )

log 2 p ≈ 600 bits fastoche. 2 p 600 bits fastoche.

Taille de cl´es pour les corps finis

Pour les (groupes multiplicatifs des) corps finis, DL exp(O((log p) 1/3 )).

Si p − 1 = # G = 2 m , il faut exp( O ( p 1 = #G = 2 m , il faut exp(O(m 1/3 )) pour DL.

Pour imposer α s comme boulot `a l’attaquant, il faut m α s comme boulot `a l’attaquant, il faut m

proportionnel `a s 3 .

La taille de groupe idoine croˆıt cubiquement avec le temps. cubiquement avec le temps.

C’est pareil que la taille de cl´e pour RSA.il faut m proportionnel `a s 3 . La taille de groupe idoine croˆıt cubiquement avec

Courbes elliptiques

Courbes elliptiques (ECC) sur les corps finis :

Un peu de maths `a connaˆıtre.Courbes elliptiques (ECC) sur les corps finis : Tr`es simple au final, `a la fois en

Tr`es simple au final, `a la fois en mat´eriel et logiciel.sur les corps finis : Un peu de maths `a connaˆıtre. Log discret tr`es difficile .

Log discret tr`es difficile . L’espion a la vie rude : tr`es difficile. L’espion a la vie rude :

Aucun algorithme connu pour DL autre que les g´en´eriques.

Une cl´e ECC : petit, mais costaud !

Pour imposer 2 128 comme boulot `a l’attaquant :

Cl´e ECC : 256 bits.! Pour imposer 2 1 2 8 comme boulot `a l’attaquant : Cl´e RSA : 3072

Cl´e RSA : 3072 bits au moins.8 comme boulot `a l’attaquant : Cl´e ECC : 256 bits. Cl´e DSA, avec G =

Cl´e DSA, avec G = ( Z / p Z ) ∗ : 3072 bits au moins. G = (Z/ pZ ) : 3072 bits au moins.

Loi de groupe

Courbe elliptique : solutions de y 2 = x 3 + ax + b sur Z/ pZ .

P Q P+Q Attention, on note additivement !
P
Q
P+Q
Attention, on note additivement !

Une cl´e RSA

AAAAB3NzaC1yc2EAAAADAQABAAACAQCx1mguXe0GfGySnV0/CXb5PYPUwgkF

/ZRoLsbwENh8SQFXHYgC4PjxC3zlW5VowQQRgacUvT3Vfed837VPahmjjThR

6VkeoqB34yU2I06H5s6UXa4+epiKcNQNL2+7ePkGZZSPtwTMohdxMPSy17kf

IsmvaXMrnWSyjo5ggimoMAbENrF4EtVgDP8STPKDvVNuB2dEGBjJKDME2HZ3

dVX6rGv2CU2njajXNPalhZd1mCC+CBv5+67tgGPbWXT8x0JXqWso4qrSL+py

hAkq65R2HIdnUHBWPZrq7oxIV1Gp4DbRR70sb9xdbdTcxZbh5Xf/Y0lnHYY2

LaAzXCE8rKuUMiKISCYydBPGPjUsPuFbAsz6qOZ/lQTO5opK7vlmjLxfAhuo

uoymV5laqM0SonBCY8T2QUkG8iAt8ckn35QSS8OI48VuTWcgT6K2DmzXeuQ4

VnULp+h0VlLByqjrJbK8eRfbH2gloqwfJbUWJUkdjPElLlQygnMAOl8YcDTL

G9W1iuMbcSAVtZ3Qx+9bGUmibR2YVJyhhiWS+zM/VwhkEfmRQng7BepYg3jn

fQn90OTjRm2uj93CQkMvvQhMglZEIFCPCGOmJc7PBwItp7HczUrKzEBYJ3IR

mLYZFZkHyXmlA/bvy3LCOszah1sDie0uiIGIuJocaAH6skkkTrxbqw==

Une cl´e ECC

AAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBB7SKdUBQ

oNt8sHcrafwO2S/X/ojzuEHSEXJOAjiQRz7Tieczf+TV9oCadjkyDBTYZ5zq

TCbelHILDJNCp+aVOI=

Plan

Contexte

Cryptographie utilisant les groupes

Choix de groupes, et attaques

Performances

PKI

R´esum´e

Beaucoup de choix `a faire.

Objectifs : confidentialit´e, authenticit´e, int´egrit´e. : confidentialit´e, authenticit´e, int´egrit´e.

Primitives : :

Algorithmes : cl´e priv´ee, cl´e publique, hachage. : cl´e priv´ee, cl´e publique, hachage.

´

Echange de cl´e, Chiffrement, Signature.

(et ce n’est qu’un petit morceau !)

Choix guid´es par :

Une exigence de s´ecurit´e globale . Exemple 2 1 2 8 . exigence de s´ecurit´e globale. Exemple 2 128 .

Consid´erations de performance.guid´es par : Une exigence de s´ecurit´e globale . Exemple 2 1 2 8 . Consid´erations

Consid´erations de d´eploiement.guid´es par : Une exigence de s´ecurit´e globale . Exemple 2 1 2 8 . Consid´erations

Performances

Performances de chiffrement (niveau de s´ecurit´e 2 128 .

Cl´e priv´ee, AES-128 :de chiffrement (niveau de s´ecurit´e 2 1 2 8 . 20 Mo/s (chiffrement e = 3),

20 Mo/s (chiffrement e = 3), 50 Ko/s (signature).

Cl´e publique, ECC-256 : 400 Ko/s (chiffrement ou signature).: 20 Mo/s (chiffrement e = 3), 50 Ko/s (signature). Cl´e publique, RSA-3072 : ≈ 1

Cl´e publique, RSA-3072 :publique, ECC-256 : 400 Ko/s (chiffrement ou signature). ≈ 1 Go/s sur un cœur. Moralit´e :

1 Go/s sur un cœur.

Moralit´e :

´

Echange de cl´es pour fabriquer une cl´e de session, puis AES. pour fabriquer une cl´e de session, puis AES.

La pression en terme d’efficacit´e reste souvent sur le sym´etrique (quelques octets chiffr´es en sym´etrique, puis quelques m´egaoctets avec AES).´ Echange de cl´es pour fabriquer une cl´e de session, puis AES. Les courbes elliptiques se

Les courbes elliptiques se g´en´eralisent.

Plan

Contexte

Cryptographie utilisant les groupes

Choix de groupes, et attaques

Performances

PKI

L’œuf et la poule

Dans Diffie-Hellmann, Alice est-elle sˆure de parler `a Bob ?

Une espionne (Eve) :

se fait passer pour Bob (aupr`es d’Alice).est-elle sˆure de parler `a Bob ? Une espionne (Eve) : se fait passer pour Alice

se fait passer pour Alice (aupr`es de Bob).(Eve) : se fait passer pour Bob (aupr`es d’Alice). Eve a de quoi communiquer avec :

Eve a de quoi communiquer avec :d’Alice). se fait passer pour Alice (aupr`es de Bob). Alice (qui croit parler `a Bob) ;

Alice (qui croit parler `a Bob) ;Alice (aupr`es de Bob). Eve a de quoi communiquer avec : Bob (qui croit parler `a

Bob (qui croit parler `a Alice).de quoi communiquer avec : Alice (qui croit parler `a Bob) ; Il est in´evitable d’

Il est in´evitable d’authentifier les communications.

Pour cela, il faut parvenir `a distribuer des cl´es.

IGC – PKI

Une infrastructure de gestion de cl´es est une collection d’attestations :

J’atteste que la cl´e priv´ee associ´ee `a la cl´e publique bidule est poss´ed´ee par M. X, dont j’ai v´erifi´e l’identit´e. bidule est poss´ed´ee par M. X, dont j’ai v´erifi´e l’identit´e.

Je signe cela avec ma cl´e priv´ee, et cela peut ˆetre v´erifi´e avec ma cl´e publique. ma cl´e priv´ee, et cela peut ˆetre v´erifi´e avec ma cl´e publique.

Une autre personne/entit´e certifie ma cl´e. ma cl´e.

Deux mod`eles :

Pyramidal : des arbres qui remontent `a des autorit´es de certification . Protocol S/MIME , Certificats X.509 . autorit´es de certification. Protocol S/MIME, Certificats X.509.

D´ecentralis´e : web of trust , tout le monde peut signer tout le monde. PGP/GnuPG . web of trust , tout le monde peut signer tout le monde. PGP/GnuPG.

Le mod`ele pyramidal g´en`ere un march´e des certificats. Le roi du nez creux : Shuttleworth a fait 600M$ en 4 ans sur ce march´e.