![]() ![]() ![]() ![]() |
Systèmes modernes à clé secrète2. D.E.S. (Data Encryption System) (1)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GénéralitésStéganographieCryptanalyseLittératureTranspositionsSubs. monoα
|
Une brève histoire du DESÀ la fin des années 60, la société IBM travaillait sur un système de cryptage nommé LUCIFER. Elle consulta, entre autres, l'agence de sécurité NSA pour des conseils techniques. Dans la conception de LUCIFER, beaucoup ont vu la patte de Claude Shannon himself.LUCIFER évolua pour devenir le système DES qui fut proposé à l'organisation NBS (National Bureau of Standards [1]) comme nouveau standard national de cryptage. En 1977, le NBS entérina le choix du DES comme norme de cryptage pour les "unclassified computer data" en publiant la recommandation FIPS 46. Le DES demeura en usage jusqu'au tournant du XXème siècle. En 1997, le NIST (ex-NBS) lança un appel visant à lui trouver un successeur. Ceci devait déboucher sur l'AES (Advanced Encryption System). ![]() Principe généralLe DES, comme tous les cryptages modernes, nécessite la transcription binaire du message (au moyen du code ASCII). Nous notons toujours "⊕" l'addition modulo 2 bit par bit (ou XOR).DES emploie une clef de 8 octets soit 64 bits dont 8 servent au contrôle de parité. Il reste donc 56 bits utiles. Le texte clair est découpé en blocs de 8 octets. Chaque bloc subit les transformations suivantes (cf. schéma ci-après) :
où hi : (G, D) ↦ (G ⊕ f(D, Ci))
![]()
DécryptageIl est particulièrement simple ! Les opérations hi et g étant involutives [2], il suffit d'appliquer la même procédure en inversant l'ordre des sous-clefs. Ainsi, alors queDES = T−1◦h16 ◦g◦h15◦g...◦h2◦g◦h1◦T tout simplement :DES−1 = T−1◦h1 ◦g◦h2◦g◦...◦h15◦g◦h16◦T Voilà !![]() DétailsPrécisons maintenant la fameuse fonction f et la construction des sous-clefs Ci à partir de la clef d'origine.fonction fPartons d'un bloc de 32 bits Di−1. La fonction f consiste à lui appliquer les transformations suivantes :
![]()
S-boîtesExpliquons encore le fonctionnement des S-boîtes. Elles acceptent 6 bits en entrée, sortant sur 4. D'une chaîne d'entrée b1b2b3b4b5b6, on isole les 2 bits extrêmes b1b6 et les 4 du milieu b2b3b4b5, obtenant 2 entiers, respectivement, de 0 à 3 et de 0 à 15. Le premier est introduit en ordonnée, le second en abscisse dans un tableau à double entrée comme le suivant :
(C'est la S-boîte n°1, S1 que nous avons reproduite ci-dessus). ![]() construction des sous-clefs
Avantages du DESLe cryptage DES s'accompagne d'un "effet avalanche". Une petite modification du clair se traduit, au bout des 16 étapes de cryptage, par un changement de plus de 50% du chiffré.Le DES est rapide à calculer. Les opérations se résument à des permutations et des additions modulaires. C'est un critère qui fut jugé important au moment de son apparition. Les possibilités de calcul fournies par l'électronique étaient alors très inférieurs à leur niveau actuel. Le DES a donc malgré tout permis dès le début des années 80 la réalisation de puces de (dé)chiffrage comme celle-ci (Crypto AG) : Il s'agissait de circuits de haute fiabilité (avec un MTBF [3] très élevé), mais néanmoins suffisamment rapides pour chiffrer / déchiffrer à la vitesse d'environ 20 Mbits/s. ![]() Faiblesses et attaques sur le DES
![]() Notes[1] maintenant NIST (National Institute of Standards and Technology)[2] càd, si l'on applique 2 fois hi (resp. g), on retrouve l'identité. [3] Mean Time Between Failures |