Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 119

BLAKE2

审核人Cybersecurity entrepreneur & security researcher

BLAKE2 是什么?

BLAKE2一种快速、现代的加密哈希函数,规范载于 RFC 7693,在提供与 SHA-3 相当的安全性的同时,在软件中拥有显著更高的性能。


BLAKE2 是由 Jean-Philippe Aumasson、Samuel Neves、Zooko Wilcox-O'Hearn 和 Christian Winnerlein 于 2012 年设计的加密哈希家族,是对 SHA-3 决赛入围者 BLAKE 的精简改进。它在 **RFC 7693(2015)**中被标准化。它有两个主要变体:BLAKE2b(摘要最长 64 字节,针对 64 位 CPU 调优)和 BLAKE2s(摘要最长 32 字节,面向 32 位和嵌入式平台),二者各有其并行形式(BLAKE2bp/BLAKE2sp)。

工作原理

BLAKE2 在一个源自 ChaCha 流密码置换(带旋转的 G 函数混合)的压缩函数之上,采用 HAIFA 迭代模式。关键在于,它将带密钥哈希、加盐、个性化和树形哈希直接构建进原语之中,因此带密钥的 BLAKE2 可以无需单独的 HMAC 封装即充当 MAC,从而避免了 SHA-2 的长度扩展弱点。与其前身相比,它减少了轮数(2b 为 12 轮,2s 为 10 轮),并简化了填充以提升速度。

flowchart LR
  M[Message blocks] --> C[Compression f: HAIFA + ChaCha permutation]
  K[Optional key] --> C
  S[Salt / personalization] --> C
  T[Block counter t] --> C
  C --> C2[Chained state h]
  C2 -->|final block flag| O[Digest up to 64 bytes]

采用情况与后继者

BLAKE2 尚未被攻破,不存在实际可行的碰撞或原像攻击,且在软件中比 MD5、SHA-1、SHA-2 和 SHA-3 都要快。它支撑着密码哈希竞赛冠军 Argon2(作为其内部压缩原语)、WireGuard 握手哈希(BLAKE2s)、libsodium 的 crypto_generichash 以及 Zcash。同一团队于 2020 年发布了 BLAKE3,这是一种提供更进一步并行性的 Merkle 树设计,不过 BLAKE2 仍是经 RFC 标准化、广泛部署的选择。

● 示例

  1. 01

    Argon2 在内部使用 BLAKE2b 作为其压缩原语。

  2. 02

    WireGuard 使用 BLAKE2s 对握手记录进行哈希。

● 常见问题

BLAKE2 是什么?

一种快速、现代的加密哈希函数,规范载于 RFC 7693,在提供与 SHA-3 相当的安全性的同时,在软件中拥有显著更高的性能。 它属于网络安全的 密码学 分类。

BLAKE2 是什么意思?

一种快速、现代的加密哈希函数,规范载于 RFC 7693,在提供与 SHA-3 相当的安全性的同时,在软件中拥有显著更高的性能。

如何防御 BLAKE2?

针对 BLAKE2 的防御通常结合技术控制与运营实践,详见上方完整定义。

BLAKE2 还有哪些其他名称?

常见的别称包括: BLAKE2b, BLAKE2s, RFC 7693。

● 相关术语

● 另见