L'attaque ``Meet in the middle'' contre 2DES est une attaque
à texte clair connu: on suppose qu'on connaît
,
,
et
tels que
et
L'attaque part du principe que
, c'est-à-dire
que si je chiffre une fois seulement le texte clair, c'est la même
chose que de déchiffrer une fois seulement le texte chiffré. En
d'autres terme, je chiffre dans un sens, déchiffre dans l'autre,
et les deux résultats se recontrent au milieu, d'où le nom.
Je commence par calculer les couples
, que
je stocke.
Pour chaque clé , je calcule
, et je regarde
si je trouve une correspondance dans ma table. Si oui, j'ai un couple
de clé candidates
et
, et je vérifie si cela correspond
avec
. Si oui, j'ai une très forte probabilité
d'avoir le bon couple de clés (je peux augmenter cette probabilité en
essayant sur un troisième couple
,
), sinon je continue à chercher.
Le nombre maximal d'essais que je devrai faire est
,
soit loin des
que je pouvais espérer d'un 2DES !
Cette attaque est valable pour tous les algorithmes chaînés, mais elle devient vite impraticable si la taille de clé est plus grande.