Accueil🇫🇷Chercher

Data Encryption Standard

Le Data Encryption Standard (DES, prononcer /dɛs/) est un algorithme de chiffrement symétrique (chiffrement par bloc) utilisant des clés de 56 bits. Son emploi n'est plus recommandé aujourd'hui, du fait de sa lenteur à l'exécution et de son espace de clés trop petit permettant une attaque systématique en un temps raisonnable. Quand il est encore utilisé c'est généralement en Triple DES, ce qui ne fait rien pour améliorer ses performances. DES a notamment été utilisé dans le système de mots de passe UNIX.

DES (Data Encryption Standard)
Description de cette image, également commentée ci-après
Fonction-F de DES.
Résumé
Concepteur(s) IBM
Première publication 1975 (1977 pour le standard)
Dérivé de Lucifer
Chiffrement(s) basé(s) sur cet algorithme Triple DES, G-DES, DES-X, LOKI89, ICE
Caractéristiques
Taille(s) du bloc 64 bits
Longueur(s) de la clé 56 bits
Structure schéma de Feistel
Nombre de tours 16 tours du DES

Meilleure cryptanalyse

cryptanalyse linéaire, cryptanalyse différentielle, attaque par force brute maintenant envisageable

Le premier standard DES est publié par FIPS le sous le nom FIPS PUB 46. La dernière version avant l'obsolescence date du [1].

Histoire

En , le National Bureau of Standards américain demande la création d'un algorithme de chiffrement utilisable par les entreprises. À cette époque, IBM dispose déjà d'un algorithme appelé Lucifer, conçu en 1971 par Horst Feistel.

En bonne logique, cet algorithme aurait dû être sélectionné par le NBS. En pratique, ce fut presque le cas : la NSA demanda que Lucifer soit modifié, par ses soins. Ainsi fut créé le DES, qui fut adopté comme standard en novembre 1976. Cela suscita des soupçons selon lesquels la NSA aurait volontairement affaibli l'algorithme, dans le but de pouvoir le casser. Étrangement, le DES s'est révélé résistant à plusieurs attaques ne devant apparaître dans la communauté académique que beaucoup plus tard. Encore plus étonnant, Lucifer, lui, résistait moins bien. Ceci permet de penser que la NSA avait connaissance dès cette époque de ces techniques de cryptanalyse et qu'elle aurait donc, en réalité, rendu DES plus résistant[2].

L'équipe d'IBM impliquée dans la conception et l'analyse du chiffrement comprenait Feistel, Walter Tuchman, Don Coppersmith, Alan Konheim, Carl Meyer, Mike Matyas, Roy Adler, Edna Grossman, Bill Notz, Lynn Smith et Bryant Tuckerman.

Fonctionnement

L'algorithme DES transforme un bloc de 64 bits en un autre bloc de 64 bits. Il manipule des clés individuelles de 56 bits, représentées par 64 bits (avec un bit de chaque octet servant pour le contrôle de parité). Ce système de chiffrement symétrique fait partie de la famille des chiffrements itératifs par blocs, plus particulièrement il s'agit d'un schéma de Feistel (du nom de Horst Feistel à l'origine du chiffrement Lucifer).

D'une manière générale, on peut dire que DES fonctionne en trois étapes :

  • permutation initiale et fixe d'un bloc (sans aucune incidence sur le niveau de sĂ©curitĂ©) ;
  • le rĂ©sultat est soumis Ă  16 itĂ©rations d'une transformation, ces itĂ©rations dĂ©pendent Ă  chaque tour d'une autre clĂ© partielle de 48 bits. Cette clĂ© de tour intermĂ©diaire est calculĂ©e Ă  partir de la clĂ© initiale de l'utilisateur (grâce Ă  un rĂ©seau de tables de substitution et d'opĂ©rateurs XOR). Lors de chaque tour, le bloc de 64 bits est dĂ©coupĂ© en deux blocs de 32 bits, et ces blocs sont Ă©changĂ©s l'un avec l'autre selon un schĂ©ma de Feistel. Le bloc de 32 bits ayant le poids le plus fort (celui qui s'Ă©tend du bit 32 au bit 64) subira une transformation ;
  • le rĂ©sultat du dernier tour est transformĂ© par la fonction inverse de la permutation initiale.

DES utilise huit tables de substitution (les S-Boxes) qui furent l'objet de nombreuses controverses quant à leur contenu. On soupçonnait une faiblesse volontairement insérée par les concepteurs. Ces rumeurs furent dissipées au début des années 1990 par la découverte de la cryptanalyse différentielle qui démontra que les tables étaient bien conçues.

Attaques

Plusieurs attaques ont été découvertes sur DES. Elles permettent de diminuer les coûts d'une recherche exhaustive des clés qui se monte à opérations en moyenne. Certaines de ces méthodes ne sont plus efficaces avec des algorithmes de chiffrement plus récents du fait de l'introduction d'un effet avalanche.

  • La cryptanalyse diffĂ©rentielle dĂ©couverte par Eli Biham et Adi Shamir en 1991 permet de trouver la clĂ© en utilisant textes clairs. Le principe est de disposer d'un DES implĂ©mentĂ© dans une boĂ®te noire hermĂ©tique avec une clĂ© secrète Ă  l'intĂ©rieur. En fournissant suffisamment de texte en entrĂ©e, on peut statistiquement analyser le comportement des sorties selon les entrĂ©es et retrouver la clĂ©. Les entrĂ©es utilisĂ©es pour cette attaque doivent mutuellement prĂ©senter une lĂ©gère diffĂ©rence (par exemple un bit qui change). En regardant comment la diffĂ©rence affecte la sortie, on peut Ă©tablir des statistiques et en augmentant le nombre d'entrĂ©es, on amĂ©liore la fiabilitĂ© de l'attaque.
  • L’attaque-T (Tickling attack) est une variante de la cryptanalyse diffĂ©rentielle dĂ©couverte en 1974 lors de la conception du DES par les chercheurs d'IBM. Pendant une vingtaine d'annĂ©es, le silence a Ă©tĂ© complet sur cette dĂ©couverte. C'est Don Coppersmith qui rĂ©vèlera le secret en 1994[3]. Ă€ l'Ă©poque, elle avait incitĂ© les concepteurs de DES Ă  renforcer le contenu des tables de substitution (au lieu de l'affaiblir comme la rumeur le laissait entendre).
  • La cryptanalyse linĂ©aire, inventĂ©e par Henri Gilbert et indĂ©pendamment par Mitsuru Matsui en 1993 est plus efficace mais moins pratique pour la simple et bonne raison que l'attaquant ne dispose pas de la boĂ®te noire et qu'il ne peut pas soumettre ses propres textes. Cette attaque nĂ©cessite couples (tous chiffrĂ©s avec la mĂŞme clĂ©) que l'attaquant a pu rĂ©cupĂ©rer par un moyen ou un autre. Elle consiste Ă  faire une approximation linĂ©aire de DES en le simplifiant. En augmentant le nombre de couples disponibles, on amĂ©liore la prĂ©cision de l'approximation et on peut en extraire la clĂ©.
  • Le compromis temps-mĂ©moire est un concept inventĂ© par Martin Hellman au dĂ©but des annĂ©es 1980. En partant du principe que le mĂŞme message va ĂŞtre chiffrĂ© plusieurs fois avec des clĂ©s diffĂ©rentes, on pourrait calculer une immense table qui contient toutes les versions chiffrĂ©es de ce message. Lorsque l'on intercepte un message chiffrĂ©, on peut le retrouver dans la table et obtenir la clĂ© qui avait Ă©tĂ© utilisĂ©e pour le coder. Cette attaque n'est bien sĂ»r pas faisable car nous avons besoin d'une table de l'ordre du milliard de GB. Le gĂ©nie d'Hellman a Ă©tĂ© de trouver un moyen pour rĂ©duire cette table Ă  environ 1 tĂ©raoctet (soit 1 million de fois moins que la table complète), ce qui est faisable de nos jours.
  • D'autres attaques sont spĂ©cifiques Ă  des implĂ©mentations et ne sont pas forcĂ©ment spĂ©cifiques Ă  DES. Dans le cas d'un DES implĂ©mentĂ© dans du matĂ©riel, on pourrait analyser la consommation Ă©lectrique et dĂ©duire certaines informations sur la clĂ© (une consommation accrue indique des bits actifs). Le mĂŞme style d'attaque peut aussi ĂŞtre employĂ© sur un ordinateur en calculant le temps mis pour chiffrer avec des textes diffĂ©rents ou en analysant la mĂ©moire utilisĂ©e.
  • Toutes les autres attaques sur DES visent Ă  rĂ©duire le temps de calcul d'une recherche exhaustive en utilisant des machines spĂ©cifiquement conçues pour la tâche (grâce Ă  des FPGA en parallèle par exemple). Une telle machine a Ă©tĂ© construite en 1998. Deep Crack a coĂ»tĂ© environ 200 000 $ et pouvait casser la clĂ© en moins d'une semaine. Le calcul distribuĂ© en utilisant les ordinateurs des particuliers (distributed.net) a prouvĂ© son efficacitĂ© en cassant une clĂ© en moins de 24 heures.

Statut

L'algorithme initialement conçu par IBM utilisait une clé de 112 bits. L'intervention de la NSA a ramené la taille de clé à 56 bits. De nos jours, le Triple DES reste très répandu, et le DES « simple » ne subsiste que dans d'anciennes applications. Le standard DES a été remplacé en 2001 par l'AES (Advanced Encryption Standard).

Notes et références

Notes

    Références

    1. (en) « Data Encryption Standard (DES) » [PDF], (consulté le ).
    2. Involvement of NSA in the development of the data encryption standard
    3. (en) Don Coppersmith, « The Data Encryption Standard (DES) and its strength against attacks », IBM Journal of Research and Development, vol. 38, no 3,‎ , p. 243 (lire en ligne [PDF])

    Annexes

    Articles connexes

    Liens externes

    Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.