Faculté des Sciences de Bizerte
Cours Sécurité Informatique
Chapitre 4: Algorithme de chiffrement
symétrique par bloc D.E.S
Présenté par :
Dr. Olfa DRIDI :
1
Plan
Plan
Plan
Plan
Introduction
1.
2. Présentation de l’algorithme D.E.S
3. Principe de D.E.S
4. Particularités de D.E.S
5. Conclusion
19/11/2015
2
1
19/11/2015
Introduction
Introduction
Introduction
Introduction
Chiffrement par bloc
(cid:1) P est traité par blocs de
données (ex: 64 bits ou
128 bits)
(cid:1) Algorithmes : DES, AES,
IDEA, RC6, BLOWFISH,
…
Chiffrement par flot
(cid:1) P est traité bit par bit
(cid:1) Algorithmes :RC4,
Bluetooth E0/1, GSM
A5/1,
3
Introduction
Introduction
Introduction
Introduction
(cid:1) Le D.E.S. (Data Encryption Standard) : c’est un Standard de
Chiffrement de données naît en 1975 suite à une requête d'I.B.M. en
le chiffrement
1960 pour
informatique.
son programme de recherche sur
(cid:1) Elle devait répondre à l’époque aux critères suivants :
(cid:1) avoir un haut niveau de sécurité lié à une clé de petite taille
servant au chiffrement et au déchiffrement,
(cid:1) ne pas dépendre de la confidentialité de l'algorithme,
(cid:1) être adaptable, économique, efficace et exportable.
4
2
19/11/2015
Présentation de D.E.S
Présentation de D.E.S
Présentation de D.E.S
Présentation de D.E.S
(cid:1) Le Data Encryption Standard (D.E.S) est un algorithme de
chiffrement symétrique.
(cid:1) C’est un algorithme de cryptage à clé secrète. La clé sert donc à
la fois à crypter et à décrypter le message. Cette clé a une
longueur de 64 bits, c’est-à-dire 8 caractères, mais seulement
56 bits sont utilisés.
(cid:1) Il met en œuvre un processus agissant sur des blocs de données
de 64 bits (chiffrement par bloc) sous le contrôle d’une clé de
56 bits.
Publicité
5
chiffrement
Algorithme D.E.S ––––chiffrement
Algorithme D.E.S
chiffrement
chiffrement
Algorithme D.E.S
Algorithme D.E.S
6
3
19/11/2015
Principe de l’algorithme
Principe de l’algorithme
Principe de l’algorithme
Principe de l’algorithme
(cid:1) Systèmes
cryptographiques produit:
combine plusieurs
transformations de sorte que la fonction de cryptage résultante
soit plus sûre que ses composantes.
il
(cid:1) C'est un algorithme à base de :
(cid:1) décalage ; « ou exclusif » ; transposition/recopie (appelé
expansion).
(cid:1) Algorithmes itératifs : une fonction de tour est itérée t fois
(cid:1) Génération de clés de tour (ou sous-clés) à partir de la clé
secrète K
(cid:1) Utilisation d’opérations
simples et efficaces
(+, XOR, *,
tableaux)
7
Principe de fonctionnement
Principe de fonctionnement
Principe de fonctionnement
Principe de fonctionnement
(cid:1) Décomposition du texte en clair en bloc
(cid:1) le texte en clair est découpé en bloc de 64 bits qui seront chiffrés un par
un ;
(cid:1) Utilisation en différentes étapes, éventuellement répétées (en tout 19
étapes) :
(cid:1) la première étape transpose chaque blocs de 64 bits du texte en
clair avec la clé de 56 bits ;
(cid:1) 16 étapes intermédiaires ;
(cid:1) l'avant dernière étape intervertit les 32 bits de droite et de
gauche ;
(cid:1) la dernière étape transpose chaque blocs de 64 bits du texte avec
la clé de 56 bits (exactement à l'inverse de la première étape).
(cid:1) Les 16 étapes intermédiaires sont
différentes utilisations de la clé
identiques mais varient par
8
4
Principe de fonctionnement
Principe de fonctionnement
Principe de fonctionnement
Principe de fonctionnement
Une étape intermédiaire
(cid:1) Elle consiste à couper le bloc de 64 bits en 2 blocs de 32 bits.
(cid:1) Le bloc de sortie de gauche sera une recopie du bloc de droite en entrée.
(cid:1) Le bloc de droite est utilisé pour calculer un nombre de 48 bits à l'aide de
règles de transposition et de recopie.
(cid:1) Ces
règle sont stockées dans des tables et leur construction reste
mystérieuse.
(cid:1) La clé de 56 bits est divisée en 2 blocs de 28 bits, sur ces blocs de 28 bits
un décalage circulaire est effectué vers la gauche d'un nombre de
position dépendant de l'itération.
(cid:1) Un « ou exclusif » est calculé entre le nombre de 48 bits et la clé de 56
bits.
Publicité
(cid:1) Le résultat de ces « ou exclusifs » est découpé en blocs de 6 bits.
9
Principe de fonctionnement
Principe de fonctionnement
Principe de fonctionnement
Principe de fonctionnement
(cid:1) Le message, au préalable converti en binaire,
est découpé en blocs Bi de 64 bits. La clé K,
elle, comporte 56 bits. Pour chaque bloc Bi,
on applique l'algorithme* suivant :
1. On effectue une permutation initiale des
bits du bloc Bi. On appelle alors G0 et D0 les
parties de 32 bits droite et gauche du bloc
obtenu.
2. On répète 16 fois la procédure suivante :
Gi = Di-1 Di = Gi-1 XOR f(Di-1 , Ki)
où Ki est un bloc de 48 bits de la clé K,
et f une fonction de chiffrement.
3. On recompose un bloc B'16 en "recollant"
D16 et G16 dans cet ordre.
4. On effectue la permutation inverse de la
permutation initiale 1).
10
19/11/2015
5
19/11/2015
Permutation initiale
Permutation initiale
Permutation initiale
Permutation initiale
11
de chiffrement
Fonction ffff de chiffrement
Fonction
de chiffrement
de chiffrement
Fonction
Fonction
(cid:1) Elle est composée de trois fonctions:
(cid:1) Fonction d’expansion: elle prend en entrée un bloc de 32 bits (la
partie droite) pour en fournir en sortie un bloc de 48 bits.
(cid:1) Fonction de sélection: elle sélectionne 4 bits à partir d’une entrée de
6 bits. Les entrées de cette fonction sont extraites à partir d’un bloc de
X de 48 bits. Le bloc X est le résultat de l’addition modulo 2 des 48 bits
résultant de la fonction d’expansion avec une sous-clé ‘Ki’.
(cid:1) Fonction de permutation: la sortie de la fonction de sélection est
constituée de 8 blocs de 4 bits chacun. Ces derniers sont concaténés et
soumis à une permutation.
12
6
19/11/2015
Fonction F de DES
Fonction F de DES
Fonction F de DES
Fonction F de DES
Fonction F du DES
Fonction F du DES
Fonction F du DES
Fonction F du DES
13
14
7
19/11/2015
de chiffrement
Fonction ffff de chiffrement
Fonction
de chiffrement
de chiffrement
Fonction
Fonction
Publicité
Exemple d’expansion
Exemple d’expansion
Exemple d’expansion
Exemple d’expansion
15
16
8
Génération des clés
Génération des clés
Génération des clés
Génération des clés
(cid:1) La clé initiale ‘K’ est utilisée pour générer un ensemble de sous-clés
‘ki’.
(cid:1) Enlever
(cid:1) Le processus de génération des sous-clés est le suivant:
les autres
les bits de parité et ordonner
suivant une
permutation. Le résultat est décomposé en 2 parties G0 et D0. G0 étant
les bits les plus à gauche. D0 représente les 28 bits les plus à droite.
(cid:1) Pour chaque itération ‘i’(1≤ i ≤ 16), calculer les deux expressions
(Di-1) où Ri étant une rotation
suivantes: Gi = Ri
circulaire vers la gauche d’un ou de deux bits.
(Gi-1) et Di = Ri
(cid:1) Calculer la sous-clé Ki en appliquant une autre permutation.
17
Particularités de D.E.S
Particularités de D.E.S
Particularités de D.E.S
Particularités de D.E.S
(cid:1) D.E.S se caractérise par une souplesse d’implémentation.
(cid:1) Pas de relation statistique entre le texte et son cryptage
(cid:1) Le chiffrement par D.E.S est très rapide.
(cid:1) En réduisant la taille de la clé, on diminue la sécurité et la robustesse
de l’algorithme.
(cid:1) La sécurité de l’algorithme est tributaire de la taille de la clé,
toutefois avec une clé de taille considérable (128 bits) garantissant un
haut niveau de sécurité, l’algorithme est relativement coûteux en
temps d’exécution.
18
19/11/2015
9
19/11/2015
Particularité de D.E.S
Particularité de D.E.S
Particularité de D.E.S
Particularité de D.E.S
Ces choix peuvent paraître arbitraires mais :
(cid:1) Toutes les briques sont très simples à coder et efficaces
en hardware
(cid:1) Les boîtes S apportent la non-linéarité
(cid:1) Expansion et permutation garantissent une diffusion
rapide
19
Problèmes de D.E.S
Problèmes de D.E.S
Problèmes de D.E.S
Problèmes de D.E.S
(cid:1) Taille de clé (recherche exhaustive en 256 est réaliste) → utilisation
du Triple-DES
(cid:1) Taille du bloc (attaques avec 232 messages)
(cid:1) Cryptanalyse linéaire et différentielle
Malgré tout, le DES est un algorithme très bien conçu : il a plutôt bien
résisté à 30 ans de cryptanalyse
20
10
19/11/2015
Double D.E.S
Double D.E.S
Publicité
Double D.E.S
Double D.E.S
Triple D.E.S
Triple D.E.S
Triple D.E.S
Triple D.E.S
21
22
11
A.E.SA.E.SA.E.SA.E.S
(cid:1) Nouveau standard américain (NIST, 2000), remplaçant du DES
(cid:1) Processus de sélection (1997-2000) :
(cid:1) 15 candidats initiaux
(cid:1) 5 retenus pour le second tour
(cid:1) Rijndael (Daemen-Rijmen, Belgique)
(cid:1) MARS (IBM, USA)
(cid:1) SERPENT (Biham-Knudsen-Anderson)
(cid:1) RC6 (RSA Labs)
(cid:1) Twofish (USA)
Structure générale
Structure générale
Structure générale
Structure générale
(cid:1) Taille de bloc de 128 bits
(cid:1) Tailles de clé de 128, 192 et 256 bits
19/11/2015
12
23
24
19/11/2015
Fonction de tour
Fonction de tour
Fonction de tour
Fonction de tour
Nombre de tours
Nombre de tours
Nombre de tours
Nombre de tours
(cid:1) Pour AES-128 (clé de taille 128 bits)
t = 10 tours
(cid:1) Pour AES-192
t = 12 tours
(cid:1) Pour AES-256
t = 14 tours
25
26
13
Conclusion
Conclusion
Conclusion
Conclusion
(cid:1) D.E.S a été l’un des algorithmes à clé secrète les plus utilisés et est
resté seul standard jusqu’en 1999.
(cid:1) Aujourd'hui, le D.E.S. est fortement menacé par les puissances de
calcul des ordinateurs. Il n'est en effet pas impossible de balayer la
plupart des clés pour casser le code.
(cid:1) Un nouveau système, le A.E.S. (Advanced Encryption Standard) a été
proposé pour le remplacer.
27
28
Questions ?????
Questions ?????
Questions ?????
Questions ?????
19/11/2015
14