∑

数学知识体系

Observatory Archive of Mathematics
⌕2026/8/31
概念

流密码

用密钥生成伪随机密钥流与明文逐位异或,RC4 曾广泛用于无线网络,ChaCha20 以安全性与高性能成为现代主流。

所属主题:密码学 ↗
阅读路径

参考可汗学院 Get ready 机制:先修概念 → 当前概念 → 进阶概念,✓ 表示已读。

当前概念

流密码密码学

01定义

流密码用密钥生成伪随机比特流,与明文逐位异或——加密解密同一操作,速度极快。ChaCha20 以纯算术运算(加法、移位、异或)实现高安全性与高性能,成为无硬件 AES 加速设备上的现代主流。
密钥 + 计数器 轮函数 密钥流 ⊕ 明文 m 密文 c = m ⊕ k 异或自反:c ⊕ k = m(加密即解密) Nonce 绝不可重用:重用即泄露明文异或 ChaCha20-Poly1305:TLS 移动端首选套件
流密码:密钥流与明文逐位异或

02核心要点

01

设计原则

密钥流的不可预测性是全部安全所在:一次一密(真随机流)信息论完美但不可行,伪随机流力求计算上不可区分。nonce 重用是流密码的头号死罪。

02

RC4 的教训

RC4 曾统治 WEP/WPA:设计简单但输出偏置(首字节漏洞、RC4 NOMORE 攻击)——流密码的分析史是一部「小偏差被放大」的警示录。

03

ChaCha20 的崛起

Bernstein 2008 年设计:20 轮 ARX(加-旋-异或)结构,无查表故天然抗时序侧信道;配合 Poly1305 认证成为 TLS 1.3 两大套件之一。

03关键公式

ci=mi⊕ki,k=PRFK(nonce,counter)c_i=m_i\oplus k_i,\quad k=\mathrm{PRF}_K(\text{nonce},\text{counter})

04历史沿革

弗纳姆 1917 年发明一次一密(香农证明其完美保密);RC4 由 Rivest 1987 年设计;Salsa20/ChaCha 系列由 Bernstein 2005-2008 年推出并逐步成为主流。

05应用与延伸

TLS 移动端加密、SSH 会话、磁盘加密的低端硬件场景、QUIC 协议的默认套件。

06交互演示

线性反馈移位寄存器(LFSR)每拍右移一位:新最左位 = 抽头异或,最右位为输出比特

07相关概念