跳到主要内容
uencoder

Salsa20

Salsa20 是 Daniel Bernstein 设计的流密码,基于 ARX 操作,20 轮,是 eSTREAM 推荐算法,ChaCha20 的前身。

用途

提供高速、常时安全的流加密,避免分组密码的填充与模式复杂度。

机制

状态为 4×4 矩阵(常量 σ、密钥、nonce、计数器)。每轮对每列与每行执行 quarter-round(add-rotate-xor)。20 轮后状态与初始状态相加输出密钥流。

用例

  • eSTREAM 推荐算法
  • NaCl 加密库
  • 密码学研究
  • 教学示例

示例

  • 输入
    key=256bit, nonce=64bit
    输出
    keystream

    ChaCha20 is its improved successor

常见错误

Using Salsa20 instead of the safer ChaCha20
Prefer ChaCha20-Poly1305

相关词条

相关工具

参考链接