Concepteur(s) | IBM |
---|---|
Première publication | 1999 (présenté en 1998) |
Dérivé de | DES |
Chiffrement(s) basé(s) sur cet algorithme | Aucun |
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
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[1], avec deux ou trois clés DES différentes.
Fonctionnement
Cette utilisation de trois chiffrements DES a été développée par IBM[2], présentée en 1998[3] (sous la référence de ANSI X9.52) puis publiée en 1999[4]. 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 »)[4], 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 :
Une variante de Triple DES est celle de Carl Ellison, mais elle ne fait pas partie du standard défini pour 3DES :
où 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 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 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[5].
Voir aussi
Articles connexes
Liens externes
- (en) Cryptanalyse du schéma d'Ellison
- (en) Sweet32: Birthday attacks on 64-bit block ciphers in TLS and OpenVPN
- (en) FIPS 46-3 [PDF] : publication du NIST sur le DES et le Triple DES.
Notes et références
- (en) ITA Terms, « 3DES », sur community.cisco.com, (consulté le ).
- (en) « The Data Encryption Standard », sur BrainKart (consulté le ).
- (en) « Triple DES (3DES) », sur crypto-it.net, (consulté le ).
- (en) National Institute of Standards and Technology, DATA ENCRYPTION STANDARD (DES), (lire en ligne [PDF]).
- Louis Adam, « Sweet32 : les vieux algos se cachent pour mourir », sur zdnet.fr, (consulté le ).