previous up next contents
Previous: 3 A3. Générateurs pseudo-aléatoires Up: Identification dans les systèmes Next: 5 A5. Le password   Contents

Subsections

4 A4. Le Data Encryption Standard

Un autre standard du chiffrement est le DES (Data Encryption Standard). Mis au point en 1977 par IBM et la NSA (National Security Agency américaine), il consiste (pour parler rapidement) à chiffrer chaque paquet de 64 bits du texte en clair par 16 étages de permutations et substitutions, chaque étage étant commandé par une clef engendrée à partir d'une clef principale de 56 bits [9, 31].

4.1 la controverse sur le DES

Avec le péché originel d'avoir de tels parents, et avec le fait que les études ayant présidé aux choix de conception, et en particulier au choix de la longueur de la clef, soient restées secrètes, le DES a été aussitôt suspecté d'avoir été conçu juste assez faible pour que la NSA puisse le casser quand même.

Il se trouve en tout cas que personne n'a encore publié un moyen de "casser le DES", c'est à dire une technique plus rapide que les essais systématiques pour trouver la clef k connaissant un couple $ \left( \left\{ a\right\} ,  \left\{ a\right\} _{k}\right) $ composé d'un bloc de 64 bits de texte en clair et de sa traduction chiffrée, même si l'attaquant peut choisir autant de $ \left\{ a\right\} $ qu'il veut.

Ce qui s'en rapprocherait le plus, l'analyse différentielle présentée par Biham et Shamir lors de Crypto'90, permet certes de casser une version affaiblie du DES (8 étages seulement) en 2 minutes sur un PC [46]. Mais son efficacité par rapport à la recherche systématique s'estompe rapidement avec le nombre des étages. Et le reste de l'étude menée semble justifier les choix de conception faits par IBM/NSA, en particulier pour les substitutions.

4.2 possibilité d'une attaque en vive force

En ce qui concerne une attaque en vive force, par énumération systématique des clefs possibles, une expertise du NBS (National Bureau of Standards) a conclu, en 1977, que le DES pourrait largement tenir 10 ans. On peut reprendre le raisonnement, en considérant que les circuits spécialisés actuels permettent 200.000 tests par seconde, 1.7E10 par jour. Il y a 256 = 7.2E16 clefs à tester. Quotient : 4E6.

Pour un individu, cela veut dire une chance sur quatre millions de réussir. Ce n'est pas forcément plus bête que de jouer au loto et cela peut éventuellement rapporter encore plus.

Pour une organisation d'une certaine taille, on peut commencer à sortir les calculettes et estimer le coût d'une machine spécialisée. Les ordres de grandeur sont [15] : 50 millions de $ actuellement, 20 millions en 1995, 3.5 millions en l'an 2000. A titre de comparaison le porte-avions "Nimitz" a coûté quelques 1 500 millions de $ (1991) à sa construction dans les années 1970. Il n'est donc pas impossible qu'un tel "DESosaure" existe dès maintenant, même s'il n'est pas sûr qu'il puisse être jamais rentabilisé.

4.3 avenir du DES

Il semble donc raisonnable de considérer encore le DES comme fiable pour toutes les informations qui ne restent sensibles qu'un temps limité, à condition que les clefs qui les ont protégées changent à chaque session. Par contre, pour des protocoles critiques dont les clefs ne peuvent pas changer facilement, et en particulier pour le protocole de distribution des clefs secondaires, il convient sans doute d'adopter dès maintenant un chiffrement plus robuste. Ne serait-ce que le "triple DES", autrement nommé DES-EDE, qui a l'avantage énorme d'être réalisable sur les processeurs spécialisés actuels et qui consiste à utiliser un couple $ \left( K,  H\right) $ de clefs DES : désignant par $ \left\{ M\right\} _{k} $ le chiffrement DES (ordinaire) du message $ M $ à l'aide de la clef $ k $ et par $ \left\{ M\right\} _{k^{-1}} $ l'opération inverse, on chiffre par : $ C=\left\{ \left\{ \left\{ M\right\} _{k}\right\} _{h^{-1}}\right\} _{k} $ et on déchiffre par : $ M=\left\{ \left\{ \left\{ C\right\} _{k^{-1}}\right\} _{h}\right\} _{k^{-1}} $.

En conclusion, ce serait une mauvaise idée que de remplacer le DES par un protocole affaibli, même si cela n'améliore certes pas la vie d'un utilisateur qui ne dispose pas de circuits-DES, et qui doit donc travailler non pas à 1,3 millions d'octets chiffrés par seconde, mais seulement à la vitesse de 400 octets par seconde... (les meilleures implémentations 92 ne dépassent pas 20 000 o/s).


previous up next contents
Previous: 3 A3. Générateurs pseudo-aléatoires Up: Identification dans les systèmes Next: 5 A5. Le password   Contents


douillet@ensait.fr
2002-01-05