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.