
R华更阶未朝厂C4加密算法是大名鼎鼎的RSA三人组中的头号人物Ron Rivest在1987年设计的密钥长度可变的流加密算法簇。RC4算法是一种在电子信息领域加密的技术手段就四银怎述措溶很树,用于无线通信网络,来自是一种电子密码,只有经360百科过授权(缴纳相应费用)的用户才能享反元密相觉考受该服务。
- 中文名称 RC4算法
- 提出者 Ron Rivest
- 提出时间 1987年
- 性质 加密的技术手段
- 用于 无线通信网络
详细介绍
RC4加密算法
之所以称其为簇,是由于其核心部分的S-box长度可为任意,但一般为256字节。该算法的速度可以达到DES加密的10倍左右。
RC4花控妒刻升后财沙立算法的原理很简单,包括初始化算法和伪随机子密码生成算法两大部分。假设S-box长度和密钥长度额许次妈呢紧均为n。先来看看算法的初始化部来自分(用类C伪代码表示):
for (i=0; i<n; i温困味行我本++) {
s[i]=i;
}
j=0;
for (i=0; i<n; i++)
{
j=(j+s[i]+k[i])%n;
swap(s[i], s[j]);
}
在初始化的过程中,密钥的主要功能是将S-box搅乱,i确保S-box的每个元素都得到处理,j保证S-box的搅乱是随机的。而不同的S-box在经过伪随机子密码生成算法的处理后可以得到不同的子密钥序列,并且,该序列是随机的:
i=j=0;
while (明文未结束)
360百科 {
++i%=n;
距叫 j=(j+s)%n;
swap(s, s[j]);
sub_k=s((s+s[j])%n);
觉打伤染击游军线 }
得到的子密码sub_k用以和明文进行xor运算,得到密文,解密过程也完全相同。
由于RC4算法加密是采用的xor,所以,一旦子密钥序列出现了重复,密文就有可能被破解。关于如何破解xor加密,请参看Bruce Schneier的Applied Cryptography一书的1.4节Simple XOR。那么,RC4算法生成的子密钥序列是否会出现重复呢?经过我的测试,存在部分弱密钥,使得子密钥序列在不到100万字节内就发生了独准律首完全的重复,如果是部分重复基皮营然,则可能在不到10万字节内就能发生重复,因此,日兵渐左半推荐在使用RC4算法时,请斯评皮特振素林也必须对加密密钥进行测试,判断其是否为弱注城随席变密钥。
但在2001年就有以色列科学家指出RC4加密算法存在着漏洞,这可门能对无线通信网络的安全构成威杂技胁。
以色列魏茨曼研究所和美国思科公司的研究者发现,在使用"有线等效保密规则"(WEP)的无线网拿选走怀星多龙络中,在特定情况下,人们可以逆转RC4算法的加密过程,获取密钥,从而将已加密的信息解密。实现这一过程并不复杂,只需要使用一台个人电脑对加密的数据进行分析,经过几个小时的时间就可以破译出信息的全部内容。
专家说,这并不表示所有使用RC4算法的软件都容易泄密,但它意味特脱课刚垂百着RC4算法并不像人们原先认停生新宪肥苦伯集为的那样安全。这一发现可能促烟名氧固练使人们重新设计无线通信网络谈武方超热亚,并且使用新的加密算法。
评论留言