[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:04.26,Default,,0000,0000,0000,,Maintenant que nous avons vu quelques\Nexemples de chiffres historiques, Dialogue: 0,0:00:04.26,0:00:07.13,Default,,0000,0000,0000,,tous gravement défectueux, nous allons \Npasser à des chiffres bien mieux faits. Dialogue: 0,0:00:10.12,0:00:13.12,Default,,0000,0000,0000,,Avant je veux définir plus précisément Dialogue: 0,0:00:13.12,0:00:17.43,Default,,0000,0000,0000,,ce qu'est un chiffre. D'abord, rappelez-\Nvous qu'un chiffre est fait de Dialogue: 0,0:00:17.43,0:00:21.69,Default,,0000,0000,0000,,deux algorithmes: un algorithme de \Ncryptage et un algorithme de décryptage. Dialogue: 0,0:00:21.69,0:00:26.01,Default,,0000,0000,0000,,Mais un chiffre est défini sur un triplet: \Nl'ensemble de toutes les clefs possibles, Dialogue: 0,0:00:26.01,0:00:31.29,Default,,0000,0000,0000,,que je vais noter K, que j'appellerai\Naussi l'espace des clefs; Dialogue: 0,0:00:31.29,0:00:35.97,Default,,0000,0000,0000,,l'ensemble de tous les messages \Npossibles, et Dialogue: 0,0:00:35.97,0:00:40.36,Default,,0000,0000,0000,,l'ensemble de tous les textes chiffrés possibles. \NDonc ce triplet est Dialogue: 0,0:00:40.36,0:00:44.76,Default,,0000,0000,0000,,l'espace de definition du chiffre. Le chiffre lui-meme est une paire d'algorithmes "efficaces", E et D. Dialogue: 0,0:00:44.76,0:00:49.24,Default,,0000,0000,0000,,E est l'algorithme de chiffrage; D est\Nl'algorithme de déchiffrage. Dialogue: 0,0:00:49.24,0:00:57.76,Default,,0000,0000,0000,,E prend des clefs et des messages, \Net produit des textes chiffrés. ///// Dialogue: 0,0:00:57.76,0:01:06.77,Default,,0000,0000,0000,,D prend des clefs et des textes en chiffre, \Net produit des messages. Dialogue: 0,0:01:06.77,0:01:12.28,Default,,0000,0000,0000,,Et tout ce qu'il faut, c'est que ces algorithmes soient consistents (/constants): qu'ils satisfassent Dialogue: 0,0:01:12.28,0:01:17.93,Default,,0000,0000,0000,,ce qu'on appelle la propriete de correction. Pour tout message dans l'espace des messages, Dialogue: 0,0:01:17.93,0:01:23.59,Default,,0000,0000,0000,,et toute clef dans l'espace des clefs, \Nil faut que si je chiffre le Dialogue: 0,0:01:23.59,0:01:29.18,Default,,0000,0000,0000,,message avec la clef K et je dechiffre ensuite avec K, \Nje retrouve le message d'origine. Dialogue: 0,0:01:29.18,0:01:34.71,Default,,0000,0000,0000,,Cette equation la est ce qu'on appelle Dialogue: 0,0:01:34.71,0:01:39.97,Default,,0000,0000,0000,,l'equation de consistance (/constance) \Net tout chiffre doit la satisfaire pour etre un chiffre, Dialogue: 0,0:01:39.97,0:01:44.97,Default,,0000,0000,0000,,sinon le dechiffrage est impossible. \NUne chose a souligner est que j'ai place Dialogue: 0,0:01:44.97,0:01:49.78,Default,,0000,0000,0000,,le mot "efficace" entre guillemets. \NLa raison en est qu'"efficace" Dialogue: 0,0:01:49.78,0:01:54.04,Default,,0000,0000,0000,,a des senses differents selon ta perspective. \NSi tu aimes la Dialogue: 0,0:01:54.04,0:01:58.81,Default,,0000,0000,0000,,theorie, l'efficacite veut dire que ca s'execute en un temps d'ordre polynomial. Les algorithmes E et D prennent un Dialogue: 0,0:01:58.81,0:02:02.84,Default,,0000,0000,0000,,temps d'ordre polynomial a operer sur leurs donnees. \NSi tu es plus pratique, Dialogue: 0,0:02:02.84,0:02:07.04,Default,,0000,0000,0000,,l'efficacite veut dire que ca dure un temps assez court. Par exemple, Dialogue: 0,0:02:07.04,0:02:11.47,Default,,0000,0000,0000,,un algorithme E prendrait moins d'une minute \Npour chiffrer 1 gigabyte d'information. Dialogue: 0,0:02:11.47,0:02:16.07,Default,,0000,0000,0000,,D'une facon ou d'une autre, le mot "efficace" capture la notion de duree et tu peux Dialogue: 0,0:02:16.07,0:02:20.16,Default,,0000,0000,0000,,l'interpreter dans ta tete comme tu le veux. \NJe vais continuer a Dialogue: 0,0:02:20.16,0:02:24.14,Default,,0000,0000,0000,,parler d'efficacite et a mettre le mot entre guillemets, \Net comme je l'ai dit si tu es plus theorique Dialogue: 0,0:02:24.19,0:02:27.96,Default,,0000,0000,0000,,penses "duree polynomiale", sinon penses Dialogue: 0,0:02:27.96,0:02:32.10,Default,,0000,0000,0000,,contraintes temporelles concretes. Un autre commentaire que je veut faire est que l'algorithme E Dialogue: 0,0:02:32.10,0:02:36.46,Default,,0000,0000,0000,,est souvent un algorithme aleatoire. \NCa veut dire que pendant que tu cryptes Dialogue: 0,0:02:36.46,0:02:40.98,Default,,0000,0000,0000,,un message, l'algorithme E va generer des bits au hasard, Dialogue: 0,0:02:40.98,0:02:45.68,Default,,0000,0000,0000,,et va utiliser ces bits pour chiffrer le message. Dialogue: 0,0:02:45.68,0:02:50.26,Default,,0000,0000,0000,,Par contre, l'agorithme de dechiffrement est toujours deterministe. C'est a dire Dialogue: 0,0:02:50.26,0:02:54.56,Default,,0000,0000,0000,,que la clef et le texte chiffre sont toujours les memes. \NIls ne dependent pas Dialogue: 0,0:02:54.56,0:02:58.97,Default,,0000,0000,0000,,du hasard d'un algorithme. \NBon, maintenant que nous comprenons Dialogue: 0,0:02:58.97,0:03:03.55,Default,,0000,0000,0000,,mieux ce qu'est un chiffre, je veux te montrer un premier exemple de chiffre sur ("secure"). Dialogue: 0,0:03:03.55,0:03:08.36,Default,,0000,0000,0000,,Ca s'appelle le "one time pad" (la feuille a 1 utilisation). Vernam l'a cree au debut du Dialogue: 0,0:03:08.36,0:03:12.72,Default,,0000,0000,0000,,vingtieme siecle. Avant d'expliquer de qu'est ce chiffre, decrivons le avec Dialogue: 0,0:03:12.72,0:03:17.38,Default,,0000,0000,0000,,la terminologie que nous venons d'apprendre. L'espace des messages du Dialogue: 0,0:03:17.38,0:03:22.22,Default,,0000,0000,0000,,chiffre de Vernam est le meme que l'espace des textes chiffres, et c'est tout simplement Dialogue: 0,0:03:22.22,0:03:27.65,Default,,0000,0000,0000,,l'ensemble des strings (/sequences) binaires longues de n-bits. C'est a dire toutes les sequences de Dialogue: 0,0:03:27.65,0:03:33.85,Default,,0000,0000,0000,,bits, de 0 et de 1. L'espace des clefs est le meme que l'espace Dialogue: 0,0:03:33.85,0:03:40.13,Default,,0000,0000,0000,,des messages, qui est encore l'ensemble de toutes les sequences binaires. Une clef dans le "onetime pad" Dialogue: 0,0:03:40.13,0:03:46.29,Default,,0000,0000,0000,,est une longue sequence binaire aleatoire, aussi longue Dialogue: 0,0:03:46.29,0:03:51.51,Default,,0000,0000,0000,,que le message a chiffrer. Bon, maintenant que nous Dialogue: 0,0:03:51.51,0:03:56.73,Default,,0000,0000,0000,,avons precise l'univers de definition du chiffre, \Ndecrivons comment Dialogue: 0,0:03:56.73,0:04:02.01,Default,,0000,0000,0000,,le chiffre fonctionne. C'est tres simple. \NEssentiellement, le texte chiffre Dialogue: 0,0:04:02.01,0:04:07.81,Default,,0000,0000,0000,,qui resulte du cryptage du message Dialogue: 0,0:04:07.81,0:04:13.77,Default,,0000,0000,0000,,est simplement k XOR m. Voyons en un exemple. Dialogue: 0,0:04:13.77,0:04:20.03,Default,,0000,0000,0000,,Souviens-toi que XOR, ce signe d'addition entoure d'un cercle, veut dire une addition modulo 2. Dialogue: 0,0:04:20.03,0:04:26.82,Default,,0000,0000,0000,,Donc je prends un message, disons 0110111. Et je prends Dialogue: 0,0:04:26.82,0:04:33.87,Default,,0000,0000,0000,,une clef, disons 1011001. Quand je chiffre le message Dialogue: 0,0:04:33.87,0:04:38.84,Default,,0000,0000,0000,,avec la clef, je compute le XOR des deux sequences de bits. Dialogue: 0,0:04:38.84,0:04:43.94,Default,,0000,0000,0000,,Autrement dit, j'additionne les deux, modulo 2, bit par bit. La, le resultat Dialogue: 0,0:04:43.94,0:04:48.64,Default,,0000,0000,0000,,c'est 101110. C'est le texte chiffre. Comment le decrypter? Dialogue: 0,0:04:48.64,0:04:52.89,Default,,0000,0000,0000,,Faisons un chose semblable. Pour decrypter un texte chiffre en utilisant Dialogue: 0,0:04:52.89,0:04:57.25,Default,,0000,0000,0000,,une clef, je XOR la clef et le texte chiffre. Et tout ce qu'il Dialogue: 0,0:04:57.25,0:05:01.82,Default,,0000,0000,0000,,faut verifier c'est que ca satisfasse la regle de consistance. Je vais le refaire doucement Dialogue: 0,0:05:01.82,0:05:06.44,Default,,0000,0000,0000,,une fois encore et ensuite je vais le prendre pour aquis. Dialogue: 0,0:05:06.44,0:05:10.80,Default,,0000,0000,0000,,Donc je doit m'assurer que si je decrypte un texte chiffre, Dialogue: 0,0:05:10.80,0:05:14.89,Default,,0000,0000,0000,,qui avait ete encrypte avec une certaine clef, j'ai bien interrest a ce que le resultat soit Dialogue: 0,0:05:14.89,0:05:20.48,Default,,0000,0000,0000,,le message d'origine, m. Voyons ce qui se passe. Je prends le Dialogue: 0,0:05:20.48,0:05:25.100,Default,,0000,0000,0000,,message chiffre, qui resultait de k XOR m par definition. Quelle en est le dechiffrage? Dialogue: 0,0:05:25.100,0:05:31.63,Default,,0000,0000,0000,,C'est k XOR (k XOR m). Et comme l'addition modulo 2 est associative, Dialogue: 0,0:05:31.63,0:05:36.95,Default,,0000,0000,0000,,c'est equivallent a (k XOR k) XOR m, Dialogue: 0,0:05:36.95,0:05:43.01,Default,,0000,0000,0000,,qui peut etre simplifie. (k XOR k) = 0, \Net zero XOR m Dialogue: 0,0:05:43.01,0:05:49.07,Default,,0000,0000,0000,,est simplement m. Bon, ceci demontre que le ontime pad est bien un chiffre, Dialogue: 0,0:05:49.07,0:05:54.28,Default,,0000,0000,0000,,mais ca ne nous dit rien de sa surete. Nous allons parler de Dialogue: 0,0:05:54.28,0:05:58.32,Default,,0000,0000,0000,,la surete (/securite) de ce chiffre dans un instant. \ND'abord, je vais te poser une question, Dialogue: 0,0:05:58.32,0:06:02.20,Default,,0000,0000,0000,,juste pour s'assurer que tu suis bien. \NSuppose un message m Dialogue: 0,0:06:02.20,0:06:06.09,Default,,0000,0000,0000,,et le chiffrage de m via une clef "ontime pad" k. Dialogue: 0,0:06:06.09,0:06:10.52,Default,,0000,0000,0000,,Tout ce que tu as est le message et son texte chiffre. Ma questions est celle-ci: Dialogue: 0,0:06:10.52,0:06:15.47,Default,,0000,0000,0000,,peux-tu deduire la clef qui a servit a Dialogue: 0,0:06:15.47,0:06:20.59,Default,,0000,0000,0000,,la creation de c a partir de m? Dialogue: 0,0:06:20.59,0:06:23.03,Default,,0000,0000,0000,,J'espere que tu t'ai rendu compte que, etant donne le message Dialogue: 0,0:06:23.03,0:06:25.47,Default,,0000,0000,0000,,et le texte chiffre, il est tres facile de recouvrire la clef. Plus precisement, Dialogue: 0,0:06:25.47,0:06:30.24,Default,,0000,0000,0000,,la clef est m XOR c. Si ceci n'est pas \Nimmediatement evident, Dialogue: 0,0:06:30.24,0:06:35.24,Default,,0000,0000,0000,,nous verrons plus tard pourquoi ceci est le cas. Dialogue: 0,0:06:35.24,0:06:40.20,Default,,0000,0000,0000,,Le onetime pad est assez genial du point de vue de sa performance. Tout ce que tu fait Dialogue: 0,0:06:40.20,0:06:44.66,Default,,0000,0000,0000,,c'est une XOR de la clef sur le message, \Net donc c'est super rapide. Mais chiffrer et dechiffrer Dialogue: 0,0:06:44.66,0:06:48.46,Default,,0000,0000,0000,,des messages tres longs devient difficile en pratique. Dialogue: 0,0:06:48.46,0:06:52.77,Default,,0000,0000,0000,,La raison que c'est difficile est que la clef Dialogue: 0,0:06:52.77,0:06:56.91,Default,,0000,0000,0000,,est essentiellement aussi longue que le message. Donc si Alice et Bob veulent se parler Dialogue: 0,0:06:56.91,0:07:01.32,Default,,0000,0000,0000,,en toute securite, avant qu'Alice ne puisse envoyer un message a Bob, elle doit d'abord Dialogue: 0,0:07:01.32,0:07:06.01,Default,,0000,0000,0000,,transmettre a Bob une clef qui est aussi longue Dialogue: 0,0:07:06.01,0:07:10.54,Default,,0000,0000,0000,,que le message lui-meme. Et bien sur, si elle a un moyen sur d'envoyer cette clef a Bob, Dialogue: 0,0:07:10.54,0:07:15.06,Default,,0000,0000,0000,,pourquoi ne pas s'en servire pour transmettre le Dialogue: 0,0:07:15.06,0:07:19.44,Default,,0000,0000,0000,,message lui-meme. Donc le fait que la clef est aussi longue que le message est Dialogue: 0,0:07:19.44,0:07:23.49,Default,,0000,0000,0000,,problematique et rend le one-time pad\Ntres difficile a utiliser en pratique. Dialogue: 0,0:07:23.49,0:07:28.04,Default,,0000,0000,0000,,Bien sur, nous verrons plus tard que l'idee qui soutent le onetime pad est tres utile, Dialogue: 0,0:07:28.04,0:07:32.59,Default,,0000,0000,0000,,Pour l'instant, regardons de plus pres Dialogue: 0,0:07:32.59,0:07:36.92,Default,,0000,0000,0000,,sa securite. La question qui saute aux yeux est, pourquoi\Nle chiffre "onetime pad" est-il sur? Dialogue: 0,0:07:36.92,0:07:41.20,Default,,0000,0000,0000,,Pourquoi est-ce un bon chiffre? Afin de repondre a cette question, la premiere question a poser Dialogue: 0,0:07:41.20,0:07:45.19,Default,,0000,0000,0000,,est, qu'est que ca veut dire qu'un chiffre est sur? Dialogue: 0,0:07:45.19,0:07:49.76,Default,,0000,0000,0000,,Qu'est ce qui le rend sur? Bien, alors pour etudier la securite des chiffres, parlons d'abord Dialogue: 0,0:07:49.76,0:07:54.96,Default,,0000,0000,0000,,de la theorie de l'information. La premiere personne a etudier la securite des chiffres de Dialogue: 0,0:07:55.15,0:08:00.08,Default,,0000,0000,0000,,facon rigoureuse est le fameux Claude Shannon, pere de la theorie de l'information. Dialogue: 0,0:08:00.08,0:08:05.04,Default,,0000,0000,0000,,Il publia un fameux papier en 1949 ou il analysa la Dialogue: 0,0:08:05.04,0:08:10.60,Default,,0000,0000,0000,,securite du onetime pad. L'idee derriere la definition de securite que nous donna Shannon Dialogue: 0,0:08:10.60,0:08:15.18,Default,,0000,0000,0000,,est que si tout ce que tu vois est le texte chiffre, Dialogue: 0,0:08:15.18,0:08:19.38,Default,,0000,0000,0000,,tu ne devrais rien savoir du message d'origine. Autrement dit, le texte chiffre Dialogue: 0,0:08:19.38,0:08:23.41,Default,,0000,0000,0000,,ne devrait rien reveler du message d'origine. Et tu vois maintenant pourquoi il a fallut attendre Dialogue: 0,0:08:23.41,0:08:28.05,Default,,0000,0000,0000,,l'invention de la theorie de l'information pour avoir cette notion, Dialogue: 0,0:08:28.05,0:08:32.52,Default,,0000,0000,0000,,parce que Shannon a du qui explique formellement ce qu'une information sur le message d'origine veut dire. Dialogue: 0,0:08:32.52,0:08:37.65,Default,,0000,0000,0000,,C'est la la contribution de Shanon. Laisses-moi te montrer la definition de Shanon. Dialogue: 0,0:08:37.65,0:08:42.84,Default,,0000,0000,0000,,Je vais l'ecrire lentement. Ce qu'a dit Shanon, c'est, suppose Dialogue: 0,0:08:42.84,0:08:48.03,Default,,0000,0000,0000,,que nous avons un chiffre E, D qui est definit dans l'espace K, M, C. Donc K, M, C Dialogue: 0,0:08:48.03,0:08:53.41,Default,,0000,0000,0000,,definissent les espaces de la clef, du message et du texte chiffre. Dialogue: 0,0:08:53.41,0:08:58.40,Default,,0000,0000,0000,,On dit que le chiffre est parfaitement sur \Nsi la condition suivante est verifiee. Dialogue: 0,0:08:58.40,0:09:03.59,Default,,0000,0000,0000,,Pour toute paire de messages m0 et m1 dans l'espace des messages... Dialogue: 0,0:09:03.59,0:09:08.68,Default,,0000,0000,0000,,pour toute paire de messages -- la seule exigence est que Dialogue: 0,0:09:08.68,0:09:13.83,Default,,0000,0000,0000,,ces messages aient la meme longueur, nous verrons pourquoi dans une minute -- Dialogue: 0,0:09:13.83,0:09:19.11,Default,,0000,0000,0000,,et pour tout texte chiffre dans l'espace des textes chiffres, Dialogue: 0,0:09:19.11,0:09:25.22,Default,,0000,0000,0000,,(okay?) \Ndonc pour toute paire de messages et tout texte chiffre, Dialogue: 0,0:09:25.22,0:09:31.12,Default,,0000,0000,0000,,il faut que, si je demance quelle est la probabilite que Dialogue: 0,0:09:31.36,0:09:37.10,Default,,0000,0000,0000,,le resultat du chiffrage de m0 par k soit c? Dialogue: 0,0:09:37.10,0:09:43.55,Default,,0000,0000,0000,,Quelle chance y a-t'il que, si je choisi une clef au hasard, \Net que je chiffre m0, j'obtienne c? Dialogue: 0,0:09:43.55,0:09:49.82,Default,,0000,0000,0000,,Cette probabilite doit etre la meme que si j'avais chiffre m1. Okay, bon, Dialogue: 0,0:09:49.82,0:09:54.92,Default,,0000,0000,0000,,la probabilite de chiffrer m1 et d'obtenir c est exactement la meme que la Dialogue: 0,0:09:54.92,0:09:59.96,Default,,0000,0000,0000,,probabilite de chiffrer m0 et d'obtenir c. \NEt comme je l'ai dit auparavant, Dialogue: 0,0:09:59.96,0:10:04.66,Default,,0000,0000,0000,,la clef est choisie au hasard dans un espace (de clefs) \Na distribution uniforme. Dialogue: 0,0:10:04.66,0:10:10.16,Default,,0000,0000,0000,,Donc k est uniforme (a une probabilite uniforme d'etre choisie) dans K. J'utiliserais souvent la notation Dialogue: 0,0:10:10.16,0:10:15.39,Default,,0000,0000,0000,,K, fleche avec un petit r au dessus pour indiquer le fait que k est une variable aleatoire qui est Dialogue: 0,0:10:15.39,0:10:20.49,Default,,0000,0000,0000,,echantillonnee de facon uniforme dans l'espace K. Bon, voici le coeur de la definition de Shannon. Dialogue: 0,0:10:20.49,0:10:25.89,Default,,0000,0000,0000,,Reflechissons a ce que cette definition dit essentiellement. Dialogue: 0,0:10:25.89,0:10:30.96,Default,,0000,0000,0000,,Que ce que ca veut dire que ces deux probabilites sont les memes? Et bien, ce que ca Dialogue: 0,0:10:30.96,0:10:36.30,Default,,0000,0000,0000,,nous dit, c'est que si je suis un attaquant et que j'intercepte un texte chiffre c, Dialogue: 0,0:10:36.30,0:10:41.58,Default,,0000,0000,0000,,la probabilite que de c soit le cryptage de m0 est Dialogue: 0,0:10:41.58,0:10:46.80,Default,,0000,0000,0000,,exactement la meme que la probabilite que c'est le cryptage de m1. Parceque Dialogue: 0,0:10:46.80,0:10:52.22,Default,,0000,0000,0000,,ces probabilites sont egales. Donc si j'ai seulement le texte chiffre c, et rien de plus, Dialogue: 0,0:10:52.22,0:10:57.64,Default,,0000,0000,0000,,je n'ai aucune idee de si le texte chiffre vient de m0 Dialogue: 0,0:10:57.64,0:11:03.20,Default,,0000,0000,0000,,ou de m1, parceque, encore, la probabilite d'obtenir c est Dialogue: 0,0:11:03.20,0:11:08.65,Default,,0000,0000,0000,,egale que ce soit m0 ou m1 qui ait ete encrypte. Dialogue: 0,0:11:08.65,0:11:13.29,Default,,0000,0000,0000,,Alors la, la definition est donnee a nouveau. Et je veux juste ecrire ces proprietes une fois encore Dialogue: 0,0:11:13.29,0:11:17.75,Default,,0000,0000,0000,,plus precisement. Alors refaisons le.\NCe que cette definition veux dire, c'est que Dialogue: 0,0:11:17.75,0:11:22.33,Default,,0000,0000,0000,,si je recoit un certain texte chiffre, je ne peux pas dire d'ou il vient. Dialogue: 0,0:11:22.33,0:11:27.12,Default,,0000,0000,0000,,Je ne peux pas dire si le message qui en est l'original etait m0 ou m1. Dialogue: 0,0:11:27.12,0:11:32.09,Default,,0000,0000,0000,,Et en fait cette propriete est vraie de tous les messages, pour tout m0, Dialogue: 0,0:11:32.09,0:11:37.12,Default,,0000,0000,0000,,pour tout m1. Non seulement je ne peux pas dire \Nsi c vient de m0 ou de m1, Dialogue: 0,0:11:37.12,0:11:42.14,Default,,0000,0000,0000,,je ne peux pas dire s'il vient de m2, m3, m4 ou m5 parceque Dialogue: 0,0:11:42.14,0:11:47.11,Default,,0000,0000,0000,,tous ont la meme probabilite de produire c. \NDonc ce que je veux dire vraiment Dialogue: 0,0:11:47.11,0:11:52.07,Default,,0000,0000,0000,,c'est que si tu encryptes des messages sur un onetime pad alors meme l'adversaire le plus Dialogue: 0,0:11:52.07,0:11:56.73,Default,,0000,0000,0000,,formidable, quelque soit son intelligence, l'adversaire le plus puissant Dialogue: 0,0:11:56.73,0:12:02.53,Default,,0000,0000,0000,,ne poura rien apprendre du message d'origine Dialogue: 0,0:12:02.53,0:12:09.62,Default,,0000,0000,0000,,a partir du texte chiffre. Dit d'une autre maniere, Dialogue: 0,0:12:09.62,0:12:16.32,Default,,0000,0000,0000,,ce que ca prouve c'est qu'aucune attaque fondee seulement sur le texte chiffre ne pourra venir a bout Dialogue: 0,0:12:16.32,0:12:23.26,Default,,0000,0000,0000,,d'un chiffre qui est parfaitement secret. Maintenant, une attaque sur le chiffre n'est pas la seule attaque possible. Dialogue: 0,0:12:23.26,0:12:29.44,Default,,0000,0000,0000,,Et en fait, d'autres attaques sont plausibles. Dialogue: 0,0:12:32.16,0:12:36.77,Default,,0000,0000,0000,,Bon. Maintenant que nous comprenons le secret parfait, \Nla prochaine question est celle-ci: Dialogue: 0,0:12:36.77,0:12:41.33,Default,,0000,0000,0000,,pouvons-nous construire des chiffres qui sont parfaitement secrets? Et il ne faut pas chercher loin, Dialogue: 0,0:12:41.33,0:12:45.52,Default,,0000,0000,0000,,parceque la ontime pad est parfaitement secrete. Dialogue: 0,0:12:45.52,0:12:50.72,Default,,0000,0000,0000,,Alors je veux prouver cela, est c'est le premier resultat qu'a obtenu Shannon, Dialogue: 0,0:12:50.72,0:12:55.86,Default,,0000,0000,0000,,c'est une preuve tres simple alors allons-y et voyons comment ca se fait. Dialogue: 0,0:12:55.86,0:13:01.06,Default,,0000,0000,0000,,Nous avons besoin d'interpreter ce que veut dire cette probabilite Pr[E(k,m0)=c? Dialogue: 0,0:13:01.06,0:13:06.20,Default,,0000,0000,0000,,est zero. Alors ce n;est pas vraiment difficile a voir que pour tout message et Dialogue: 0,0:13:06.20,0:13:11.02,Default,,0000,0000,0000,,pour tout texte chiffre la probabilite que le cryptage de m via la clef k Dialogue: 0,0:13:11.02,0:13:16.16,Default,,0000,0000,0000,,la probabilite que cela soit egal a c, la probabilite d'un choix au hasard de clef, est, par definition, Dialogue: 0,0:13:16.16,0:13:23.72,Default,,0000,0000,0000,,le nombre de clefs ( le nb de k appartenant a K) Dialogue: 0,0:13:24.76,0:13:31.53,Default,,0000,0000,0000,,tel que, si je chiffre m avec k, j'obtient c. Donc je compte literalement le nombre de clefs comme ca Dialogue: 0,0:13:31.53,0:13:37.21,Default,,0000,0000,0000,,et je divise par le nombre total de clefs dans l'espace K. \NC'est bon? C'est ce que ca veut dire Dialogue: 0,0:13:37.21,0:13:42.83,Default,,0000,0000,0000,,que si je choisi une clef au hasard, elle projette m sur c. \NBien. Donc a la base, ce nombre de clefs Dialogue: 0,0:13:42.83,0:13:47.71,Default,,0000,0000,0000,,qui projettent m sur c, divise par le nombre total de clefs.\NC'est sa probabilite. Dialogue: 0,0:13:47.71,0:13:53.41,Default,,0000,0000,0000,,Maintenant suppose que nous avons un chiffre tel que\Npour tout message et Dialogue: 0,0:13:53.41,0:13:58.97,Default,,0000,0000,0000,,tout texte chiffre, il se trouve que si je regarde ce nombre, Dialogue: 0,0:13:58.97,0:14:04.39,Default,,0000,0000,0000,,le nombre de k dans K tels que E(m,k)=c, ou le nombre de clefs Dialogue: 0,0:14:04.39,0:14:09.26,Default,,0000,0000,0000,,qui projettent m sur c, suppose que ce nombre soit constant. Dialogue: 0,0:14:09.26,0:14:14.08,Default,,0000,0000,0000,,Je postule qu'il se trouve etre 2, 3, ou 10 ou 15. \NIl se trouve simplement etre Dialogue: 0,0:14:14.08,0:14:19.33,Default,,0000,0000,0000,,une constante. Si c'est le cas, alors par definition, pour tout m0 et m1 Dialogue: 0,0:14:19.33,0:14:24.75,Default,,0000,0000,0000,,et pour tout c, cette probabilite doit etre la meme parce que le denominateur est le meme, Dialogue: 0,0:14:24.75,0:14:30.10,Default,,0000,0000,0000,,le numerateur est le meme, c'est juste une constante, \Net donc la probabilite est Dialogue: 0,0:14:30.10,0:14:35.64,Default,,0000,0000,0000,,toujours la meme pour tout m et tout c. \NAlors si cette propriete est vraie, le chiffre doit avoir Dialogue: 0,0:14:35.64,0:14:43.62,Default,,0000,0000,0000,,une surete parfaite (/un secret parfait). \NBon, alors voyons ce qu'on peut dire au suject Dialogue: 0,0:14:43.62,0:14:48.80,Default,,0000,0000,0000,,de cette quantite pour le onetime pad. Alors une question pour toi: Dialogue: 0,0:14:48.80,0:14:54.77,Default,,0000,0000,0000,,Si j'ai un message chiffre, combien de onetime pads y a t-il qui projettent m sur c? Autrement dit, combien de clefs Dialogue: 0,0:14:54.77,0:15:00.38,Default,,0000,0000,0000,,y a-t-il telles que m XOR k produise c? Dialogue: 0,0:15:00.38,0:15:06.10,Default,,0000,0000,0000,,Alors j'espere que tu a repondu "1". Voyons pourquoi c'est le cas. Dialogue: 0,0:15:06.10,0:15:12.68,Default,,0000,0000,0000,,Pour le onetime pad, si on a que E(k,m)=c, Dialogue: 0,0:15:12.68,0:15:18.30,Default,,0000,0000,0000,,ca implique par definition que k XOR m = c. Dialogue: 0,0:15:18.30,0:15:24.88,Default,,0000,0000,0000,,Cela implique que k = m XOR c. Dialogue: 0,0:15:24.88,0:15:31.77,Default,,0000,0000,0000,,Je "XOR" les deux cotes par "m" et j'obtiens \Nque k doit etre egal a Dialogue: 0,0:15:31.77,0:15:37.56,Default,,0000,0000,0000,,m XOR C. Bien? Alors ce que ce veut dire, c'est que pour le onetime pad, en fait, Dialogue: 0,0:15:37.56,0:15:43.71,Default,,0000,0000,0000,,le nombre de clefs dans K tels que E(k,m)=c \Ntout simplement 1. Et cela est vrai Dialogue: 0,0:15:43.71,0:15:49.85,Default,,0000,0000,0000,,pour tout message et tout texte chiffre. \NAlors, encore, comme on l'a dit avant, Dialogue: 0,0:15:49.85,0:15:54.99,Default,,0000,0000,0000,,cela signifie que le onetime pad est parfaitement secret. Dialogue: 0,0:15:54.99,0:15:59.09,Default,,0000,0000,0000,,Et cela complete la preuve de ce lemme trivial, tres, tres simple. Dialogue: 0,0:15:59.09,0:16:03.64,Default,,0000,0000,0000,,Maintenant la chose marrante est que meme si ce lemme est simple a prouver Dialogue: 0,0:16:03.64,0:16:08.19,Default,,0000,0000,0000,,il demontre quelque chose de tres puissant. \NIl nous dit au fond que Dialogue: 0,0:16:08.19,0:16:12.33,Default,,0000,0000,0000,,pour un onetime pad, il n'est pas possible d;attaquer seulement le texte chiffre. Alors au contraire Dialogue: 0,0:16:12.33,0:16:16.39,Default,,0000,0000,0000,,du chiffre de substitution, ou du chiffre de Vigenere, ou des machines a cran, qui pouvaient toutes Dialogue: 0,0:16:16.39,0:16:20.78,Default,,0000,0000,0000,,etre cassees par une analyse du texte chiffre, nous venons\Nde prouver que pour le onetime pad Dialogue: 0,0:16:20.78,0:16:25.11,Default,,0000,0000,0000,,cela serait impossible. Etant donne le texte chiffre, \Ntu n'apprends rien Dialogue: 0,0:16:25.11,0:16:29.28,Default,,0000,0000,0000,,du message d'origine. Cependant, comme on l'a vu, \Ncela n'est pas la fin de l'histoire. Dialogue: 0,0:16:29.28,0:16:33.13,Default,,0000,0000,0000,,Je veux dire, est-ce qu'on a fini? \NOn pourrait avoir deja fini la classe, parcequ'on Dialogue: 0,0:16:33.13,0:16:37.36,Default,,0000,0000,0000,,a une methode pour chiffrer de facon a ce qu'un attaquant\Nne peut rien recouvrir du message. Dialogue: 0,0:16:37.36,0:16:41.21,Default,,0000,0000,0000,,On peut tout aussi bien finir le cour maintenent. \NMais en fait, comme nous allons voir, il y a Dialogue: 0,0:16:41.21,0:16:45.26,Default,,0000,0000,0000,,d'autres attaques qui sont possibles. Et, en fait, ce ontime pad n'est pas Dialogue: 0,0:16:45.26,0:16:49.32,Default,,0000,0000,0000,,un chiffre tellement sur. Il y aa d'autres attaques et nous allons Dialogue: 0,0:16:49.32,0:16:54.08,Default,,0000,0000,0000,,les etudier bientot. Okay? Je souligne encore: le fait qu'il a un\Nsecret parfait ne veut pas dire Dialogue: 0,0:16:54.08,0:16:58.78,Default,,0000,0000,0000,,que le onetime pad est un chiffre sur. \NBien. Mais comme on l'a dit Dialogue: 0,0:16:58.78,0:17:03.73,Default,,0000,0000,0000,,le probleme avec le onetime pad est que la clef secrete\Nest vraiment longue. Si tu as Dialogue: 0,0:17:03.73,0:17:08.07,Default,,0000,0000,0000,,une maniere de communiquer cette clef secrete a ta contrepartie, tu peux tout aussi bien Dialogue: 0,0:17:08.07,0:17:12.25,Default,,0000,0000,0000,,te servir de cette meme methode pour communiquer le message a ta contrepartie Dialogue: 0,0:17:12.25,0:17:16.65,Default,,0000,0000,0000,,et tu n'aurras alors pas besoin d'un chiffre pour commencer. \NC'est bon? Donc le probleme encore une fois Dialogue: 0,0:17:16.65,0:17:21.10,Default,,0000,0000,0000,,est que le onetime pad a des clefs tres longues. \NLa question evidente est y a-t-il Dialogue: 0,0:17:21.10,0:17:25.45,Default,,0000,0000,0000,,d'autres chiffres qui ont un secret parfait et ont peut-etre des clefs bien plus courtes? Dialogue: 0,0:17:25.45,0:17:30.14,Default,,0000,0000,0000,,Et bien, le mauvaise nouvelle est que Shannon, apres avoir prouve que le onetime pad Dialogue: 0,0:17:30.14,0:17:34.94,Default,,0000,0000,0000,,est parfaitement secret, prouva un autre theoreme qui dit\Nque si un chiffre Dialogue: 0,0:17:34.94,0:17:39.88,Default,,0000,0000,0000,,est parfaitement secret, le nombre de clefs dans le chiffre doit etre exactement le nombre de Dialogue: 0,0:17:39.88,0:17:44.94,Default,,0000,0000,0000,,messages que le chiffre peut supporter. Bon, alors\Nen particulier, ce que ca veut dire c'est que Dialogue: 0,0:17:44.94,0:17:51.04,Default,,0000,0000,0000,,si j'ai un secret parfait, alors necessairement \Nle nombre de clef, ou plutot la longueur de ma clef, Dialogue: 0,0:17:51.04,0:17:56.31,Default,,0000,0000,0000,,doit etre plus grande que la longueur du message.\NAlors en fait, puisque le onetime pad Dialogue: 0,0:17:56.31,0:18:00.83,Default,,0000,0000,0000,,nous satisfait avec l'egalite (de longueur), le onetime pad est optimal. Il est parfaitement secret. Dialogue: 0,0:18:00.83,0:18:04.86,Default,,0000,0000,0000,,Alors a la base, ce que ca demontre, c'est que c'est Dialogue: 0,0:18:04.86,0:18:09.06,Default,,0000,0000,0000,,une notion interessante. Le onetime pad est un chiffre interessant. Mais en fait, Dialogue: 0,0:18:09.06,0:18:13.36,Default,,0000,0000,0000,,en realite, c'est tres difficile a utiliser. Il est difficile de s'en servire en pratique, Dialogue: 0,0:18:13.36,0:18:17.79,Default,,0000,0000,0000,,a cause de ses longues clefs. \NEt cette notion de secret parfait, Dialogue: 0,0:18:17.79,0:18:21.84,Default,,0000,0000,0000,,meme si elle est interessante, nous dit que des chiffres \Npratiques ne seront pas vraiment surs. Dialogue: 0,0:18:21.84,0:18:26.28,Default,,0000,0000,0000,,Et nous verrons cela, mais comme je l'ai dit, Dialogue: 0,0:18:26.28,0:18:30.99,Default,,0000,0000,0000,,l'idea deriere le onetime pad est tres bonne. Et nous allons voir, en cours, Dialogue: 0,0:18:30.99,0:18:33.55,Default,,0000,0000,0000,,comment en faire un systeme pratique.