Aller au contenu
ecdsa.com

BLAKE2

Une famille de fonctions de hachage rapides (BLAKE2b pour les plateformes 64 bits, avec des condensats jusqu’à 64 octets, BLAKE2s pour les plateformes 32 bits, jusqu’à 32 octets), spécifiée dans la RFC 7693 et utilisée dans Argon2, WireGuard, PASETO et libsodium.
Autres graphiesBLAKE2bBLAKE2sRFC 7693

BLAKE2 dérive de BLAKE, finaliste du concours SHA-3, et utilise une itération de type HAIFA qui résiste à l’extension de longueur. Il intègre un mode avec clé (un mode MAC sans HMAC), des paramètres de sel et de personnalisation, ainsi que des variantes de hachage en arbre. Vecteur de test : le BLAKE2b-512 de la chaîne vide commence par 786a02f742015903.

On le trouve dans Argon2 (la fonction de hachage de mots de passe de la RFC 9106 utilise BLAKE2b en interne), WireGuard (BLAKE2s pour le hachage et comme MAC), les jetons locaux PASETO v4 (BLAKE2b avec clé comme MAC ; la v2 l’utilise pour dériver les nonces), crypto_generichash de libsodium, Zcash et de nombreux stockages adressés par le contenu. BLAKE3 (2020) est un successeur distinct, plus rapide, fondé sur un arbre et doté de sa propre spécification.

BLAKE2 n’est pas une fonction de hachage approuvée par le NIST : les modules validés FIPS ne peuvent donc pas l’utiliser pour des services approuvés. En logiciel, sans instructions de hachage, il est généralement plus rapide que SHA-256, mais sur les processeurs dotés des extensions SHA, l’avantage s’inverse : sur un cœur d’Apple M4 Max, OpenSSL 3.6.5 hache BLAKE2b-512 à environ 1,27 Go/s et SHA-256 à 2,85 Go/s.

Normes et références

Tous les termes