Alice et Bob doivent échanger la clef K
Transcription
Alice et Bob doivent échanger la clef K
Rappel Alice Bob m E EK (m) EK (m) D m K Eve EK (m) K0 I K = K 0, on parle de chiffrement symétrique : — Alice et Bob doivent échanger la clef K ; — Autant de clefs que de correspondants pour Bob. 1 Chiffrement symétrique I Chiffrement par bloc I Chiffrement par flot 2 Chiffrement par bloc I Dans un système par bloc, chaque texte clair est découpé en blocs de même longueur et chiffré bloc par bloc. I La longueur ` des clés doit être suffisante pour que la recherche exhaustive consistant à déchiffrer le chiffré avec toutes les clés possibles jusqu’à l’obtention du clair, soit irréaliste (` ≥??). 3 4 × 1026 est ce un grand nombre ? Essayons de vider toutes les mers du monde avec un dé à coudre de 1.5 cm de diamètre et 1.5cm de haut ! 4 4 × 1026 est ce un grand nombre ? I Volume du dé à coudre : 1.52 3 Vdé = π × × 1.5 ≈ 2.6507 cm . 4 I Volume des mers : Vmer = 360 × 106 × 3.8 = 13.68 × 1023 cm3. I La réponse est Vmer Vdé ≈ 5 × 1024. 5 Et pour un ordinateur ? I Tester une clef s’effectue en 1 nanoseconde ! I Il faut à l’ordinateur : 1017 1014 1012 12683916793 secondes heures jours années I C’est quand même beaucoup ! 6 Challenge DES 7 × 1016 I Juin 1997 : 96 jours (Deschall project, 78 000 PC) I Fév. 98 : 39 jours (distributed.net, 8 millions de PC) I Juil. 98 : 56 h (EFF DES cracker, $250 000) I Janv. 99 : 22h15 (EFF DES cracker) I Mars 07 : 6 jours (Copacobana, 9 000 Euros) 7 Evolution des machines I Loi de Moore (Gordon Moore 1975) “La puissance des machines double tous les 18 mois.” I Soit W0 le travail fait au cours du premier mois. I Soit W17 le travail fait au cours du 18ème mois. On a : W17 = 2W0. I Plus généralement. On a : Wn = 2 n+1 18 W0 . 8 Evolution des machines I Le travail effectué après n + 1 mois est donné par : W0 + W 1 + · · · + Wn = n X Wi i=0 = W0 × 26 1−2 n 18 1−2 1 18 1 18 4 × 10 × (1 − 2 ) 2 = 1− W0 n ≈ 584mois n 18 9 Chiffrement par bloc m K1 K2 K3 Kr F F F F c r tours 10 Electronic CodeBook (ECB) m1 m2 mi Ek Ek Ek c1 c2 ci Chiffrement 11 Electronic CodeBook (ECB) c1 c2 ci Dk Dk Dk m1 m2 mi Déchiffrement 12 Resultat Source : Wikipedia I Le mode ECB ne permet pas de cacher la structure des données qui sont chiffrées ! 13 Chiffrement rendu aléatoire I On introduit un nonce dans le chiffrement. Comment implémenter un nonce ? • avec un compteur ; • avec un timestamp ; • avec un nombre aléatoire ; • combinaison des 3 précédents. I Comment introduire l’aléa ? 14 Cipher-Block Chaining (CBC) m1 m2 mi Ek Ek Ek c1 c2 ci VI Chiffrement 15 Cipher-Block Chaining (CBC) c1 c2 ci Dk Dk Dk m1 m2 mi VI Déchiffrement 16 Cipher feedback (CFB) VI Ek m1 Ek m2 c1 Ek mi c2 ci Chiffrement 17 Cipher feedback (CFB) VI Ek c1 Ek c2 m1 Ek ci m2 mi Déchiffrement 18 CounTeR (CTR) VI f Ek c1 Ek mi m2 m1 Ek c2 ci Chiffrement 19 CounTeR (CTR) VI f Ek m1 Ek ci c2 c1 Ek m2 mi Déchiffrement 20 Chiffrement par flot Chiffrement synchronisé IV Init K sn kt f IV K Φ ct Chiffrement sn Φ s1 mt K Init f kt s1 Canal ct mt Dechiffrement 21