Chapitre II DES

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 13

Chapitre II Data

Encryption Standard
(DES)
Table des
matières
I - Introduction à DES 3

II - Fonction de chiffrement DES 4

1. La fonction F ................................................................................................................................................. 7

III - Génération de clés 11


Introduction à DES

Introduction à DES
I
DES est un algorithme de chiffrement par bloque. Taille du bloque chiffré = 64bits, taille de la
clé primaire K = 56 bits(256 valeurs possibles de la clé) ;
Inventé par IBM avec NSA (National Security Agency) et standardisé en 1977.
Cassé par attaque brute force en 2000 avec l’implémentation hardware Copacobana.

Figure 1. DES

3
Fonction de chiffrement DES

Fonction de
chiffrement DES II

DES se compose des étapes suivantes :

Permutation initiale
16 rounds de chiffrement
Permutation finale (inverse de la permutation initiale)

4
Fonction de chiffrement DES

Figure 2. Fonctionnement global de DES

5
Fonction de chiffrement DES

Figure 3. Parity check dans les clé DES

Avant de commencer la procédure de chiffrement, la première phase qui doit être exécutée
consiste à générer 16 sous-clés (sub-keys) depuis la clé primaire. La taille de chaque clé est de
48bits (voir la section génération de clés). Dans plusieurs références, la clé primaire est d'une
taille de 64 bits, mais dans chaque octet de la clé, le 8em bit n'est pas utilisé car celui-ci
comporte la valeur de vérification de parité.

Pour commencer le traitement d'un bloque de texte de 64 bits, celui ci est introduit à une
fonction de permutation P(X) [où X est le bloque de bits]. Cette phase consiste simplement à
changer les positions des bits du texte claire.
Par exemple : Comme montré dans la figure 4, le bit numéro 1 sera déplacé vers la position 40
et le bit numéro 2 à la position 8.

Figure 4. Permutation initiale

La permutation finale est exactement l'inverse de cette permutation initial :

Par exemple : Comme montré dans la figure 5, le bit numéro 40 sera déplacé vers la position 1 et le bit
numéro 8 à la position 2.

6
Figure 5. Permutation finale

Après la permutation initiale, le bloque de 64 bit est divisé en deux bloques de 32 bits (L 0, R0).

A chaque round i , Ri= Li-1 XOR F(Ri-1,Ki) et Li= Ri-1(La partie droite du round précédant est

copiée dans la partie gauche, et la partie gauche est chiffrée avec le résultat de la fonction F).
A la fin des 16 rounds, L16 et R16 sont inversées : L16= L15 XOR F(R15,K16) et R16= R15

Figure 6. Round i de DES

1. La fonction F

7
Figure 6. Fonction F

La fonction F de DES est la partie la plus complexe de ce système. Cette fonction prend en
paramètre , Ki et Ri-1.

La première étape de cette fonction consiste à étendre le bloque R i-1 de 32 bits à 48 bits (pour

que le XOR avec la clé dérivé Ki soit possible). Pour faire ce-ci, le bloque de 32 bits est divisé
en 8 bloques de 4 bits. Par la suite, de chaque bloque de 4bits, le bit le plus à droit et le bit le
plus à gauche sont dupliqués. Ainsi, 2 de chaque 4 bits sont dupliqués et la taille devient de 32
+ 32 /2 = 48 bits (voir le tableau à gauche pour les positions des bits dupliquées).
Après l'extension de la clé, la valeur en résultat est combinée avec la valeur de la clé du round
par un XOR.

8
Figure 7. Fonction d'extension

Le bloque devient de taille 48 bits ( 8 bloques de 6 bits). Par la suite, chaque bloque de 6bits est
passé en paramètre à l'entré du Sbox correspondant ( le premier bloque de 6bits sera traité par
Sbox1, le deuxième bloque sera passé au Sbox 2, etc). Il existe 8 différents Sbox , chacune
prend 6 bits en entré et renvoie 4 bits en sortie.

Figure 8. SBox

Chaque Sbox est une simple table de correspondance de 4 lignes et 16 colonnes. Pour obtenir
la sortie correspondante à une entré de 6bits :

1. Le premier et le dernier bit sont pris pour obtenir l'indice de la ligne


2. Les 4 bits au milieu sont pris pour obtenir la valeur de la colonne
3. La valeur dans la case est renvoyé en sortie

Par exemple pour B=101111 (indice ligne= 11 = 3, indice colonne=0111= 7). La sortie correspondante

9
pour un tel bloque de 6bits = 7

Figure 8. Sbox 1

Par la suite les sorties de chaque Sbox sont regroupées (8 x 4 bits = 32 bits !) dans un seul
bloque.
La dernière étape de l'exécution d'un round consiste à une permutation fixe sur le bloque de 32
bits.

Figure 9. Permutation finale du round

Fondamental
La fonction d'extension, Sbox et la permutation du round assurent la propriété Diffusion (voir chapitre
1). Ces trois fonctionnalités assurent qu'après 5 rounds, le changement d'un seul bit dans le texte clair
affectera tout le bloque)

10
Génération de clés

Génération de clés
III
Pour le chiffrement et déchiffrement, les 16 clés dérivées doivent être générés en premier (une clé pour
chaque round).

1. La première étape (PC -1 = Permuted Choice) consiste à enlever les 8 bits de parité de la clé
primaire de 64 bits et de permuter les positions des 56 bits restants. Cette table de sélection est
définie d'une manière fixe.
2. Le bloque de 56 bits en résultat est divisé en deux parties de 28 bits C 0 et D0.

3. A chaque itération les deux parties de la clé sont décalés par un ou deux bits à gauche (décalés
par un bit dans round 1,2,9, et 16, décalés par 2 bits dans tous les autres itérations)
4. Après la fin de décalage, la clé est passée en entré de ( PC -2 = Permuted Choice) qui prend 48
bits des 56 bit (Ci + Di). Cette table de sélection est fixe comme PC1

11
Génération de clés

12
Génération de clés

13

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy