RC4算法
RC4加密算法是大名鼎鼎的RSA三人组中的头号人物RonRivest在1987年设计的密钥长度可变的流加密算法簇。
基本信息
- 中文名
RC4算法
- 提出者
Ron Rivest
- 提出时间
1987年
- 性质
加密的技术手段
- 用于
无线通信网络
简介
RC4算法是一种在电子信息领域加密的技术手段,用于 无线通信网络,是一种电子密码,只有经过授权(缴纳相应费用)的用户才能享受该服务。
详细介绍
RC4加密算法
之所以称其为簇,是由于其核心部分的S-box长度可为任意,但一般为256字节。该算法的速度可以达到DES加密的10倍左右。
RC4算法的原理很简单,包括初始化算法和 伪随机子密码生成算法两大部分。假设S-box长度和密钥长度均为n。先来看看算法的初始化部分(用类C 伪代码表示):
for (i=0; i<n; i++) {
s[i]=i;
}
在初始化的过程中,密钥的主要功能是将S-box搅乱,i确保S-box的每个元素都得到处理,j保证S-box的搅乱是随机的。而不同的S-box在经过 伪随机子密码生成算法的处理后可以得到不同的子密钥序列,并且,该序列是随机的:
i=j=0;
while (明文未结束)
{
++i%=n;
j=(j+s)%n;
swap(s, s[j]);
sub_k=s((s+s[j])%n);
}
得到的子密码sub_k用以和明文进行xor运算,得到密文,解密过程也完全相同。