Concepteur(s) | Bruce Schneier et Matt Blaze |
---|---|
Première publication | 1994 |
Dérivé de | DES |
Chiffrement(s) basé(s) sur cet algorithme | Inconnu |
Taille(s) du bloc | 64 bits |
---|---|
Longueur(s) de la clé | 128 bits |
Structure | réseau de Feistel non équilibré |
Nombre de tours | 32 (recommandation) |
Meilleure cryptanalyse
Attaque de Rijmen et Preneel grâce à la cryptanalyse différentielle
MacGuffin est un algorithme de chiffrement symétrique inventé par Bruce Schneier et Matt Blaze en 1994 durant la session Fast Software Encryption. Cet algorithme faisait office de banc d'essai pour une nouvelle structure en cryptographie, les schémas de Feistel non équilibrés. La cryptanalyse fut très rapidement menée par Vincent Rijmen et Bart Preneel qui cassèrent MacGuffin pendant la Fast Software Encryption.
Basé sur DES, MacGuffin ne divise pas les données en deux blocs égaux dans le schéma de Feistel. Un bloc de 48 bits (parmi 64 bits de données) est envoyé dans une fonction après un XOR avec une clé intermédiaire. On effectue ensuite un XOR entre la sortie de la fonction et le reste des 16 bits. Le résultat est transmis à l'étage suivant du schéma de Feistel. Les concepteurs recommandaient une taille de clé de 128 bits.
Une analyse différentielle par Rijmen et Preneel a rapidement mis en évidence des vulnérabilités. Les 32 rondes conseillées par Schneier s'avéraient plus faibles que 16 rondes de DES. Il ne fallait en effet que « quelques heures » pour obtenir de bonnes caractéristiques différentielles à partir de valeurs initiales quelconques (contrairement à DES qui nécessite de bonnes valeurs initiales).
Les deux cryptologues ont montré qu'il était possible d'obtenir la dernière sous-clé dans le schéma de Feistel et de procéder pas à pas pour récupérer le reste des clés.