MacGuffin (cryptologie)

Pour l’article homonyme, voir MacGuffin pour l'emploi au cinéma.

MacGuffin

Tour de MacGuffin avec un schéma de Feistel non équilibré

Résumé Concepteur(s) |  Bruce Schneier et Matt Blaze

|

Première publication |  1994
Dérivé de |  DES
Chiffrement(s) basé(s) sur cet algorithme |  Inconnu
Caractéristiques 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

modifier \- modifier le code \- voir Wikidata (aide)

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.

## Algorithme

[modifier | modifier le code]

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.

## Cryptanalyse

[modifier | modifier le code]

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.

## Notes et références

[modifier | modifier le code]

Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

## Annexes

[modifier | modifier le code]

### Bibliographie

[modifier | modifier le code]

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Certaines informations figurant dans cet article ou cette section devraient être mieux reliées aux sources mentionnées dans les sections « Bibliographie », « Sources » ou « Liens externes » (octobre 2015).

Vous pouvez améliorer la vérifiabilité en associant ces informations à des références à l'aide d'appels de notes.

* B. Schneier and M. Blaze, « MacGuffin: an unbalanced Feistel network block cipher », Fast Software Encryption, Second International Workshop Proceedings (December 1994), Springer-Verlag, 1995, pp. 97–110.
* V. Rijmen and B. Preneel, « Cryptanalysis of McGuffin », Fast Software Encryption, Second International Workshop Proceedings (December 1994)

v · m

Chiffrement par bloc

Algorithmes courants |

* AES
* Blowfish
* DES
* Serpent
* Triple DES
* Twofish
* Livre-code

Algorithmes moins courants |

* ARIA
* Camellia
* CAST-128
* IDEA
* RC2
* RC5
* RC6
* SEED
* Skipjack
* TEA
* XTEA

Autres algorithmes |

* 3-Way
* Akelarre
* C2
* CAST-256
* CMEA
* CS-Cipher
* DEAL
* DES-X
* E2
* FEAL
* FOX
* FROG
* G-DES
* GOST
* ICE
* KASUMI
* KHAZAD
* Khufu et Khafre
* LOKI89/91
* LOKI97
* Lucifer
* MacGuffin
* Madryga
* MAGENTA
* MARS
* MESH
* Misty1
* MMB
* MULTI2
* NewDES
* REDOC
* Red Pike
* Rijndael
* S-1
* SAFER
* SC2000
* Shacal
* SHARK
* Skinny
* Square

Architecture |

* Réseau de Feistel
* Key schedule
* Chiffrement par produit
* S-Box
* Réseau de substitution-permutation
* Construction de Lai-Massey

Attaques |

* Cryptanalyse
* Attaque par force brute
* Linéaire / Différentielle
* Mod n
* XSL

Standardisation |

* Concours AES
* CRYPTREC
* Nessie

Articles liés |

* Effet avalanche
* Taille de bloc
* Vecteur d’initialisation
* Taille de clé
* Mode d’opération
* Lemme Piling-Up
* Clé faible

* Portail de la cryptologie

*[v]: Voir ce modèle.
*[m]: Modifier ce modèle. Merci de prévisualiser avant de sauvegarder.