Loading
Notes d'étude
Study Reminders
Support
Text Version

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Fondations de CryptographyProf. Dr. Ashish Choudhury (Former) Infosys Foundation Career Development Chair ProfessorInternational Institute of Information Technology-BangaloreLecture-13CPA SecurityHello everyone, welcome to lecture 12. Le plan de cette conférence est le suivant. (Référez-vous à la diaporama: 00 :32) Dans cette conférence, nous discuterons des limites des chiffrements de cours d'eau. Et nous présenterons le concept de la sécurité de l'ACP et nous verrons les motivations des attaques de l'ACP dans le scénario du monde réel. (Référez-vous à la diapositive: 00 :46) Donc, rappelons-nous le procédé de chiffrement. Donc dans le flux de chiffrement nous avons un générateur pseudo-aléatoire, à droite, qui prend une graine aléatoire de bits l et vous donne une sortie de bits L et le résultat est pseudo-aléatoire en ce sens que la sortie ne peut pas être distinguée du résultat d'un générateur de nombres vraiment aléatoires. Ainsi, l'algorithme de chiffrement du procédé de chiffrement étend fondamentalement la graine pour le chiffrement à l'aide du pseudo-générateur aléatoire en traitant la clé de l'algorithme de chiffrement comme la valeur de départ du générateur pseudo-aléatoire, et la sortie développée du pseudo-générateur aléatoire est utilisée comme une extrusion pour masquer votre message. Et dans l'algorithme de déchiffrement, nous faisons simplement l'opération inverse. C'est donc un procédé de chiffrement. Ainsi, la première restriction imposée par le procédé de chiffrement est qu'il ne s'agit pas d'un message multimessage sécurisé. Cela signifie que nous pouvons utiliser le chiffrement de flux uniquement pour chiffrer un message à l'aide d'une clé, nous ne pouvons pas chiffrer plusieurs messages à l'aide de la même clé.Et la principale raison de cela est que l'algorithme de chiffrement dans n'importe quel algorithme de chiffrement est déterministe car à l'intérieur de l'algorithme de chiffrement, nous allons étendre la clé à l'aide de pseudo-générateur aléatoire. Cela signifie que si je veux chiffrer un texte brut sous la clé k, il conduira au même texte de chiffrement c, à droite. Donc si j'ai un message dit 00. Et si j'ai une clé k, et si je veux chiffrer un message 00 en utilisant la même clé plusieurs fois, je vais toujours obtenir le même texte de chiffrement parce que mon algorithme de chiffrement n'est pas randomisé. Il n'y a pas de caractère aléatoire interne dans le processus de chiffrement du flux. Et sur la base de cette idée, nous pouvons en fait donner une instanciation de l'expérience de sécurité multi-messages de l'ACO où nous pouvons montrer un adversaire qui peut en fait identifier le message chiffré par le challenger dans l'expérience. Voici donc l'exemple de l'expérience. Donc, étant donné qu'il s'agit d'une expérience multi-message de sécurité de l'ACO, notre adversaire soumet fondamentalement une paire de vecteurs de messages où dans le vecteur 0e nous avons 2 messages composés de tous les 0s.considérant que dans le premier vecteur m1 le premier bloc de message est le premier message est tous les 0 alors que le second message est tous les 1s. Maintenant, selon les règles de l'expérience, le challenger ici va exécuter l'algorithme de génération de clé et il décidera au hasard de l'index m0 ou m1 qu'il veut chiffrer. Et donc, il prépare le texte de chiffrement pour l'adversaire où le vecteur de chiffrement de défi est désigné par le vecteur C et il sera composé de 2 ciphertext right.Now, remarquant que la façon dont l'adversaire a soumis la paire de messages de défi m0 et m1, l'adversaire sait que si le vecteur de chiffrement vectoriel est un cryptage du vecteur m0, alors c1 et c2 seront identiques car tous les deux auraient été le chiffrement du même message puis tous les 0s. Alors que l'adversaire sait que si le chiffrement de la contestation est un cryptage du vecteur de message m1, alors définitivement le texte de chiffrement c1 sera différent du texte chiffré c2.Parce que le message est dans le premier vecteur m1 sont différents. Donc, sur la base de cette intuition, notre adversaire va générer comme suit il va générer le bit b ’ = 0 si et seulement f c1 = c2. Et maintenant, il est facile de voir que notre adversaire va sortir le bon bout. En effet, il identifiera correctement le message de défi qui est crypté dans le vecteur challenge ciphertext c vecteur avec probabilité 1.Parce que si en effet le vecteur 0e est chiffré dans le vecteur C, alors définitivement c1 = c2. Alors que si le vecteur de message m1 aurait été chiffré dans le défi, chiffhertext C, c1 n'est pas égal à c2. Il est donc clair que notre adversaire va gagner ce jeu avec la probabilité 1, et qui montre que dans un algorithme de chiffrement nous ne pouvons pas chiffrer plusieurs messages à l'aide de la même clé, au maximum nous ne pouvons chiffrer qu'un seul message. (Voir Diapositive Heure: 04 :52) La seconde restriction imposée par le chiffrement du flux est qu'elle prend en charge le chiffrement des messages de longueur fixe uniquement. Ainsi, par exemple, imaginez que nous avons un algorithme de chiffrement sur l'espace de message des bits de L, à droite. Donc, imaginez l'expéditeur a un message qui a une taille supérieure à L bits. Par exemple, imaginez que l'expéditeur a un message qui se compose de 2 bits de L. Maintenant, une façon naïve de chiffrer ce message aurait été de diviser votre message en 2 blocs de taille L bits, L bits. Et chiffrer chacun des blocs de message m1 et m2 à l'aide de la clé k en exécutant 2 instances de l'algorithme de chiffrement du flux et le texte de chiffrement résultante sera c1, c2. Maintenant la question est, est cette méthode de diviser votre message plus grand en blocs plus petits de taille L bits et de chiffrer chaque bloc de message individuel est sécurisé ou non par l'AOC. Et il s'avère que la réponse est non. C'est à cause du problème que l'algorithme de chiffrement de flux de flux est déterministe, c'est-à-dire que si j'ai un message plus large consistant en plusieurs blocs de bits L, et si j'ai des blocs répétés dans ce message plus grand, alors où que ce bloc se répète, je vais obtenir les mêmes blocs de chiffrement car le même k utilisé pour chiffrer tous ces blocs, et il n'y a pas de caractère aléatoire interne dans le cadre de l'algorithme de chiffrement. Donc, sur la base de cette faiblesse, nous pouvons en fait créer une instance de l'expérience de sécurité de message unique de l'ACO, et montrer qu'il existe effectivement une stratégie de l'adversaire, qui peut identifier clairement quel message a été chiffré par le challenger. Voici donc l'exemple de l'expérience de sécurité de message unique de l'ACO. Ainsi, dans cette instance, l'adversaire soumet 2 messages m0 et m1. Et j'insiste sur le fait qu'il s'agit d'une expérience d'un seul message de l'ACO parce que notre but est de montrer qu'il y a un adversaire qui peut distinguer le chiffrement de 2 messages plus grands où notre stratégie de cryptage consiste à diviser les gros messages en petits blocs et à chiffrer indépendamment ces blocs.Donc, dans ce cas, fondamentalement, l'adversaire soumet 2 gros messages, m0 et m1, où m0fondamentalement composé de 2 blocs de toutes les années 2000 et m1 serait constitué du premier bloc étant tous les 0 et le second étant tous les 1 s. Maintenant, le challenger prépare le chiffrement de la contestation et, pour cela, le challenger exécute l'algorithme de génération de clé du chiffrement du flux et obtient une clé aléatoire et il décide au hasard soit le message m0 ou m1 pour le chiffrement. Ainsi, sur la base de l'index b qui est choisi au hasard par le challenger, le challenger prépare le texte chiffré de défi consistant en 2 blocs de texte de chiffrement c1 et c2. Et remarquant que l'adversaire sait que si le chiffrement de défi est un chiffrement de m0, alors certainement c1 et c2 vont être identiques parce que notre processus de cryptage est un algorithme déterministe. D'autre part, l'adversaire sait que si le texte de chiffrement C est un chiffrement du message m1, alors il est certain que le bloc de texte de chiffrement c1 sera différent du bloc de texte de chiffrement c2.Parce que les blocs internes du message m1 sont différents. Ainsi, sur la base de cette stratégie, l'adversaire va produire sa sortie comme suit: extrants b ’ = 0 si et seulement si c1 = c2. Et il est facile de voir que la stratégie de l'adversaire dans ce cas identifie correctement quel message a été chiffré dans le texte de chiffrement défi c avec probabilité 1, cela signifie que 100% de chance que l'adversaire va distinguer le chiffrement de m0 d'un chiffrement de m1. Et donc, ce processus de division de votre message plus grand en blocs plus petits de bits L, L bits et cryptage de chaque bloc en exécutant une instance de chiffrement de flux, mais avec la même clé k n'est pas un mécanisme sécurisé. (Référez-vous Diapositive: 08 :58) Donc, comme vous pouvez le voir, les deux faiblesses que nous avons soulignées dans le contexte du procédé de chiffrement sont à cause du fait que l'algorithme de chiffrement dans le flux de flux est un algorithme déterministe. Et donc, il est grand temps que nous allions maintenant à un processus de cryptage aléatoire pour nous débarrasser de ces 2 lacunes. (Référez-vous à la diapositive: 09 :16) Donc ce que nous allons faire maintenant, c'est que nous allons introduire un modèle d'attaque plus fort, à savoir le modèle d'attaque en clair choisi, que nous appelons aussi un CPA. Et nous verrons plus tard que lorsque nous construisons le processus de cryptage, qui sont protégés par l'ACP, nous pouvons réellement nous débarrasser des problèmes ou des lacunes que nous avons rencontrés dans le contexte du procédé de chiffrement. Donc, avant d'entrer dans les détails formels du modèle d'attaque CPA, voyons quelques applications réelles que nous voulons réellement capturer dans notre modèle d'attaque, c'est un exemple pris dans le contexte de la seconde guerre mondiale. Cet exemple montre en gros comment l'armée britannique a enfreint les codes allemands en obtenant un service d'oracle de cryptage de l'armée allemande. Ce que l'armée britannique a fait, c'est ce qui suit. Ils ont délibérément planté des mines de mer à des endroits connus dont je dénote l'emplacement 1, l'emplacement 2 et l'emplacement 3 et ainsi de suite. Et ce que l'armée allemande a fait en gros, c'est qu'à chaque fois qu'ils ont trouvé une mine de mer plantée à un endroit précis, ils ont renvoyé l'identité de ces endroits à leur quartier général de façon cryptée, à droite. Donc ici nous avons l'expéditeur, l'armée allemande qui est en train de découvrir l'emplacement des mines de mer et le quartier général agit comme le récepteur. Et il y a une clé aléatoire commune établie entre l'expéditeur et le récepteur, et chaque fois que l'expéditeur, c'est-à-dire dans ce contexte, l'armée allemande a identifié les emplacements de la mine, ils ont chiffré l'identité de ces emplacements sous une clé inconnue k et l'ont renvoyé au destinataire, c'est-à-dire au siège. Et quand cette communication chiffrée se passait, à droite, ce que l'armée britannique a fait, c'est en gros qu'ils ont intercepté cette communication cryptée, et ils savaient quel message a été chiffré, pas vrai. Ce qui n'est pas connu de l'armée britannique ici est la clé k, qui n'est pas connue de l'armée britannique, mais ce que l'armée britannique sait dans cet exemple particulier est ce que le message a été chiffré et communiqué au destinataire. Dans un certain sens, on peut imaginer que, dans cet exemple, l'armée britannique, elle agit comme un adversaire, d'accord, parce qu'elle est entre l'expéditeur et le destinataire et qu'elle obtient en quelque sorte un service d'oracle de cryptage, en ce sens que l'armée britannique obliga les Allemands à chiffrer les messages de l'armée britannique. Et cela aussi sans laisser l'expéditeur ou le destinataire, à savoir l'armée allemande, prendre conscience de ce fait. La raison pour laquelle nous l'appelons comme un service d'oracle que l'expéditeur qui envoie effectivement les messages chiffrés n'est pas conscient du fait qu'il est influencé par le chiffrement des messages de choix de l'adversaire. C'est donc le genre de scénario d'attaque qui s'est réellement produit dans le contexte mondial réel. Et si vous voyez notre code de chiffrement uniquement modèle d'attaque, ce genre de scénario n'est certainement pas capturé dans notre modèle de texte de chiffrement uniquement, car il s'agit d'une attaque plus puissante, qui peut se produire et qui n'est pas capturée correctement, ou pas du tout capturé dans le modèle de chiffrement uniquement. (Référez-vous à la diapositive: 12 :38) Maintenant, voyons un autre exemple qui motive le modèle d'attaque en texte en clair choisi. Et c'est encore une fois dans le contexte de la guerre mondiale. Et voici le scénario est le suivant l'armée japonaise ils étaient en fait en train de suivre les mouvements de la US Navy et il agit comme un expéditeur et leur quartier général de retour le Japon est le récepteur et ils ont une clé partagée k. Et d'une manière ou d'une autre, pendant la guerre mondiale, la marine américaine a intercepté un message que les Japonais prévoient d'attaquer un endroit appelé AF.So AF était un endroit encodé. Ainsi, après avoir passé beaucoup de temps, la marine américaine n'a pas été en mesure de confirmer ce à quoi correspond exactement l'emplacement codé AF. Mais ils croyaient fermement qu'il s'agit de petites îles qui sont une petite île aux États-Unis. Mais ils n'étaient pas sûrs de savoir si exactement AF correspond à l'île de Midway ou non. Donc, pour confirmer leur intuition ou leur compréhension de ce que l'armée américaine a fait est qu'ils ont un service d'oracle de cryptage des Japonais, essentiellement les Japonais ont forcé les Japonais à chiffrer l'amessage de leur choix et sans laisser l'armée japonaise en savoir sur ce fait. La façon dont la marine américaine l'a fait, c'est ce qui suit. Donc ce qu'ils ont fait, c'est qu'ils ont simplement donné instruction à la force qui était située à l'île de Midway de communiquer un message au quartier général des États-Unis indiquant que les réserves d'eau douce étaient faibles dans les îles à mi-chemin, et ce message a été envoyé en clair, et ils voulaient en fait que les Japonais interceptent ce message. Et ce message a été intercepté par l'armée japonaise. Et dès que l'armée japonaise a effectivement intercepté ce message, ils ont fait une communication cryptée à leur siège sous la clé k qui n'était pas connue de l'armée américaine et le message crypté était en gros correspondant au message que la FA est faible sur l'eau et qu'une communication cryptée a ensuite été interceptée par la marine des États-Unis. Et maintenant vous pouvez clairement voir que dès que ce message chiffré a été intercepté, la marine américaine a été confirmée qu'effectivement AF correspond à l'île de Midway. Donc maintenant vous pouvez voir ici, la marine américaine a essentiellement agi comme un adversaire assis entre l'expéditeur et le récepteur, et ils ont eu un service d'oracle de chiffrement de l'expéditeur, à savoir l'armée japonaise dans ce contexte. Et une fois qu'ils ont confirmé que la FA correspond à l'île de Midway, ils ont fini par déployer des troupes supplémentaires dans l'île Midway. Et les Japonais pensaient qu'en effet, les îles Midway avaient en fait un approvisionnement en eau faible, ce qui n'était pas le cas en réalité. Ils ont donc pris pour cible l'île de Midway. Ils ne s'attendaient pas à ce que les troupes aient été renforcées dans l'Island.Et en fait, l'armée japonaise a fini par subir de lourdes pertes. Encore une fois, il s'agit d'un exemple de scénario d'attaque dans le monde réel qui ne peut pas être capturé correctement dans le modèle de chiffrement uniquement. (Référez-vous à la diapositive: 15 :42) Cela signifie que nous devons maintenant passer à un modèle d'attaque plus fort que nous appelons le modèle d'attaque de l'ACP. Et le scénario du modèle d'attaque CPA est le suivant. Nous avons un émetteur et un récepteur et une clé aléatoire commune est d'une certaine façon convenue entre les deux entités. Et ici, l'adversaire est supposé obtenir le service d'oracle de chiffrement de l'expéditeur ou du récepteur pour simplifier, comme on suppose que le service d'oracle de chiffrement provient de l'expéditeur. Par conséquent, ce que je veux dire par les services d'oracle de chiffrement, c'est que l'adversaire a en quelque sorte accès au chiffrage “ box ” (entre guillemets). Et en gros, l'adversaire peut influencer le cryptage du senderto quel que soit le texte en clair que l'adversaire veut être chiffré sans laisser le senderknow ou être conscient du fait que l'expéditeur chiffre en fait les messages de l'adversaire ’ schoice.Et cela peut arriver pour n'importe quel nombre de requêtes tant que le temps d'exécution de l'attaquant est faisable ou délimité par les calculs. Ainsi, dans ce cas, par exemple, l'adversaire peut d'abord obtenir un chiffrement du message m1, puis basé sur le chiffrement du message m1, il peut décider ensuite quel message il devrait demander pour le chiffrement à partir de l'oracle de chiffrement. Donc par exemple, m2 et comme ça, il peut s'adapter à l'oracle de cryptage, ce que je veux dire par des requêtes adaptatives, c'est que cet adversaire ne soumet pas toutes ses requêtes de cryptage en un seul coup, notre adversaire pourrait être un adversaire plus intelligent. Et en se basant sur les réponses que l'adversaire a vues depuis l'interaction précédente avec l'oracle de chiffrement, il peut décider ce qu'il faut demander à partir de l'oracle de chiffrement dans les requêtes suivantes. En ce sens, notre adversaire est un adversaire adaptatif.Et une fois que l'adversaire a eu accès à l'oracle de cryptage et qu'il a préparé une base de données de plusieurs paires (messages, chiffhertext), nous sommes tous les algorithmes de chiffrement correspondants sont les cryptions du texte normal correspondant sous la même clé inconnue k. L'objectif de l'adversaire est le suivant: un message frais est crypté, et il est intercepté par notre adversaire, et l'objectif de l'adversaire est essentiellement de calculer certaines fonctions du texte sous-jacent dans ce nouveau texte chiffré. J'insiste sur le fait qu'il se peut qu'un message frais qui a été chiffré et maintenant intercepté par l'adversaire puisse déjà appartenir à la liste des messages pour lesquels l'adversaire aurait obtenu la requête d'oracle de chiffrement. Lorsque nous disons que nous voulons construire un système de sécurité de l'ACP, notre système devrait s'occuper de ce scénario comme bien (voir la diapositive: 18 :07). Maintenant, faisons en sorte que la définition de la sécurité de l'ACP soit un peu plus formelle par notre expérience. Nous avons donc un processus de cryptage public sur un espace de message connu et nous avons un adversaire informatique limité. La nomenclature de l'expérience est la suivante. On appelle l'expérience comme? ?????,? ??? En ce qui concerne l'adversaire A placé contre un schéma Π et il s'agit d'un message unique de sécurité CPA.Nous sommes fondamentalement l'objectif de l'attaquant est d'identifier le message qui a été crypté en gros, il doit distinguer le chiffrement entre le chiffrement de 2 messages basés sur le service d'oracle de chiffrement, et n ici est le paramètre de sécurité de droite. Donc à un niveau très élevé, le jeu se compose de 4 étapes. Nous avons une phase de formation pré-challenge, nous avons une phase de challenge, nous avons une phase de formation post-challenge et nous avons une phase de sortie. Si nous comparons cette expérience avec notre jeu de sécurité de l'ACO, alors la phase de challenge et la phase de sortie restent les mêmes que dans le jeu COA. Les nouvelles choses ici sont la phase de formation pré-remise en question et la phase de formation post-remise en question. Laissez-nous donc aller un peu plus loin dans ce que sont exactement les phases de formation pré-remise en question et post-remise en question. Donc dans la phase de formation pré-challenge, fondamentalement notre adversaire obtient un service d'oracle de cryptage, donc il soumet plusieurs messages de son choix adaptivement et demande le chiffrement de ces messages. Donc, pour l'objectif de simplicité ici, j'ai représenté toutes les requêtes d'oracle de chiffrement soumises en une seule fois. Mais ce n'est peut-être pas le cas, notre adversaire peut soumettre n'importe quel message de son choix en fonction de la réponse qu'il a déjà vue. Donc, une fois que ces requêtes de chiffrement sont soumises à notre challenger, ce que fait le challenger c'est qu'il doit répondre aux thesequeries. Et ces modèles, fondamentalement l'adversaire a accès au service d'oracle de chiffrement où il peut influencer l'expéditeur pour chiffrer les messages que l'adversaire ressent, et répondre aux requêtes d'oracle de chiffrement, ce que le challenger est, il exécute l'algorithme de génération de clé ou obtient une clé aléatoire et chiffre les messages d'oracle de chiffrement m1, m2, …, mq selon l'algorithme de chiffrement du schéma Π. Il n'y a donc aucune restriction sur le nombre de Les requêtes, le type de requêtes que l'adversaire peut soumettre pour les requêtes d'oracle de chiffrement, etc. La seule restriction est que le temps de fonctionnement de l'adversaire doit être limité en termes de calcul, c'est-à-dire qu'il devrait être une fonction polynomiale de notre paramètre de sécurité qui impose automatiquement une restriction à la file d'attente, à savoir le nombre de requêtes que l'adversaire peut demander. Il s'agit donc d'une phase de formation pré-challenge. (Référez-vous à la diapositive: 20 :59) Dans la phase de remise en question, l'adversaire conteste notre challenger, et il soumet une paire de messages à partir de l'espace de texte en clair. Etant donné qu'il s'agit d'une expérience de sécurité de message unique, la seule restriction sur la paire de messages de remise en question est que les longueurs doivent être les mêmes. En dehors de cela, il n'y a absolument aucune restriction qui signifie que le message est m0 m1 peut être n'importe lequel des messages que l'adversaire a déjà interrogés dans le cadre des requêtes d'oracle de chiffrement. Donc pour distinguer les messages m0 et m1 qui ont été soumis dans le cadre de la phase de remise en question, j'utilise une couleur différente ici. Mais la valeur avisée pourrait être l'un des messages que l'adversaire a déjà interrogés dans le passé lors de la phase de formation préalable au défi. Maintenant, le challenger doit préparer le texte de chiffrement du défi et faire ce que le challenger fait est de décider au hasard s'il doit chiffrer le message m0 ou s'il doit chiffrer un message m1.Et une fois qu'il a décidé quel message il a à chiffrer, il chiffre ce message particulier. Ainsi, le message chiffré est dénoté par mb et avec probabilité moitié mb pourrait être m0 et avec probabilité moitié mb pourrait être m1. Et maintenant, le défi pour l'adversaire est d'identifier ce qui a été crypté dans c * s'il est m0 ou s'il est m1. Maintenant, ce que nous faisons ici, c'est que nous donnons à l'agresseur plus de pouvoir ici. Donc, une fois que l'adversaire voit le texte de défi, nous avons à nouveau laissé l'adversaire obtenir l'accès au service d'oracle de chiffrement et cela modéle fondamentalement le fait que dans la vraie session du monde entre l'expéditeur et le récepteur pourrait être composé de plusieurs messages et l'adversaire pourrait être intéressé d'identifier ou de briser la sécurité d'un seul message particulier dans cette session sur la base de n'importe quelle requête d'oracle de chiffrement qu'il pourrait obtenir avant que le texte de chiffrement soit communiqué et après que le texte de chiffrement soit communiqué. En gros, nous donnons à l'adversaire un service d'oracle de cryptage post-challenge, où encore il peut demander le cryptage de tout message de son choix, y compris les messages de défi, m0 ou m1. Il n'y a absolument aucune restriction. Il peut adapter adaptivement la requête d'oracle et en réponse, il approuira le chiffrement de ces messages. La seule restriction est que le nombre de requêtes doit être borné par une fonction polynomiale du paramètre de sécurité l.Now, une fois que l'adversaire a obtenu cette phase de formation pré-challenge, la phase de formation post-provocation, basée sur les réponses qu'il a obtenues, il doit identifier ce qui a été chiffré dans le texte de chiffrement défi c *, c'est-à-dire qu'il doit identifier s'il est m0 ou s'il est m1 qui a été crypté en c *. Donc, c'est une instance d'un seul message un expérimentateur de sécurité de CPA. Maintenant, la définition du message unique CPA security est que nous disons que notre schéma Π est un message unique CPA sécurisé ou un message unique CPA sécurisé, si pour chaque algorithme de temps polynomial probabiliste participant à cette expérience, il y a une fonction négligeable négligeable (n), telle que la probabilité d'un adversaire gagnant cette expérience, que nous dénotent comme? (? Sorties? ’ =?) ≤ 1 +? ??? (?) signifie la probabilité qu'une sortie ou identifie le message 2right qui a été crypté dans c *, est délimité par la moitié plus cette fonction négligeable, où la probabilité est effectivement prise sur le caractère aléatoire de notre challenger et le caractère aléatoire de notre adversaire. Rappelez-vous donc que tous ces cas d'expérience sont des expériences randomisées, parce que le vérificateur va utiliser des pièces aléatoires pour décider du message à chiffrer, de l'algorithme de génération de clé à produire et du caractère aléatoire interne qui sera utilisé dans le cadre du processus de cryptage. C'est pourquoi la probabilité est trop aléatoire par rapport au challenger, et de la même manière que l'adversaire peut demander des requêtes d'oracle de cryptage, où la nature des requêtes peut être déterminée aléatoirement en se basant sur les pièces internes du droit de l'adversaire. C'est donc notre définition du message unique de sécurité de l'ACP. Et ce que cette implication garantit, c'est que ce processus consistant à diviser les gros messages en petits blocs et à chiffrer chaque bloc individuel par une instance du schéma Π est garanti pour vous fournir la sécurité CPA.C'est pourquoi, pour le reste de notre discussion, nous nous concentrerons sur la conception du système de sécurité CPA uniquement pour les messages à longueur fixe. Donc, ça m'amène à la fin de cette conférence, laissez-moi résumer ce que nous avions vu dans cette conférence, nous avons discuté des 2 défauts de tous les cipher de flux. La première lacune est que nous ne pouvons pas chiffrer des messages multiples, c'est-à-dire que la réutilisation des clés est un problème important. Le deuxième problème est que nous ne pouvons pas chiffrer des messages de longueur fixe. Nous ne pouvons pas utiliser un processus de chiffrement qui est sécurisé par l'ACO pour un message de longueur fixe pour chiffrer des messages longs arbitraires en divisant les messages longs arbitraires en petits blocs individuels et en chiffrant chaque bloc à l'aide de la même clé. Cela ne vous donnera pas de garantie de sécurité de l'AOC. Nous avons également introduit la notion de sécurité de l'ACP et nous avons vu des exemples réels de motivation ou de véritables exemples dans le monde réel où l'adversaire peut effectivement lancer une attaque CPA. Et nous avons vu que dans le monde CPA, la sécurité de message unique et la sécurité des messages multiples sont équivalentes. Je vous remercie.