RC4

在密码学中,RC4(来自 Rivest Cipher 4 的缩写)是一种流加密算法,密钥长度可变。它加解密使用相同的密钥,因此也属于对称加密算法。RC4是有线等效加密(WEP)中采用的加密算法,也曾经是TLS可采用的算法之一。

每次加密一个字节

  • 对 S 盒进行初始填充 0~255,一般为 256 字节

  • 用种子密钥(一般比较短,不断循环直到填满)填充 K 盒(图中是 T 盒),也是 256 字节。

  • S 的初始置换

    • 循环 i 从 0~255,交换 S[i]S[j],其中 j=j+S[i]+T[i]

  • 密钥流的生成

    • 循环 i 从 0~255,交换 S[i]S[j],其中 j=j+S[i]

    • 密钥 k 则为 S[t],其中 t=S[i]+S[j]

  • 加密

    • 明文和密钥流逐个异或即可得到最后的密文

特点:

  • 如果密钥流每次都从第一个位置开始,就会不安全


参考资料:

  1. RC4 https://baike.baidu.com/item/RC4/3454548

  2. RC4算法加密 https://blog.csdn.net/m0_73393932/article/details/129767251