BLAKE2 源自 SHA-3 决赛算法 BLAKE,采用可抵御长度扩展攻击的 HAIFA 式迭代结构。BLAKE2 内置密钥功能(无需 HMAC 即可用作 MAC),支持盐和个性化参数,还有树形哈希变体。测试向量:空字符串的 BLAKE2b-512 哈希以 786a02f742015903 开头。
用到 BLAKE2 的地方包括 Argon2(RFC 9106 定义的密码哈希在内部使用 BLAKE2b)、WireGuard(BLAKE2s 用于哈希和 MAC)、PASETO v4 local 令牌(以带密钥的 BLAKE2b 作为 MAC;v2 用它派生 nonce)、libsodium 的 crypto_generichash、Zcash,以及许多内容寻址存储。BLAKE3(2020年)是一个独立的、更快的树形后继算法,有自己的规范。
BLAKE2 不是 NIST 批准的哈希算法,因此通过 FIPS 验证的模块不能把它用于经批准的服务。在没有哈希指令的软件实现中,BLAKE2 通常比 SHA-256 快;但在带有 SHA 扩展指令的 CPU 上,优势会反转:在 Apple M4 Max 的单个核心上,OpenSSL 3.6.5 计算 BLAKE2b-512 的速度约为 1.27 GB/s,计算 SHA-256 约为 2.85 GB/s。