Vous êtes sur la page 1sur 8

Institut supérieur d’Informatique de Mahdia Chapitre 2 : Cryptage symétrique

Chapitre 2 : Cryptage symétrique

I. Introduction
La connaissance de la méthode et de la clé de chiffrement et celle de la méthode et de la
clé de déchiffrement se déduisent facilement l'une de l'autre. Les deux méthodes et
les clés sont connues de l'émetteur et du destinataire

=> L'émetteur et le destinataire doivent se mettre préalablement d'accord sur un


secret (la clé) pour utiliser le chiffre.

Le chiffrement symétrique appelée également chiffrement à clé secrète ou à clé


symétrique utilise une seule et même clé pour le chiffrement et le dé- chiffrement.

Figure 1 : Chiffrement et déchiffrement symétrique (clé secrète)

II. Le DES "Data Encryption Standard"


Dès le début des années 1960 la technologie des circuits intégrés permet de travailler à des
circuits combinatoires complexes permettant d'automatiser: la méthode de substitution et la
méthode de transposition.

=> Idée d'appliquer ces techniques en cascade dans un produit de chiffres.

- Mise au point à partir de 1968 d'une méthode de cryptage basée sur 16 étages de
substitutions et transpositions basés sur des clés (IBM)

- Appel d'offre NBS (1973) pour la mise au point d'un système de cryptographie

- Proposition IBM (1975)

- Adoption définitive et normalisation du DES d'IBM (1978) par le NBS ("National


Bureau of Standards")

1
Institut supérieur d’Informatique de Mahdia Chapitre 2 : Cryptage symétrique

. -Normalisation ANSI X3.92 connue sous le nom de DEA ("Data Encryption Algorithm").

1. Principes Généraux du DES


- Méthodes simples de chiffrement et des clés très longues .

- Produit de transpositions et substitutions nombreuses et compliquées pour une clé


relativement courte => facilité de transport.

- Les chiffres à substitution et à transposition sont faciles à réaliser en matériel.

=> Les boîtes de transposition "P-Box"

=> Les boites de substitution "S-Box"

2. Caractéristiques

- Mode cryptage par bloc de 64 bits


- Mode cryptage à la volée ("stream") (octets par octets avec des registres à
décalage)
- Utilisation d'une clé sur 56 bits
- 19 étages de logique combinatoire
- 1 étage amont, 2 en aval sont des transpositions simples fixes
- 16 étages intermédiaires dépendent de la clé de façon complexe.

3. Algorithme DES
Les grandes lignes de l'algorithme sont les suivantes :

- Fractionnement du texte en blocs de 64 bits (8 octets).


- Permutation initiale des blocs.
- Découpage des blocs en deux parties: gauche et droite, nommées G et D
- Etapes de permutation et de substitution répétées 16 fois (appelées rondes)
- Recollement des parties gauche et droite puis permutation initiale inverse

2
Institut supérieur d’Informatique de Mahdia Chapitre 2 : Cryptage symétrique

Figure 2 : Algorithme DES

3.1 Permutation initiale


Dans un premier temps, chaque bit d'un bloc est soumis à la permutation initiale,
pouvant être représentée par la matrice de permutation initiale (notée PI) suivante :

Cette matrice de permutation indique, en parcourant la matrice de gauche à droite puis


de haut en bas, que le 58 bit du bloc de texte de 64 bits se retrouve en première position,
le 50 en seconde position et ainsi de suite.

3
Institut supérieur d’Informatique de Mahdia Chapitre 2 : Cryptage symétrique

3.2 Scindement en blocs de 32 bits


Une fois la permutation initiale réalisée, le bloc de 64 bits est scindé en deux blocs de 32
bits, notés respectivement G et D (pour gauche et droite, la notation anglo-saxonne étant
L et R pour Left and Right). On note G et D l'état initial de ces deux blocs :

Il est intéressant de remarquer que G contient tous les bits possédant une position paire
dans le message initial, tandis que D contient les bits de position impaire

3.3 Rondes
Les blocs G et D sont soumis à un ensemble de transformation itérative appelée rondes,
explicitées dans ce schéma, et dont les détails sont donnés plus bas :

Figure 3 : principe de la réalisation d’un étage

4
Institut supérieur d’Informatique de Mahdia Chapitre 2 : Cryptage symétrique

Figure 4 : Détails de la fonction principale d'un étage

a. Fonction d'expansion

Les 32 bits du bloc D sont étendus à 48 bits grâce à une table (matrice) appelé table
d'expansion (notée E) :

- Division des 32 bits en des segments de 4 bits.


- Élargir chaque segment de 4 bits avec les bits de ses voisins pour atteindre 6 bits.
- XOR des 48 bits en sortie avec la clé.

La matrice résultante de 48 bits est appelée D' ou bien E[D ]. L'algorithme DES procède
ensuite à un OU exclusif entre la première clé K et E[D ]. Le résultat de ce OU exclusif est
une matrice de 48 bits que nous appellerons D par commodité (il ne s'agit pas du D de
départ!).

b. Fonction de substitution

D est ensuite scindé en 8 blocs de 6 bits, noté D . Chacun de ces blocs passe par des
fonctions de sélection (appelées parfois boîtes de substitution ou fonctions de
compression), notées généralement Si

Chaque bloc de 6 bits est ainsi substitué en un bloc de 4 bits. Ces bits sont regroupés
pour former un bloc de 32 bits.

5
Institut supérieur d’Informatique de Mahdia Chapitre 2 : Cryptage symétrique

Figure 5 : Détails des boites substitution

Figure 6 : substitution

6
Institut supérieur d’Informatique de Mahdia Chapitre 2 : Cryptage symétrique

c. Fonction Permutation

Le bloc de 32 bits obtenu est enfin soumis à une permutation.

L'ensemble de ces résultats en sortie de P est soumis à un OU Exclusif avec le G de


départ (comme indiqué sur le premier schéma) pour donner D1, tandis que le D initial
donne G.

3.4 Permutation inverse


A la fin des itérations, les deux blocs G et D sont "recollés, puis soumis à la permutation
initiale inverse

4. Génération des clés

Figure 7 : Génération de la clé

Dans un premier temps les bits de parité de la clé sont éliminés afin d'obtenir une clé
d'une longueur utile de 56 bits [4*12].

La première étape consiste en une permutation notée CP-1. Cette matrice peut en fait
s'écrire sous la forme de deux matrice G e t D (pour gauche et droite) composées
chacune de 28 bits.

7
Institut supérieur d’Informatique de Mahdia Chapitre 2 : Cryptage symétrique

Ces deux blocs subissent ensuite une rotation à gauche, de telles façons que les bits en
seconde position prennent la première position, ceux en troisième position la seconde, ...
Les bits en première position passent en dernière position.

Les 2 blocs de 28 bits sont ensuite regroupés en un bloc de 56 bits. Celui-ci passe par
une permutation, notée CP-2, fournissant en sortie un bloc de 48 bits, représentant la clé
K.

III. TDES, une alternative au DES


En 1990 Eli Biham et Adi Shamir ont mis au point la cryptanalyse différentielle qui
recherche des paires de texte en clair et des paires de texte chiffrées. Cette méthode
marche jusqu'à un nombre de rondes inférieur à 15, or un nombre de 16 rondes sont
présentes dans l'algorithme présenté ci-dessus. D'autre part, même si une clé de 56 bits
donne un nombre énorme de possibilités, de nombreux processeurs permettent de
calculer plus de 10 clés par seconde, ainsi, utilisés parallèlement sur un très grand
nombre de machines, il devient possible pour un grand organisme (un Etat par exemple)
de trouver la bonne clé... Un solution à court terme consiste à chaîner trois chiffrement
DES à l'aide de deux clés de 56 bits (ce qui équivait à une clé de 112 bits). Ce procédé est
appelé Triple DES, noté TDES (parfois 3DES ou 3-DES).

Figure 8 : 3-DES