ii cryptologie « contemporaine » sommaire 1.les fondements p. 59 2.les protocoles simples p. 77
TRANSCRIPT
IICRYPTOLOGIE« contemporaine »
IICRYPTOLOGIE« contemporaine »
Sommaire
1. Les fondements p. 59
2. Les protocoles simples p. 77
II. 1Les fondements
II. 1Les fondements
Sommaire
1. Transmission de clefs
2. Confidentialité calculatoire
3. RSA
1. Transmission de clefs
1.1 Les « puzzles » de Ralph Merkle
1.2 Le protocole de Diffie-Hellman
1.3 Les clefs collectives
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
QuickTime™ et undécompresseur TIFF (non compressé)
sont requis pour visionner cette image.
Ralph C. Merkle(1952)
QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.
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 !
000…000 n° du puzzle clef à transmettre « remplissage »
128 bits à zéro
20 bits
Cryptanalyse
• Méthode• 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 !
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 ay
x mod p– Bob calcule ax
y mod p
la clef transmise est k = ayx mod p = ax
y mod p
Whitfield Diffie(1944)
QuickTime™ et undécompresseur TIFF (non compressé)
sont requis pour visionner cette image.
Martin Hellman(1946)
QuickTime™ et undécompresseur TIFF (non compressé)
sont requis pour visionner cette image.
QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.
QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.
AliceAlice réseau public BobBobx a, p yax mod p ay mod pay 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
EveEve
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
Attaque du « (wo)man in the middle »
AliceAlice Bob Bobx w z yax 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
EveEve
1.3 Clefs collectives
• 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-1y = p(x) = an-1 xn-1 + an-2 xn-2 + … a2 x2 + a x + k
– distribution de clefs partielleski = (xi, yi) yi = p(xi) couples de points du graphe de y = p(x)
Adi Shamir
QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.
QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.
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
2. Confidentialité calculatoire
2.1 Confidentialités parfaite et calculatoire2.2 Fonctions à sens unique2.3 Fonctions à sens unique avec brèche
secrète
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
2.2 Fonctions à sens unique
• Définition– mathématiquement inversibles– mais la fonction inverse est difficile à calculercette difficulté est souvent une conjecturecf. 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
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
NP
x
loga y mod p
ax mod p
y
Exemple 2 p, q p x q
Produit de deux nombres premiers p, q
– L’inverse est la factorisation d’un nombre
P
NP
p, qp x q
n
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
a√ y mod n
xa mod n
y
2.3 Fonctions à sens unique avec brèche secrète
Calcul de x = a√ y mod noù 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
Retour vers le passé …
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 = 2elle a été démontrée en 1683 par Leibniz
si a est premier avec p ap-1 mod p = 1
ou encore a NN ap mod p = a mod p
cette propriété est appelée « le petit théorème de Fermat »
QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.
Pierre Simon de Fermat(1601 - 1665)
QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.
Gottfried Wilhelm Leibniz(1646 - 1716)
QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.
Un siècle plus tard …
En 1740 Leonhard Euler (re)démontre le petit théorème de Fermat
En 1760 il donne 2 généralisationssoit 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
QuickTime™ et undécompresseur TIFF (non compressé)
sont requis pour visionner cette image.
Leonhard Euler(1707 - 1783)
QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.
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
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
La brèche de la fonction y a√ y mod n
P
NP
x, a, n
x = a√ y mod n
xa mod n = y
y, a,
n = p x q P
brèchesecrète
n
Cryptographie utilisant une fonction à
brèche secrète
P
NPx y
P
+brèchesecrète
• Propriétés tout est public sauf la brèchela brèche ne circule jamais sur le réseaucontrairement à une clef privée
3. Cryptographie RSA
QuickTime™ et undécompresseur TIFF (non compressé)
sont requis pour visionner cette image.
QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.
Ronald Rivest, Adi Shamir, Leonard Adleman
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
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
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
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
3.4 Tests de primalité
• 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. 2004www.math.princeton.edu/~annals/issues/2004/Sept2004/Agrawal.pdf
– Construction déterministe• n = 1 + p1
1 + p22 + … 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
3.5 Choix des clefs
• Choix de e– premier avec (n)
– test par l’algorithme d’Euclide
• Calcul de d = e-1 mod (n)– Algorithme d’Euclide étendu polynomial
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
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)