Le DES chiffre et déchiffre des blocs de 64 bits d'information à l'aide d'une clé de 56 bits. Ces 64 bits d'information peuvent correspondre à 8 caractères ASCII. Pour une plus grande sûreté lors du transport électronique de cette clé, il faut lui rajouter un bit de parité après tous les 7 bits. Cela veut dire que les bits 8, 16, 24, 32, 40, 48, 56 et 64 sont des bits de parité. Un bit de parité sera égal à 1 si et seulement si les 7 bits précédents contiennent un nombre impair de 1. Par exemple, si les 7 premiers bits sont 1001010, le huitième bit, le bit de parité, sera 1 puisqu'il y a trois « 1 » dans ces 7 bits. Si un bit est altéré lors du transport de la clé, on pourra détecter le changement en consultant le bit de parité. Évidemment, si deux bits changent, le bit de parité sera inutile, mais son avantage n'est pas pour autant à négliger. Il est important de noter que « la même clé sert pour l'algorithme DES et sa réciproque DES, mais pour DES, il faut considérer les étapes dans l'ordre inverse. »8
Source: [13], p. 46. |
Chacun des 64 bits d'information sont numérotés de 1 à 64 selon leur ordre d'apparition. La première étape du DES consiste à prendre ces bits et à les permuter pour obtenir l'ordre illustré au tableau 4.
58 | 50 | 42 | 34 | 26 | 18 | 10 | 2 |
60 | 52 | 44 | 36 | 28 | 20 | 12 | 4 |
62 | 54 | 46 | 38 | 30 | 22 | 14 | 6 |
64 | 56 | 48 | 40 | 32 | 24 | 16 | 8 |
57 | 49 | 41 | 33 | 25 | 17 | 9 | 1 |
59 | 51 | 43 | 35 | 27 | 19 | 11 | 3 |
61 | 53 | 45 | 37 | 29 | 21 | 13 | 5 |
63 | 55 | 47 | 39 | 31 | 23 | 15 | 7 |
Une fois cette opération terminée, on sépare le message en deux parties de 32 bits, la partie de gauche () et la partie de droite (). Comme on peut l'observer sur la table 4, la partie de gauche (les quatre premières lignes) contient les 32 bits de poids fort9 tandis que la partie de droite contient les autres bits. Chacune de ces parties va subir des opérations avant de changer de côté. Ces opérations diffèrent selon que ce soit le côté gauche ou le côté droit.
Supposons que représente la -ième partie de droite et
la -ième partie de gauche où est compris entre 1
et 16 et représente les 16 étapes du chiffrement de DES. À chaque
étape, le contenu de la partie de droite de l'étape précédente, ,
est copié dans la partie de gauche, . Le contenu de la partie
de gauche, , devient la nouvelle partie de droite, ,
à laquelle on fait subir des modifications mathématiques. On peut
alors écrire, de façon générale,
Comme il est possible de le voir, la partie de gauche est toujours la partie précédente de droite, tandis que la partie de droite est la partie de gauche ayant subit quelques opérations, dont la fonction , laquelle est le coeur du chiffrement DES.