1 00:00:00,000 --> 00:00:04,262 Maintenant que nous avons vu quelques exemples de chiffres historiques, 2 00:00:04,262 --> 00:00:07,130 tous gravement défectueux, nous allons passer à des chiffres bien mieux faits. 3 00:00:10,122 --> 00:00:13,115 Avant je veux définir plus précisément 4 00:00:13,115 --> 00:00:17,432 ce qu'est un chiffre. D'abord, rappelez- vous qu'un chiffre est fait de 5 00:00:17,432 --> 00:00:21,694 deux algorithmes: un algorithme de cryptage et un algorithme de décryptage. 6 00:00:21,694 --> 00:00:26,012 Mais un chiffre est défini sur un triplet: l'ensemble de toutes les clefs possibles, 7 00:00:26,012 --> 00:00:31,292 que je vais noter K, que j'appellerai aussi l'espace des clefs; 8 00:00:31,292 --> 00:00:35,968 l'ensemble de tous les messages possibles, et 9 00:00:35,968 --> 00:00:40,365 l'ensemble de tous les textes chiffrés possibles. Donc ce triplet est 10 00:00:40,365 --> 00:00:44,756 l'espace de definition du chiffre. Le chiffre lui-meme est une paire d'algorithmes "efficaces", E et D. 11 00:00:44,756 --> 00:00:49,236 E est l'algorithme de chiffrage; D est l'algorithme de déchiffrage. 12 00:00:49,236 --> 00:00:57,762 E prend des clefs et des messages, et produit des textes chiffrés. ///// 13 00:00:57,762 --> 00:01:06,770 D prend des clefs et des textes en chiffre, et produit des messages. 14 00:01:06,770 --> 00:01:12,282 Et tout ce qu'il faut, c'est que ces algorithmes soient consistents (/constants): qu'ils satisfassent 15 00:01:12,282 --> 00:01:17,933 ce qu'on appelle la propriete de correction. Pour tout message dans l'espace des messages, 16 00:01:17,933 --> 00:01:23,593 et toute clef dans l'espace des clefs, il faut que si je chiffre le 17 00:01:23,593 --> 00:01:29,185 message avec la clef K et je dechiffre ensuite avec K, je retrouve le message d'origine. 18 00:01:29,185 --> 00:01:34,711 Cette equation la est ce qu'on appelle 19 00:01:34,711 --> 00:01:39,974 l'equation de consistance (/constance) et tout chiffre doit la satisfaire pour etre un chiffre, 20 00:01:39,974 --> 00:01:44,970 sinon le dechiffrage est impossible. Une chose a souligner est que j'ai place 21 00:01:44,970 --> 00:01:49,782 le mot "efficace" entre guillemets. La raison en est qu'"efficace" 22 00:01:49,782 --> 00:01:54,041 a des senses differents selon ta perspective. Si tu aimes la 23 00:01:54,041 --> 00:01:58,811 theorie, l'efficacite veut dire que ca s'execute en un temps d'ordre polynomial. Les algorithmes E et D prennent un 24 00:01:58,811 --> 00:02:02,842 temps d'ordre polynomial a operer sur leurs donnees. Si tu es plus pratique, 25 00:02:02,842 --> 00:02:07,045 l'efficacite veut dire que ca dure un temps assez court. Par exemple, 26 00:02:07,045 --> 00:02:11,474 un algorithme E prendrait moins d'une minute pour chiffrer 1 gigabyte d'information. 27 00:02:11,474 --> 00:02:16,073 D'une facon ou d'une autre, le mot "efficace" capture la notion de duree et tu peux 28 00:02:16,073 --> 00:02:20,158 l'interpreter dans ta tete comme tu le veux. Je vais continuer a 29 00:02:20,158 --> 00:02:24,139 parler d'efficacite et a mettre le mot entre guillemets, et comme je l'ai dit si tu es plus theorique 30 00:02:24,189 --> 00:02:27,964 penses "duree polynomiale", sinon penses 31 00:02:27,964 --> 00:02:32,100 contraintes temporelles concretes. Un autre commentaire que je veut faire est que l'algorithme E 32 00:02:32,100 --> 00:02:36,455 est souvent un algorithme aleatoire. Ca veut dire que pendant que tu cryptes 33 00:02:36,455 --> 00:02:40,981 un message, l'algorithme E va generer des bits au hasard, 34 00:02:40,981 --> 00:02:45,676 et va utiliser ces bits pour chiffrer le message. 35 00:02:45,676 --> 00:02:50,258 Par contre, l'agorithme de dechiffrement est toujours deterministe. C'est a dire 36 00:02:50,258 --> 00:02:54,558 que la clef et le texte chiffre sont toujours les memes. Ils ne dependent pas 37 00:02:54,558 --> 00:02:58,970 du hasard d'un algorithme. Bon, maintenant que nous comprenons 38 00:02:58,970 --> 00:03:03,552 mieux ce qu'est un chiffre, je veux te montrer un premier exemple de chiffre sur ("secure"). 39 00:03:03,552 --> 00:03:08,364 Ca s'appelle le "one time pad" (la feuille a 1 utilisation). Vernam l'a cree au debut du 40 00:03:08,364 --> 00:03:12,724 vingtieme siecle. Avant d'expliquer de qu'est ce chiffre, decrivons le avec 41 00:03:12,724 --> 00:03:17,383 la terminologie que nous venons d'apprendre. L'espace des messages du 42 00:03:17,383 --> 00:03:22,221 chiffre de Vernam est le meme que l'espace des textes chiffres, et c'est tout simplement 43 00:03:22,221 --> 00:03:27,653 l'ensemble des strings (/sequences) binaires longues de n-bits. C'est a dire toutes les sequences de 44 00:03:27,653 --> 00:03:33,854 bits, de 0 et de 1. L'espace des clefs est le meme que l'espace 45 00:03:33,854 --> 00:03:40,134 des messages, qui est encore l'ensemble de toutes les sequences binaires. Une clef dans le "onetime pad" 46 00:03:40,134 --> 00:03:46,290 est une longue sequence binaire aleatoire, aussi longue 47 00:03:46,290 --> 00:03:51,508 que le message a chiffrer. Bon, maintenant que nous 48 00:03:51,508 --> 00:03:56,726 avons precise l'univers de definition du chiffre, decrivons comment 49 00:03:56,726 --> 00:04:02,010 le chiffre fonctionne. C'est tres simple. Essentiellement, le texte chiffre 50 00:04:02,010 --> 00:04:07,812 qui resulte du cryptage du message 51 00:04:07,812 --> 00:04:13,766 est simplement k XOR m. Voyons en un exemple. 52 00:04:13,766 --> 00:04:20,026 Souviens-toi que XOR, ce signe d'addition entoure d'un cercle, veut dire une addition modulo 2. 53 00:04:20,026 --> 00:04:26,825 Donc je prends un message, disons 0110111. Et je prends 54 00:04:26,825 --> 00:04:33,871 une clef, disons 1011001. Quand je chiffre le message 55 00:04:33,871 --> 00:04:38,838 avec la clef, je compute le XOR des deux sequences de bits. 56 00:04:38,838 --> 00:04:43,942 Autrement dit, j'additionne les deux, modulo 2, bit par bit. La, le resultat 57 00:04:43,942 --> 00:04:48,645 c'est 101110. C'est le texte chiffre. Comment le decrypter? 58 00:04:48,645 --> 00:04:52,893 Faisons un chose semblable. Pour decrypter un texte chiffre en utilisant 59 00:04:52,893 --> 00:04:57,248 une clef, je XOR la clef et le texte chiffre. Et tout ce qu'il 60 00:04:57,248 --> 00:05:01,819 faut verifier c'est que ca satisfasse la regle de consistance. Je vais le refaire doucement 61 00:05:01,819 --> 00:05:06,443 une fois encore et ensuite je vais le prendre pour aquis. 62 00:05:06,443 --> 00:05:10,798 Donc je doit m'assurer que si je decrypte un texte chiffre, 63 00:05:10,798 --> 00:05:14,893 qui avait ete encrypte avec une certaine clef, j'ai bien interrest a ce que le resultat soit 64 00:05:14,893 --> 00:05:20,481 le message d'origine, m. Voyons ce qui se passe. Je prends le 65 00:05:20,481 --> 00:05:25,996 message chiffre, qui resultait de k XOR m par definition. Quelle en est le dechiffrage? 66 00:05:25,996 --> 00:05:31,628 C'est k XOR (k XOR m). Et comme l'addition modulo 2 est associative, 67 00:05:31,628 --> 00:05:36,948 c'est equivallent a (k XOR k) XOR m, 68 00:05:36,948 --> 00:05:43,007 qui peut etre simplifie. (k XOR k) = 0, et zero XOR m 69 00:05:43,007 --> 00:05:49,066 est simplement m. Bon, ceci demontre que le ontime pad est bien un chiffre, 70 00:05:49,066 --> 00:05:54,277 mais ca ne nous dit rien de sa surete. Nous allons parler de 71 00:05:54,277 --> 00:05:58,319 la surete (/securite) de ce chiffre dans un instant. D'abord, je vais te poser une question, 72 00:05:58,319 --> 00:06:02,205 juste pour s'assurer que tu suis bien. Suppose un message m 73 00:06:02,205 --> 00:06:06,092 et le chiffrage de m via une clef "ontime pad" k. 74 00:06:06,092 --> 00:06:10,522 Tout ce que tu as est le message et son texte chiffre. Ma questions est celle-ci: 75 00:06:10,522 --> 00:06:15,467 peux-tu deduire la clef qui a servit a 76 00:06:15,467 --> 00:06:20,588 la creation de c a partir de m? 77 00:06:20,588 --> 00:06:23,030 J'espere que tu t'ai rendu compte que, etant donne le message 78 00:06:23,030 --> 00:06:25,473 et le texte chiffre, il est tres facile de recouvrire la clef. Plus precisement, 79 00:06:25,473 --> 00:06:30,241 la clef est m XOR c. Si ceci n'est pas immediatement evident, 80 00:06:30,241 --> 00:06:35,238 nous verrons plus tard pourquoi ceci est le cas. 81 00:06:35,238 --> 00:06:40,198 Le onetime pad est assez genial du point de vue de sa performance. Tout ce que tu fait 82 00:06:40,198 --> 00:06:44,656 c'est une XOR de la clef sur le message, et donc c'est super rapide. Mais chiffrer et dechiffrer 83 00:06:44,656 --> 00:06:48,464 des messages tres longs devient difficile en pratique. 84 00:06:48,464 --> 00:06:52,768 La raison que c'est difficile est que la clef 85 00:06:52,768 --> 00:06:56,907 est essentiellement aussi longue que le message. Donc si Alice et Bob veulent se parler 86 00:06:56,907 --> 00:07:01,321 en toute securite, avant qu'Alice ne puisse envoyer un message a Bob, elle doit d'abord 87 00:07:01,321 --> 00:07:06,011 transmettre a Bob une clef qui est aussi longue 88 00:07:06,011 --> 00:07:10,536 que le message lui-meme. Et bien sur, si elle a un moyen sur d'envoyer cette clef a Bob, 89 00:07:10,536 --> 00:07:15,061 pourquoi ne pas s'en servire pour transmettre le 90 00:07:15,061 --> 00:07:19,439 message lui-meme. Donc le fait que la clef est aussi longue que le message est 91 00:07:19,439 --> 00:07:23,490 problematique et rend le one-time pad tres difficile a utiliser en pratique. 92 00:07:23,490 --> 00:07:28,040 Bien sur, nous verrons plus tard que l'idee qui soutent le onetime pad est tres utile, 93 00:07:28,040 --> 00:07:32,590 Pour l'instant, regardons de plus pres 94 00:07:32,590 --> 00:07:36,918 sa securite. La question qui saute aux yeux est, pourquoi le chiffre "onetime pad" est-il sur? 95 00:07:36,918 --> 00:07:41,195 Pourquoi est-ce un bon chiffre? Afin de repondre a cette question, la premiere question a poser 96 00:07:41,195 --> 00:07:45,191 est, qu'est que ca veut dire qu'un chiffre est sur? 97 00:07:45,191 --> 00:07:49,759 Qu'est ce qui le rend sur? Bien, alors pour etudier la securite des chiffres, parlons d'abord 98 00:07:49,759 --> 00:07:54,962 de la theorie de l'information. La premiere personne a etudier la securite des chiffres de 99 00:07:55,150 --> 00:08:00,076 facon rigoureuse est le fameux Claude Shannon, pere de la theorie de l'information. 100 00:08:00,076 --> 00:08:05,042 Il publia un fameux papier en 1949 ou il analysa la 101 00:08:05,042 --> 00:08:10,603 securite du onetime pad. L'idee derriere la definition de securite que nous donna Shannon 102 00:08:10,603 --> 00:08:15,182 est que si tout ce que tu vois est le texte chiffre, 103 00:08:15,182 --> 00:08:19,379 tu ne devrais rien savoir du message d'origine. Autrement dit, le texte chiffre 104 00:08:19,379 --> 00:08:23,413 ne devrait rien reveler du message d'origine. Et tu vois maintenant pourquoi il a fallut attendre 105 00:08:23,413 --> 00:08:28,047 l'invention de la theorie de l'information pour avoir cette notion, 106 00:08:28,047 --> 00:08:32,517 parce que Shannon a du qui explique formellement ce qu'une information sur le message d'origine veut dire. 107 00:08:32,517 --> 00:08:37,653 C'est la la contribution de Shanon. Laisses-moi te montrer la definition de Shanon. 108 00:08:37,653 --> 00:08:42,841 Je vais l'ecrire lentement. Ce qu'a dit Shanon, c'est, suppose 109 00:08:42,841 --> 00:08:48,029 que nous avons un chiffre E, D qui est definit dans l'espace K, M, C. Donc K, M, C 110 00:08:48,029 --> 00:08:53,411 definissent les espaces de la clef, du message et du texte chiffre. 111 00:08:53,411 --> 00:08:58,404 On dit que le chiffre est parfaitement sur si la condition suivante est verifiee. 112 00:08:58,404 --> 00:09:03,592 Pour toute paire de messages m0 et m1 dans l'espace des messages... 113 00:09:03,592 --> 00:09:08,684 pour toute paire de messages -- la seule exigence est que 114 00:09:08,684 --> 00:09:13,831 ces messages aient la meme longueur, nous verrons pourquoi dans une minute -- 115 00:09:13,831 --> 00:09:19,106 et pour tout texte chiffre dans l'espace des textes chiffres, 116 00:09:19,106 --> 00:09:25,221 (okay?) donc pour toute paire de messages et tout texte chiffre, 117 00:09:25,221 --> 00:09:31,118 il faut que, si je demance quelle est la probabilite que 118 00:09:31,357 --> 00:09:37,096 le resultat du chiffrage de m0 par k soit c? 119 00:09:37,096 --> 00:09:43,551 Quelle chance y a-t'il que, si je choisi une clef au hasard, et que je chiffre m0, j'obtienne c? 120 00:09:43,551 --> 00:09:49,819 Cette probabilite doit etre la meme que si j'avais chiffre m1. Okay, bon, 121 00:09:49,819 --> 00:09:54,920 la probabilite de chiffrer m1 et d'obtenir c est exactement la meme que la 122 00:09:54,920 --> 00:09:59,955 probabilite de chiffrer m0 et d'obtenir c. Et comme je l'ai dit auparavant, 123 00:09:59,955 --> 00:10:04,658 la clef est choisie au hasard dans un espace (de clefs) a distribution uniforme. 124 00:10:04,658 --> 00:10:10,157 Donc k est uniforme (a une probabilite uniforme d'etre choisie) dans K. J'utiliserais souvent la notation 125 00:10:10,157 --> 00:10:15,390 K, fleche avec un petit r au dessus pour indiquer le fait que k est une variable aleatoire qui est 126 00:10:15,390 --> 00:10:20,491 echantillonnee de facon uniforme dans l'espace K. Bon, voici le coeur de la definition de Shannon. 127 00:10:20,491 --> 00:10:25,892 Reflechissons a ce que cette definition dit essentiellement. 128 00:10:25,892 --> 00:10:30,965 Que ce que ca veut dire que ces deux probabilites sont les memes? Et bien, ce que ca 129 00:10:30,965 --> 00:10:36,304 nous dit, c'est que si je suis un attaquant et que j'intercepte un texte chiffre c, 130 00:10:36,304 --> 00:10:41,577 la probabilite que de c soit le cryptage de m0 est 131 00:10:41,577 --> 00:10:46,798 exactement la meme que la probabilite que c'est le cryptage de m1. Parceque 132 00:10:46,798 --> 00:10:52,219 ces probabilites sont egales. Donc si j'ai seulement le texte chiffre c, et rien de plus, 133 00:10:52,219 --> 00:10:57,639 je n'ai aucune idee de si le texte chiffre vient de m0 134 00:10:57,639 --> 00:11:03,196 ou de m1, parceque, encore, la probabilite d'obtenir c est 135 00:11:03,196 --> 00:11:08,651 egale que ce soit m0 ou m1 qui ait ete encrypte. 136 00:11:08,651 --> 00:11:13,286 Alors la, la definition est donnee a nouveau. Et je veux juste ecrire ces proprietes une fois encore 137 00:11:13,286 --> 00:11:17,749 plus precisement. Alors refaisons le. Ce que cette definition veux dire, c'est que 138 00:11:17,749 --> 00:11:22,326 si je recoit un certain texte chiffre, je ne peux pas dire d'ou il vient. 139 00:11:22,326 --> 00:11:27,125 Je ne peux pas dire si le message qui en est l'original etait m0 ou m1. 140 00:11:27,125 --> 00:11:32,090 Et en fait cette propriete est vraie de tous les messages, pour tout m0, 141 00:11:32,090 --> 00:11:37,117 pour tout m1. Non seulement je ne peux pas dire si c vient de m0 ou de m1, 142 00:11:37,117 --> 00:11:42,144 je ne peux pas dire s'il vient de m2, m3, m4 ou m5 parceque 143 00:11:42,144 --> 00:11:47,109 tous ont la meme probabilite de produire c. Donc ce que je veux dire vraiment 144 00:11:47,109 --> 00:11:52,074 c'est que si tu encryptes des messages sur un onetime pad alors meme l'adversaire le plus 145 00:11:52,074 --> 00:11:56,729 formidable, quelque soit son intelligence, l'adversaire le plus puissant 146 00:11:56,729 --> 00:12:02,530 ne poura rien apprendre du message d'origine 147 00:12:02,530 --> 00:12:09,624 a partir du texte chiffre. Dit d'une autre maniere, 148 00:12:09,624 --> 00:12:16,315 ce que ca prouve c'est qu'aucune attaque fondee seulement sur le texte chiffre ne pourra venir a bout 149 00:12:16,315 --> 00:12:23,263 d'un chiffre qui est parfaitement secret. Maintenant, une attaque sur le chiffre n'est pas la seule attaque possible. 150 00:12:23,263 --> 00:12:29,440 Et en fait, d'autres attaques sont plausibles. 151 00:12:32,160 --> 00:12:36,772 Bon. Maintenant que nous comprenons le secret parfait, la prochaine question est celle-ci: 152 00:12:36,772 --> 00:12:41,327 pouvons-nous construire des chiffres qui sont parfaitement secrets? Et il ne faut pas chercher loin, 153 00:12:41,327 --> 00:12:45,517 parceque la ontime pad est parfaitement secrete. 154 00:12:45,517 --> 00:12:50,719 Alors je veux prouver cela, est c'est le premier resultat qu'a obtenu Shannon, 155 00:12:50,719 --> 00:12:55,858 c'est une preuve tres simple alors allons-y et voyons comment ca se fait. 156 00:12:55,858 --> 00:13:01,061 Nous avons besoin d'interpreter ce que veut dire cette probabilite Pr[E(k,m0)=c? 157 00:13:01,061 --> 00:13:06,200 est zero. Alors ce n;est pas vraiment difficile a voir que pour tout message et 158 00:13:06,200 --> 00:13:11,022 pour tout texte chiffre la probabilite que le cryptage de m via la clef k 159 00:13:11,022 --> 00:13:16,161 la probabilite que cela soit egal a c, la probabilite d'un choix au hasard de clef, est, par definition, 160 00:13:16,161 --> 00:13:23,720 le nombre de clefs ( le nb de k appartenant a K) 161 00:13:24,758 --> 00:13:31,533 tel que, si je chiffre m avec k, j'obtient c. Donc je compte literalement le nombre de clefs comme ca 162 00:13:31,533 --> 00:13:37,207 et je divise par le nombre total de clefs dans l'espace K. C'est bon? C'est ce que ca veut dire 163 00:13:37,207 --> 00:13:42,833 que si je choisi une clef au hasard, elle projette m sur c. Bien. Donc a la base, ce nombre de clefs 164 00:13:42,833 --> 00:13:47,707 qui projettent m sur c, divise par le nombre total de clefs. C'est sa probabilite. 165 00:13:47,707 --> 00:13:53,406 Maintenant suppose que nous avons un chiffre tel que pour tout message et 166 00:13:53,406 --> 00:13:58,967 tout texte chiffre, il se trouve que si je regarde ce nombre, 167 00:13:58,967 --> 00:14:04,391 le nombre de k dans K tels que E(m,k)=c, ou le nombre de clefs 168 00:14:04,391 --> 00:14:09,259 qui projettent m sur c, suppose que ce nombre soit constant. 169 00:14:09,259 --> 00:14:14,079 Je postule qu'il se trouve etre 2, 3, ou 10 ou 15. Il se trouve simplement etre 170 00:14:14,079 --> 00:14:19,332 une constante. Si c'est le cas, alors par definition, pour tout m0 et m1 171 00:14:19,332 --> 00:14:24,747 et pour tout c, cette probabilite doit etre la meme parce que le denominateur est le meme, 172 00:14:24,747 --> 00:14:30,097 le numerateur est le meme, c'est juste une constante, et donc la probabilite est 173 00:14:30,097 --> 00:14:35,644 toujours la meme pour tout m et tout c. Alors si cette propriete est vraie, le chiffre doit avoir 174 00:14:35,644 --> 00:14:43,616 une surete parfaite (/un secret parfait). Bon, alors voyons ce qu'on peut dire au suject 175 00:14:43,616 --> 00:14:48,804 de cette quantite pour le onetime pad. Alors une question pour toi: 176 00:14:48,804 --> 00:14:54,770 Si j'ai un message chiffre, combien de onetime pads y a t-il qui projettent m sur c? Autrement dit, combien de clefs 177 00:14:54,770 --> 00:15:00,381 y a-t-il telles que m XOR k produise c? 178 00:15:00,381 --> 00:15:06,101 Alors j'espere que tu a repondu "1". Voyons pourquoi c'est le cas. 179 00:15:06,101 --> 00:15:12,683 Pour le onetime pad, si on a que E(k,m)=c, 180 00:15:12,683 --> 00:15:18,303 ca implique par definition que k XOR m = c. 181 00:15:18,303 --> 00:15:24,885 Cela implique que k = m XOR c. 182 00:15:24,885 --> 00:15:31,766 Je "XOR" les deux cotes par "m" et j'obtiens que k doit etre egal a 183 00:15:31,766 --> 00:15:37,561 m XOR C. Bien? Alors ce que ce veut dire, c'est que pour le onetime pad, en fait, 184 00:15:37,561 --> 00:15:43,707 le nombre de clefs dans K tels que E(k,m)=c tout simplement 1. Et cela est vrai 185 00:15:43,707 --> 00:15:49,852 pour tout message et tout texte chiffre. Alors, encore, comme on l'a dit avant, 186 00:15:49,852 --> 00:15:54,987 cela signifie que le onetime pad est parfaitement secret. 187 00:15:54,987 --> 00:15:59,093 Et cela complete la preuve de ce lemme trivial, tres, tres simple. 188 00:15:59,093 --> 00:16:03,644 Maintenant la chose marrante est que meme si ce lemme est simple a prouver 189 00:16:03,644 --> 00:16:08,194 il demontre quelque chose de tres puissant. Il nous dit au fond que 190 00:16:08,194 --> 00:16:12,328 pour un onetime pad, il n'est pas possible d;attaquer seulement le texte chiffre. Alors au contraire 191 00:16:12,328 --> 00:16:16,393 du chiffre de substitution, ou du chiffre de Vigenere, ou des machines a cran, qui pouvaient toutes 192 00:16:16,393 --> 00:16:20,778 etre cassees par une analyse du texte chiffre, nous venons de prouver que pour le onetime pad 193 00:16:20,778 --> 00:16:25,110 cela serait impossible. Etant donne le texte chiffre, tu n'apprends rien 194 00:16:25,110 --> 00:16:29,281 du message d'origine. Cependant, comme on l'a vu, cela n'est pas la fin de l'histoire. 195 00:16:29,281 --> 00:16:33,131 Je veux dire, est-ce qu'on a fini? On pourrait avoir deja fini la classe, parcequ'on 196 00:16:33,131 --> 00:16:37,359 a une methode pour chiffrer de facon a ce qu'un attaquant ne peut rien recouvrir du message. 197 00:16:37,359 --> 00:16:41,206 On peut tout aussi bien finir le cour maintenent. Mais en fait, comme nous allons voir, il y a 198 00:16:41,206 --> 00:16:45,261 d'autres attaques qui sont possibles. Et, en fait, ce ontime pad n'est pas 199 00:16:45,261 --> 00:16:49,316 un chiffre tellement sur. Il y aa d'autres attaques et nous allons 200 00:16:49,316 --> 00:16:54,075 les etudier bientot. Okay? Je souligne encore: le fait qu'il a un secret parfait ne veut pas dire 201 00:16:54,075 --> 00:16:58,785 que le onetime pad est un chiffre sur. Bien. Mais comme on l'a dit 202 00:16:58,785 --> 00:17:03,733 le probleme avec le onetime pad est que la clef secrete est vraiment longue. Si tu as 203 00:17:03,733 --> 00:17:08,071 une maniere de communiquer cette clef secrete a ta contrepartie, tu peux tout aussi bien 204 00:17:08,071 --> 00:17:12,253 te servir de cette meme methode pour communiquer le message a ta contrepartie 205 00:17:12,253 --> 00:17:16,652 et tu n'aurras alors pas besoin d'un chiffre pour commencer. C'est bon? Donc le probleme encore une fois 206 00:17:16,652 --> 00:17:21,105 est que le onetime pad a des clefs tres longues. La question evidente est y a-t-il 207 00:17:21,105 --> 00:17:25,450 d'autres chiffres qui ont un secret parfait et ont peut-etre des clefs bien plus courtes? 208 00:17:25,450 --> 00:17:30,136 Et bien, le mauvaise nouvelle est que Shannon, apres avoir prouve que le onetime pad 209 00:17:30,136 --> 00:17:34,945 est parfaitement secret, prouva un autre theoreme qui dit que si un chiffre 210 00:17:34,945 --> 00:17:39,878 est parfaitement secret, le nombre de clefs dans le chiffre doit etre exactement le nombre de 211 00:17:39,878 --> 00:17:44,935 messages que le chiffre peut supporter. Bon, alors en particulier, ce que ca veut dire c'est que 212 00:17:44,935 --> 00:17:51,037 si j'ai un secret parfait, alors necessairement le nombre de clef, ou plutot la longueur de ma clef, 213 00:17:51,037 --> 00:17:56,309 doit etre plus grande que la longueur du message. Alors en fait, puisque le onetime pad 214 00:17:56,309 --> 00:18:00,834 nous satisfait avec l'egalite (de longueur), le onetime pad est optimal. Il est parfaitement secret. 215 00:18:00,834 --> 00:18:04,862 Alors a la base, ce que ca demontre, c'est que c'est 216 00:18:04,862 --> 00:18:09,056 une notion interessante. Le onetime pad est un chiffre interessant. Mais en fait, 217 00:18:09,056 --> 00:18:13,360 en realite, c'est tres difficile a utiliser. Il est difficile de s'en servire en pratique, 218 00:18:13,360 --> 00:18:17,790 a cause de ses longues clefs. Et cette notion de secret parfait, 219 00:18:17,790 --> 00:18:21,840 meme si elle est interessante, nous dit que des chiffres pratiques ne seront pas vraiment surs. 220 00:18:21,840 --> 00:18:26,279 Et nous verrons cela, mais comme je l'ai dit, 221 00:18:26,279 --> 00:18:30,994 l'idea deriere le onetime pad est tres bonne. Et nous allons voir, en cours, 222 00:18:30,994 --> 00:18:33,547 comment en faire un systeme pratique.