Salsa20:一种由 Daniel J. Bernstein 设计的流密码(stream cipher)算法,通过生成伪随机密钥流与明文按位异或(XOR)来实现加密。常用于高性能软件加密场景;其近亲 ChaCha20 在工程实践中更常见。
/ˈsælsə ˈtwenti/
Salsa20 is a fast stream cipher.
Salsa20 是一种速度很快的流密码。
Because Salsa20 generates a keystream, reusing the same nonce with the same key can catastrophically compromise security.
由于 Salsa20 通过生成密钥流来加密,如果在同一密钥下重复使用相同的 nonce(随机数/一次性数),可能会导致严重的安全风险。
“Salsa20”由密码学家 Daniel J. Bernstein 提出;“Salsa”借用舞蹈/音乐风格的名称,体现其“节奏快、运算轻快”的设计意象;“20”通常指其核心轮函数的20 轮(rounds)配置(也有 Salsa20/12、Salsa20/8 等变体)。