Accueil🇫🇷Chercher

Whirlpool (algorithme)

Whirlpool est une fonction de hachage cryptographique conçue par Vincent Rijmen et Paulo Barreto pour le projet NESSIE. Elle a Ă©tĂ© nommĂ©e d'après la galaxie M51. La fonction utilise une architecture de type Miyaguchi-Preneel connue pour sa rĂ©sistance Ă  la cryptanalyse, cette structure produit des empreintes de 512 bits qui Ă  l'heure actuelle sont assez rares (citons toutefois SHA-512).

M51, la galaxie du "Tourbillon" (Whirlpool) qui a donné son nom à la fonction de hachage

En interne, l'algorithme travaille sur 512 bits grâce Ă  une fonction similaire Ă  celle de l'algorithme de chiffrement symĂ©trique AES (auquel Vincent Rijmen a Ă©galement participĂ© et qui Ă  l'origine s'appelle Rijndael). L'utilisation d'une version modifiĂ©e du bloc de chiffrement de AES (appelĂ©e W) garantit un système robuste et fiable.

Fonctionnement

La fonction W dĂ©rivĂ©e de Rijndael travaille sur des blocs de 512 bits. C'est le double du maximum autorisĂ© pour Rijndael. Le nombre de tours est Ă©galement diffĂ©rent. Dans Whirlpool, 10 tours sont effectuĂ©s et pour chaque tour, une clĂ© est gĂ©nĂ©rĂ©e en utilisant les clĂ©s prĂ©cĂ©dentes et en les faisant passer Ă  travers la fonction W. Cette fonction W renferme des S-Box comme dans DES, ces tables peuvent ĂŞtre facilement calculĂ©es.

L'ensemble est optimisĂ© pour des registres de 64 bits ce qui rend la fonction de hachage plutĂ´t lente sur les processeurs 32 bits. Toutefois, Whirlpool a Ă©tĂ© conçu pour ĂŞtre aisĂ©ment parallĂ©lisĂ©. L'arrivĂ©e progressive des processeurs 64 bits devrait lui assurer une utilisation de plus en plus large.

Sécurité

Des empreintes de 512 bits sont très robustes (64 octets) du point de vue cryptographique. Une attaque des anniversaires nĂ©cessiterait au moins opĂ©rations, un nombre très grand. Sur la page de Paulo Barreto, on peut lire les quelques buts que les auteurs s'Ă©taient fixĂ©s. En particulier, l'algorithme a Ă©tĂ© conçu pour rĂ©sister Ă  la cryptanalyse de type linĂ©aire ou diffĂ©rentielle. En rĂ©sumĂ©, en changeant des bits Ă  l'entrĂ©e, le rĂ©sultat Ă  la sortie est chaotique et il n'y a pas de relation de cause Ă  effet. C'est un effet dĂ©sirĂ© dans quasiment toutes les fonctions de hachage. Cela signifie aussi que Whirlpool se comporte comme un excellent gĂ©nĂ©rateur de nombres pseudo-alĂ©atoires.

Utilisation

Whirlpool a Ă©tĂ© acceptĂ© dans la norme ISO/CEI 10118-3 et son utilisation est complètement libre, aucun brevet ne limite son emploi. Son utilisation est encore marginale mais de plus en plus de bibliothèques incorporent des routines supportant Whirlpool. On peut toutefois mettre un bĂ©mol au sujet de la taille de l'empreinte gĂ©nĂ©rĂ©e. En effet, une longueur de 512 bits est encore inhabituelle et n'est pas forcĂ©ment pratique dans certaines applications si la mĂ©moire et la consommation doivent ĂŞtre limitĂ©es (applications embarquĂ©es, matĂ©riel aux capacitĂ©s restreintes, etc.). Si de telles contraintes se prĂ©sentent, on se tournera plutĂ´t vers SHA-256 mais pas vers MD5 ou SHA-1 dont la sĂ©curitĂ© n'est pas Ă  100 % efficace.

Lien externe

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.