Salsa20
Salsa20 是 Daniel Bernstein 设计的流密码,基于 ARX 操作,20 轮,是 eSTREAM 推荐算法,ChaCha20 的前身。
用途
提供高速、常时安全的流加密,避免分组密码的填充与模式复杂度。
机制
状态为 4×4 矩阵(常量 σ、密钥、nonce、计数器)。每轮对每列与每行执行 quarter-round(add-rotate-xor)。20 轮后状态与初始状态相加输出密钥流。
用例
- eSTREAM 推荐算法
- NaCl 加密库
- 密码学研究
- 教学示例
示例
- 输入
key=256bit, nonce=64bit输出keystreamChaCha20 is its improved successor
常见错误
- Using Salsa20 instead of the safer ChaCha20
- Prefer ChaCha20-Poly1305
相关词条
相关工具
AES 加密器
使用 Web Crypto API 以 AES(CBC/GCM/ECB)加密文本或二进制数据。免费、隐私优先、100% 纯客户端运行。 工具
Salsa20 加密器
使用 Salsa20 流密码(Bernstein 原始设计,eSTREAM 优选组合)加密文本——真实算法,通过 eSTREAM 官方测试向量与 Salsa20 core 规范向量验证并经 PyCryptodome 交叉核对。128/256 位密钥(16 或 32 字节)、64 位 nonce(8 字节)、64 位块计数器。免费、隐私、100% 客户端运行。切勿在同一密钥下重复使用 nonce。 工具
Salsa20 解密器
解密 Salsa20 密文(Bernstein 原始设计,eSTREAM 优选组合)——真实算法,通过 eSTREAM 官方测试向量验证并经 PyCryptodome 交叉核对。密钥须为 16 或 32 字节、nonce 恰好 8 字节,块计数器须与加密时一致。密文输入格式跟随输出格式选项(hex 或 base64)。免费、隐私、100% 客户端运行。 工具