Zum Inhalt springen
ecdsa.com

BLAKE2

Eine schnelle Familie von Hashfunktionen (BLAKE2b für 64-Bit-Plattformen mit Digests bis 64 Byte, BLAKE2s für 32-Bit-Plattformen mit bis zu 32 Byte), spezifiziert in RFC 7693 und eingesetzt in Argon2, WireGuard, PASETO und libsodium.
Auch geschrieben alsBLAKE2bBLAKE2sRFC 7693

BLAKE2 geht auf den SHA-3-Finalisten BLAKE zurück und nutzt eine Iteration im HAIFA-Stil, die Length-Extension-Angriffen widersteht. Es lässt sich direkt mit einem Schlüssel betreiben (ein MAC-Modus ohne HMAC), bietet Parameter für Salt und Personalisierung sowie Varianten für Baum-Hashing. Testvektor: BLAKE2b-512 des leeren Strings beginnt mit 786a02f742015903.

BLAKE2 steckt in Argon2 (der Passwort-Hash aus RFC 9106 nutzt intern BLAKE2b), WireGuard (BLAKE2s zum Hashen und als MAC), Tokens von PASETO v4 im Modus local (BLAKE2b mit Schlüssel als MAC; v2 leitet damit Nonces ab), crypto_generichash von libsodium, Zcash und vielen inhaltsadressierten Speichern. BLAKE3 (2020) ist ein eigenständiger, schnellerer baumbasierter Nachfolger mit eigener Spezifikation.

BLAKE2 ist kein von NIST zugelassener Hash, daher können FIPS-validierte Module ihn nicht für zugelassene Dienste verwenden. In Software ohne Hash-Befehle der CPU ist BLAKE2 meist schneller als SHA-256, auf CPUs mit SHA-Erweiterungen kehrt sich der Vorteil jedoch um: Auf einem Kern eines Apple M4 Max hasht OpenSSL 3.6.5 BLAKE2b-512 mit etwa 1,27 GB/s und SHA-256 mit 2,85 GB/s.

Standards und Quellen

Alle Begriffe