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

ChaCha20-Poly1305

ChaCha20-Poly1305 是什么?

ChaCha20-Poly1305由 ChaCha20 流密码与 Poly1305 一次性认证器组成的 AEAD 结构,在 RFC 8439 中标准化,用于 TLS 1.3 和 WireGuard。


ChaCha20-Poly1305 是 RFC 8439(原 RFC 7539)规定的 AEAD 算法。ChaCha20 是 Daniel J. Bernstein 设计的 256 位密钥 ARX 流密码,使用 96 位 nonce 和 32 位计数器,每次调用产生 512 位密钥流;Poly1305 是 128 位一次性 MAC,作用于密文与关联数据,其密钥来自 ChaCha20 第一个密钥流块。该组合具有恒定时间特性,在缺少 AES-NI 的软件实现中速度极快,因此成为 TLS 1.3、QUIC、SSHOpenVPNWireGuard 的默认备选算法。与 AES-GCM 一样,nonce 重用会带来灾难性后果,因此每个密钥的 nonce 必须唯一。

示例

  1. 01

    TLS 1.3 套件 TLS_CHACHA20_POLY1305_SHA256。

  2. 02

    WireGuard 隧道数据帧使用 ChaCha20-Poly1305 加密。

常见问题

ChaCha20-Poly1305 是什么?

由 ChaCha20 流密码与 Poly1305 一次性认证器组成的 AEAD 结构,在 RFC 8439 中标准化,用于 TLS 1.3 和 WireGuard。 它属于网络安全的 密码学 分类。

ChaCha20-Poly1305 是什么意思?

由 ChaCha20 流密码与 Poly1305 一次性认证器组成的 AEAD 结构,在 RFC 8439 中标准化,用于 TLS 1.3 和 WireGuard。

ChaCha20-Poly1305 是如何工作的?

ChaCha20-Poly1305 是 RFC 8439(原 RFC 7539)规定的 AEAD 算法。ChaCha20 是 Daniel J. Bernstein 设计的 256 位密钥 ARX 流密码,使用 96 位 nonce 和 32 位计数器,每次调用产生 512 位密钥流;Poly1305 是 128 位一次性 MAC,作用于密文与关联数据,其密钥来自 ChaCha20 第一个密钥流块。该组合具有恒定时间特性,在缺少 AES-NI 的软件实现中速度极快,因此成为 TLS 1.3、QUIC、SSH、OpenVPN 与 WireGuard 的默认备选算法。与 AES-GCM 一样,nonce 重用会带来灾难性后果,因此每个密钥的 nonce 必须唯一。

如何防御 ChaCha20-Poly1305?

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

ChaCha20-Poly1305 还有哪些其他名称?

常见的别称包括: ChaCha20/Poly1305, RFC 8439, ChaPoly。

相关术语