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 hardware 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 :
Une autre variante de Triple DES est celle de Carl Ellison, mais elle ne fait pas partie du standard défini pour 3DES :
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 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 2 exposant 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 via le NIST aux États-Unis comme sûr pour tout échange d’information.