Triple DES
# Triple DES

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

## Fonctionnement

Cette utilisation de trois chiffrements DES a été développée par IBM, présentée en 1998 (sous la référence de ANSI X9.52) puis publiée en 1999. Il existe en effet d'autres manières d'employer trois fois DES, mais elles ne sont pas forcément sûres. Cette version 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 les standards DES et Triple DES.

Dans ce mode proposé, TDES s'écrit plus formellement de cette manière :

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

Une 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}{\BiggT{\BiggE_{DES}^{k2}{\biggT{\biggE_{DES}^{k1}(M){\bigg )}{\bigg )}{\Bigg )}{\Bigg )}$

où $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 trois 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 $2^{56}$ 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 par le NIST aux États-Unis comme sûr pour tout échange d'information.

## Attaque possible

En 2018, les chercheurs de l'INRIA découvrent la faille Sweet32, concernant les blocs de chiffrement inférieurs à 64 bits, qui s'applique à 3DES. Une attaque nécessiterait entre 18 et 38 heures d'écoute du trafic et 750 Go de données, ce qui la rend difficilement exploitable. Cependant, les différents éditeurs cessent le support de 3DES, qui représente alors moins de 1 % du trafic web.

