标题 | 基于RC4算法分析与研究 |
范文 | 王方鑫 摘 要:序列密码是一种非常重要的对称密码体制,它一次只对单个字符进行加密解密变化。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. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。