加载中...

ChaCha20-Poly1305 是一种 AEAD(带关联数据的认证加密)算法,由密码学家 Daniel J. Bernstein 设计的 ChaCha20 流密码与 Poly1305 消息认证码组合而成,在 RFC 8439 中标准化。
ChaCha20 基于 ARX(加法、循环移位、异或)结构,对 512 位状态矩阵进行多轮变换生成密钥流,与明文异或完成加密;Poly1305 则对密文和关联数据计算认证标签,保证完整性与真实性。整个过程只需一个 256 位密钥和一个 96 位随机数(nonce)。
它是 TLS 1.3 的标准密码套件之一,也被 WireGuard、OpenSSH、Signal 等广泛采用。在没有 AES 硬件指令(如 AES-NI)的设备上,其纯软件实现通常比 AES-GCM 更快,因此特别适合移动设备和嵌入式场景。
优点是软件性能高、实现简单、天然抗缓存计时类侧信道攻击;缺点是 nonce 重复使用会导致灾难性的安全失效,使用时必须保证 nonce 唯一。

登录 后参与讨论
暂无讨论,来发表第一条评论吧