hide random home http://wwwusers.imaginet.fr/~dohm/cryptographie/des_fr.html (Internet on a CD, 07/1998)

Books

DES


Le système DES : une substitution, une permutation, quelques tours...

DES, le système cryptographique le plus utilisé au monde, a été forcé il y a quelques mois. Il reste néanmoins utilisé pour chiffrer certaines grosses transactions bancaires et les codes personnels de cartes de crédit. Il est de plus utilisé par plusieurs ministères américains comme le ministère de l'énergie, le ministère de la justice ou le ministère des finances.

L'algorithme se déroule en trois étapes.
1. Dans un premier temps on effectue une permutation IP sur chaque bloc de 64 bits (cf matrice IP en annexe). Nous sommes donc en présence de deux blocs de 32 bits, le premier sera appelé L0 et le second R0.
2. La seconde étape consiste à faire 16 rondes en applicant la fonction récursive Ri=Li-1 XOR f(Ri-1,Ki), où Ki sont des clés derivées de la clé K, et où f est une fonction que nous allons étudier plus en détail. (voir schéma ci-dessous)
Nous connaissons donc les Li-1 et Ri-1 défini à l'étape i-1, et donnerons en annexe les 16 matrices permettant de calculer les 16 clés diversifiés Ki à partir de K.
3. La dernière étape consiste à appliquer la fonction inverse de IP à R16L16 .
(Note : Les indices sont représentés en italique et les matrices de permutation seront données en annexe)

- Etude de f :
1. Le premier blocs Ri-1 est augmenté de 32 bits à 48 bits, à l'aide d'une permutation où certains bits seront dupliqués : E(Ri-1)
2. On effectue l'opération 'E(Ri-1) XOR Ki', puis on découpe le résultat obtenu (donc notre chaîne de 48 bits) en 8 sous-chaînes de 6 bits. Ki est une des 16 clés diversifiées obtenue à partir de K et des 16 tables associées.
Pour résumer Bi=E(Ri-1) XOR Ki avec B=B1B2B3...Bj...B8 quelque soit i.
3. On affecte un nombre compris en 1 et 8 à chaque Bj; ceci se fera à l'aide de tableaux Sj associés à chaque Bj.
Soit Bj=c1c2c3c4c5c6 (où c1 représente le premier bit de Bj, c2 le deuxième, etc...), le nombres constitué des bits c1c6 consituera la ligne où se trouvera le nombre associé dans le tableau Sj, et le nombre c2c3c4c5 la colonne du tableau Sj. Sj sera donc un tableau de 4 lignes et 16 colonnes.
4. La chaîne ainsi obtenue est réordonnée suivant une dernière permutation fixée P.

Le decryptage s'effectue avec le meme algo, en reprenant les clés Ki, i variant de 16 à 1. C'est tout.

Les tables IP, inv. de IP, E, S1 à S8, et P sont disponibles en annexe.


DES sont les initiales de Data Encryption Standard
 
  Page precedente Page suivante Sommaire Mail to ... Clé publique