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

Salsa20

审核人Cybersecurity entrepreneur & security researcher

Salsa20 是什么?

Salsa20Daniel J. Bernstein 于 2005 年设计的 256 位密钥流密码,入选 eSTREAM 软件组合,是 ChaCha20 的直接前身。


Salsa20 是 Daniel J. Bernstein 于 2005 年发布的流密码,被欧洲 eSTREAM 竞赛软件组合选入最终入选名单。它通过对由 256 位密钥、64 位 nonce 与分组计数器派生出的 512 位内部状态,执行 20 轮(Salsa20/20)或减少版本 Salsa20/12、Salsa20/8 的四分之一轮函数(基于加、循环移位、异或)来生成密钥流。该算法软件性能高、运行时间恒定,且除针对减少轮数的攻击外,未受到有效密码分析。如今它主要被 ChaCha20 取代——后者扩散更佳、nonce 更长——但仍以 XSalsa20(扩展 nonce 版)形式存在,被 NaCl/libsodium 库以及历史上的 Tor 隐藏服务协议采用。

示例

  1. 01

    NaCl/libsodium 的 secretbox 默认 AEAD 为 XSalsa20-Poly1305。

  2. 02

    Salsa20/12 是 eSTREAM 软件组合最终入选算法之一。

常见问题

Salsa20 是什么?

Daniel J. Bernstein 于 2005 年设计的 256 位密钥流密码,入选 eSTREAM 软件组合,是 ChaCha20 的直接前身。 它属于网络安全的 密码学 分类。

Salsa20 是什么意思?

Daniel J. Bernstein 于 2005 年设计的 256 位密钥流密码,入选 eSTREAM 软件组合,是 ChaCha20 的直接前身。

如何防御 Salsa20?

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

相关术语