Loading
Notes d'étude
Study Reminders
Support
Text Version

Introduction à la cryptographie

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 la cryptographie Prof. Dr. Ashish Choudhury (Ancienne) Infosys Foundation Professeur de développement de carrière Professeur International Institute of Information Technology-Bengaluru Lecture-01 Introduction Bonjour tout le monde, bienvenue à la première conférence sur les fondements du cours de cryptographie. (Référez-vous à la diapositive: 00:34) Le plan de cette conférence est le suivant. Nous allons discuter de ce qui est de la cryptographie, pourquoi la cryptographie est importante, quels sont les objectifs de la cryptographie et nous allons voir certaines des applications avancées de la cryptographie. (Référez-vous à la diapositive: 00 :48) Ainsi, puisque le titre du cours est le fondement de la cryptographie, essayons d'abord de comprendre l'importance de la fondation solide. Donc, si vous voyez ces 2 bâtiments ou images de ces 2 bâtiments, vous pouvez facilement comprendre que si vous voulez un bâtiment de longue durée, alors une fondation forte est très importante. (Reportez-vous à la diapositive: 01:07) Alors pourquoi la cryptographie est importante. Donc la sécurité est actuellement un très gros mot à la mode, tout le monde parle de sécurité qu'il veut garder en sécurité. La cryptographie à un niveau très élevé est donc la science de la conservation des données à partir d'entités non désirées ou non fiables. Et elle est très pertinente dans le contexte actuel de l'ère numérique où les choses deviennent progressivement numériques et lentement. Et en conséquence, nous avons une grande quantité de données flottant autour de différentes places.Donc, si vous considérez les deux premières guerres mondiales, le rôle des physiciens et des chimistes était très central. Et il est prévu que s'il y a une troisième guerre mondiale, alors ce sera une cyber-guerre, où le rôle des experts en sécurité de l'information sera crucial. La cryptographie est donc le fondement de la sécurité de l'information. Et si vous voulez devenir un bon expert en sécurité de l'information, il est très important d'avoir des bases solides pour la cryptographie. (Reportez-vous à la diapositive: 02:07) Ainsi, les objectifs du cours sont les suivants. Nous discuterons des différents paradigmes et principes de la cryptographie moderne et l'accent sera mis sur les définitions officielles de la sécurité et les constructions de diverses primitives cryptographiques. Ainsi, certaines des primitives cryptographiques dont nous discuterons dans ce cours sont le chiffrement et le déchiffrement, les codes d'authentification des messages, les fonctions de hachage, les signatures numériques, etc. Maintenant, pour chacune de ces primitives de cryptographie, nous suivrons le processus 3 étapes suivant. Dans un premier temps, nous donnerons une définition précise de la sécurité formelle de la primitive sous-jacente que nous sommes intéressés à construire. Une fois que nous aurons la définition formelle de sécurité, nous allons procéder à une construction algorithmique de la primitive requise et finalement, dans la phase 3 nous donnerons une preuve mathématique rigoureuse que la construction algorithmique que nous avons donnée à l'étape 2 satisfait en effet la définition formelle que nous avons donnée dans l'étape 1.Ainsi, vous pouvez comparer ce processus en 3 étapes avec l'exemple suivant. Si vous voulez construire une maison, ce que vous ferez d'abord c'est que vous aurez une architecture rugueuse de la maison, et vous aurez la carte de la maison, que vous donnez à votre ingénieur. C'est donc une étape 1. Une fois la carte prête, au cours de l'étape 2, l'ingénieur impliquera quelques ouvriers et d'autres aides qui viendront avec qui il viendra avec le bâtiment. C'est la construction algorithmique. Et à l'étape 3 une fois que le bâtiment est prêt, vous vérifiera que la construction que l'ingénieur a fait est conforme à l'architecture que vous avez réellement spécifiée au cours de l'étape 1. C'est donc un processus rigoureux de trois étapes que nous allons suivre dans ce cours pour chacune des primitives cryptographiques dont nous discuterons. (Reportez-vous à la diapositive: 03:50) Le résultat du cours attendu est le suivant. Nous espérons que, à la fin du cours, les participants seront en mesure de comprendre un point important de normes de cryptographie et de documents de recherche, nous espérons que les participants auront une impression de la façon dont les diverses primitives cryptographiques dont nous discuterons dans ce cours sont intégrées dans certains protocoles de communication sécurisés standard comme SSL. Nous espérons que les participants seront bien équipés pour comprendre les concepts et les primitifs de la recherche en cryptographie avancée. En général, les participants auront une meilleure compréhension des concepts liés à la sécurité du réseau, à la sécurité de l'information et à la sécurité informatique en général. (Référez-vous à la diapositive: 04:32) Donc, en ce qui concerne le programme de cours, le programme provisoire est le suivant. Le cours est divisé en deux parties. La première partie va discuter de la cryptographie à clé symétrique, où nous allons discuter de sécurité parfaite, des générateurs pseudo-aléatoires, des algorithmes de chiffrement de flux, des fonctions pseudo-aléatoires, des chiffrements de blocs, des codes d'authentification de message, des fonctions de hachage, et certaines des constructions pratiques de chiffrements par bloc comme les DES et AES. Dans la partie 2, nous discuterons de la cryptographie asymétrique et certains des sujets que nous couvrons dans la partie 2 sont la théorie des nombres, le protocole d'échange de clés Diffie-Hellman, le schéma de chiffrement ElGamal, le schéma de chiffrement RSA et les signatures numériques. (Référez-vous à la diapositive: 05 :16) Nous suivrons les références suivantes dans ce cours. Le cours sera donc principalement basé sur le livre intitulé Introduction to Modern Cryptography de Jonathan Katz et Yehuda Lindell. Et c'est vraiment l'un des manuels standard qui est largement suivi. Et je recommande à tous ceux qui sont intéressés d'apprendre la cryptographie et les fondements de la cryptographie à acheter une copie personnelle de ce livre. Vous pouvez également suivre le livre Cryptography: Theory and Practice de Douglas Stinson. Vous pouvez également vous référer au livre du professeur Nigel Smart intitulé Cryptography: An Introduction. La première version de ce livre est en fait disponible gratuitement à télécharger à partir de la page d'accueil de l'auteur et vous pouvez voir le livre intéressant suivant: A Graduate Course in Applied Cryptography by Dan Boneh and Victor Shoup, again, the draft of this book is available free to download. Et vous pouvez également vous référer au Handbook of Applied Cryptography de Menezes et al, qui est à nouveau disponible gratuitement à télécharger. Il s'agit donc de quelques références importantes, que nous suivrons dans ce cours. Bien sûr, si vous faites la recherche Google, vous pouvez trouver beaucoup d'autres références importantes, que vous pouvez suivre pour les différents sujets que nous allons suivre dans ce cours. (Référez-vous à la diapositive: 06 h 30) Revenez à la question de savoir quelle est la principale application de la cryptographie. Donc, le problème central qui est abordé par la cryptographie est celui de la communication sécurisée. Et ce que je veux dire par une communication sécurisée est d'imaginer le scénario suivant que vous avez un expéditeur et un récepteur qui ne se connaissent pas les uns les autres qui se rencontrent pour la première fois sur Internet. Ils ne partagent aucune information prépartagée. Et ils sont reliés par un canal public ouvert. Donc, le but principal de la cryptographie est de convertir en quelque sorte ce canal ouvert public reliant l'émetteur et le récepteur en une sorte de canal virtuel sécurisé par lequel l'expéditeur et le récepteur peuvent faire des communications sécurisées. Et les 3 propriétés de la communication sécurisée sont les suivantes. La première propriété est la vie privée, ce qui garantit que tout ce qui est communiqué entre l'expéditeur et le récepteur sur ce canal virtuel sécurisé ne sera connu qu'à l'expéditeur et au destinataire. La propriété suivante de la communication sécurisée est l'authenticité qui garantit que tout message ou paquet qui vient à l'expéditeur sur ce canal à partir du récepteur, est confirmé qu'il est en effet originaire du récepteur et qu'il n'y a pas de tierce partie qui a introduit ces paquets au nom du récepteur et l'a transmis à l'expéditeur et la même garantie sera donnée à la fin du récepteur ’. Et la troisième propriété du canal sécurisé sera la propriété d'intégrité, ce qui garantira à l'expéditeur et au destinataire que personne n'a altéré le contenu des paquets qui ont été communiqués sur le canal. Ainsi, à un niveau très élevé, les primitives cryptographiques dont nous discuterons dans ce cours vous donneront l'effet de convertir ce canal ouvert public en une sorte de canal virtuel sécurisé. Et aucun tiers ne pourra identifier ce qui se passe exactement par ce canal sécurisé. C'est la principale application de la cryptographie. (Référez-vous à la diapositive: 08:30) Et que nous allons discuter avec rigueur dans ce cours. Mais ce que je voudrais passer dans les prochaines diapositives est une des applications avancées de la cryptographie. L'idée principale est que je veux vous donner un sentiment de ce que la cryptographie peut être utilisée pour résoudre des variétés d'autres types de problèmes du monde réel, à l'exception du problème de la communication sécurisée. Donc la première application avancée dont je voudrais parler est celle de la crypto-monnaie. Alors, avant d'entrer dans la crypto-monnaie, comprenons les 2 biens importants qui sont satisfaits par votre argent physique ou votre devise fiat. Donc les 2 propriétés l'empêchent de doubler les dépenses. Cela signifie qu'il vous est impossible de créer des copies xerox d'une note physique et de le dépenser à plusieurs endroits. C'est donc le double problème de dépenses et l'argent comptant fait en sorte qu'il n'est pas possible de doubler les dépenses, et la deuxième propriété de l'encaisse physique est l'anonymat. Cela signifie que si j'utilise une monnaie physique et que je la dépense pour une transaction, mon identité sera préservée. Mais parce que personne ne pourra retracer mon identité, qui dépense cette monnaie et ainsi de suite. C'est donc la propriété de l'anonymat. La question est donc de savoir si nous avons une version numérique correspondante de l'argent liquide. Et quand je dis la version numérique, ce que je veux dire c'est que maintenant une chaîne de bits agira comme une devise et à l'aide de cette chaîne de bits, je devrais être en mesure de faire des transactions sur n'importe quel site marchand. Et quand je fais une transaction sur n'importe quel site marchand, et essayez de dépenser cette chaîne binaire en tant que devise, la propriété de l'anonymat doit être atteinte ce qui signifie que le marchand ne devrait pas être en mesure d'identifier le propriétaire de cette chaîne dite "chaîne binaire" ou "monnaie numérique". Et la deuxième propriété que j'aimerais réaliser à partir de la version numérique correspondante de la devise n'est pas une double dépense, cela signifie qu'il devrait être difficile pour moi de créer plusieurs copies de cette chaîne binaire et de passer ces copies de la chaîne binaire simultanément à plusieurs endroits. Il est intéressant de noter que j'aimerais réaliser ces deux propriétés en l'absence d'une agence centralisée. Cela signifie que je veux que l'ensemble du système fonctionne même en l'absence de toute sorte d'agence centralisée. Et comme vous pouvez le voir, s'il n'y a pas d'agence centralisée qui surveille réellement qui dépense quelle chaîne binaire à quel endroit, il semble que le problème de l'anonymat et un problème de non-double dépense, sont comme deux objectifs contradictoires. Mais si vous voyez la cryptocourrence récente comme le bitcoin, il est possible d'atteindre simultanément ces deux exigences. C'est donc comme une application avancée de la cryptographie où l'objectif est quelque chose de beaucoup, beaucoup plus difficile que ce qui est requis par le problème de la communication sécurisée. (Référez-vous à la diapositive: 11 :18) Voyons la deuxième application avancée de la cryptographie. Et c'est quelque chose que nous appelons la prévention du point de défaillance unique. Il se trouve donc que dans de nombreuses applications du monde réel, les informations sensibles sont stockées en un seul endroit. Et par des informations sensibles, je veux dire, par exemple, votre clé de chiffrement ou votre clé de signature. Ainsi, si les informations sensibles ou les données d'identification sont stockées à un endroit unique, il devient relativement plus facile pour un adversaire de compromettre le lieu unique où les informations sensibles sont stockées et, par conséquent, la totalité de l'application sera compromise. Ainsi, une solution pour éviter un point de défaillance unique sera la suivante. Au lieu de stocker les informations sensibles en un seul endroit, nous pouvons créer des parts de ces informations sensibles et les distribuer et les stocker à plusieurs endroits. Et puis effacez les informations sensibles initiales. Et quelle que soit la fonction originale qui était censée être mise en œuvre par les informations sensibles sera désormais réalisée par l'exécution d'un protocole réparti entre les différents serveurs où les parts des informations sensibles d'origine sont stockées. Notez que dans tout ce processus, nous ne reconstruisons nulle part les informations sensibles originales. Les informations sensibles sont toujours partagées ou réparties entre les différents emplacements et nous exécutons un protocole distribué sans reconstruire les informations sensibles. L'avantage du partage ou de la distribution des informations sensibles sur plusieurs sites est qu'il sera désormais difficile pour un adversaire de compromettre simultanément tous les serveurs où les parts des informations sensibles d'origine sont stockées. Et en conséquence, vous obtenez plus de robustesse et plus de tolérance aux pannes. Donc c'est encore une très belle application avancée de la cryptographie, qui est basée sur une merveilleuse primitive appelée le partage secret. À un niveau très élevé, un protocole de partage secret vous permet de créer des parts d'un secret et de les distribuer aux actionnaires, de sorte que le secret d'origine ne peut être reconstruit que si un certain nombre de seuils d'actionnaires se réunissent et combinent leurs parts. Mais si vous avez un certain nombre d'actionnaires, ce qui est moins que le seuil spécifié, il sera impossible de reconstruire le secret d'origine. (Référez-vous à la diapositive: 13:41) Voyons une autre application avancée fascinante de la cryptographie. Et pour motiver cette application, permettez-moi de citer un exemple du merveilleux Sundar Kaand de notre épique Ramayana, de sorte que les gens qui sont familiers avec Sundar Kaand seront facilement dans cette situation. Donc, dans le Sundar Kaand le scénario est la mère suivante Sita a été kidnappé par Ravana et elle est au Sri Lanka et Ram est en Inde. Et puisque Ram est porté disparu Sita, il est très triste. Donc, il dit à son messager, à savoir Hanuman, que oh Hanuman, s'il vous plaît aller au Lanka et passer mon message à Sita que je lui manque. (Voir Diapositive Heure: 14 :21) Et le messager dit, ok seigneur, comme tout ce que vous voulez que je suivrez votre instruction. (Référez-vous à la diapositive: 14:27) Mais alors Ram dit que puisque vous allez rencontrer Sita pour la première fois, Sita risque de ne pas être en mesure de vous identifier. Donc, ce que vous faites c'est que vous prenez cette bague comme une preuve que vous êtes mon messager. Et si Sita vous demande une preuve, vous pouvez lui donner cette bague et elle sera en mesure de vous identifier. Donc, le messager prend la preuve et il commence le merveilleux voyage vient au Sri Lanka et il atterine à Ashoka Vatika et commence la conversation avec la mère Sita, où il dit que oh maman je suis le messager du seigneur Ram. (Référez-vous à la diapositive: 15 h) Mais Sita a très peur. (Référez-vous à la diapositive: 15:04) Elle est déjà harcelée par les gens de Ravana. Elle est donc incapable de faire confiance à Hanuman. Elle dit comment je peux te faire confiance. (Voir Diapositive Heure: 15 :13) Donc ici Hanuman montre la preuve, à savoir la bague que Ram a donné à Hanuman, et dès que l'anneau est montré à Sita. (Voir le diaporama: 15:20) Elle identifie volontiers la bague et dit, oui, je connais très bien cette bague, et je vous fais confiance. Ainsi, dans cet exemple, la bague sert de preuve qui est donnée et montrée en clair par le messager, le messager fait une déclaration ou une affirmation qu'il est effectivement le messager de Ram. Et pour prouver sa prétention, il montre en fait la preuve en clair, à savoir l'anneau. Et cela a été possible à l'ère de Sathyuga.Parce que les gens là-bas auraient effectivement utilisé pour dire la vérité, mais montrer la preuve en clair est très dangereux dans le monde actuel de Kaliyuga. Donc, maintenant la question est, est-il possible pour Hanuman de prouver sa déclaration, c'est-à-dire qu'il est le messager de Ram en toute connaissance de cause. Et ce que je veux dire par la mode de connaissance zéro, c'est que la preuve ne doit pas révéler quoi que ce soit à propos de l'anneau. Et cela ne devrait prouver que la déclaration selon laquelle Hanuman est effectivement le messager de Ram. Cela signifie qu'aucune information supplémentaire sur la bague ne doit être divulguée par la preuve. Et plus important encore, si Hanuman ne possède pas l'anneau, alors tout en donnant la preuve qu'il devrait être pris et devrait être rejeté. Ainsi, un système zéro de preuve de connaissance ou un protocole de connaissance nul garantit à l'approbateur de faire la preuve d'une déclaration sans révéler quoi que ce soit à propos de la preuve. (Voir la diapositive: 16:39) Nous allons donc maintenant voir une application de la preuve de la connaissance zéro dans le contexte de la science informatique, à savoir, dans le contexte de la cryptographie. Alors imaginez Alice et Bob sont 2 entités et disent Alice a choisi 2 grands nombres P et Q, qui sont des nombres premiers aléatoires P et Q de dire 512 bits chacun, et elle multiplie les nombres premiers P et Q pour obtenir le nombre N, et elle fait une réclamation à Bob que Bob, je connais les facteurs principaux de N. Et Bob dit, je peux vérifier votre réclamation à condition que vous me montriez les facteurs de N parce que si Alice connaît les facteurs, et si elle montre les facteurs P et Q à Bob et Bob peut lui-même multiplier P et Q et vérifier si le produit est effectivement égal à N ou non. Donc ici P et Q sont en fait la preuve, qu'Alice peut montrer à Bob. Mais un protocole de connaissance zéro va permettre à Alice de convaincre Bob qu'elle connaît bien P et Q sans réellement montrer P et Q. Donc les gens qui sont familiers avec le cryptosystème public RSA, ils peuvent relier cet exemple au cryptosystème RSA parce que dans le contexte de la clé publique RSA cryptosystème, N est en fait les modules et il fait partie de la clé de chiffrement qu'Alice possède, et il sera accessible au public alors que P et Q feront partie d'une clé de déchiffrement qui ne sera disponible qu'à Alice. Maintenant, vous vous demandez peut-être pourquoi Bob lui-même ne peut pas prendre en compte N. Eh bien, on pense que l'affacturage de grands nombres est effectivement un problème de calcul difficile. (Référez-vous à la diapositive: 18:13) Maintenant, voyons une autre application connexe de zéro protocole de connaissance. Donc, ici le scénario est le suivant. Alors imaginez, Alice a créé une copie isomorphe d'un graphe qu'elle possède. Donc, ce que je veux dire par les graphes isomorphes est le suivant. Si vous considérez les graphiques 1 et 2, même si structuralement ils sont tracés d'une manière différente, les propriétés sont les mêmes, cela signifie qu'elles ont le même nombre de sommets. Et ils ont le même nombre d'arêtes. Et plus important encore, il existe une bijection, c'est-à-dire une bijection entre le sommet du sommet du premier graphe et le sommet du deuxième graphe, de sorte que la relation suivante tient, s'il y a une arête entre le noeud u, v dans le premier graphe, alors il existe un bord entre le sommet mappé u et le vertex cartographié v dans le second graphe et vice versa. Alors imaginez Alice a commencé avec le graphe 1, et elle crée une copie isomorphe du graphe 1 pour obtenir le graphe 2. Et pour obtenir le graphe isomorphe 2 ce qu'elle a à faire, c'est qu'elle doit juste prendre une permutation aléatoire de l'ensemble de sommets du premier graphe, et c'est l'information secrète qu'Alice possède. Et maintenant, supposons qu'Alice fasse les 2 graphiques, 1 et 2 publics. Et va à Bob et dit, hé Bob, je peux vous prouver que le graphe 1 et 2 sont isomorphes dans la nature. Encore une fois, les gens qui connaissent le problème de l'isomorphisme de graphe, ils seront conscients que vérifier le graphique, vérifier si 2 graphes sont isomorphes ou non, en l'absence de bijection est en effet considéré comme un problème de calcul difficile, si les graphes sont d'une très grande magnitude. Alors Alice s'intéresse maintenant à prouver que les graphes sont isomorphes dans la nature sans réellement montrer l'isomorphisme du graphe. Alors Bob conteste Alice et dit, eh bien, si en effet vous voulez prouver que les 2 graphiques sont isomorphes, me montrer l'isomorphisme ou la bijection, parce que si vous me montrer la bijection, alors je peux facilement vérifier si les 2 graphes 1 et 2 sont isomorphes dans la nature. Mais en utilisant un protocole de connaissance nul, Alice peut convaincre Bob que les 2 graphes, 1 et 2 sont isomorphes. Et dans le processus, Bob n'apprira aucune information sur la bijection réelle, qui mappe le graphique 1 au graphique 2. Encore une fois, il s'agit d'une application très avancée de la cryptographie. (Référez-vous à la diapositive: 20 :41) Et la prochaine application avancée de la cryptographie dont je voudrais discuter est celle du calcul de l'externalisation. Dans ce cas, le scénario est le suivant. Nous avons un client informatiquement faible, et il veut effectuer une sorte de calcul. Alors, abstrait ce calcul par une fonction f, et il possède quelques données x et il veut calculer la valeur de la fonction sur les données x. Mais puisqu'il s'agit d'un processeur faible sur le plan informatique, il n'a pas la capacité d'effectuer lui-même le calcul. Donc ce qu'il fait est qu'il fait appel au service d'un fournisseur de services de cloud, et qu'il externe le calcul de la fonction au fournisseur de services de cloud en lui donnant la description de la fonction ainsi que les données x. Ainsi, étant donné que la fonction est disponible pour le fournisseur de services Cloud, ainsi que les données sont disponibles pour le fournisseur de services de cloud. Un fournisseur de services Cloud peut effectuer lui-même le calcul et renvoyer le résultat au client économiquement faible. Eh bien, en principe, la solution va fonctionner. Mais le problème ici est de savoir si le fournisseur de services cloud est un type corrompu. Dans ce cas, il n'y a pas de garantie de confidentialité de la sortie d'entrée car le client donne les données en clair au fournisseur de services et, par conséquent, le fournisseur de services sera parfaitement au courant des données sur lesquelles il a effectué le calcul, et il sera également au courant du résultat du calcul. Et si nous voulons empêcher le fournisseur de services cloud de connaître les données. La question ici est, est-il possible pour le client informatiquement faible de ne pas révéler les données et encore de sur-source le calcul. Donc, une solution potentielle sera qu'au lieu d'envoyer les données et claires, elle peut envoyer une version chiffrée des données et la description de la fonction. Et au lieu d'effectuer le calcul sur ces données claires, le fournisseur de services Cloud devrait être en mesure d'effectuer la même fonction sur les données chiffrées. Et il devrait renvoyer le résultat du calcul à nouveau de manière cryptée, ce que le client faible sur le plan informatique peut déchiffrer. Alors maintenant, vous vous demandez peut-être, quel est le problème avec la solution proposée. Le problème est que les données sont maintenant disponibles de manière cryptée. Comment un fournisseur de services Cloud peut-il effectuer le calcul sans connaître les données. Donc, jusqu'à 12 ans, ce problème était considéré comme un problème très difficile parce que nous n'avions aucune forme de cryptage qui puisse soutenir cette solution proposée. Cela signifie qu'il n'y avait pas de schéma de chiffrement où il était possible d'effectuer le calcul sur les données chiffrées. Mais 12 ans en 2006, l'histoire a été faite dans le cadre de laquelle la première proposition de ce type de schéma de cryptage spécial, que nous appelons "système de cryptage entièrement homomorphe", a été proposée. Ainsi, à un niveau très élevé, un schéma entièrement homomorphe vous permet d'effectuer le calcul sur les données chiffrées sans connaître réellement les données. Donc c'est encore une application très avancée de la cryptographie. (Référez-vous à la diapositive: 23 :48) La prochaine application avancée de la cryptographie dont je vais discuter est celle du consensus distribué. Alors imaginez le scénario suivant: nous avons une série de leaders mondiaux qui se méfiaient mutuellement. Et ensemble, ils aimeraient décider s'il faut attaquer ou non un pays en particulier. Cela signifie qu'ils aimeraient exécuter un protocole entre eux lorsqu'ils ont échangé des messages conformément au protocole et à la fin du protocole, tous les dirigeants devraient être sur la même page. (Référez-vous à la diapositive: 24:16) Donc, l'abstraction de ce problème est ce que nous appelons un problème de consensus distribué. (Référez-vous à la diapositive: 24 :23) Et dans le problème du consensus distribué, nous avons une série de parties qui se méfiaient mutuellement et qui pourraient être corrompue. Et chaque partie a un bit privé qui pourrait être 0 ou 1. Par exemple, dans ce contexte spécifique. 0 signifie ne pas nuke attaquer le pays 1 signifie attaquer le pays. Chaque entité a donc une entrée privée. Et l'objectif est d'exécuter un protocole entre ces entités pour qu'à la fin du protocole, toutes les bonnes entités soient sur la même page. Cela signifie qu'ils devraient obtenir un bit commun comme la sortie qui est la propriété d'accord que j'ai besoin du protocole. Et la deuxième propriété que j'ai besoin du protocole est que si au début, toutes les bonnes entités étaient sur la même page. Cela signifie qu'ils ont tous le même avis commun que b, alors la sortie de l'algorithme doit être b seulement. C'est donc une propriété de validité. J'ai donc besoin d'un protocole de consensus distribué, qui me fournirait la propriété de l'accord ainsi que la propriété de validité. Et nous avons de nombreux protocoles de consensus bien connus disponibles, encore une fois, ce qui est une application très avancée de la cryptographie. (Référez-vous à la diapositive: 25 :28) Et la dernière application avancée de la cryptographie dont je voudrais parler est une sorte de problème du Saint Graal en cryptographie ou en informatique distribuée sécurisée, qui est appelée calcul multipartite sécurisé ou MPC en bref, la description du problème est la suivante. Imaginez qu'on nous donne une série de parties qui se méfiaient mutuellement et qui sont présentes dans différentes parties du globe. Et ils ne se font pas confiance. Alors imaginez que les parties sont signalées par 1 à et que chaque partie possède des données privées, cela pourrait être un peu, il pourrait s'agir d'une base de données, il pourrait s'agir de n'importe quel type de données. Et il y a une fonction commune F, qui est une fonction n-ary par fonction n-ary, je veux dire que la fonction prend les entrées des n entités. Donc le but ici est de trouver un protocole selon lequel les parties échangent des messages entre eux. À la fin du protocole, les deux objectifs suivants devraient être atteints. Le premier objectif est l'exactitude, c'est-à-dire que les bonnes mecs devraient être capables d'obtenir la sortie de la fonction sur les entrées de toutes les parties, quel que soit le comportement des méchants, et le deuxième objectif important est celui de la vie privée, qui exige que l'adversaire ou les méchants n'apprennent rien pendant le protocole au-delà de ce qui peut être révélé à partir de ses propres entrées et de la sortie de fonction. Donc à un très haut niveau, l'objectif du protocole MPC est d'émuler l'effet d'un tiers de confiance. Imaginez pour le moment où vous avez un tiers de confiance à la disposition de toutes les parties, alors ce problème de calcul multipartiaux est très facile à résoudre. Ce que chaque partie peut faire est qu'elle peut envoyer ses commentaires en privé à la tierce partie de confiance. Et comme le tiers est digne de confiance par toutes les entités, nous avons la garantie qu'il ne révélerait pas les entrées de la personne aux autres parties. Maintenant, le tiers de confiance peut calculer la valeur de la fonction sur toutes les entrées n, et il peut renvoyer la sortie à chaque entité. Mais le problème avec la solution avec le tiers de confiance est que, dans la pratique, nous n'avons pas de tiers de confiance de ce genre. Ainsi, l'objectif d'un protocole de calcul multipartite sécurisé est d'émuler le rôle d'un tiers de confiance en exécutant un protocole entre les entités elles-mêmes. Cela signifie qu'un protocole de calcul multipartite sécurisé vous garantit que tout ce qui est faisable en présence d'un tiers de confiance peut être réalisé même en l'absence d'un tiers de confiance en exécutant un protocole entre les différentes entités. Donc c'est comme le problème de la grêle sacrée sur le calcul distribué sécurisé, parce que si vous avez une solution pour ce problème abstrait, alors vous avez des solutions de milliers de problèmes mondiaux réels qui peuvent être résumés par cette belle notion de calcul multipartiaux sécurisé. Donc, ça m'amène à la fin de cette première conférence. Pour conclure avec cette conférence, nous avons brièvement discuté de la cryptographie, de l'importance de la cryptographie, et nous en avons discuté à un très haut niveau, l'objectif du protocole MPC est d'émuler l'effet d'un tiers de confiance . Imaginez pour le moment où vous avez un tiers de confiance disponible pour toutes les parties, puis ce problème de calcul multipartiaux est très facile à résoudre. Ce que chaque partie peut faire, c'est qu' peut envoyer ses données en privé à la tierce partie de confiance. Et comme le tiers est sécurisé par toutes les entités , nous avons la garantie qu'il ne révélerait pas les entrées de la personne aux autres parties .Maintenant, le tiers de confiance peut calculer la valeur de la fonction sur toutes les entrées n, et il peut renvoyer la sortie à chaque entité. Mais le problème avec la solution avec le tiers tiers confiance est que, dans la pratique, nous n'avons pas de tiers de confiance de ce type. Ainsi, l'objectif d'un protocole de calcul multipartite sécurisé est d'émuler le rôle d'un tiers de confiance en exécutant un protocole entre les entités elles-mêmes.Cela signifie qu'un protocole de calcul multipartique sécurisé vous garantit que tout est réalisable en présence d'un tiers de confiance, ce qui peut être réalisé même en l'absence de tiers de confiance en exécutant un protocole entre les entités individuelles. Donc, c'est comme le problème de grêle de sur le calcul distribué sécurisé, car si vous avez une solution pour ce problème abstrait , alors vous avez des solutions de milliers de problèmes mondiaux réels qui peuvent être résumés par cette belle notion de calcul multipartique sécurisé.Ainsi, cela m'amène à la fin de cette première conférence. Pour conclure avec cette conférence, nous avons brièvement discuté la cryptographie, de l'importance de la cryptographie, et nous avons discuté de quelques-unes des applications avancées de la cryptographie. J'espère que vous avez apprécié cette conférence. Je vous remercie.