RC4
RC4 是 Ron Rivest 于 1987 年设计的流密码,简单高效但存在严重偏差,已被 TLS 等协议禁用。
用途
提供无需填充、高速的流加密,曾广泛用于 SSL/TLS 与 WEP,但因安全缺陷被淘汰。
机制
KSA(密钥调度算法)用密钥打乱 256 字节 S 盒;PRGA(伪随机生成算法)每次交换 S 盒中两字节并输出一字节密钥流,与明文异或得密文。初始密钥流前若干字节存在统计偏差。
用例
- 遗留 WEP/WPA Wi-Fi 加密
- 旧版 SSL/TLS(已禁用)
- 历史 Office/PDF 加密
- 教学示例(流密码缺陷)
示例
- 输入
key="Secret", data="Hi"输出ciphertext byte streamInsecure; do not use in new systems
常见错误
- Using RC4 in new systems
- Use AES-GCM or ChaCha20-Poly1305