分组密码与DES实现DES加密算法研究及其JAVA实现(3)
时间:2021-10-19 21:26 来源:毕业论文 作者:毕业论文 点击:次
根据密码体制的原理,甚至是一个安全水平很高的密码体制,没有办法能完全适用于所有的应用程序,这是在实际应用中所需的不可避免权衡。这些限制来自于,包括例如速度要求和存储器的限制而产生的(例如,代码大小、数据大小和超高速缓冲存储器),通过实现平台所造成的限制(例如,硬件水平与软件水平),并应用不同的公差,以各种操作模式的特性。此外,效率通常必须对安全性折衷。从而有利的是具有许多从中吸取候选密码的。文献综述 目前现有的许多分组密码,虽然随着新的攻击问世分组密码地位在不断变化,并不能保证它比其他算法更安全更安全,都它们都有着不小的存在价值。其重点在于实现实际利益最大化。其中,DES是最广为认知的;FEAL已收到两个重大的商业支持和大量独立的密码分析;IDEA(最初提议为替代DES)已经被人们所接受,并高度重视。 2。2 国内外研究现状 分组密码在对明文进行加密时,首先对明文分组,要求每组长度相同;然后对每组明文分别加密得到等长的几组子密文;最后将几组子密文组合得到密文。最经典的两个分组密码体制是在1977年由美国提出的数据加密标准DES(data encryption standard)和美国于1997年征集得来的高级加密标准AES(advanced encryption standard)。对于DES密码体制,其中的“混淆“和”扩散”是其加密的基本部分。混淆层又称S盒(在序列密码中也得到了应用[2]),在加密过程中主要起混淆作用,能将明文与密文之间的关系变得复杂,其设计原则仍未完全公开,因此外界难以从S盒着手攻击。之后的置换或可逆的线性变换层,又称为“扩散层”,其作用主要在于隐蔽明文的统计特征,以抵抗统计分析攻击,实际上对数据加密所起的作用不大。因此,DES主要还是依赖S盒加密。然而混淆层加密时所用的子密钥仅仅来源于56位密钥池,而且这56位密钥每位使用的次数在12到15次之间[3],在密码分析技术迅速发展与计算机性能大大提升的今天,穷举攻击能轻松破译DES密码体制。因此,DES密码的安全性受到了质疑。虽然之后人们企图增加密钥量来提高安全性能——运用多重DES替代原先的DES,但当每加一重密码时,编译时间就会相应增加一倍。所以虽然三重DES有较可靠的安全性,但是编译速度仍不占优势。虽然DES目前基本已被之后出现的AES取代,但其设计思想仍值得借鉴。 2001年,美国采用了来自比利时密码专家Joan Daemen和Vincent Rijmen的“Rijndael数据加密算法”,并公布此密码为高级加密标准AES,于2002年正式生效。AES是建立在有限域的运算基础上,安全性能良好,能抵抗目前已知的各种攻击方法的攻击。Rijndael密码设计者针对此密码提出了一种攻击方案,但只能破解4至6轮的AES,对7轮以上的AES是攻击无效的 [4]。攻击低轮AES时,人们往往是使用Square攻击法 [5]! AES在安全性与运算速度上都比DES和多重DES出色,因此,基于AES算法的加密在生活中的应用不在少数。例如,孙爱娟在《基于AES加密算法的改进及其MATLAB实现》 [6]、魏嘉银于《一种基于AES算法的通信信息加密传输方案》中[7]、王玲在《基于AES的汽车免钥门禁认证技术研究》中 [8],都使分组密码AES得到了应用。 3。 DES数据加密算法来*自-优=尔,论:文+网www.youerw.com DES是一个总所周知的分组密码体制,它于十九世纪70年代中期被美国正式提出,在当时引起了不小的轰动。分组密码的安全性主要依赖于密钥,而不依赖于对加密算法和解密算法对保密,因此,分组密码的加密和解密算法可以完全公开。 (责任编辑:qin) |