Skip to content

流密码

Stream cipher

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

形式陈述

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

直觉

它把一次一密的真正随机长密钥替换成由短密钥生成、计算上不可预测的长序列。

例子与边界

若同一密钥流加密 m,m,则 cc=mm,导致“两次一密”泄漏。nonce 可以公开,但在许多方案中必须唯一。流密码只提供机密性,翻转密文位会可控翻转明文位,因此实践中需认证。

推论与应用

流密码适合低延迟、任意长度数据和软件实现,并常与 MAC 组合成认证加密。

参考资料
  • 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。