Skip to content

流密码

Stream cipher

把短密钥扩展为伪随机密钥流并与明文逐位组合的加密方式。

条目类型
模型

形式陈述

流密码由密钥和通常还包括 nonce 生成伪随机密钥流 z1,z2,,再令 ci=mizi。安全要求不同消息使用的密钥流不可复用,并且生成流对高效对手近似均匀。同步流密码需双方保持位置同步;自同步结构则从有限密文历史恢复状态。

直觉

流密码从短密钥和 nonce 生成计算上不可预测的伪随机长序列,再与明文逐位或逐字节组合,通常采用 XOR,以此替代 OTP(一次一密)的真正随机长密钥。正因如此,同一密钥下重复 nonce 会复用密钥流,立即暴露明文异或。流密码本身通常可塑,不提供标签就无法检测主动篡改。

例子与边界

流密码按 nonce 和密钥生成密钥流,再与消息逐符号组合;分组密码直接给固定块上的密钥置换,长消息语义由工作模式补充。两者可互相构造某些功能,却在状态同步、随机访问和 nonce/IV 使用规则上不同。

加密 c=mKS(k,nonce)。若两个消息复用同一 (k,nonce),则 c1c2=m1m2。攻击者还可翻转密文某 bit,使解密明文对应 bit 可预测翻转。

这正是同一密钥流加密 m,m 时出现的“两次一密”泄漏。nonce 可以公开,但必须满足方案要求,在许多方案中要求唯一而非随机保密。密钥流不能跨消息随意续用而忽略同步,丢字节会导致后续解密错位。由于裸流密码只提供机密性,实践中应使用 ChaCha20–Poly1305 等 AEAD 提供认证。

推论与应用

流密码适合低延迟、任意长度数据和软件实现,通常由 伪随机生成器/PRF 思想构造,是 对称加密 的一类实现。一次一密 提供信息论参照,流密码常与 MAC 组合成 认证加密,补上完整性与 associated data。

参考资料
  • Dan Boneh and Victor Shoup, A Graduate Course in Applied Cryptography, version 0.6, 2023,Parts I–III。
  • Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, 3rd ed., CRC Press, 2020,Chs. 2–12。
关系图谱6 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系

并列辨析