Cryptographie : Algorithmes

 

IV) Le DES

Annexe : Matrices du DES

           DES est un système de chiffrement par blocs de 64 bits. La clé secrète comporte aussi 64 bits - en fait seuls 56 sont utilisés, le dernier octet servant de test de parité -. Le but du jeu est de faire des combinaisons, des substitutions et des permutations entre le texte à chiffrer et la clé, toutes les opérations devant être bijectives pour pouvoir réutiliser cette même clé lors du déchiffrage ; d'où la difficulté.

Etapes:

0 - Fractionnement du texte clair en blocs de 64 bits

1 - Permutation initiale au sein des blocs du texte clair, notée P

2 - Découpage des blocs en partie gauche et partie droite ; on obtient deux suites L(i) et R(i) de blocs à 32 bits.

Les étapes 3 et 4 sont répétées 16 fois

3 - Permutation et décalage de la clé K, on obtient les clés K(i)

4 - On applique l'algorithme suivant :

L(i)=R(i-1)

R(i)=L(i-1)+ f(R(i-1), K(i))

           La fonction f applique d'abord à R(i-1) une permutation expansive à 48 bits, puis une substitution avec la clé K(i), enfin une permutation. Le + est un "ou exclusif" qui se fait par le chiffrement de Vigénère.

5 - On recolle les parties gauches et droites des blocs puis on effectue enfin l'inverse de la permutation initiale P.

           Les étapes sont appelées rondes, on dira que DES est un système de chiffrement à 16 rondes. Pour la petite histoire DES était initialement à quatre rondes, mais aujourd'hui grâce aux méthodes de cryptanalyse de Biham et Shamir, il est possible de déchiffrer DES jusqu'à 15 rondes, d'où le nombre 16.

          Pour décrypter le message il suffit de refaire le même algorithme que ci-dessus en appliquant d'abord la seizième clé puis la quinzième etc... jusqu'à la première.

Copyright © BLANC David - 2000