Aller au contenu

SHAKE : Secure Hash Algorithm Keccak

Cryptographie

SHAKE : Secure Hash Algorithm Keccak. « Algorithme de hachage sécurisé fondé sur Keccak », par analogie avec une fontaine à laquelle on tire autant de verres qu'on veut, tous issus de la même source.

Sortie extensible : SHAKE128 et SHAKE256 appartiennent à la famille SHA-3 standardisée par le NIST. Ce sont des XOF : on choisit la longueur de la sortie, de quelques octets à plusieurs kilooctets, sans changer de fonction.

Éponge : Keccak absorbe le message dans un état interne, puis l'essore autant de fois que nécessaire. Le chiffre du nom indique le niveau de sécurité visé en bits, pas la taille de la sortie, subtilité qui a déjà fait gagner beaucoup de temps aux relecteurs attentifs et en a fait perdre aux autres.

Usages : Dérivation de masques et de clés, génération déterministe de matrices ou d'aléa dans les schémas post-quantiques comme ML-DSA, séparation de domaines. Là où SHA-256 impose une taille, SHAKE s'adapte.

Précaution : Une sortie courte offre une sécurité courte : réclamer seize octets à SHAKE256 ne donne pas la résistance de SHAKE256, seulement celle de seize octets.

Ce qui arrive si on s'en passe

Ignorer ce que promet réellement SHAKE conduit à surestimer la sécurité obtenue : réclamer seize octets à SHAKE256 donne la résistance de seize octets, pas celle de la fonction, et une empreinte trop courte se prête aux collisions. Confondre le chiffre du nom avec la taille de la sortie mène au même résultat par un autre chemin. Sans séparation de domaines, une même sortie peut en outre servir à deux usages et relier des calculs qui devaient rester indépendants. La fontaine donne autant de verres qu'on veut, mais la quantité n'a jamais rendu l'eau plus pure.

Explication de la marmotte

Une fonction de hachage transforme n'importe quel texte en une sorte d'empreinte digitale : le même texte donne toujours la même empreinte, et le moindre changement la bouleverse complètement. D'habitude, cette empreinte a une taille fixe. Cette famille-là permet de choisir la longueur qu'on veut, courte ou très longue, un peu comme une machine à dérouler du ruban qu'on arrête quand on a assez de longueur. Les programmes s'en servent pour fabriquer des clés secrètes ou des nombres qui semblent tirés au hasard.

Où ce terme est utilisé

← Tout le glossaire