“一次一密是 完美保密 的典型实现,并达到 Shannon 密钥下界 的密钥长度极限;代价是必须预先安全分发并存储与消息等量的独立密钥材料。流密码 可视为用短密钥生成伪随机长密钥流的计算安全替…”
形式陈述 ​
流密码由密钥和通常还包括 nonce 生成伪随机密钥流
直觉
流密码从短密钥和 nonce 生成计算上不可预测的伪随机长序列,再与明文逐位或逐字节组合,通常采用 XOR,以此替代 OTP(一次一密)的真正随机长密钥。正因如此,同一密钥下重复 nonce 会复用密钥流,立即暴露明文异或。流密码本身通常可塑,不提供标签就无法检测主动篡改。
例子与边界
流密码按 nonce 和密钥生成密钥流,再与消息逐符号组合;分组密码直接给固定块上的密钥置换,长消息语义由工作模式补充。两者可互相构造某些功能,却在状态同步、随机访问和 nonce/IV 使用规则上不同。
加密
这正是同一密钥流加密
推论与应用
流密码适合低延迟、任意长度数据和软件实现,通常由 伪随机生成器/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。