• # Fonctions de hachage

    Posté par . En réponse au journal Deux Cryptage cassé ???. Évalué à 10.

    SHA-[01] et MD5 sont des fonctions de hachage. Elles calculent une signature de longueur fixée par avance à partir d'un message quelconque. Comme toutes fonctions de hachage, il y a des collisions entre messages de même taille (plusieurs messages sur par exemple 2048 bits auront fatalement la même signature sur 160 bits).

    Ce sont plus exactement des fonctions de hachage cryptographique, parce que les collisions sont difficiles à prévoir : il faut que la signature présente une apparence d'entropie, de hasard, de sorte qu'on ne puisse aisément trouver un faux message partageant une signature avec le message original.

    La nouvelle sur SHA-0 [1] est que Antoine Joux a réussi à calculer une collision. Il a tout de même utilisé 80000 heures de temps CPU sur un calculateur doté de 256 Itaniums2. Cela ne signifie pas (encore) qu'il soit capable de calculer une collision pour à peu près n'importe quel message. Mais cela ouvre des portes dans cette direction.

    Les collisions sur MD5 [2] ont été calculées sur des messages plus courts (et cela fait quelques années que des collisions sur MD5 ont été trouvées, il est généralement recommandé d'utiliser SHA-1), et beaucoup plus vite.

    Enfin, il reste la rumeur selon laquelle les techniques employées par Antoine Joux sur SHA-0 ont été appliquées avec succès sur SHA-1 [3]. C'est plus ennuyeux, car jusqu'à présent SHA-1 était considéré comme sûr. À suivre donc.

    Enfin, pour votre correspondance personnelle ou pour vos paquets de distribution linux, rassurez-vous : la probabilité qu'une collision se fasse entre deux messages qui ont un sens (en français ou en tant que paquet linux) est nulle.

    [1] http://www.mail-archive.com/cryptography%40metzdowd.com/msg02554.ht(...)
    [2] http://eprint.iacr.org/2004/199/(...)
    [3] http://www.freedom-to-tinker.com/archives/000661.html(...)