RC4加密原理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RC4加密原理相关的知识,希望对你有一定的参考价值。

加密原理:
1 , 通过密钥调度算法KSA初始化状态矢量S(S就是一个随机数发生器,称为S-box)
2 , 再通过伪随机数生成算法PRGA得到密钥流keystream
3 , 密钥流keystream 与明文进行xor运算得到密文,解密用 密钥流与密文xor

1. KSA

RC4首先使用密钥调度算法(KSA)来完成对大小为256的字节数组S(s-box)初始化及替换。在替换时使用密钥。其密钥长度一般取5~16字节,即40~128位,也可以更长,通常不超过256位。首先用0~255初始化数组S,然后使用密钥进行替换。

技术分享

2. PRGA

数组S在完成初始化之后,输入密钥便不再被使用。密钥流的生成是从S[0]~S[255],对每个S[i],根据当前S的值,将S[i]与S中的另一字节置换。当S[255]完成转换后,操作继续重复执行。

得到的子密码k用以和明文进行XOR运算,得到密文,解密过程也完全相同。

技术分享

以上是关于RC4加密原理的主要内容,如果未能解决你的问题,请参考以下文章

如何实现C语言的DES加密算法实现,请关注

AES算法原理

RSA加密算法怎样用C语言实现? 急急急!!!

用C语言来实现DES加密算法(很急)两天内

RC4加解密

SSL/TLS 受诫礼;SSL/TLS RC4 信息泄露的问题