CyberGlossary

密码学

流密码

定义

通过将数据与由密钥和 nonce 派生的伪随机密钥流逐位或逐字节异或来加密的对称密码。

流密码以秘钥和 nonce 为输入生成伪随机密钥流,逐字节与明文异或得到密文;解密时再生相同的密钥流并与密文异或。它没有分组边界、状态较少,非常适合流式数据与资源受限环境。现代设计如 ChaCha20、Salsa20 软件友好、运行时间恒定且安全;而 RC4 等旧设计已被破解,TLS、WPA 等多数标准明令禁止。流密码最关键的规则是绝不重复使用(密钥,nonce)对:同一密钥流加密的两条消息会泄露其异或,通常足以恢复双方明文。因此实际系统多以 ChaCha20-Poly1305 等认证模式使用。

示例

  • ChaCha20-Poly1305 是 TLS 1.3 与 QUIC 中占主导地位的流密码 AEAD。
  • RC4 历史上用于 WEP 与 SSL/TLS,现已被禁止。

相关术语