基于RC4算法分析与研究

2019-10-14 00:22王方鑫
科技风 2019年1期
关键词:安全性

王方鑫

摘 要:序列密码是一种非常重要的对称密码体制,它一次只对单个字符进行加密解密变化。RC4是一个典型的基于非线性数组变换的序列密码,它的优点在于它在软件中非常容易实现,并且运行速度快,错误传播少,是一种值得推广的序列密码。

关键词:RC4算法;序列密码;安全性;对称加密算法

序列密码起源于Vernam密码,1917年,G.Vernam提出了流密码Vernam cipher,若密钥流字符是随机的,那么Vernam密码成为一次一密,这种密码在一定条件下是无条件安全的。当然序列密码也存在缺陷,即密钥的个数必须和明文的个数相同,密钥的分配和管理十分的困难。1949年,Shannon信息论的提出为序列密码奠定了理论基础。序列密码分为同步序列密码SSC和自同步序列密码SSSC。相比于分组密码,序列密码特殊在于它每次用一个密钥加密一个比特,它的速度更快,占用硬件资源更少。

1 RC4算法简介

RC4算法是由麻省理工学院的Rivest在1987年设计的一种流密码,作为RSA的商业机密直到1994年才被匿名公布于Internet。RC4算法可能是世界上运用范围最为广泛的序列密码,它是一个典型的基于非线性数组变换的序列密码。RC4算法的密钥长度可以改变,该算法以随机置换作为基础,生成一个极大周期密钥流,且该算法的运行速度非常快。

RC4目前应用范围十分的广泛,它被应用在SSL/TLS(安全套接字协议/传输层安全协议)标准中,以及作为无线局域网标准的一部分,还被应用在无线系统以保证无线链路的安全。从各种各样的应用,我们可以看出来RC4算法是目前网络通信的重要组成部分,这个算法非常的重要。

2 RC4算法步骤

RC4算法主要由四部分组成,分别是初始化、初始置换、密钥流的生成、异或操作。

2.1 初始化

首先将S中的元素初始化,设为S[i]=i,i的取值从1到255,同时新建临时数组T。这些操作如下:

2.2 初始置换

用临时数组T产生S的初始置换,从S[0]到S[255],进行字节代换。这些操作如下:

如下图所示S的初始置换如下:

S的初始置换图

2.3 密钥流的生成

最后利用PRGA生成密钥流,从S中随机选取一个元素并且输出,并置换S以便下一次的选取。

3 RC4算法的安全性

(1)2001年,Fluhrer,Mantin,Shamir提出了在相关密钥下的唯密文攻击RC4,后來被Stubblefield用于WEP协议攻击,需要大量的数据。

(2)2005年,Klein优化了在相关密钥下的唯密文攻击RC4,Tews等用Klein攻击,可以在一分钟之内破解104位WEP协议。

4 RC4算法的优点和缺点

4.1 RC4算法的优点

(1)当RC4的密钥长度超过128位时,目前不能破解。

(2)和RSA算法等相比,RC4算法速度比较快。

(3)RC4算法易于实现,方便软件设计。

(4)RC4算法有较强的抗攻击能力。

(5)RC4算法对硬件资源消耗低。

4.2 RC4算法的缺点

(1)WEP协议容易受到一种特殊的攻击方式攻击。

(2)需要事先秘密地传递密钥。

5 结语

RC4是一个典型的基于非线性数组变换的序列密码,它具有了很多优点,比如实现方便、易于软件设计、具有较强的抵抗攻击的能力,目前来说,还没有什么方法能攻破长度超过128位的RC4算法。RC4具有极高的社会使用价值和发展空间,值得进一步深入研究。

参考文献:

[1]王茂森.RC4加密算法对无线网络安全技术的影响探究[J].信息技术与信息化,2018(07):184-185.

[2]胡亮,迟令,袁巍,李宏图,初剑锋.RC4算法的密码分析与改进[J].吉林大学学报(理学版),2012,50(03):511-516.

[3]谷利泽,郑世慧,杨义先.现代密码学教程[M].北京邮电大学出版社,2009.

[4]卢开澄.计算机密码学[M].北京:清华大学出版社,2003.

[5]杨晓元.现代密码学[M].西安:西安电子科技大学出版社,2009.

[6]杨波.现代密码学(第二版)[M].北京:清华大学出版社,2007.

猜你喜欢
安全性
细节护理在老年人健康体检护理中的应用及其安全性分析
拉西酮治疗女性精神分裂症的疗效与安全性分析
锁骨骨折内固定术中两种神经阻滞的麻醉效果与安全性比较
长效胰岛素联合口服降糖药治疗2型糖尿病的疗效与安全性
民航空中交通管制进近程序间隔安全性评估模型
疤痕子宫再次妊娠经阴道分娩的临床疗效及安全性
西药临床应用中合理用药对其安全性的影响
鼻内镜手术治疗老年慢性鼻窦炎鼻息肉的疗效及安全性探讨
关于桥梁设计中的安全性与耐久性问题的几点思考
西酞普兰治疗抑郁症的疗效及安全性