admin 管理员组文章数量: 1087677
RC4加密算法理解
RC4加密算法理解
-
概念
-
在密码学中,RC4(来自Rivest Cipher 4的缩写)是一种流加密算法,密钥长度可变。它加解密使用相同的密钥,因此也属于对称加密算法。RC4是有线等效加密(WEP)中采用的加密算法,也曾经是TLS可采用的算法之一。
-
原理:总体来说包括两个部分:1.初始化密匙盒子。2.伪随机密码生成
PS:不需要过分转牛角为什么能这样子加密,这涉及到数学问题了,不过有兴趣可以去理解一下。
-
流程
- 初始化盒子S-box,256个字节,分别赋值为0-255.(生成的种子1)
- 初始化密匙,就是你输入的flag,然后轮转填满256个字节,如:输入abc,就生成abcabcabc…(生成种子2),以此类推,类比。这里就先记作k[25600]吧。
- 开始对盒子S-box打乱(打乱种子1)------>
j=0;//临时变量 for(i=0;i<256;i++)j=(j+Sbox[i]+k[i])mod256;//记住就好,小菜鸡也不大晓得原理鸭//k是生成种子2swap(Sbox[i],Sbox[j]);//打乱,swap函数自己简单写个去实现就好了
- 下面开始生成密匙流(最后就是要用这个密匙流来异或加密的)
- 先计算输入flag的字节数(strlen),然后开始生成对应的异或要用的密匙流)------->
i=0; j=0; while(lenth--) {i=(i+1)mod256;j=(j+Sbox[i])mod 256;swap(s[i],s[j]);t=(S[i]+S[j])mod256;keystream=Sbox[t];Data[对应的位数]^=k;//此处完成加密 }
-
总结
RC4算法还是蛮好理解的,多敲几遍就好了。
本文标签: RC4加密算法理解
版权声明:本文标题:RC4加密算法理解 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1694401272a251628.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论