37
. La méthode RSA et la cryptographie fondée sur les courbes elliptiques Andreas Enge Centre d’Alembert Orsay, 1er mars 2006 [email protected] http://www.lix.polytechnique.fr/Labo/Andreas.Enge INRIA Futurs & Laboratoire d’Informatique (LIX) ´ Ecole polytechnique France L I X X CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE

La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

  • Upload
    votuong

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

.

La méthode RSA et la cryptographie fondée sur lescourbes elliptiques

Andreas Enge

Centre d’Alembert

Orsay, 1er mars 2006

[email protected]

http://www.lix.polytechnique.fr/Labo/Andreas.Enge

INRIA Futurs & Laboratoire d’Informatique (LIX)

Ecole polytechnique

France

LIXXX CENTRE NATIONALDE LA RECHERCHESCIENTIFIQUE

Page 2: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

RSA et ECC

1. Petite histoire de la cryptologie,ou Les bons vieux temps

2. Diffie–Hellman,ou Le début de l’âge moderne

3. RSA,ou Le système d’aujourd’hui

4. Logarithmes discrets et factorisation,ou Un peu de cryptanalyse

5. ECC,ou Les systèmes de l’avenir

Andreas Enge

Page 3: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Papier et crayon — substitutions

ATBASH — substitution utilisée dans la bibleA = T, B = SH, . . .Babylon = Sheshach

1412: encyclopédie arabe contenant une section sur la cryptologie,fréquence des mots dans le coran

substitution monoalphabétique avec homophones

substitution polyalphabétiqueinventée par Trithemius en 1518

attaquée par Kasiski en 1863

j e t a i m e a l a f o l l i e+ c l e f c l e f c l e f c l e f

L P X F K X H F N L I T N W M IAndreas Enge

Page 4: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Papier et crayon — Transpositions

3 2 5 1 4

c e c i es t u n me s s a ge a r c hi s e c re t

INAC CETS ASTC SEEI EEMG HRCU SRE

Andreas Enge

Page 5: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Lois de Kerckhoffs (1883)

Le système doit être matériellement, sinon mathématiquement,indéchiffrable.

Il faut qu’il n’exige pas le secret, et qu’il puisse sans inconvénienttomber entre les mains de l’ennemi.

La clef doit pouvoir en être communiquée et retenue sans le secoursde notes écrites, et être changée ou modifiée au gré descorrespondants.

Il faut qu’il soit applicable à la correspondance télégraphique.

Il faut qu’il soit portatif, et que son maniement ou son fonctionnementn’exige pas le concours de plusieurs personnes.

Enfin, il est nécessaire, vu les circonstances qui en commandentl’application, que le système soit d’un usage facile, ne demandant nitension d’esprit, ni la connaissance d’une longue série de règles àobserver.

Andreas Enge

Page 6: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Enigma

Andreas Enge

Page 7: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

RSA et ECC

1. Petite histoire de la cryptologie,ou Les bons vieux temps

2. Diffie–Hellman,ou Le début de l’âge moderne

3. RSA,ou Le système d’aujourd’hui

4. Logarithmes discrets et factorisation,ou Un peu de cryptanalyse

5. ECC,ou Les systèmes de l’avenir

Andreas Enge

Page 8: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Échange de clefs à la Diffie–Hellman (1976)

Alice Bobclefs privées a b

échange de clefs publiquesga

−→gb

←−calcul de la clef commune (gb)a = gab = (ga)b

¤Andreas Enge

Page 9: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Chiffrement ElGamal (1985)

G = 〈g〉 groupe cyclique fini d’ordre n(entiers modulo p, n = p− 1)

m ∈ G texte clair

Alice Bobclef privée b ∈R [0, n− 1]

clef publique gb

“clef privée” éphémère r ∈R [0, n − 1]

“clef publique” éph. gr

chiffrement c = (c′, c′′) = (gr,m(gb)r)

−→déchiffrement m = c′′/(c′)b

Andreas Enge

Page 10: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Problèmes calculatoires sous-jacentes à la sécurité

Problème du logarithme discret (DLP):Étant donné h, trouver x t.q. h = gx

Solution du DLP =⇒ clefs privées

Problème de Diffie–Hellman (CDH):Étant donnés g, gx, gy, trouver gxy

Solution de CDH =⇒secrets partagés

décryptage de textes chiffrés au coup par coup

forgeage de signatures

DLP =⇒ CDH⇐= moralement vrai

(Maurer–Wolf 1999; preuve avec les courbes elliptiques!)

Andreas Enge

Page 11: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Attaque de la femme au milieu

Alice Ève Bobclefs privées a e b

échange de clefs publiquesga

−→ ge

−→ge

←− gb

←−calcul de la clef commune (ge)a = (ga)e

(gb)e = (ge)b

Andreas Enge

Page 12: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

RSA et ECC

1. Petite histoire de la cryptologie,ou Les bons vieux temps

2. Diffie–Hellman,ou Le début de l’âge moderne

3. RSA,ou Le système d’aujourd’hui

4. Logarithmes discrets et factorisation,ou Un peu de cryptanalyse

5. ECC,ou Les systèmes de l’avenir

Andreas Enge

Page 13: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Petit théorème de Fermat

Pour p premier et a un entier (non divisible par p), on a

p divise ap−1 − 1

ap−1 = 1 mod p

exemple

Corollaire: Pour p− 1 qui divise m, on a

am = 1 mod p

Preuve rapide:

am = ak(p−1) = (ap−1)k = 1k = 1 mod p

Preuve lente:

ap−1 = 1 + `p

(ap−1)k = (1 + `p)k = 1 + k `p+

(

k

2

)

(`p)2 + · · ·+ (`p)k = 1 mod p

Andreas Enge

Page 14: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Fermat chinois

Généralisation pour des modules composés

p et q premiers, N = pq

λ = ppcm(p− 1, q − 1)

a un entier (non divisible par p et q)

N divise aλ − 1

aλ = 1 mod N

Corollaire: Pour λ qui divise m, on a

am = 1 mod N

Andreas Enge

Page 15: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Chiffrement RSA (1978)

Alice Bobclef publique N , e premier avec Nclef privée N = pq, d = e−1 mod λ

chiffrement c = me mod N

−→déchiffrement m = cd = med mod N

ed = 1 + kλ

med = m1+kλ = (mλ)k ·m = 1k ·m = m

¤Andreas Enge

Page 16: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Problèmes calculatoires sous-jacentes à la sécurité

Factorisation (FP):Étant donné N , trouver p, q t.q. N = pq

Solution à FP =⇒ clefs privées

Problème RSA (RSAP) = calcul de racines modulo N composé:Étant donnés N , e et me, trouver m

Solution à RSAP =⇒déchiffrement de textes un à un

forgeage de signatures une à une

FP =⇒ RSAP⇐= probablement faux pour petits exposants (LE-RSAP)

Andreas Enge

Page 17: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Boneh–Venkatesan 1998

Un algorithme algébrique pour factoriser en résolvant quelques RSAPavec petit e

peut être transformé de façon polynomiale en un algorithme pourfactoriser sans résoudre des LE-RSAP.

Modulo quelques restrictions:

Si LE-RSAP et FP sont polynomialement équivalentes,

alors il y a un algorithme polynomial pour la factorisationutilisant un nombre polynomial de solutions à LE-RSA,

alors FP peut être résolu en temps polynomial.

Andreas Enge

Page 18: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Modèles de sécurité

Buts d’un attaquant

déchiffrer un texte clair inconnu (sécurité élémentaire)

dinstinguer entre deux messages candidats (indistingabilité, IND)

Capacités de l’attaquant

Ciphertext only attack

CPA (chosen plaintext attack):chiffrer des textes clairs arbitrairespossibles en crypto à clef publique!

CCA1 (chosen ciphertext attack, non adaptative):accès à un oracle de déchiffrement avant l’attaque

CCA2 (chosen ciphertext attack, adaptative):accès à un oracle de déchiffrement tout le temps

Andreas Enge

Page 19: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Quelques attaques sans factoriser

RSA est déterministe, donc distingable (non IND-CPA):

c(oui), c(non)

Attaque CCA2 sur la sécurité élémentaire

Attaque pour e petit et plusieurs destinataires

¤Andreas Enge

Page 20: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

RSA-OAEP — une version sûre de RSA

Entrée

n > 2k+1, pour chiffrer jusqu’à k bits; exposant public e

k′ = k − k0 − k1 > 0

G : {0, 1}k0 → {0, 1}k−k0

H : {0, 1}k−k0 → {0, 1}k0

m ∈ {0, 1}k′

Sortie: chiffré c ∈ {0, 1}k

m||0 · · · 0 r

?

?

h¾¨§

¥¦G ¾

?

-¨§

¥¦H - h

?s t

tirer aléatoirement r ∈ {0, 1}k0 , puis calculer

s = (m||0k1)⊕G(r)

t = r ⊕H(s)

w = s||tc = we

Andreas Enge

Page 21: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

RSA-OAEP — une version sûre de RSA!

OAEP proposé en 1994 par Bellare et Rogaway non seulement pourRSA, mais toute fonction à sens unique avec trappeavec preuve de IND-CCA (1 ou 2?)

Problèmes avec la preuve sont découvertes, par ex. par Shoup en2001

Fujisaki, Okamoto, Pointcheval et Stern montrent IND-CCA2 pourRSA-OAEP in 2001:

Une attaque IND-CCA2 est polynomialement équivalenteà résoudre le problème RSA.

Andreas Enge

Page 22: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

RSA et ECC

1. Petite histoire de la cryptologie,ou Les bons vieux temps

2. Diffie–Hellman,ou Le début de l’âge moderne

3. RSA,ou Le système d’aujourd’hui

4. Logarithmes discrets et factorisation,ou Un peu de cryptanalyse

5. ECC,ou Les systèmes de l’avenir

Andreas Enge

Page 23: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Paradoxe des anniversaires

DLP: Étant donné G = 〈g〉 d’ordre n et h ∈ G,trouver x t.q. h = gx

Idée de l’algorithme (Pollard 1974)

calculer des gaihbi

quand il y a une collision

gaihbi = gajhbj

gai−aj = hbj−bi

= gx(bj−bi)

x =ai − ajbj − bi

(mod n)

Il y a une bonne chance de succès avec O(√n) éléments.

astuces pratiques: parallélisable, sans mémoire

¤Andreas Enge

Page 24: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Restes chinois (Pohlig–Hellman 1978)

DLP: Étant donné G = 〈g〉 d’ordre n et h ∈ G,trouver x t.q. h = gx

Idée pour n composé:

n =∏

pei

i

Calculer des logs discrets dans des (sous-)groupes d’ordre pi.

Restes chinoispermettent de recoller les logs discrets dans les sous-groupesd’ordre pei

i

Argument à la relèvement de Henselpermet de passer de pk−1

i à pki par un log discret dans lesous-groupe d’ordre pi

complexité totale: ∼ O(√

max pi)

Andreas Enge

Page 25: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Condition nécessaire pour DLP difficile

n a un grand facteur premier p.

Grand comment?

chiffre symétrique RC5-64 cassé par recherche exhaustive,distribué sur Internet, en testant 264 clefs−→ 264 “opérations” faisables

280 opérations considérées comme infaisables

2100 pour les paranos

p ≈ 2160 à 2200

Andreas Enge

Page 26: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Records

FactorisationRSA-663 (Bar, Böhm, Franke, Kleinjung 2005)

DLP dans Fp

397 bits (Joux–Lercier 2001)

DLP dans F2m

m = 607 (Thomé 2002)

DLP dans une courbe elliptiquecourbe de Koblitz sur F2108 (Harley et al. 2000)courbe sur Fp: 97 bits (1998)

Andreas Enge

Page 27: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Tailles de clefs

0

20

40

60

80

100

120

140

160

180

200

200 400 600 800 1000 1200 1400 1600 1800 2000

2yoperationspourlogdiscret

clefs de x bits

n

Ln(1/2,√

2)

Ln(1/3, 2)

Andreas Enge

Page 28: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

RSA et ECC

1. Petite histoire de la cryptologie,ou Les bons vieux temps

2. Diffie–Hellman,ou Le début de l’âge moderne

3. RSA,ou Le système d’aujourd’hui

4. Logarithmes discrets et factorisation,ou Un peu de cryptanalyse

5. ECC,ou Les systèmes de l’avenir

Andreas Enge

Page 29: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Courbes elliptiques

E : Y 2 = X3 + aX + bO

Andreas Enge

Page 30: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Inverse

La somme de trois points sur une droite est O.

P

−P

O

Andreas Enge

Page 31: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Addition

Q

R

P + Q

P

Andreas Enge

Page 32: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Doublement

R

2P

P

Andreas Enge

Page 33: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Formule d’inversion

P = (x, y) ⇒ −P = (x,−y)

Andreas Enge

Page 34: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Formules d’addition

x3 =

(

y2 − y1

x2 − x1

)2

− x1 − x2 si P1 6= P2

(

3x21 + a

2y1

)2

− 2x1 si P1 = P2

y3 =

y2 − y1

x2 − x1(x1 − x3)− y1 si P1 6= P2

3x21 + a

2y1(x1 − x3)− y1 si P1 = P2

Andreas Enge

Page 35: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Courbes elliptiques sur les corps finis

Les points sur E/Fq forment un groupe abélien fini.

Théorème de Hasse

q + 1− 2√q ≤ #E(Fq) ≤ q + 1 + 2

√q

Points sont représentés par dlog2 qe+ 1 bits:

coordonnée X

un bit pour choisir la bonne racine de X3 + aX + b comme Y

Andreas Enge

Page 36: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Algorithmique

loi de groupe

trouver des courbes à cardinal (presque) premier

calculer des logarithmes discrets

Andreas Enge

Page 37: La méthode RSA et la cryptographie fondée sur les … . Algorithmes... · fréquence des mots dans le coran ... = calcul de racines modulo Ncomposé: Étant donnés N, eet me,

Utilisations

Blackberry (Research in Motion; source: H. Little)

ECC 256 RSA 3072 DH 3072

génération de clefs 166 ms trop long 38 schiffrement 150 ms 52 ms 74 sdéchiffrement 168 ms 8 s 74 s

Timbres numériques

OpenSSL

Digital Rights Management (Windows Media Player 7.0)

Andreas Enge