Aller au contenu
ecdsa.com

SHAKE128 et SHAKE256

Les fonctions à sortie extensible (XOF) de FIPS 202, qui produisent à partir de l’éponge Keccak une sortie de la longueur demandée, quelle qu’elle soit, avec une sécurité de 128 et de 256 bits respectivement pour des sorties assez longues.
Autres graphiesSHAKE128SHAKE256XOFextendable-output function

Contrairement à une fonction de hachage à condensat de taille fixe, une XOF se voit demander d bits de sortie ; sa résistance aux collisions vaut min(d/2, capacité/2) et sa résistance à la préimage min(d, capacité/2). SHAKE128 a une capacité de 256 bits et SHAKE256 une capacité de 512 bits. Demander 32 ou 64 octets à SHAKE256 donne des préfixes du même flux : les appelants doivent donc séparer les domaines de leurs différents usages ; cSHAKE (SP 800-185) ajoute des chaînes de personnalisation explicites.

SHAKE est omniprésent dans la cryptographie post-quantique : ML-KEM et ML-DSA génèrent (expand) leurs matrices publiques avec SHAKE128 et dérivent d’autres valeurs avec SHAKE256 (FIPS 203 et FIPS 204 les appellent XOF, H, J et G), SLH-DSA dispose de jeux de paramètres SHAKE, et Ed448 hache avec SHAKE256. FIPS 186-5 autorise aussi SHAKE comme fonction de hachage et fonction de masque dans RSASSA-PSS.

Identifiants : OID 2.16.840.1.101.3.4.2.11 (SHAKE128) et …2.12 (SHAKE256) ; OpenSSL shake128 et shake256 avec -xoflen ; hashlib.shake_256(data).digest(n) en Python.

Normes et références

Tous les termes