Pourquoi est-il important que le secret soit à la fin lors de la signature avec MD5?

16

on dit souvent que lors de l'utilisation de l'algorithme MD5 pour signer des informations arbitraires, le secret partagé doit être à la fin. Pourquoi?

Hendrik Brummermann
la source
2
Pouvez-vous s'il vous plaît être plus précis au lieu de dire «souvent dit». Pouvez-vous citer des références et expliquer pourquoi la question est pertinente?
Suresh Venkat
Il y a une faute de frappe dans le titre de votre question: pouvez-vous changer "et" en "fin"?
Carlos Scheidegger

Réponses:

16

Voir "attaques d'extension" dans la construction Merkle-Damgard . Ce problème se pose dans l'utilisation des fonctions de hachage pour l' authentification des messages .

En bref, mettre le secret au début permet à l'attaquant, étant donné un message et son hachage, de forger n'importe quel message qui a le message donné comme préfixe. C'est un problème pour les codes naïfs mais il est évité par des codes bien connus comme HMAC .

randomwalker
la source
1
D'après ce que je comprends, si vous cassez le flux d'entrée et que la clé partagée est le début du flux, le premier bloc obtiendra presque toujours le même hachage et donc la clé partagée peut être devinée par l'utilisation d'attaques arc-en-ciel, non?
Alexandru