SHA-3 : A la recherche de la nouvelle fonction de hachage cryptographique standard

Une fonction de hachage cryptographique est une fonction qui calcule une empreinte de taille fixe (par exemple, 160 bits soit 20 octets dans le cas de SHA-1) à partir d’un message de taille variable. Une bonne fonction de hachage doit avoir certaines propriétés. Citons par exemple la résistance aux collisions : étant donnée une fonction de hachage h, il doit être impossible calculatoirement de trouver  une collision, c’est-à-dire deux entrées distinctes x et y telles que h(x)=h(y). Ici, « impossible calculatoirement » signifie que même quelqu’un qui disposerait d’une puissance de calcul énorme pendant plusieurs dizaines d’années ne pourrait pas trouver de collision.

En pratique, ces fonctions servent à calculer une empreinte d’un message ou document, et on traite cette empreinte comme si elle était unique (puisqu’il est impossible de trouver un autre message ou document qui aurait la même empreinte).

Les fonctions de hachage sont très utilisées en cryptographie. Elles servent par exemple dans les algorithmes de signature digitale pour condenser le message avant de transformer ce résultat en signature à l’aide de la clé privée.

Parmi l’ensemble des fonctions de hachage existantes, deux ont été particulièrement utilisées dans de nombreuses applications : MD5 et SHA-1. Mais leur sécurité a été remise en cause par les progrès récents des recherches en cryptographie. Dans le cas de MD5, dont les empreintes font 128 bits, des chercheurs ont trouvé une collision en 2004 (elle n’est donc « plus » résistante aux collisions !), et dans le cas de SHA-1, des vulnérabilités ont été décelées dès 2005. Ces vulnérabilités n’ont pas encore permis de trouver des collisions. Il n’y a pas à paniquer si vous utilisez une application qui implémente SHA-1, mais les architectes doivent désormais plutôt choisir une fonction de la famille SHA-2 (SHA-224, SHA-256, SHA-384, ou SHA-512). Et, à long terme, c’est une bonne idée d’anticiper et de concevoir une fonction de nouvelle génération appelée à devenir le prochain standard, SHA-3.

C’est le NIST (National Institute of Standards and Technology), organisme d’état qui dépend du ministère du Commerce des Etats-Unis, qui a lancé une compétition internationale pour choisir quelle sera cette fonction de hachage SHA-3. Cette fonction sera inscrite dans le « Federal Information Processing Standard (FIPS) 180-3, Secure Hash Standard ». La procédure en plusieurs tours est comparable à celle que le NIST avait auparavant employée pour le choix d’AES (Advanced Encryption Standard). Elle a consisté  à lancer un appel en novembre 2007, auquel n’importe quelle personne ou organisation pouvait répondre pour suggérer une fonction de hachage. Beaucoup d’équipes de chercheurs en cryptographie ont répondu à l’appel. Ensuite, à chaque tour, certaines fonctions sont choisies, selon des critères de performance et de sécurité.

  • Lors de la clôture de l’appel, le 31 octobre 2008, 64 candidatures avaient été reçues.
  • Le premier tour a commencé le 1er novembre 2008. Au 5 décembre 2008, il restait  51 fonctions qui satisfaisaient aux exigences minimales. Après une conférence et plusieurs débats, 14 parmi ces 51 ont été retenues pour le deuxième tour.
  • Le deuxième tour a commencé le 24 juillet 2009. Les performances et la sécurité des candidats restants ont été examinées pendant un an par la communauté internationale et une conférence a été organisée en août 2010. Le 9 décembre 2010, cinq candidats ont été retenus pour le troisième tour.

A l’heure de ce message, le troisième tour est en cours. Il reste donc 5 finalistes, nommés BLAKE, Grøstl,  JH, Keccak et Skein, et nous sommes dans la période lors de laquelle le public peut s’exprimer sur ces finalistes (par exemple, s’il trouve une faille de sécurité dans l’un des candidats). Au printemps 2012 aura lieu la dernière conférence SHA-3 et le choix du vainqueur sera annoncé plus tard en 2012.

Nous connaîtrons donc bientôt une nouvelle fonction de hachage standard, SHA-3, dont la sécurité et les performances auront été validées par une communauté internationale d’experts en cryptographie.

Leave a Reply

Your email address will not be published. Required fields are marked *