基于DES和RSA的混合加密体制的分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于DES和RSA的混合加密体制的分析摘要本文首先介绍了对称密码DES算法和非对称密码RSA算法的模型,并分别对它们的优缺点进行了分析。进而结合它们各自的优点,提出了一种基于DES和RSA的混合加密体制,并对其加密和解密的过程进行了详细描述,阐述了混合加密算法的优势。最后,针对DES算法和RSA算法的缺陷,提出改进混合加密算法的方案。关键词DES算法;RSA算法;混合加密;混合加密的改进1.引言一个现代密码系统包括所有可能的明文、密文、密钥、加密算法和解密算法,所有这些算法的安全性都基于密钥的安全性,而不是及预算法的细节安全性。这就意味着密钥是密码系统的核心。密钥系统根据密钥可以分为两类,即为对称密钥系统和公钥系统。对称密钥系统就是加/解密密钥是相同的,此类算法有DES,AES等。公钥系统又称公开密钥系统或非对称密钥系统,其中有两个密钥:公开密钥1K,也叫加密密钥,是公开的,并有第三方管理;私人密钥2K只能有采用此系统的人自己掌握,也叫解密密钥。从公开密钥推不出私人密钥。此类算法有RSA,ECC等。2.对称密码算法----DES算法]2][1[2.1DES算法的描述DES(DataEncryptionStandard)算法,又称数据加密标准。1977年1月,美国政府采纳了IBM开发的一个乘积密码作为非密级信息的官方加密标准,被广泛用于工商业界的安全产品中。DES是一个分组加密算法,以64位为分组对数据进行加密。64位一组的明文从算法的一端输入,64位的密文从另一端输出。DES是一个对称算法:加密和解密都用同一个算法(除密钥编排不同)。密钥的长度也是64位,其中每个第8位都用作奇偶校验,因此实际有效密钥的长度为56位,是可以任意改变的56位数。DES算法是公开的,其安全性依赖于密钥的保密程度。DES算法描述:先进行64位的明文分组操作,将该分组用初始置换IP进行置换,得到一个乱序的64位明文分组,然后将分组分成左、右等长的两边,各位32位长,记作0L和0R。在进行16轮完全类似的迭代运算后(其中F函数是在运算过程中将数据与密钥结合在一起的函数),把所得到的左、右长度相等的两半16L和16R交换,从而得到64位数据1616LR,最后再用初始逆置换(IP1)进行置换,可以得到64位密文分组。加密算法流程图如下所示。···(a)(b)图一数据加密标准DES(a)总体加密过程;(b)每次迭代的细节在每一轮迭代中,密钥位先进行移位,然后再从56位密钥中压缩置换出48位。通过一个扩展置换将数据的右半部分扩展48位(实现扩散),并通过一个异或操作与48位密钥结合,再通过8个S盒将这48位替代成行的32位数据(实现混乱),再将其置换一次。这四步运算为一轮,成为函数F。在DES算法中,解密的步骤只是加密步骤的相反顺序而已。每次迭代中要用到的48位子密钥是根据64位初始密钥6421......KKKK生成的。64位初始密钥首先经换位选择生成56位的密钥,然后密钥被分成28位的两部分,每部分都左移若干位,再将两部分拼接起来。随后对56位密钥做第二次压缩置换得到48位密钥,作为该轮的子密钥。以此类推,可以得到所需的16轮子密钥。1.2DES算法的优缺点分析]3[DES算法实现简单,加密速度快,适合加密较长明文。但由于密码长度较短,32位R(i)32位L(i)64位密文64位明文R(i-1)L(i-1)初始的IP置换迭代1迭代216个不同48位密钥迭代16左右32位交换IP1逆置换L(i-1)异或函数F(R(i-1),K(i))随着计算机技术的发展,对其造成严重威胁。另外由于仍采用单密钥体制,其算法要求通信前对密钥进行秘密分配,不同的通信对象,需产生和保管不同的密钥,更换密钥则需额外秘密通道传递,通信双方更换密钥困难,密钥管理和分配难度大。2.非对称密码算法---RSA算法]2][1[2.1RSA算法的描述RSA加密算法是一种非对称加密算法。在公钥加密标准和电子商业中RSA被广泛使用。RSA是1977年R.Rivest,A.Shamir和L.Adleman共同提出的。RSA密码系统的安全是基于大整数分解因子的难度,其公开密钥(现在一般是1024位,甚至更长)和私人密钥是一对大素数的函数。一般来说,求一对大素数的乘积相对比较容易,但要对这个乘积进行因式分解则非常困难。因此,可以把一对大素数的乘积作为公开密钥公布,而把素数作为密钥,从而从一个公开密钥和密文中恢复出明文的难度等价于分解两个大素数之积。建立RSA密码系统过程如下:(1)选取两个大素数p和q,p和q的位数差不多大小。(2)计算乘积n=pq和Φ(n)=(p-1)(q-1)。(3)随机选取加密密钥e,使e和(p-1)(q-1)互素,也即gcd(e,Φ(n))=1。(4)计算解密密钥d,以满足ed=1modΦ(n),即e与d互逆,d与n是互素的。(5)加密函数为:E(x)=emmodn,解密函数为:D(x)=dcmodn,其中m是明文,c是密文。(6){e,n}为公开密钥,d位私人密钥,p、q不再需要,可以丢弃,但不能泄露。一般n的长度是1024位或者更长。RSA加密消息m时,首先将消息分成大小合适的数据分组,然后对分组分别进行加密,每个分组的长度均应该比n的位要小。其加密和解密的流程图如下:其中,e和n是接收方B的公钥,但d是接收方B的私钥2.2RSA算法的优缺点分析]4[RSA算法相对于DES加密算法有许多有点,通信双方不需事先交换密钥,保密性好,在密钥管理及分配上有自己的优越性;另外公钥密码可以实现数字签名,保证传输信息的不可否认性。但是,RSA是建立在大素数分解困难的基础上的。因子分解越困难,密码就难以破译,解密强度就越高。所以,RSA算法是基于数学难题的,加、解密运算时,在计算上的开销相对于DES对称加密算法来说是非常巨大的。明文M密文C密文C明文MC=eMmodn发送M=dCmodn发送方甲接受方乙3.混合加密算法]4[通过对DES算法和RSA算法的优缺点分析,我们可以充分利用两者的优点,而同时避免它们的缺点,提出采用基于DES和RSA的混合加密体制。其总的原理是:对信息的加密、解密采用DES算法(对称密码),密钥传输采用RSA算法(非对称密码)。这既解决了DES算法密钥管理的困难,又解决了RSA加密、解密速度的问题。3.1加密过程随机数发生器产生仅使用一次的64位DES会话密钥K,对明文M进行加密,生成密文C。另一方面,发送方甲从公钥管理中心获取接收方乙的公开密钥1BK,对会话密钥进行RSA算法加密。最后,将RSA加密后的会话密钥K和DES加密后的密文C一起发送出去。其具体过程如下:(1)利用随机数算法产生一个64位的会话密钥K。此会话密钥只使用一次,使用完毕要进行删除。(2)用此会话密钥K对要传输的明文M进行DES加密C=EK(M)生成要传输的信息的密文C(3)从密钥服务器或者其他渠道获得接收方乙的RSA加密公钥1BK(4)用获得的收方的公钥1BK对DES的64位会话密钥K进行RSA加密CK=E1BK(K)形成会话密钥的加密信息CK(5)对于利用DES加密形成的密文信息C和RSA加密后的会话密钥信息CK进行合成.生成用于传输的文件CM。其加密流程图如下:发送随机算法会话密钥K明文MDES算法密文CRSA算法接收方乙的公钥1BK加密后的会话密钥CK密钥两部分合成传输文件CM3.2解密过程接收方乙首先将密文拆分成两部分:一部分是经RSA算法加密的会话密钥,一部分是经DES算法和会话密钥加密的原文件内容。收方用RSA秘密密钥恢复出会话密钥,再用会话密钥和DES解密算法得到原文件内容。其具体过程如下(1)对接收到的传输文件CM进行分解,得到会话密钥的加密信息CK和密文C。(2)对文件分解得到的会话密钥的加密信息CK,利用收方自己的RSA加密的私钥2BK对加密信息进行解密K=D2BK(CK)得到64位的DES会话密钥K。(3)利用得到的会话密钥K对分解得到的密文C进行DES解密M=DK(C)得到要传输的明文M。其解密流程图如下3.3混合加密的优点采用DES和RSA的混合加密方式把DES算法和RSA算法组合起来使用有如下的优点:(1)由于用RSA算法进行加密和传送的是会话密钥K,所以不需要通信前进行密钥的秘密发送。(2)密钥的保密管理与RSA方式情形相同,只对一个解密密钥进行保密管理即可。(3)加密、解密的处理速度大体上与DES方式相同。也就是说,RSA算法所处理的仅仅是DES加密明文所用会话密钥的密钥,耗费时间相对较少。如果通信数据很长的话,利用RSA方式处理数据几乎是可以忽略不计的。(4)由于利用RSA方式发送密钥,所以也可以利用它来进行数字签名。所接受传输文件CM密文C加密后的会话密钥CK密钥接收方乙的私钥2BKRSA算法会话密钥KDES算法明文M综上所述,DES和RSA混合加密体制兼有加密、解密速度快的常规密码体制的优点,以及不需要进行密钥分配且保密管理的密钥量也较少的公开密码体制的优点,从而构成了相对比较理想的加密体制。3.4关于混合加密算法改进的几点想法]3[在参考了大量文献资料下,我们在此可以对DES和RSA的混合加密算法进行以下改进。(1)传统的DES算法的安全性能已大大降低,目前也很少有人使用该算法。因此,使用基于混沌序列的DES算法,也可以使用混沌系统使DES加密密钥按要求处于变化之中,即可实现一次一密的要求,这样即使攻击者在信道中获得一组密钥也难以推算出其他密钥而破获整个加密系统,同时只要加密端和解密端得混沌初值相同,加密和解密端的密钥便可同步,明显提高了安全性能。(2)RSA算法是基于大数因子分解的问题,实现容易,但其安全强度相对较低。目前,用国际上公认的对于RSA算法最有效的攻击算法是一般数域筛(NFS)方法去破译和攻击,其破译和求解难度是亚指数级的,其复杂度)()(3231)ln(ln)))(ln1(92.1(nnOeOnT。而对于ECC(椭圆曲线密码)算法,目前最有效的攻击方法其破译和求解的难度是指数级的,其复杂度)()()ln(maxpneOnT,其中maxP是ECC交换群的阶的最大素因子,也就是在相同的密钥长度条件下,ECC的算法的安全性要远远超过RSA的算法。并且在相同的计算资源条件下,ECC算法的计算量小且处理速度快。另外,ECC算法所占用的储存空间也较小。参考文献【1】AndrewS.Tanenbaum(美)著,潘爱民译,计算机网络(第四版),清华大学出版社,2004.8【2】徐明等编著,网络信息安全,西安电子科技大学出版社,2006.5【3】钱波,胡志刚,一种新的混合加密体制的研究,计算机与信息技术【4】王春军,钱军,网络安全中基于DES和RSA混合加密技术的研究,淮南师范学院学报,2007年第5期第九卷

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功