RC4
原理
RC4是一种流加密算法,密钥长度可变,可变范围是1-256字节,属于对称加密算法
生成S-box
KSA算法初始化长度为256的S盒,用种子密钥(就是我们的秘钥)循环填充另一个256字节的K表,用K表对S表进行初始置换
1 | def KSA(key): |
生成密钥流
PGRA算法根据S盒生成与明文长度相同的密钥流
1 | def PRGA(S): |
异或加密
明文字节与密钥流异或
1 | def RC4(key, data): |
例题
[Litctf 2024]ezrc4
这道题主要是用TLS回调函数修改了key,导致一直没做出来
对key按X可以发现它在另一个函数也有调用,进入X_X
1 | key='fenkey?' |
得到真的key
在写密文的时候要注意大小端序
还有一些题是RC4的变形
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Xinyi's blog!