La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

II CRYPTOLOGIE « contemporaine »

Présentations similaires


Présentation au sujet: "II CRYPTOLOGIE « contemporaine »"— Transcription de la présentation:

1 II CRYPTOLOGIE « contemporaine »

2 Sommaire Les fondements p. 59 Les protocoles simples p. 77

3

4

5 II. 1 Les fondements

6 Sommaire 1. Transmission de clefs 2. Confidentialité calculatoire
3. RSA

7 1. Transmission de clefs 1.1 Les « puzzles » de Ralph Merkle
1.2 Le protocole de Diffie-Hellman 1.3 Les clefs collectives

8 1.1 Les « puzzles » de Ralph Merkle
première idée de transmission publique rien n’est caché à l’observateur l’espionnage est rendu difficile grâce à la complexité Ralph C. Merkle étudiant en physique à l’université de Berkeley (CA) en 1974 élève de Lance Hoffman en cryptologie devoir de fin d’année : communications privées par des canaux peu sûrs  obtient une mauvaise note due à l’incompréhension de Lance Hoffman  Pionnier de la cryptographie à clef publique Ralph C. Merkle (1952)

9 Le protocole Le puzzle en clair
Alice envoie à Bob un million de puzzles tous différents, non ordonnés par leur numéro et cryptés chacun avec une clef différente de 20 bits non transmise Bob cryptanalyse un puzzle pris au hasard puis envoie à Alice le numéro de ce puzzle en clair La clef transmise est celle contenue dans ce puzzle  Eve espionne le dialogue entre Alice et Bob ! 128 bits à zéro 000…000 n° du puzzle clef à transmettre « remplissage » 20 bits

10 Cryptanalyse Méthode Bob cryptanalyse un seul puzzle
par recherche exhaustive de la clef de 20 bits la clef est trouvée quand on obtient les 128 zéros de tête du puzzle en clair il faut tester 220 ( 106 ) clefs possibles pour 100µs par clef   1 minute par puzzle Bob cryptanalyse un seul puzzle … ce qui lui prend environ 1 minute Eve doit cryptanalyser 106 puzzles … ce qui lui prend environ …1 an !

11 1.2 Le Protocole de Diffie-Hellman
Principe 1976 Alice et Bob se transmettent publiquement 2 nombres a et p tels que p est un nombre premier a est premier avec p Alice choisit un nombre secret x puis transmet à Bob ax = ax mod p Bob choisit un nombre secret y puis transmet à Alice ay = ay mod p Alice calcule ayx mod p Bob calcule axy mod p  la clef transmise est k = ayx mod p = axy mod p Whitfield Diffie (1944) Martin Hellman (1946)

12 Alice réseau public Bob
x a, p y ax mod p ay mod p ay mod p ax mod p (ay mod p)x mod p (ax mod p)y mod p = = ayx mod p axy mod p clef transmise Eve

13 Propriété (ay mod p)x mod p = (ay mod p)x mod p la fonction
z = ax mod p est difficilement inversible x = loga z mod p est appelée logarithme discret elle est difficilement calculable Eve ne « voit » que ax mod p (et ay mod p)  elle ne peut calculer ni x ni y  elle ne peut calculer la clef

14 Attaque du « (wo)man in the middle »
Alice Bob x w z y ax mod p ay mod p ax mod p ay mod p aw mod p az mod p aw mod p az mod p axw mod p ayz mod p awx mod p azy mod p Eve

15 1.3 Clefs collectives Adi Shamir Sécuriser un accès par plusieurs clefs détenues par des personnes différentes Protocole de Adi Shamir 1978 k clef maîtresse ouvrant l’accès personne ne possède k n nombre de personnes nécessaires pour obtenir l’accès construction d’un polynôme de degré n-1 y = p(x) = an-1 xn-1 + an-2 xn-2 + … a2 x2 + a x + k distribution de clefs partielles ki = (xi, yi) yi = p(xi)  couples de points du graphe de y = p(x)

16 Propriétés n points déterminent les n coefficients d’un polynôme de degré n-1 résolution d’un système de n équations à n inconnues n clefs partielles ki permettent de déterminer la clef maîtresse k raffinement du protocole certaines personnes peuvent posséder plusieurs clefs partielles hiérarchie de clefs hiérarchie de confiance

17 2. Confidentialité calculatoire
2.1 Confidentialités parfaite et calculatoire 2.2 Fonctions à sens unique 2.3 Fonctions à sens unique avec brèche secrète

18 2.1 Confidentialités parfaite et calculatoire
Confidentialité parfaite difficile à mettre en œuvre clef jetable contraintes sur la distribution probabiliste des clefs en général pas indispensable Confidentialité calculatoire la cryptanalyse est difficile au sens de la complexité algorithmique

19 2.2 Fonctions à sens unique
Définition mathématiquement inversibles mais la fonction inverse est difficile à calculer cette difficulté est souvent une conjecture cf. second principe de la thermodynamique l’inversion devient facile par la connaissance d’un secret (ou brèche)  fonction à brèche secrète trapdoor function

20 Exemple 1 x  ax mod p Exponentiation de a modulo p bijective
p premier a primitif modulo p L’inverse est le logarithme discret mod n P x ax mod p loga y mod p y NP

21 Exemple 2 p, q  p x q Produit de deux nombres premiers p, q
L’inverse est la factorisation d’un nombre P p x q p, q n NP

22 Exemple 3 x  x a mod n Elévation à la puissance a mod n
ce n’est pas l’exponentiation ! L’inverse est la racine aième modulo n P x xa mod n a√ y mod n y ?

23 2.3 Fonctions à sens unique avec brèche secrète
Calcul de x = a√ y mod n où y = xa mod n x = y1/a mod n = ya-1 mod n on pose b = a-1 x = yb mod n = (xa mod n)b mod n = xab mod n  Il faut trouver b tel que xab mod n = x

24 Gottfried Wilhelm Leibniz
Retour vers le passé … Pierre Simon de Fermat ( ) Le 18 Octobre 1640 Pierre Simon de Fermat écrit à son ami et confident Bernard Frénicle de Bessy : si p est premier alors ap - a est divisible par p donc (ap -a) mod p = 0 Mais … il ne donne aucune preuve ! cette propriété était connue en Chine pour a = 2 elle a été démontrée en 1683 par Leibniz si a est premier avec p ap-1 mod p = 1 ou encore a  N ap mod p = a mod p  cette propriété est appelée « le petit théorème de Fermat » Gottfried Wilhelm Leibniz ( )

25 Un siècle plus tard … Leonhard Euler ( ) En 1740 Leonhard Euler (re)démontre le petit théorème de Fermat En 1760 il donne 2 généralisations soit Zn* = { x  Zn | pgcd (x,n) = 1 } et  (n) = |Zn*|  (n) est le nombre de nombres premiers avec n et < n  (n) est appelé totient ou indicatrice d’Euler 1ère généralisation  k  Z si a est premier avec n ak.(n) mod n = 1 2ème généralisation  k  Z si n = p x q , p et q premiers et si 0 ≤ a < n ak(n) + 1 mod n = a

26 Vers la brèche secrète …
G1 :  k  Z, pgcd (a, n) = 1  ak.(n) mod n = 1 n’impose pas a < n G2 :  k  Z, n = p x q , p et q premiers et 0 ≤ a < n  ak.(n) + 1 mod n = a n’impose pas pgcd (a, n) = 1 G1  G2 et G2  G1

27 Retour au présent Trouver b tel que xab mod n = x
Il suffit que ab soit multiple de (n) + 1 a.b = k.(n) + 1  a.b mod (n) = 1 b = a-1 mod (n) (n) va servir de brèche secrète (n) permet de calculer b en temps polynomial par l’algorithme d’Euclide étendu conjectures : (n) nécessite de connaître la factorisation de n la factorisation de n = p x q est difficile

28 La brèche de la fonction y  a√ y mod n
P xa mod n = y y, a, n x, a, n x = a√ y mod n NP brèche secrète P n = p x q

29 Cryptographie utilisant une fonction à brèche secrète
+ brèche secrète y x NP P Propriétés tout est public sauf la brèche la brèche ne circule jamais sur le réseau contrairement à une clef privée

30 Ronald Rivest, Adi Shamir, Leonard Adleman
3. Cryptographie RSA Ronald Rivest, Adi Shamir, Leonard Adleman

31 3.1 Principes 3.2 Mise en œuvre 3.3 Choix des facteurs premiers 3.4 Tests de primalité 3.5 Choix des clefs 3.6 Cryptage & décryptage 3.7 Cryptanalyse

32 3.1 Principes Cryptage endomorphe C = P = {0, 1}n
n = p x q p et q premiers  x  P  y  C  e, d  Zn En,e : P  C y = xe mod n Dn,d : C  P x = yd mod n avec d.e mod (n) = 1  n et e sont publics et (n,e) est la clef publique  p et q sont secrets  (n) est la brèche secrète et d la clef secrète

33 3.2 Mise en œuvre Détenteur du secret
choisit 2 nombres premiers p et q de grande taille (au moins 300 bits) calcule n = p x q et (n) = (p-1) x (q-1) choisit e premier avec (n) calcule d = e-1 mod (n) publie n et e garde secret d (issu de (n)) Rappel d ne circule jamais sur le réseau aucun passage de clef n’est nécessaire

34 3.3 Choix des facteurs premiers
grands nombres premiers Densité des nombres premiers inférieurs à n π (n) ≈ 1 / ln(n) exemple : π (2500) ≈ 350  pour des nombres de 500 bits, environ 1/350 sont premiers Choix au hasard puis test de primalité test de Fermat choisir au hasard a si an-1 mod n = 1 n est premier ou pseudo-premier (n) densité des nombres pseudo-premiers inférieurs à n (n) / π(n)  0 quand n   théorème de Pomerance Exemples de nombres pseudo- premiers : les nombres de Carmichael  le test de Fermat n’est pas assez sûr

35 3.4 Tests de primalité Construction déterministe
test de Solovay-Strassen choisir au hasard a test positif ssi a(n-1)/2 mod n = J (a/n)  J est le symbole de Jacobi si n est composé la probabilité du test est < 1/2  répétition du test pour différentes valeurs de a test déterministe en temps polynomial Agrawal, Kayal et Saxena sept. 2004 Construction déterministe n = 1 + p11 + p22 + … pkk pi premiers i  N \ {0} n premier ssi  a  Zn* a(n-1) mod n = 1 et  p premier et p | (n-1) a(n-1)p mod n ≠ 1

36 3.5 Choix des clefs Choix de e Calcul de d = e-1 mod (n)
premier avec (n) test par l’algorithme d’Euclide Calcul de d = e-1 mod (n) Algorithme d’Euclide étendu polynomial

37 3.6 Cryptage & décryptage Emetteur du cryptogramme
Calcul de y = xe mod n polynomial Récepteur du cryptogramme Calcul de x = yd mod n idem  simplifications possibles en conservant p, q, d mod (p-1), d mod (q-1), q-1 mod p et en utilisant le théorème des restes chinois

38 3.7 Cryptanalyse Tous les niveaux sont équivalents
 possibilité d’attaque par texte choisi Conjectures équivalentes les facteurs premiers de n ne peuvent être calculés en temps polynomial (n) ne peut être calculé en temps polynomial Recherche de x connaissant y calcul de x = e√y mod n conjecture : x ne peut être calculé qu’avec d Recherche de d connaissant e calcul de d = e-1 mod (n) conjecture : d ne peut être calculé sans (n)

39


Télécharger ppt "II CRYPTOLOGIE « contemporaine »"

Présentations similaires


Annonces Google