流密码
用密钥生成伪随机密钥流与明文逐位异或,RC4 曾广泛用于无线网络,ChaCha20 以安全性与高性能成为现代主流。
所属主题:密码学 ↗阅读路径
参考可汗学院 Get ready 机制:先修概念 → 当前概念 → 进阶概念,✓ 表示已读。
01定义
流密码用密钥生成伪随机比特流,与明文逐位异或——加密解密同一操作,速度极快。ChaCha20 以纯算术运算(加法、移位、异或)实现高安全性与高性能,成为无硬件 AES 加速设备上的现代主流。
02核心要点
01
设计原则
密钥流的不可预测性是全部安全所在:一次一密(真随机流)信息论完美但不可行,伪随机流力求计算上不可区分。nonce 重用是流密码的头号死罪。
02
RC4 的教训
RC4 曾统治 WEP/WPA:设计简单但输出偏置(首字节漏洞、RC4 NOMORE 攻击)——流密码的分析史是一部「小偏差被放大」的警示录。
03
ChaCha20 的崛起
Bernstein 2008 年设计:20 轮 ARX(加-旋-异或)结构,无查表故天然抗时序侧信道;配合 Poly1305 认证成为 TLS 1.3 两大套件之一。
03关键公式
04历史沿革
弗纳姆 1917 年发明一次一密(香农证明其完美保密);RC4 由 Rivest 1987 年设计;Salsa20/ChaCha 系列由 Bernstein 2005-2008 年推出并逐步成为主流。
05应用与延伸
TLS 移动端加密、SSH 会话、磁盘加密的低端硬件场景、QUIC 协议的默认套件。
06交互演示
线性反馈移位寄存器(LFSR)每拍右移一位:新最左位 = 抽头异或,最右位为输出比特