Triple DES

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Triple DES
3DES avec ses trois opérations DES
3DES avec ses trois opérations DES
Résumé
Concepteur(s) IBM (Walter Tuchman)
Première publication 1999
Dérivé de DES
Chiffrement(s) basé(s) sur cet algorithme Aucun
Caractéristiques
Taille(s) du bloc 64 bits
Longueur(s) de la clé 168 ou 112 bits
Structure schéma de Feistel
Nombre de tours 3x16 tours du DES
Meilleure cryptanalyse
attaque de type rencontre au milieu, attaque de van Oorschot et Wiener, attaque de Stefan Lucks

Présentation[modifier | modifier le code]

Le Triple DES (aussi appelé 3DES) est un algorithme de chiffrement symétrique par bloc, enchaînant 3 applications successives de l'algorithme DES sur le même bloc de données de 64 bits, avec 2 ou 3 clés DES différentes.

Fonctionnement[modifier | modifier le code]

Cette utilisation de trois chiffrements DES a été développée par Walter Tuchman (chef du projet DES chez IBM), il existe en effet d'autres manières d'employer trois fois DES mais elles ne sont pas forcément sûres. La version de Tuchman utilise un chiffrement, suivi d'un déchiffrement pour se conclure à nouveau par un chiffrement.

Le Triple DES est généralement utilisé avec seulement deux clés différentes. Le mode d'usage standard est de l'utiliser en mode EDE (Encryption, Decryption, Encryption, c'est-à-dire Chiffrement, Déchiffrement, Chiffrement) ce qui le rend compatible avec DES quand on utilise trois fois la même clé. Dans le cas d'une implémentation matérielle cela permet d'utiliser le même composant pour respecter le standard DES et le standard Triple DES. Dans le mode proposé par Tuchman, 3DES s'écrit plus formellement de cette manière :

C = E_{DES}^{k3}\Bigg(D_{DES}^{k2}\bigg(E_{DES}^{k1}(M)\bigg)\Bigg)

Une autre variante de Triple DES est celle de Carl Ellison, mais elle ne fait pas partie du standard défini pour 3DES :

C = E_{DES}^{k3}\Bigg(T\Bigg(E_{DES}^{k2}\bigg(T\bigg(E_{DES}^{k1}(M)\bigg)\bigg)\Bigg)\Bigg)

T~ est une fonction de transposition destinée à augmenter la diffusion. Cette fonction prend en entrée un bloc de 8192 octets, remplit la graine d'un générateur de nombres pseudo-aléatoires avec l'histogramme des octets, et mélange les octets du bloc grâce à la sortie du générateur. L'histogramme n'est pas changé par les permutations et donc l'opération inverse est possible. David Wagner a proposé une attaque sur le schéma d'Ellison en 1997.

Même quand 3 clés de 56 bits différentes sont utilisées, la force effective de l'algorithme n'est que de 112 bits et non 168 bits, à cause d'une attaque rencontre au milieu. Cette attaque reste cependant peu praticable, en effet elle nécessite un stockage de données de l'ordre de 256 mots de 64 bits, de plus ce stockage doit être « interrogeable » en un temps très court. C'est pour éviter ce genre d'attaque que le Double DES est simplement proscrit et que l'on passe directement à du Triple DES, le Double DES n'assure en effet qu'une force effective moyenne de 57 bits.

Bien que normalisé (par exemple par le NIST), bien connu, et assez simple à implémenter, il est assez lent, et appelé à être remplacé par des algorithmes plus modernes tels qu'AES, également reconnu via le NIST aux États-Unis comme sûr pour tout échange d'information.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]