Ciphers par bloc | Architecture standard de chiffrement des données | Alison
Loading
Notes d'étude
Study Reminders
Support
Text Version

Architecture standard de chiffrement de données

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. Ashish Choudhury (Former) Infosys Foundation Career Development Chair ProfessorIndian Institute of Technology-BengaluruLecture-20Practical Constructions of Block ciphers Part IIHello everyone, welcome to lecture 19. Dans cette conférence, nous poursuivrons notre discussion sur les constructions pratiques des chiffrements par bloc. La feuille de route de cette conférence est la suivante. (Référez-vous à la diapositive: 00 :46) Nous verrons comment utiliser le réseau SPN et Feistel, nous pouvons concevoir un chiffrement de bloc très populaire que nous appelons DES. Nous discuterons également de certaines des embûches de DES et de la façon dont ces écueils ont motivé la construction d'un autre algorithme populaire appelé AES et nous verrons un aperçu très haut de la SEA. Avant de poursuivre, je voudrais souligner ici que, pendant toute cette discussion, j'utilise en permanence les termes pratiques de construction de chiffrements par bloc. Parce que c'est ainsi que nous instancions nos fonctions pseudo-aléatoires, des permutations pseudo-aléatoires et des permutations pseudo-aléatoires fortes dans la réalité. Cependant, il s'avère que nous n'avons pas de garanties de sécurité prouvables pour les DES, triple DES, AES. C'est seulement que depuis leur découverte, aucune faille pratique n'a été identifiée et aucune atteinte à la sécurité n'a été identifiée. Et c'est pourquoi nous croyons que DES, triple DES, AES se comportent comme des permutations pseudo-aléatoires et des permutations pseudo-aléatoires fortes. Alors que les constructions de permutations pseudo-aléatoires et de pseudo-fonctions aléatoires basées sur des fonctions que nous avions vues dans certaines de nos conférences précédentes, elles sont sûres, parce que nous avons une preuve de sécurité mathématique qui répond aux définitions de fonction pseudo-aléatoire, de permutations pseudo-aléatoires, mais la raison que j'appelle ces constructions en tant que constructions théoriques, c'est que même si elles sont efficaces, le temps d'exécution est polynomial dans les paramètres de sécurité sous-jacents. Les polynômes sous-jacents sont si énormes que nous ne pouvons pas les utiliser dans la pratique. Alors que les constructions pratiques que nous allons discuter dans ce cours basé sur SPN, le réseau Feistel, elles sont très efficaces, mais l'inconvénient est que vous n'avez aucune garantie de sécurité mathématique, vous avez juste une garantie heuristique de sécurité, à savoir depuis qu'ils sont découverts, aucune violation de sécurité n'a été identifiée. Et c'est pourquoi nous pouvons les utiliser en toute sécurité pour instancier n'importe quelle primitive de cryptographie où vous voulez instancier des fonctions pseudo-aléatoires, des permutations pseudo-aléatoires, etc. Alors commençons notre discussion ici. (Référez-vous à la diapositive: 03 :08) Nous commençons donc la discussion par rapport à la norme de chiffrement des données ou au DES. Il a été conçu par IBM, avec l'aide de la NSA en 1970, adopté comme standard par les États-Unis en 1977. La forme originale du DES fonctionne avec une clé de taille 56 bits et c'est pourquoi elle n'est plus considérée comme sûre. Parce que la forme originale du DES est sensible à une attaque par force brute, à savoir si un adversaire est donné une paire (?,?) ou plusieurs paires (?,?), où? La valeur de DES est-elle à l'égard d'une clé et d'une entrée de 56 bits inconnues? L'intrant est connu de l'adversaire. Ensuite, juste en faisant les calculs de l'ordre 256, l'adversaire peut récupérer la clé. C'est pourquoi la sécurité de la proposition originale du DES a été renforcée et c'est ainsi que nous avons obtenu la nouvelle construction, que nous appelons de 3-DES, que nous allons également discuter dans cette conférence et qu'elle a une taille de clé plus grande. (Référez-vous à la diapositive: 04 :13) Le DES a une grande importance historique parce qu'il est l'un des meilleurs algorithmes cryptographiques étudiés. Et même si la forme originelle de DES est susceptible à une attaque par force brute, elle est vulnérable à l'attaque par force brute, elle ne signifie pas qu'elle a un défaut sérieux de conception. Namelyever depuis 1970, aucune faille de sécurité n'a été rapportée dans l'architecture ou la conception du DES.La seule plainte est qu'il fonctionne avec une petite clé de taille, c'est tout. Et dans cette conférence, nous allons discuter uniquement des idées de haut niveau de l'algorithme. Ce ne sont pas les détails exacts et la discussion que nous allons avoir dans cette conférence n'est pas une bonne fin de mise en œuvre. Si vous êtes intéressé à mettre en œuvre DES, vous devriez consulter certaines des sources pertinentes qui sont données dans le manuel par Katz-Lindell. (Référez-vous à la diapositive: 05 :12) L'architecture DES est donc la suivante. Fondamentalement, il s'agit d'un réseau Feistel de 16 tours, qui permet de cartographier les entrées 64 bits vers la sortie 64 bits. Et la clé pour le réseau Feistel est de 56 bits. Et il y aura un algorithme de programmation de clés connu publiquement basé sur lequel nous allons déterminer la clé ronde 48 bits pour chacune des itérations individuelles. Donc chacune de ces itérations individuelles va utiliser un sous-ensemble de 48 bits de la clé principale de taille 56 bits. Et la programmation de quel sous-ensemble de 48 bits de la clé principale que je vais utiliser pour chaque itération sera publiquement connue. (Référez-vous à la diapositive: 06 :01) Maintenant, concentrons-nous sur les fonctions individuelles. Rappelez-vous donc, comme dans la description du réseau Feistel, les fonctions rondes peuvent être n'importe quelle fonction ronde arbitraire, elle n'a pas besoin d'être inversable. Donc si je me concentre sur la fonction? ?hround, qui prend la clé de la taille 48 bits, et une droite de la moitié du courant? -input de 32 bits. Pourquoi 32 bits? Car souvenez-vous que, selon l'architecture du Feistelnetwork, chaque courant? -input ou chaque sortie intermédiaire, sera analysé comme une collection de partie gauche et une partie droite, où la partie gauche sera de 32 bits et la partie droite sera de 32 bits. (Voir Diapositive Heure: 06 :40) C'est pourquoi ma fonction ronde individuelle sera une fonction à clé, avec une clé de 48 bits et une entrée de 32 bits. Et il s'avère que la fonction round n'est rien, mais un 1 round est SPN. Et c'est pourquoi vous pouvez interpréter le DES comme une sorte de permutation à clé obtenue en composant à la fois le SPN à 1 round et le réseau de Feistel ronge, où? = 16. Donc, dans un certain sens, nous essayons en fait d'obtenir le meilleur des deux primitives ici. Donc, pour la fonction de cycle DES, vous avez une étape de mélange de touches, vous avez une étape de substitution et vous avez une étape de mélange. (Voir Heure de la diapositive: 07 :23) Maintenant, allons maintenant un peu plus loin dans la description de la fonction ronde DES. Alors imaginez, c'est la fonction? ?hround. Il va prendre une sous-clé??, déterminée par un algorithme de programmation de clé publique, de taille 48 bits. Et il prendra une entrée de bloc, à savoir la R-part en ce qui concerne le réseau Feistel, dont la taille est de 32 bits. Donc dans le SPN, la première étape est l'étape de mélange des clés et dans l'étape de mélange des clés, nous réalisons en fait la XOR de la sous-clé avec l'entrée de bloc. Mais si vous voyez, l'entrée de bloc est de taille 32 bits et la taille de la clé est de 48 bits. Nous avons donc une incompatibilité pour effectuer l'opération XOR. (Référez-vous à la diapositive: 08 :10) C'est pourquoi nous effectuons ici une fonction d'expansion, qui sera connue du public. Et ce que fait exactement la fonction d'expansion est, en gros, il duplique la moitié des bits du bloc input.Namely, pour l'entrée de R 32 bits, certains des 16 bits de l'entrée R, ils sont dupliqués pour obtenir une entrée de 48 bits, ce qui est maintenant utilisé pour effectuer l'étape de mélange des clés ici. (Voir Diapositive Heure: 08 :34) Une fois que nous faisons le mélange de touches, nous analysez la sortie intermédiaire comme une collection de 8 pièces de 6 bits chacune. Et chacun de ces 6 bits individuels passe par une boîte S. L'aspect intéressant ici est que, contrairement au SPN, où nous avons besoin de chaque boîte S pour être une permutation ou d'être un 1-à-1 sur le mappage, les boîtes S ici, elles ne sont pas inversables. Parce que les entrées des boîtes S sont des 6bits alors que les sorties des boîtes S sont de 4 bits, mais il suffit d'avoir des boîtes S comme ça parce que n'oubliez pas, ce SPN de 1 round va servir de fonction ronde pour un réseau Feistel. Et pour le réseau Feistel, nous n'avons pas besoin que les fonctions rondes soient inversibles. Donc même si ces boîtes S ne sont pas inversées, c'est bien. Donc, une fois que nous obtenons la sortie de l'étape de mélange clé, nous l'analyse en 8 morceaux de 6 bits chacun, faire chacun des morceaux individuels de 6 bits passer par les boîtes S respectives. (Voir la diapositive: 09 :50) Et obtenir une sortie 32 bits et ensuite nous appliquons la permutation de mélange, qui sera connue publiquement pour obtenir la sortie de la fonction? ?hround. Voici donc la description interne de votre fonction? ?hround du DES. Et les boîtes S et les permutations de mélange qui sont utilisées dans chacune des fonctions rondes du réseau Feistel à l'intérieur des DES, elles ont des propriétés très spéciales. Et ces propriétés spéciales dont nous allons discuter très bientôt. Ce que je veux souligner ici, c'est que les boîtes S et la permutation de mélange qui sont utilisées ici, elles sont si soigneusement conçues, que même une modification mineure peut mener à de graves failles de sécurité. (Référez-vous à la diapositive: 10 :37) Maintenant, voyons comment exactement ces boîtes S dans le contexte de DES ressemblent. Donc, pour votre référence, je prends la première boîte S et je prends la description sur cette première boîte S de Wikipedia. Donc, chaque boîte S que vous pouvez imaginer ici comme une table de recherche de 4 × 16 et que chaque entrée de la table se compose d'une chaîne de 4 bits. Parce que souvenez-vous que la sortie d'une boîte S est une sortie 4 bits et que chaque ligne de la table est une permutation de l'ensemble 0 à 15. Donc vous pouvez voir ici, dans chacune des 4 rangées, vous avez la valeur de 0 à 15, qui se produit exactement une fois, mais arrangés dans un ordre d'ordre arbitraire. Et puisque chacune des cordes 0 à 15, peut être représentée par 4 bits, c'est pourquoi je dis que chaque entrée de cette table est essentiellement constituée de 4 bits. Maintenant, comment exactement nous allons accéder à cette table de recherche? Rappelez-vous que l'entrée pour la boîte S est une entrée de 6 bits. (Reportez-vous à l'heure de la diapositive: 11 :35) Donc, les 6 bits d'entrée de la boîte S, déterminent l'entrée que nous allons rechercher dans cette table de recherche et comment nous analysez exactement les 6 bits d'entrée. Donc le premier et le dernier bit des entrées de la boîte S, ils déterminent votre numéro de ligne. C'est pourquoi vous pouvez voir le long des lignes, je me concentre sur le premier bit et le dernier bit, le milieu de 4 bits, je ne me concentre pas. Les 4 bits du milieu, ils sont utilisés pour accéder à un numéro de colonne particulier. C'est pourquoi, le long des colonnes, ce sont les 4 bits du milieu qui sont mis en évidence et c'est pourquoi nous avons 16 colonnes possibles. Maintenant, la façon dont les nombres 0 à 15 sont disposés dans cette boîte S est de s'assurer que si vous changez l'entrée de la boîte S d'un bit, cela devrait entraîner le changement d'au moins 2 bits de sortie de la boîte S (voir Diapositive Heure: 12 :34) Donc, voyons si elle est assurée ou non. Alors essayons d'abord de voir ce qui sera exactement la valeur de la première boîte S sur l'entrée, disons 011110. Donc, puisque 0 et 0 sont utilisés pour le numéro de ligne qui signifie que nous voulons avoir la première ligne et ensuite nous devons aller pour la colonne numéro 1111. Donc, nous venons à la dernière colonne de la première ligne, qui a la valeur 7, qui dans Binary est 0111. Et maintenant laissez voir ce qui sera la valeur de cette première boîte S sur une entrée, par exemple 011111, qui diffère de l'entrée 011110 exactement un bit. Donc le premier bit et le dernier bit sont utilisés pour accéder à la ligne qui signifie que nous devons aller à la deuxième rangée. Et puis nous devons aller au numéro de la colonne accessible par les 4 bits du milieu, que 1111. Donc cela signifie que ça ira à la dernière entrée de la deuxième rangée, qui est 8, qui dans le Binaire est 1000. Et cette sortie est différente de la sortie précédente 0111 dans au moins 2 positions bit. Il est donc facile de voir qu'en raison des propriétés ci-dessus, chaque boîte S définit une fonction de 4 à 1. Et pourquoi il définit une fonction de 4 à 1 est parce que vous avez des entrées de 6 bits et que vous avez une sortie de 4 bits. Donc, cela signifie qu'il y aura 4 entrées de mappage à la même sortie (voir Diapositive: 15 :06) Donc, la fonction d'expansion DES et la permutation de mélange, elles ont aussi des propriétés importantes ici. Donc nous discutons déjà des propriétés que nous avons requises de la boîte S, en gros ils s'assurent que s'il y a un changement de 1 bit d'entrée, alors la sortie est différente dans au moins 2 positions bit. Maintenant la fonction d'expansion et la permutation de mélange ils ont aussi des propriétés importantes. Donc, la permutation de mélange a la propriété que la sortie de chaque boîte S affectera l'entrée de 6 boîtes S dans la prochaine itération. Cela signifie que si je considère la première boîte S ici, vous avez 4 bits de sortie venant d'ici. Et si je fais une permutation de mélange, la permutation de mélange est conçue de telle façon que la sortie de la permutation de mélange suivie par la fonction d'expansion que je vais appliquer dans l'itération suivante garantit qu'il y aura 6 boîtes de S dont les entrées seront différentes ici. Donc, la fonction d'expansion, c'est-à-dire les 16 bits de l'entrée sont répliqués, et les permutations de mélange qui déterminent l'opération de brassage, les deux s'assurent que cette propriété importante, à savoir la sortie de chaque boîte S affecte l'entrée de 6 cases S dans l'itération suivante. Et rappelez-vous pourquoi nous nous intéressons à ces propriétés spéciales de la permutation de mélange et des boîtes S (voir la diapositive: 16 :29). Essentiellement, notre but ici est d'obtenir un bon effet d'avalanche et simplement de rappeler ce qui est exactement l'effet d'avalanche. L'effet d'avalanche garantit que si vous avez une permutation à clé??, construite à l'aide d'un réseau Feistel ou SPN, alors vous en avez besoin?? Doit avoir la propriété??? (?) et?? (? ′) Devrait être différent dans un nombre significatif de positions de bit, même si? Et? ′ ne diffère que par un nombre moins élevé de bits, par exemple en 1 bit. Et nous avons vu lors de la dernière conférence que si vous avez des propriétés spéciales de la permutation de mélange et des boîtes S, nous pouvons réaliser cet effet d'avalanche. (Voir la diapositive Heure: 17 :16) Et c'est le principe que nous suivons dans les boîtes S et une fonction de permutation et d'expansion de mélange que nous utilisons dans DES. Il s'avère que 16 tours que nous utilisons ici dans le Feistelnetwork est très important. Parce que si vous n'utilisez pas un réseau Feistel 16 rond et que vous utilisez un réseau Feistel moins rond, il y a des attaques faciles sur le nombre réduit de DES. Mais si vous l'exploitez avec 16 tours complets, les seules plaintes qui ont été signalées jusqu'à présent sont la courte plainte concernant la taille des clés. Il est possible de lancer une force brute de 256 complexité, compte tenu de la vitesse de calcul actuelle. (Référez-vous à la diapositive: 17 :52) Une autre plainte avec le DES est la longueur de bloc courte. La longueur de bloc ici est donc de 64 bits. Et maintenant, vous vous demandez peut-être comment une courte longueur de bloc peut avoir une conséquence sur la sécurité du chiffrement global du bloc. Il est donc possible de rappeler le mode de fonctionnement du système de chiffrement par bloc, ou la permutation pseudo-aléatoire. Et nous avons vu dans l'analyse de sécurité CPA du mode de fonctionnement du compteur que la sécurité CPA du mode de fonctionnement du compteur dépend de la probabilité de l'aléatoire?? Que nous utilisons pour chiffrer le défi que le texte en clair se répète dans n'importe laquelle des requêtes de chiffrement-oracle. Et la valeur du?? Et la probabilité de l'?? Se répéter, dépend de la longueur de bloc réelle de la permutation à clé sous-jacente. Alors? Est la taille de bloc ici et si ma taille de bloc est petite que la probabilité du hasard?? Qui est utilisé pour crypter le texte en clair de se répéter, devient significativement élevé. Il s'agit donc des 2 plaintes rapportées par rapport à la construction originale des DES. En dehors de cela, aucune faille sévère n'a été signalée jusqu'à présent (voir Diapositive: 19 :16) (voir la diapositive: 19 :17). Maintenant, voyons comment on peut augmenter la taille de la clé. Notre objectif sera d'augmenter la taille de l'original DES. Et il y a 2 approches pour concevoir un algorithme de chiffrement de bloc modifié ou modifié DES où vous pouvez utiliser la construction modifiée avec une clé de taille plus grande. La première approche sera d'apporter des modifications internes à la conception existante pour traiter la clé de taille plus grande.Vous apposez des modifications à l'algorithme de planification de clés, vous faites des modifications aux boîtes S, vous faites des modifications à la fonction d'expansion et mélangez des permutations et ainsi de suite. Malheureusement, cette approche n'est pas du tout recommandée, car il s'est avéré que même une légère modification de la structure DES existante a des conséquences graves sur la sécurité. Donc, nous ne pouvons pas nous permettre d'apporter des modifications à la structure interne du DES pour nous assurer d'avoir un DESfonctionnement modifié avec une taille de clé plus grande. La seconde approche qui est recommandée est d'incorporer une clé plus grande dans une boîte noire sans apporter de modifications internes. Par exemple, voyons comment un double chiffrement fonctionne exactement et la discussion que nous allons avoir sera très générique, elle s'applique à n'importe quel algorithme de chiffrement par bloc. Mais pour la simplicité, vous pouvez toujours considérer DES dans votre esprit. Alors, imaginons que nous avons une permutation à clé qui est un algorithme de chiffrement sûr et pratique, dont la taille est la clé? Bits, la longueur de bloc est de l bits et la taille de la sortie est l bits. Et comme il s'agit d'un algorithme de blocage pratiquement sécurisé, la meilleure attaque possible est de l'ordre 2?. Maintenant, imaginez que je compose cette construction existante pour obtenir ce que nous appelons un chiffrement à bloc double, qui fonctionne maintenant avec une clé de taille 2? Bits. Mais une longueur de bloc de 1 bits et une sortie de l bits. Et la façon dont j'ai conçu ce double chiffrement par bloc de chiffrement est fondamentalement la clé? Pour le chiffrement double bloc de chiffrement en tant que 2 parties indépendantes? 1 et? 2 chacune d'elles? Bits.I fonctionnement d'abord le chiffrement de bloc existant avec la partie? 1 avec l'entrée? Et j'ai une sortie?, qui est de l bits. Et puis traiter ça? Sortie, en tant qu'entrée pour le second appel pour le chiffrement de bloc existant avec la partie? 2 de ma clé de chiffrement double bloc de chiffrement. C'est ainsi que je fais un double cryptage (voir la diapositive: 22 :15) Et comme vous pouvez le voir ici, je ne fais pas de modification du tout dans la description ou la conception du chiffon de bloc existant. Le chiffrement de bloc existant est-il utilisé tel qu'il est, par exemple, si votre existant? Est DES, alors ce que nous essayons de faire ici est que nous essayons de concevoir le double DES, où la taille de la clé sera maintenant 112 bits. La première partie sera-elle? 1, la deuxième partie sera? 2. Et en gros ce que je fais ici, c'est que je viens juste d'invoquer le DES deux fois, et c'est ce que mon double DES est considéré. Alors maintenant, nous devons analyser ou argumenter est le nouveau double cryptage par bloc de chiffrement que nous avons conçu est pratiquement sûr ou pas? (Référez-vous à la diapositive: 23 h) Cela signifie que c'est la meilleure attaque possible de l'ordre 22 ?ou pas? (voir Diapositive Heure: 23 :07) Il est intéressant de noter que la réponse est non, et qu'il y a une attaque très intéressante que nous appelons comme rencontre dans l'attaque du milieu. Où pouvons-nous montrer qu'en lançant cette rencontre dans l'attaque du milieu, l'adversaire peut récupérer la clé inconnue du chiffrement double bloc de chiffrement avec une complexité de l'ordre 2?, qui est beaucoup moins de 22?. Alors imaginez que l'adversaire a plusieurs paires (?,?). Pour plus de simplicité, imaginez qu'il a une paire (?,?), où? Est le résultat du chiffrement double bloc de chiffrement avec une entrée connue?. Mais avec une clé inconnue qui est une concaténation de? 1 suivi de? 2. Et ce que nous allons montrer est une attaque à savoir se retrouver dans l'attaque du milieu où un adversaire peut récupérer la clé inconnue avec le calcul de l'ordre? × 2?. (Référez-vous à la diapositive: 24 :05) L'idée ici est la suivante, fondamentalement l'adversaire doit faire la force brute dans 2 directions opposées. Dans la première direction, qu'est-ce que c'est, c'est une force brute sur tout le candidat? 1, et il y a 2 candidats? 1. Pour chaque candidat? 1, il exploite la construction existante? Par rapport à l'intrant connu? Et obtenir les sorties intermédiaires, qu'il appelle le?. Et elle stocke toutes les paires (?1,?) dans une liste appelée? -list ou liste de gauche, c'est la première force brute qu'elle effectue. (Référez-vous à la diapositive: 24 :46) Et ce qu'elle exécute, c'est qu'elle prend le? Qui est disponible avec l'adversaire et qui exécute maintenant la force brute inverse. À savoir, elle exerce la force brute par rapport à tous les candidats? 2. Mais par rapport à l'inverse de la fonction? Sur la sortie?, c'est-à-dire qu'il faut chaque candidat? 2 et calculer l'inverse de la sortie? Disponible dans le cadre de ce candidat? 2 et obtenez le correspondant? Et stocke ces paires (?2,?) dans une liste appelée R-list. Donc c'est la deuxième force brute qu'elle réalise. (Référez-vous à la diapositive: 25 :25) Donc, la première force brute qu'elle accomplit sa complexité est de l'ordre 2?, la seconde force brute qu'elle a réalisée en parallèle sa complexité est de l'ordre 2?. Et maintenant, ce que l'adversaire a à faire est, il trie la liste de gauche et la bonne liste d'après le? (voir Heure de la diapositive: 22 :51) Et une fois qu'elle a été triée? -list et? -list selon le? Valeurs, ce que l'adversaire a essentiellement à faire, c'est qu'il doit voir s'il a une paire (?1,? 1) dans la liste? -list et une paire (?2,? 2) dans la? -list, telle que? 1 =? 2. Si c'est le cas, le candidat? 1 est-il concaténé avec le candidat? 2est le candidat réel? Utilisé pour le double chiffrement. Maintenant, quelle est exactement l'idée de cette attaque? Si vous voyez la construction du double cryptage, de faire le double cryptage, d'? on va à? ?1 (?). Et puis de?? (?) nous aurions été là?, c'est-à-dire que nous aurions obtenu? ?2 (??1 (?)). Une autre façon d'interpréter la même construction est qu'à partir de?, j'aurais pu en fait effectuer?? − 21 (?). Et d'ici, la même chose que j'aurais pu obtenir si j'aurais calculé? ?1 (?). Donc, c'est fondamentalement l'adversaire qui essaie de faire, le forçage brut de l'adversaire dans la direction vers l'avant, il isbrut le forçage dans le sens inverse. Et d'essayer de voir si pour certains candidats? 1 et pour le candidat? 2, il atteint le même point ou pas. Et il y aura certainement un candidat? 1 et un candidat? 2 où la rencontre aura lieu. Ce point de rencontre lui donne essentiellement le candidat? .Et pour obtenir le point de rencontre, l'adversaire doit essentiellement effectuer un calcul de commande? 2?.Il doit effectuer 2 forces brutes et ensuite il doit faire le tri, et ensuite il doit trouver le point de rencontre. Donc, comme vous pouvez le voir, même si nous avons maintenant construit un chiffrage à double cryptage, avec une clé de taille 2? Bits. Et nous nous attendons à ce que la meilleure attaque possible soit de l'ordre 22?. (Référez-vous à la diapositive: 27 :55) Il s'avère qu'en faisant un calcul de l'ordre seulement? 2?, l'adversaire peut récupérer la clé. Et donc augmenter la taille de la clé en effectuant un double cryptage n'est pas suffisant. (Référez-vous à la diapositive: 28 :03) Cela nous amène à ce que nous appelons le triple cryptage. Encore une fois, imaginez que vous avez un chiffon de bloc, pratiquement sûr. Et maintenant, nous définissons un nouveau code de chiffrement basé sur le triple chiffrement. Nous avons 2 variantes possibles. Dans la première variante, nous exploitons actuellement la construction sécurisée existante avec 3 clés indépendantes de taille? Bits comme suit: ?new?1,? 2, ?3 (?)? ?3 (? − 1 ?2 (??1 (?))) Nous appliquons d'abord la construction existante sur? En ce qui concerne la partie? 1 de la clé, quelle que soit la production que j'obtiens, je l'inverse en ce qui concerne la partie? 2, quelle que soit la production que j'obtiens, encore une fois, j'applique la construction existante en ce qui concerne la partie? 3 de la clé. Et c'est ce qui va être la sortie globale du triple cryptage par rapport à la clé, à savoir? 1 | | ?2 | | ?3, c'est la première variante. (Référez-vous à la diapositive: 29 :05) La deuxième variante va en fait fonctionner par rapport à seulement 2 clés indépendantes de taille? Bits chacun comme suivs:?new?1,? 2 (?)

Notification
You have received a new notification
Click here to view them all