加密解密算法之RC4

参考链接:https://www.biaodianfu.com/rc4.html

前言

感觉RC4算法还是很常见的,特此学习下特征。
https://github.com/anthonywei/rc4 各种语言的rc4实现

介绍

RC4算法是一种对称加密算法,所谓对称加密,就是加密和解密的过程是一样的.

c=rc4(key,m)
m=rc4(key,c)

这种对称性是基于密匙流加密的特征。密匙流就是说我的数据是N位,那么我通过一定算法生成N位的数据,然后将其xor得到密文。因为是xor操作,所以同样的可以通过密文,经过同样的key得到明文。因此通过密匙流加密算法的一个很重要的特征就是xor操作。
这里写图片描述
这里写图片描述

RC4算法的原理

这里借用参考链接中的一张图。
这里写图片描述
第一步:使用KSA算法根据用户输入的key,生成S盒
这一步通常会使用两次for循环,一次是为了将数据转入S盒,第二次是为了将S盒打乱。
这里写图片描述
这里写图片描述
从上面的两种实现中可以看出一下共通的地方,在初始化key时所做的操作。
第二步:使用PRGA算法生成密匙流加密数据

总结

常见的算法多做下总结!

猜你喜欢

转载自blog.csdn.net/qq_33438733/article/details/80037907