Cours Sécurité Informatique : Algorithme de chiffrement symétrique par bloc D.E.S
Ce cours présente l’algorithme de chiffrement symétrique par bloc D.E.S (Data Encryption Standard), un standard historique en cryptographie. Il s’inscrit dans un enseignement de sécurité informatique et détaille les principes, le fonctionnement, les particularités ainsi que les limites de D.E.S, avant d’évoquer brièvement son successeur, l’AES.
D'après le document Cours Sécurité Informatique : Algorithme de chiffrement symétrique par bloc D.E.S
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Computer Security / Cryptography · PDF · 14 pages · 2015
Afficher l'aperçu du document
Ce cours présente l’algorithme de chiffrement symétrique par bloc D.E.S (Data Encryption Standard), un standard historique en cryptographie. Il s’inscrit dans un enseignement de sécurité informatique et détaille les principes, le fonctionnement, les particularités ainsi que les limites de D.E.S, avant d’évoquer brièvement son successeur, l’AES.
Introduction au chiffrement par bloc et au D.E.S
Le chiffrement par bloc consiste à traiter les données par blocs de taille fixe, par exemple 64 ou 128 bits. Parmi les algorithmes de chiffrement par bloc, on trouve notamment D.E.S, AES, IDEA, RC6, et BLOWFISH. En parallèle, il existe le chiffrement par flot qui traite les données bit par bit, avec des algorithmes comme RC4, Bluetooth E0/1, ou GSM A5/1.
Le D.E.S a été créé en 1975 à partir d’une demande d’IBM datant des années 1960, dans le cadre d’un programme de recherche en chiffrement informatique. Ce standard devait répondre à plusieurs critères : garantir un haut niveau de sécurité avec une clé de petite taille, ne pas dépendre de la confidentialité de l’algorithme, être adaptable, économique, efficace et exportable.
Présentation de l’algorithme D.E.S
D.E.S est un algorithme de chiffrement symétrique, c’est-à-dire qu’il utilise une clé secrète unique pour chiffrer et déchiffrer les messages. La clé a une longueur de 64 bits, mais seuls 56 bits sont effectivement utilisés pour le chiffrement. L’algorithme opère sur des blocs de données de 64 bits, ce qui en fait un chiffrement par bloc.
Principe de fonctionnement de D.E.S
D.E.S combine plusieurs transformations simples pour obtenir une fonction de chiffrement plus sûre que chacune de ses composantes. Il utilise des opérations telles que le décalage, le « ou exclusif » (XOR), la transposition et l’expansion. L’algorithme est itératif, répétant une fonction de tour 16 fois, avec des sous-clés générées à partir de la clé secrète.
Le texte en clair est découpé en blocs de 64 bits, qui sont chiffrés un par un. Le processus comprend plusieurs étapes :
- Une permutation initiale des bits du bloc de 64 bits, divisant le bloc en deux parties de 32 bits appelées G0 (gauche) et D0 (droite).
- Seize tours itératifs où, à chaque tour i, on calcule :
Gi = Di-1
Di = Gi-1 XOR f(Di-1, Ki)
où Ki est une sous-clé de 48 bits dérivée de la clé principale, et f est une fonction de chiffrement.
- Après les 16 tours, on recompose un bloc en recollant D16 et G16 dans cet ordre.
- Enfin, on applique la permutation inverse de la permutation initiale pour obtenir le bloc chiffré final.
Fonction de chiffrement f
La fonction f agit sur un bloc de 32 bits (la partie droite) et une sous-clé de 48 bits. Elle se compose de trois sous-fonctions :
- Fonction d’expansion : elle transforme le bloc de 32 bits en un bloc de 48 bits en utilisant une règle de transposition et de recopie.
- Fonction de sélection : elle divise le bloc de 48 bits en huit sous-blocs de 6 bits, puis sélectionne 4 bits dans chaque sous-bloc selon des tables appelées boîtes S (S-boxes), qui introduisent la non-linéarité.
- Fonction de permutation : elle applique une permutation sur les 32 bits résultants de la sélection pour diffuser rapidement l’information.
Étape intermédiaire dans un tour
Lors d’un tour, le bloc de 64 bits est divisé en deux moitiés de 32 bits. La moitié gauche devient la copie de la moitié droite précédente. La moitié droite est transformée en un bloc de 48 bits via une expansion, puis combinée par un XOR avec la sous-clé correspondante. Le résultat est ensuite traité par la fonction de sélection et la permutation.
La clé de 56 bits est divisée en deux blocs de 28 bits, qui subissent un décalage circulaire vers la gauche dont le nombre de positions dépend de l’itération en cours. Ces sous-clés sont utilisées dans chaque tour pour garantir la sécurité du chiffrement.
Génération des sous-clés
La clé initiale K de 56 bits est d’abord soumise à une permutation qui enlève les bits de parité. Elle est ensuite divisée en deux parties égales G0 et D0 de 28 bits chacune. Pour chaque tour i (de 1 à 16), on effectue une rotation circulaire à gauche sur G et D, puis on applique une permutation supplémentaire pour obtenir la sous-clé Ki de 48 bits utilisée dans ce tour.
Particularités et limites de D.E.S
D.E.S se distingue par sa souplesse d’implémentation et sa rapidité d’exécution. Il n’existe pas de relation statistique simple entre le texte clair et le texte chiffré, ce qui renforce la sécurité. Cependant, la sécurité dépend fortement de la taille de la clé. Une clé plus courte diminue la robustesse de l’algorithme.
Avec une clé de taille importante, par exemple 128 bits, la sécurité est élevée, mais le temps de calcul devient plus coûteux. D.E.S utilise une clé de 56 bits, ce qui aujourd’hui est insuffisant face aux capacités de calcul modernes. En conséquence, des attaques par recherche exhaustive sont réalisables.
Les boîtes S apportent la non-linéarité nécessaire, tandis que les opérations d’expansion et de permutation assurent une diffusion rapide des bits dans le bloc.
Problèmes connus et évolutions
Les principales faiblesses de D.E.S sont :
- La taille de la clé (56 bits) qui permet une recherche exhaustive réaliste, d’où l’apparition du Triple-DES qui applique D.E.S trois fois avec différentes clés.
- La taille du bloc de 64 bits, vulnérable à certaines attaques nécessitant environ 2^32 messages.
- La cryptanalyse linéaire et différentielle, qui exploitent des propriétés statistiques pour casser le chiffrement.
Malgré ces problèmes, D.E.S est un algorithme bien conçu qui a résisté à plus de 30 ans de cryptanalyse.
Successeur du D.E.S : l’AES
Le standard américain AES (Advanced Encryption Standard) a été proposé pour remplacer D.E.S. La sélection de l’AES s’est déroulée entre 1997 et 2000, avec 15 candidats initiaux puis 5 finalistes, dont Rijndael (Belgique), MARS (IBM), SERPENT, RC6, et Twofish.
AES utilise une taille de bloc de 128 bits et des clés de 128, 192 ou 256 bits. Le nombre de tours dépend de la taille de la clé :
- 10 tours pour AES-128
- 12 tours pour AES-192
- 14 tours pour AES-256
Conclusion
D.E.S a été l’un des algorithmes à clé secrète les plus utilisés et est resté le standard unique jusqu’en 1999. Aujourd’hui, il est menacé par la puissance de calcul des ordinateurs modernes, qui rendent possible la recherche exhaustive des clés. Le standard AES a été proposé pour le remplacer, offrant une meilleure sécurité grâce à des clés plus longues et une structure plus robuste.
Points clés à retenir
- D.E.S est un algorithme de chiffrement symétrique par bloc utilisant une clé de 56 bits et des blocs de 64 bits.
- Le chiffrement repose sur 16 tours itératifs combinant permutations, expansions, XOR et substitutions via des boîtes S.
- La génération des sous-clés implique des rotations circulaires et des permutations sur la clé principale.
- D.E.S est rapide et flexible, mais sa clé courte le rend vulnérable aux attaques modernes.
- Le Triple-DES et l’AES ont été développés pour pallier les faiblesses de D.E.S.
- AES utilise des blocs de 128 bits et des clés plus longues, avec un nombre de tours variable selon la taille de la clé.
Commentaires
Aucun commentaire pour le moment. Posez la première question.