Judicaël Courant Lycée La Martinière-Monplaisir 2013...
-
Upload
nguyennguyet -
Category
Documents
-
view
213 -
download
0
Transcript of Judicaël Courant Lycée La Martinière-Monplaisir 2013...
Application de la complexité en cryptographie
Judicaël CourantLycée La Martinière-Monplaisir
2013-07-03
Application de la complexité en cryptographie
1 Introduction
1.1 Cryptographie : science (art ?) de la confidentialité
Judicaël Courant 2
Application de la complexité en cryptographie
1.2 «Tout est nombre»
Message (de taille bornée) = Suite de bits (finie) = Entier (borné)
Judicaël Courant 3
Application de la complexité en cryptographie
1.3 Principe
plaintext : message to encrypt : chiffrer
ciphertext : chiffré to decrypt : déchiffrer.
Judicaël Courant 4
Application de la complexité en cryptographie
1.4 Chiffrement asymétrique
Judicaël Courant 5
Application de la complexité en cryptographie
1.5 Casser le chiffrementFaisable en principe :
1. intercepter la clé publique (facile)
2. intercepter le chiffré c (demander à PRISM ou ECHELON)
3. énumérer tous les messages possibles, calculer leurs chiffrés c′
4. s’arrêter quand c′ = c.
Infaisable en pratique : trop long (conjecture)
Idée 1 :
Problème de sécurité = Problème de complexité
Judicaël Courant 6
Application de la complexité en cryptographie
2 Modèle choisi
– Étude asymptotique. Question essentielle : casser est-il P ou NP ?
– Tailles des clés, des messages, algorithmes, etc. : paramétrées parun paramètre de sécurité entier.
– Modèles de calculs : tous équivalents à une réduction polynomialeprès (sauf ordinateurs quantiques).
– Fonction négligeable =def majoré par n 7→ 1nk
pour tout k ∈ N
Judicaël Courant 7
Application de la complexité en cryptographie
3 Chiffrement asymétrique
Judicaël Courant 8
Application de la complexité en cryptographie
3.1 Notations
Alice veut écrire un message m à Bob :
1. B : (pk, sk) R← GenKeys()
2. Bpk−−−−−→ A
3. A : c := Enc(pk, m)
4. A c−−−−→ B
5. B : m′ = Dec(sk, e)
GenKeys, Enc et Dec sont supposés polynomiaux.
Judicaël Courant 9
Application de la complexité en cryptographie
3.2 Exemple : RSA
Si p, q premiers distincts, et ed ≡ 1 mod (p− 1)(q − 1), alors
∀x ∈ Z×pq (xe)d = x
Cryptosystème RSA :
– clé publique pk = (pq, e)
– clé secrète sk = (pq, d)
– Enc((pq, e), m) = me
– Dec((pq, d), c) = cd.
Judicaël Courant 10
Application de la complexité en cryptographie
4 Propriétés attendues4.1 Correction
∀m Dec(sk, Enc(pk, m)) = m
4.2 Sécurité (de RSA)– Pour casser RSA, il faudrait calculer e à partir de d.
– Pour cela on a besoin de connaître (p− 1)(q − 1).– Pour cela, il faut factoriser pq.
– Or c’est difficile.
– Donc RSA est sûr.
Judicaël Courant 11
Application de la complexité en cryptographie
4.3 Sécurité : sans blague ?– Si factoriser pq est facile on peut fa-
cilement trouver sk à partir de pk.
– Or factoriser n’est pas facile.
– Donc trouver sk à partir de pk n’estpas facile.
– Si un être est humain, alors il estmortel.
– Or mon chat n’est pas humain.
– Donc mon chat n’est pas mortel.
Judicaël Courant 12
Application de la complexité en cryptographie
4.4 Sécurité : que veut-on ?
Bob envoie un message m chiffré en c à Alice. Peut-on :
– Trouver m dans le cas général ? (notion de fonction à sens unique)
– Trouver m si on sait que le message était un entier compris entre0 et 9 (sécurité sémantique)
– Construire le chiffré de 2m à partir de c sans connaître m (mal-léabilité)
Judicaël Courant 13
Application de la complexité en cryptographie
4.5 RSA : 0 pointé ?
Fonction à sens unique Problème ouvert
Sécurité sémantique Non. Calculer Enc(pk, i) pour i = 0 . . . 9.Hypothèse implicite : chiffrement déterministe.
Malléabilité Oui. Enc(pk, mm′) = Enc(pk, m)Enc(pk, m′).
Judicaël Courant 14
Application de la complexité en cryptographie
4.6 Remarques
Chiffrement déterministe⇒ sécurité sémantique impossible
L’adversaire n’a pas besoin de gagner à tous les coups (1/1 000 000 ducommerce électronique = 1 000 000 e).
Idée 2 : Cadre probabiliste
– Modèle de calcul probabiliste.
– L’adversaire peut jouer aux dés.
Judicaël Courant 15
Application de la complexité en cryptographie
5 Sécurité : modélisationIdée 3 : sécurité = résultat d’un jeu où un challenger (Alice et Bob)défient un adversaire (Ève) de répondre à une question.
Probabilité de succès : p.
Notion d’avantage de l’adversaire, noté Adv.
Défis possibles :
– calculer une valeur (sens unique), Adv =def p
– deviner un choix binaire fait par le Challenger (sécurité séman-tique), Adv =def |p− 1
2 |
Défi difficile ⇐⇒ def Adv négligeable pour tout adversaire polynomial
Judicaël Courant 16
Application de la complexité en cryptographie
6 Les démonstrations de sécurité
– Classement des difficultés relatives des problèmes.
– Deux techniques de preuves :
– Réduction polynomiale entre deux jeux
– Équivalence de jeux par indistinguabilité de lois de probabi-lités.
Judicaël Courant 17
Application de la complexité en cryptographie
7 Tout ce qu’on n’a pas le temps d’aborder
– Sécurité Sémantique⇒ Sens unique⇒ P 6= NP
– Si P = NP , il n’y a pas de fonctions à sens unique et il fautréinventer la cryptographie.
– Sens unique 6⇒ Sécurité sémantique
– Construction d’un chiffrement sémantiquement sûr à partir d’unefonction à sens unique (OAEP+)
– Les problèmes du logarithme discret et de Diffie-Hellman.
Judicaël Courant 18
Application de la complexité en cryptographie
8 Conclusion
Formalisation des propriétés désirées bien comprise :
Étude de la complexité probabiliste de certains jeux.
Résultats : mathématiquement solides mais reposent sur des conjec-tures.
Judicaël Courant 19
Application de la complexité en cryptographie
Judicaël Courant 20