基于DES的对称加密算法的与实现

上传人:痛*** 文档编号:133571628 上传时间:2022-08-10 格式:DOC 页数:33 大小:2.23MB
收藏 版权申诉 举报 下载
基于DES的对称加密算法的与实现_第1页
第1页 / 共33页
基于DES的对称加密算法的与实现_第2页
第2页 / 共33页
基于DES的对称加密算法的与实现_第3页
第3页 / 共33页
资源描述:

《基于DES的对称加密算法的与实现》由会员分享,可在线阅读,更多相关《基于DES的对称加密算法的与实现(33页珍藏版)》请在装配图网上搜索。

1、学校代码: 10184学 号: 延 边 大 学 本科毕业论文本科毕业设计(题 目:基于DES的对称加密算法的设计与实现学生姓名:周莹冰学 院:工学院专 业:数字媒体技术班 级:级指引教师:李永珍 副专家二 一 三 年 五 月摘 要随着信息时代的来临,信息的安全性变得尤为重要,而对数据进行加密是行之有效的能保证信息安全性的措施。DES算法是众多数据加密算法中的一种,在过去的几十年中在数据加密领域有着举足轻重的地位,然而随着计算机技术的发展,DES算法的安全性也被大大地减少,针对DES的暴力破解所用的时间在逐年减少,为了能使DES这种优秀的加密算法可以重新使用,本文将针对就DES的暴力破解提供一种

2、有效的解决方案:基于DES算法迭代算法的改善,对DES的密钥长度进行了扩展。使DES的安全性得到了增强,同步相较于DES算法的改善算法3DES算法,效率上会比3DES高,安全性上也不会逊色于3DES。 核心词:DES;密钥扩展;迭代算法; AbstractWith the coming of information age, information security has become especially important, and to encrypt data is effective to ensure the security of the information. DES al

3、gorithm is one of data encryption algorithms, in the past few decades has a pivotal position in the field of data encryption. however, with the development of computer technology, the security of DES algorithm also has been greatly reduced, the time of brute force of DES has been reducing year by ye

4、ar, in order to make this good encryption algorithm can be used again, this article will focus on the DES of brute force to provide an effective solution: based on iterative algorithm of DES algorithm, and extended the length of DES key. To make the security of DES more enhanced, at the same time, c

5、ompared with the 3 DES algorithm, the efficiency will be higher than 3 DES, and security will not inferior to 3 DES. Key word: DES; key expansion; iterative algorithm 目 录引 言1第一章对称加密算法21.1 对称加密算法简介21.2DES的历史21.3DES加密算法原理31.3.1初始置换51.3.2 每轮变换的具体过程71.3.3 密钥的产生10第二章DES算法的安全性分析及改善122.1 DES算法基于对称加密算法的问题12

6、2.2 DES算法的密钥122.2.1 密钥的长度122.2.2 存在弱密码132.3 针对DES的某些破解措施142.4 DES的改善算法152.4.1 3DES算法细节15第三章针对DES密钥长度的两个改善173.1 基于对换迭代成果的密钥扩展173.1.1算法的基本原理173.2 基于对换迭代子密钥的密钥扩展193.2.1算法的基本原理20第四章 两种改善措施的算法分析及与3DES的比较214.1 两种改善的算法分析214.1.1 算法效率214.1.2 算法的安全性214.2 改善算法与3DES算法的比较22第五章 与DES、3DES算法的效率实验23结论23参照文献25谢 辞26引

7、言对称加密算法是使用比较早的一类数据加密算法,它具有加密速度快、加密效率高等长处,而数据加密原则(DES,Data Encryption Standard)就是一种使用密钥加密的对称加密算法,1977年被美国联邦政府的国标局拟定为联邦资料解决原则(FIPS),随后在国际上广泛流传开来。它基于使用56位密钥的对称算法。这个算法由于涉及某些机密设计元素,相对短的密钥长度以及怀疑内含美国国家安全局(NSA)的后门而在开始时有争议,因此DES因此受到了强烈的学院派式的审查,并以此推动了现代的块密码及其密码分析的发展。DES是分组密码的典型代表也是第一种被发布出来的原则算法。由于DES算法的密钥长度过短

8、, DES算法已经不再安全,目前DES已经被AES所取代。但是,DES算法作为一种优秀的加密算法, 为了能使DES继续发挥其作用,对DES的改善也是层出不穷。本次对DES算法进行密钥扩大,重要采用两种措施来进行改善,两种措施大体的思想是一致的,都是同步使用两个密钥对两段明文进行加密,同步加密过程中对两个加密过程的中的某些数据进行某些可控的交流,不同的是一种措施是基于加密算法迭代过程中的加密成果进行互换,另一种是基于迭代过程中的子密钥进行互换。理论上两种措施最后达到的效果是一致的,都是使DES算法的密钥长度得到了延长。本文将对这两种改善措施做出实现,然后对这两种措施的安全性与效率进行研究,最后得

9、出这种改善措施的可行性成果。 第一章 对称加密算法1.1 对称加密算法简介对称加密算法是应用较早的加密算法,技术相对来说比较成熟。在算法中,加密方需要将明文与密钥进行特殊的加密算法解决,使其变成无法辨认的密文后传送出去。接受方收到密文后,要想获得想要的明文,就必须通过相似的密钥,使用加密算法的逆运算,来对密文进行解决,从而才干得到相应的明文。在对称加密算法中,通信的双方都是使用相似的密钥来进行加密和解密操作。对称加密算法的特点是对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。她的缺陷是通信的双方都要维护一种只有她们懂得的密钥,这就导致了密钥管理的难度,特别是在多人通信的环境中,

10、密钥的个数急剧增长,给密钥管理带来的巨大的承当。对称加密算法重要有如下几种算法:DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法。本文中将具体对DES和3DES算法做进一步的探讨。1.2 DES的历史DES(Data Encryption Algorithm,DEA)加密算法是使用最广泛的数据加密体制,于1977年由美国国标局(National Bureau of Standards,NBS),即目前的国标和技术协会(National Institute of Standards and Technology,NIST)采纳为联邦信息解决原则46。 我们所

11、讲的DES其实是指数据加密算法(Data Encryption Algorithm,DEA)。年代简表年份日期事件19735月15日NBS第一次征集加密算法原则19748月27日NBS第二次征集加密算法原则19753月17日DES在“联邦公报”上发布并征集意见19768月DES的第一次研讨会19769月第二次研讨会,讨论DES的数学基本197611月DES被确觉得原则19771月15日DES被作为FIPS原则FIPS PUB 46发布1983DES第一次延长原则期限1986HBO开始使用一种基于DES的电视卫星加密系统,VideocipherII19881月22日DES第二次延长原则期限,称为

12、FIPS 46-1,取代FIPS PUB 4619907月毕汉姆和萨莫尔重新发现了微分密码分析,并将之应用到了一种15位的类DES密码系统1992毕汉姆和萨莫尔发布了第一种复杂性不不小于暴力破解的理论袭击措施:微分密码分析。然而,这种措施仍然需要不现实的247选择明文。199312月30日DES作为FIPS 46-2第三次延长原则期限1994实验了第一种实验性的DES密码分析,线性密码分析19976月DESCHAL筹划第一次公开破解了DES加密的信息19987月EFF的DES破解器(Deep Crack)在56小时内破解了DES密钥19991月Deep Crack和合伙在22小时15分钟内破解

13、了一种DES密钥199910月25日DES作为FIPS46-3第四次延长原则期限,其中规定优先使用3DES,而一般DES只容许在遗留的系统中应用11月26日AES作为FIPS 197发布5月26日AES原则开始生效7月26日“联邦公报”发布了FIPS 46-3以及一系列有关原则被驳回的信息5月19日NIST回绝了FIPS 46-3原则4月德国鲁尔大学和基尔大学基于FPGA的价值$10,000的并行计算机COPACOBANA在9天内破解了DES在一年内,软件改善将平均时间减少到了6.4天。11月COPACOBANA的下一代,RIVYERA将平均破解时间减少到了一天内表1.1.1 DES年代简表D

14、ES自被确立为加密原则以来,已通过去了有30近年了,期间DES算法在未做改动的状况下原则的有效期被延期了3次,足以证明DES算法自身的有效性和安全性,但是随着电脑技术的发展和人们在加密领域研究的进一步,DES算法的安全性不可避免的受到了威胁。第4次延期时被规定优先使用DES的改善算法3DES来减少DES算法安全性缺失所带来的的不良效果,同步DES的替代算法也在紧锣密鼓的筹划中,第4次延期期间AES算法被提出,自此DES退出来了历史舞台。1.3 DES加密算法原理DES算法是对称加密算法,加密时需要有两个输入:明文和密钥。明文的长度为64位,密钥的长度为64位(64密钥中只有56位是有效的,其她

15、为校验位)。图 1.2.1 DES算法流程示意图上图1.2.1中表白了DES加密算法的整个加密机制。图中可以看出,DES算法的明文解决共分了3个部分:一方面,64位明文通过初始值换(IP)矩阵变化排列顺序,然后与右边产生的子密钥进行16轮迭代运算,对明文进行了置换和替代。16轮迭代运算结束后的成果对其左右两部分进行对换,产生一种预输出。最后对预输出的成果进行初始逆置换(IP-1)产生64位密文。图1.2.1中,右半部分是产生每轮迭代所需的子密钥的措施,一方面是64位密钥通过置换选择1,长度变为56位,然后每轮都进行循环左移并通过置换选择2产生一种48位的子密钥。图1.2.2 DES具体算法示意

16、图上图1.2.2,更加详尽的给出了DES算法的实现细节,下面来对DES算法分步来进行分析。1.3.1初始置换表1.2.1和表1.2.2分别给出了初始置换和初始逆置换。每个表中共有64个位子,相应了64位的数据,表中定义的是每一位的数据具体被哪一位的数据所置换。58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157表1.2.1初始置换表4084816562464323974715552363313864614542

17、2623037545135321612936444125220602835343115119592734242105018582633141949175725表1.2.2初始逆置换表1.3.2 每轮变换的具体过程图1.2.3 单轮算法示意图将图1.2.2中中间部分抽取出来就得到了图1.2.3,其中可以看到每轮运算的细节实现。 64位的明文被提成了左右两个32位的明文块L和R。过程可以用公式简朴的体现为: Li+1 = Ri Ri+1 = LiF(Ri,Ki+1)图1.2.4 S盒示意图 上图1.2.4是具体F函数的操作细节:对右边的明文块R使用E(表1.2.3)扩展置换为48位,再与48位的子

18、密钥进行异或,得到的成果再通过S盒还原为32位的数据,最后通过置换函数P(表1.2.4)得到F函数的输出。3212345456789891011121312131415161716171819202120212223242524252627282928293031321 表1.2.3(E扩展置换)167202191228171152326518311028241432273919133062211425 表1.2.4(P置换函数)如果仔细观测一下扩展置换矩阵E(表1.2.3)就会发现,她的作用其实是将32位数据块提成4位4位的8份,然后每组与前后两组的末尾和开头构成6位,形成新的一行。例如有下

19、面这样某些数据:asdf qwer zxcv qwer 扩展置换后变为 Rasdfq fqwerz rzxcvq vqwera在进行S盒变换的时候,每6位一组的外面2位代表着每个小S盒中4种也许中的一种,中间4位代表了这一行中具体选择哪一位来输出。8个S盒的32位输出通过置换,使得每个S盒的输出在下一轮中尽量的影响更多的其她数据位 S11441312151183106125907015741421311061211953841148136211151297310501512824917511314100613S215181461134972131205103134715281412011069

20、11501471110413158126932151381013154211671205149S31009146315511312711428137093461028514121115113649815301112125101471101306987415143115212S47131430691012851112415138115615034721211014910690121171315131452843150610113894511127214S521241710116853151301491411212471315015103986421111013781591256301411812

21、71142136150910453S61211015926801334147511101542712956113140113891415528123704101131164321295151011141760813S74112141508133129751061130117491101435122158614111312371410156805926111381410795015142312S81328461511110931450127115138103741256110149271141912142061013153582114741081315129035611 表1.2.5(s盒)1.

22、3.3 密钥的产生下图1.2.5中指出的子密钥的产生过程,可以看出:输入的初始密钥为64位的,但是其实真正使用的只有其中的56位被使用了,将64位划提成一种8X8矩阵,每行的第八位都是被舍去的,第8位是校验位。得到的56位密钥一方面要通过置换选择1(表1.2.6)解决,之后每轮产生子密钥时56位密钥被分为左右28位,每次各自进行循环左移(或旋转)1位到2位,移位后的值作为下一轮的输入。同步对它们使用置换选择2(表1.2.7),得到本轮的一种子密钥。图1.2.5 密钥产生示意图574941332517915850423426181025951433527191136052443663554739

23、31331576254463830221466153453729211352820124表1.2.6(PC-1表)1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932表1.2.7(PC-2表)第二章 DES算法的安全性分析及改善2.1 DES算法基于对称加密算法的问题 DES是对称的分组密码算法。对称的分组密码算法最重要的问题是:由于加解密双方都要使用相似的密钥,因此在发送、接受数据之前必须完毕密钥的分发,因而密钥的分发便成了该加密体系中的最单薄风险最大的环节,多种基本的

24、手段均很难保障安全地完毕此项工作。从而使密钥更新的周期加长,给她人破译密钥提供了机会。同步在多人通信的过程中,密钥的分派和管理也是一种很大的问题。如果人们采用的是同一种密钥,那么当这个密钥被破解的时候,整个通信都会变得不安全,如果人们采用的是不同的密钥,那么N个人参与通信的话就需要N(N-1)个密钥,如此多的密钥将会非常难以管理。2.2 DES算法的密钥2.2.1 密钥的长度DES算法的密钥长度为56位,也就是说密钥存在2的56次方种也许,为27936 个密钥。在设计之初,这样的密钥长度的DES算法是相称安全的,假设一台没毫秒执行一次DES解密的计算机大概需要10才干破译出密文。在1977年D

25、ES刚被认定为原则的时候,但是如果想在是10小时左右破译出密文的话,大概需要耗费万美元,很显然这是得不偿失的,而随着计算机硬件能力的提高,破解的成本在逐年减少 。1993年,迈克尔维纳设计了一部造价约1百万美元的破解器,大概可以在7小时内找到一种密钥。但是这个机器并没有被真正制造。1998年,电子前哨基金会(EFF,一种信息人权组织)制造了一台DES破解器,造价约250,000美元。该破解器可以用稍多于2天的时间暴力破解一种密钥,它显示了迅速破解DES的也许性。德国的鲁尔大学与基尔大学的工作组建造了COPACOBANA,这个破解器成本比EFF的破解器低了有25倍左右,同步这台机器还可以通过重配

26、备,来用于别的密码的破解,COPACOBANA 的改善版浮现,破解的时间被缩小到了1天以内。DES算法自身存在一种缺陷:(1) DES算法中存在简朴关系。简朴关系可以用如下关系式表达:如果 则有 而DES中存在下面的关系: 因此 , Pi、Ci、Ki 是P、C、K的逐位取补,这表白在DES中令 K、P、C的逐位取补等于f、g、h 就满足了简朴关系,这个关系可以是DES的穷举破解的复杂性减少2个因子。 (2)由于DES具有互补性,在对DES进行穷举破解的时候,仅需要搜索其整个密钥空间的一半。 2.2.2 存在弱密码由于算法各轮的子密钥是通过变化初始密钥这种方式得到的,因此有些初始密钥成了弱密钥,

27、初始密钥提成两部分每部分各自独立的移动如果每一部分的所有位都是0或1,那么算法的任意一种周期的子密钥都是相似的,当密钥是全0全1或者一半全0一半全1时会发生这种状况,下面以十六进制编码的方式给出了四种弱密钥弱密钥值实际密钥0101 0101 0101 01010000000 00000001F1F 1F1F 1F1F 1F1F0000000 FFFFFFFE0E0 E0E0 E0E0 E0E0FFFFFFF 0000000FEFE FEFE FEFE FEFEFFFFFFF FFFFFFF表2.2.1 弱密钥其她还存在某些只能产生2个子密钥的密钥,被称为半弱密钥01FE 01FE 01FE 0

28、1FEFE01 FE01 FE01 FE011FE0 1FE0 0EF1 0EF1E01F E01F F10E F10E01E0 01E0 01F1 01F1E001 E001 F101 F1011FFE 1FFE 0EFE 0EFEFE1F FE1F FE0E FE0E011F 011F 010E 010E 1F01 1F01 0E01 0E01E0FE E0FE F1FE F1FEFEE0 FEE0 FEF1 FEF1 表2.2.2半弱密钥尚有某些密钥只能产生4个子密钥的密钥。DES弱密钥的存在对DES算法的安全性的影响并不是特别大,只要在密钥产生的时候对密钥进行某些检查就能避免弱密钥带来

29、的影响。2.3 针对DES的某些破解措施DES算法的破解措施被认定已经可行的措施是通过穷举的措施来进行破解,上文已经提到DES算法的暴力破解是可行的并且随着计算机技术的发展,DES破解的成本也在减少,而除了暴力破解之外,已知的存在3种破解措施可以比暴力破解具有更低的复杂性:1. 微分密码分析在1980年代晚期由艾力毕汉姆和阿迪萨莫尔重新发现,1970年代IBM和NSA便发现了这种措施,但没有公开。为了破解所有16回次,微分密码分析需要247组选择明文。DES被设计为对DC具有抵御性。2. 线性密码分析由松井充(Mitsuru Matsui)发现,需要243组已知明文,该措施已被实现,是第一种公

30、开的实验性的针对DES的密码分析。没有证据显示DES的设计可以抵御这种袭击措施。一般概念上的LC “多线性密码分析”在1994年由Kaliski和Robshaw所建议,并由比留科夫等人于所改善。线性密码分析的选择明文变种是一种类似的减少数据复杂性的措施。帕斯卡尔朱诺德(Pascal Junod)在进行了某些拟定线性密码分析的实际时间复杂性的实验,成果显示它比预期的要快,需要约239241次操作。3. 改善的戴维斯袭击:线性和微分密码分析是针对诸多算法的通用技术,而戴维斯袭击是一种针对DES的特别技术,在1980年代由唐纳德戴维斯(Donald Davies)一方面提出,并于1997年为毕汉姆和

31、亚历克斯比留科夫(Alex Biryukov)所改善。其最有效的袭击形式需要250已知明文,计算复杂性亦为250,成功率为51%。2.4 DES的改善算法 DES算法由于其密钥长度过短,导致其目前已不再安全,因此针对DES算法的改善层出不穷,在DES的众多改善算法中3DES是最出名的一种改善,在DES的原则的第四次延期时,官方建议优先考虑使用3DES来替代DES算法,3DES因此得到推广,目前3DES仍旧在各个领域发挥着作用。2.4.1 3DES算法细节3DES总体上和DES算法类似,为了提高安全性,3DES对密钥个数和加密次数做了变化,3DES算法使用了3个密钥, DES算法使用1个密钥对明

32、文进行1次加密,3DES算法则会对明文用3个密钥进行3次加密,具体实现可以参照下面的公式:E = EK3(DK2(EK1(P)3DES算法也是本质上也是对称加密算法,解密的过程可以如下表达:P = DK1(EK2(DK3(E) 3DES算法除了3个密钥的模式之外尚有一种2个密钥的模式,算法可以如下表达:E = EK1(DK2(EK1(P)P = DK1(EK2(DK1(E)事实上3DES存在3种模式可选:(1)密钥选项1:三个密钥是独立的。 (2)密钥选项2:K1和K2是独立的,而K3=K1 (3)密钥选项3:三个密钥均相等,即K1=K2=K33种模式的安全性越往下越低,事实上第3种模式就是D

33、ES算法自身,这重要是为了保持对DES算法的兼容。3DES算法安全性得到了大大的加强,理论上3DES的第1种模式的密钥空间有2168 ,但是事实上考虑到中间相遇袭击,实际的密钥空间只有2112 ,第2种模式可以避免中间相遇袭击,但是其对特定的选择明文袭击和已知明文袭击抵御力较弱,因此是上只有80位的安全性。 第三章 针对DES密钥长度的两个改善DES算法的密钥过短,如果想增长密钥的长度,那么使用2个密钥或3个密钥是最容易想到的措施,类似3DES算法,但是3DES算法的效率很低,运算需要耗费大量的时间,本次改善从使用多种密钥的角度入手,参照3DES算法,在不损失效率的状况下,对密钥的长度进行扩展

34、,根据具体实现方式的不同,共有两种改善方案。两种各有优劣,理论上两种措施都能达到既定的效果。3.1 基于对换迭代成果的密钥扩展DES算法在加密的过程中需要进行16轮迭代运算(图1.2.1),在每一轮的迭代(图1.2.3)中,加密的数据会被分为左右两个部分L和R,R被作为下一轮迭代的L部分,同步本轮中对R用F函数进行解决,再与L进行异或,得到本轮迭代的加密成果,本次的改善算法的重要思想为:同步进行两个DES算法过程,然后这两个加密过程中,对它们每轮迭代的加密成果进行互换。3.1.1算法的基本原理 如果想增长DES算法的安全性,增长密钥的长度是最直接的措施,而通过直接使用两个密钥来进行加密的措施是

35、最简朴的措施,然而,如果简朴的对明文用两个密钥进行加密的话是不可行的,假设K1和K2是加密的密钥,则加密过程为E = EK2(EK1(P),那么必然存在一种K3,使得EK3(P) = EK2(EK1(P),因此单纯的这样加密是不行的,另一种使用两个密钥进行加密的措施是取128位的明文,然后分别用两个密钥去进行加密,同样单纯的这样去加密也存在安全问题,这样做并不能是密钥的长度得到加长,只是简朴的使破解的难度增长了一倍,并没有达到密钥增长一倍后破解难度呈指数爆炸般的增长的效果。因此如果使用两个密钥进行加密,为了使安全性得到大幅的提高,必须对加密的过程进行改善,第一种两个密钥对同一种明文进行加密措施

36、的改善措施其实就是2个密钥状况下的3DES算法,这是已经成型已久的措施。第二种两个密钥对不同的明文进行加密的改善措施就是本文中所提出的改善措施。为了使两个加密过程所得到的成果变得不可预测,让两个加密过程进行交流是最佳的措施,两个加密过程通过交流之后,她们所产生的密文变成了一种整体,而如果不对她们进行交流的话,所得到的密文很容易就能辨别两个不同的密钥分别加密的是哪些数据块。如图3.1.1中所示为第一种DES改善算法的重要流程。每次明文读取的时候,明文的长度为128位,改善算法有两部分构成,运营过程中,共有两个DES加密过程,两个加密过程在加密的过程中会有一定的交流,这里的交流是每次迭代完后,加密

37、所得的R部分的数据会进行互换,然后继续下一轮迭代,迭代完后再对R进行互换,直到 16轮结束后。对成果按照正常的DES算法进行输出,然后再合并成一种128位的密文输出。相对于DES算法改善算法重要有一下几点不同:(1)读取的明文长度变为此前的两倍,也就是128位,一次加密解决的数据变长。(2)读取的明文被分为两等份后会分派给两个DES算法过程。(3)加密需要有两个密钥,也就是说密钥的长度被增长了一倍。 图3.1.1DESnew1 3.2 基于对换迭代子密钥的密钥扩展 DES算法的每轮迭代所用的密钥是在主密钥的基本上产生出来的,每一轮的子密钥都不同,上一种改善措施中,互换了每次迭代完的成果,其实每

38、次迭代完的成果进行互换和每一轮的子密钥进行互换具有类似的效果,由于DES算法自身F函数是不会随着密钥的变化而变化的,每次迭代过程唯一的不同就是子密钥的不同,因此只通过互换子密钥从而达到像第一种改善措施同样的效果是可行的。3.2.1算法的基本原理 第二种改善措施的算法思想和第一种非常相近,都是用两个密钥分别加密两个不同的明文块,然后在加密的过程当中让两个加密过程进行交流,唯一不同的是,两种改善措施的实现方式不同样,第一种措施采用的是互换加密成果的措施,第二种改善措施采用的是互换子密钥的措施。 如图3.2.1是第二种改善措施的实现流程:每次明文读取的时候,明文的长度为128位,改善算法有两部分构成

39、,运营过程中,共有两个DES加密过程,两个DES在加密的过程中会有一定的交流, 这里的交流是指每一轮在进行运算的时候所产生的子密钥会间隔着进行互换,如图中,左边的加密过程在第一轮时使用的是K1的子密钥,而在第二轮中使用的是K2的子密钥,在第三轮中又用回了K1的子密钥,以此下去直到结束,然后对加密的成果按照DES算法的方式进行输出,对输出进行合并后得到128位的密文。图3.2.1 DESnew2第四章 两种改善措施的算法分析及与3DES的比较4.1 两种改善的算法分析 两种改善算法思想相近,只是用两种不同的实现方式来达到同样的改善效果,因此在做算法分析的时候将两种算法合并起来一起考虑,下面对两种

40、改善算法的算法效率和算法安全性来做一下分析。4.1.1 算法效率算法效率是指算法执行的时间,算法执行时间需通过根据该算法编制的程序在计算机上运营时所消耗的时间来度量。 一种加密算法的好坏,不光要看算法安全性怎么样,也要看算法的执行效率怎么样,往往算法效率越高的加密算法,就越能适应苛刻的硬件环境。 本文所提出的两个改善算法就算法的理论上分析可以看出,这两个算法的执行效率会与DES算法自身的效率相近,改善算法中,虽然改善算法加密一次需要进行两次DES加密,但是改善的加密算法在读取的时候是读取的128位的数据流,相对于DES一次读取64的数据流来看,改善的加密算法与DES加密算法对同一块明文进行加密

41、时都只进行了一次加密,因此理论上,改善后的加密算法和DES算法是具有相似的加密效率的。4.1.2 算法的安全性 两种改善后的加密算法,由于两个密钥在加密的过程中进行了交互,使得最后得到的密文同步受到了两个密钥的影响,同步这个影响的成果不存在一种密钥会使得密文产生相似的成果,因此这两个密钥的长度可以单纯的相加在一起形成一种新的密钥,即改善算法的密钥长度为112位,相对于原DES算法的56位来说,密钥的长度被延长了一倍,这种密钥长度在目前还是安全的。并且这两种改善算法可以避免中间相遇袭击。用来衡量安全性最简朴的最直接的一种参照是破译所用的代价,在现实世界中,衡量一种算法与否安全,破译的代价是最重要

42、的一种参照,由于破译密钥无非是想从中获取利益,而当破译的代价远高出破译后所获得的利益时,那么这个算法的安全性也可以说是有保障的,按照目前所拥有的计算能力,以及获得这些计算能力(表4.1)所需要耗费的金钱来看,DES算法在现今已经不够安全了,破译密钥所需的微乎其微,甚至一般的个人电脑安装破译软件后很简朴的就能破译出明文,而本次通过改善后,密钥的长度变为了112位,从表中可以看出,破译所需的耗费已经时间上考虑,代价是相称大的,可以觉得破译是没有性价比的,因此这次的算法改善是故意义的。(固然这只是单纯的考虑计算能力,密钥破译也是很考虑技巧性的)耗费 密钥长度 56 64 80 112 128$503

43、5 hours1 year70,000years1014years1019years$5003.5 hours37years7000 years1013years1018years$500021 minutes4 days700 years1012years1017years$50K2 minutes9 hours70 years1011years1016years$500K13 seconds1 hour7 years1010years1015years$5000K1 seconds5.4minutes245 days109years1014years$50M.1 seconds32seco

44、nds24 days108years1013years$500M.01 seconds3seconds2.4 days107years1012years$5000M1milliseconds.3seconds6 hours106years1011years表4.1 保守估算计算能力破译密钥的耗费4.2 改善算法与3DES算法的比较 3DES算法是DES的改善算法中最出名的一种。已有10几年历史。3DES算法存在3种密钥模式,其第二种模式,2个密钥的3DES算法与本文的改善算法,密钥长度同样延长到了112位,第一种模式3个密钥的3DES算法,其密钥长度更是达到了168位,而第3种模式只有一种密钥

45、,其实是对DES算法的兼容模式,就第一种模式而言,3DES算法的安全性比本文的两种改善算法都要高,第二种模式,安全性与本文的两种算法同样,综合考虑,3DES算法的安全性要高于本文的两种改善算法。就效率而言,3DES算法特点决定了,其运算效率会比DES慢诸多,而本文的两种改善算法的效率和DES算法是相近的,因此,本文的两种改善算法的加密效率是要比3DES高的。第五章 与DES、3DES算法的效率实验10K文献100K文献1000K文献DES(ms)84,83,88,95,82352,343,347,357,3672949、2825、2997、2843、2922DESnew1(ms)67,71,8

46、3,83,80296,282,293,291,2842336、2310、2396、2306、2288DESnew2(ms)64,75,75,66,71266,297,286,262,2892189、2180、2142、2210、23453DES(ms)106,113,119,120,107534,615,693,640,6425039、4907、4925、5112、5164 表5.1 算法效率对比 将得到的5个数据取平均值后,根据表格得出如下柱状图: 图5.1 算法效率对比实验结论:事实证明DES算法的两种改善算法,在运营的效率上看,明显优于3DES算法,并且也略优于DES算法。 从数据的分析

47、上可以看出两种改善算法DESnew1和DESnew2在算法效率上略优于原版的DES算法,但是相差不是很大,DESnew2的效率则与DESnew1的效率有细微的差别,再来看与3DES的比较,数据中可以看出,3DES算法的执行效率和DESnew1,DESnew2以及DES算法均有较大的差距,差距接近有一倍左右,再结合上安全性的考虑,3DES虽然安全性有提高(不考虑有特殊破解措施的状况下3DES密钥位有168,考虑中间相遇袭击的话,目前为止,DESnew1和DESnew2的安全性是和3DES同样的,密钥长度都可看做112位),但是同步3DES的效率也被大大的减少,因此这次所改善的DESnew1和DE

48、Snew2是具有实用性的。结论本课题在DES算法的基本上,提出了两种可以延长DES加密算法密钥长度的措施,这两种措施虽然在安全性方面并没有3DES那么高,但是效率却比3DES算法高诸多,安全性比DES高,并且现阶段而言还是可靠的。本次对DES算法进行的改善尚有诸多局限性的地方,一方面一点就是安全性并没有提高太多,尚有一点就是还不懂得本次改善后的算法被破解的难度究竟为多少,临时也没有找到漏洞。这是后来需要继续努力的地方,继续改造DES算法,使它变得更加安全同步又不失效率。参照文献1 William Stallings 著, 密码学与网络安全-原理与实践(第五版)电子工业出版社 (p54-p61)

49、2 周建钦何凌云,DES加密算法的密钥扩展 ,-33 蒙皓兵,路晓亚,DES算法分析 ,-64 Burton S. Kaliski , Ronald L. Rivest , Alan T. Sherman , Is the Data Encryption Standard a group? (Results of cycling experiments on DES) 5 Diaa Salama Abd Elminaam , Hatem Mohamed Abdual Kader , Mohiy Mohamed Hadhoud, Evaluating The Performance of Sym

50、metric Encryption Algorithms 6 Charles Connell , ANALYSIS OF NEWDES: A MODIFIED VERSION OF DES 7 Christo Paar Jan Pelzl进一步浅出密码学常用加密技术原理与应(第三章)8 FIPS 81 - DES的工作模式. Itl.nist.gov.-06-02.9 胡美燕,刘然慧, DES算法安全性的分析与研究, -11。10 钟普查 鲍皖苏,三重DES的量子中间相遇搜索算法 ,-311 From Wikipedia ,Meet-in-the-middle attack 12 梁栋, java加密与解密艺术 机械工业出版社 (p214-p228)谢 辞 本篇论文能最后完毕,其中凝聚了诸多的汗水,从程序实现再到论文的创作,期间得到了诸多人的协助,一方面我要感谢的是我的导师李永珍副专家,是她的细心教导才让我具有了可以完毕这篇论文的基本知识并且将我带入了数据加密领域的大门,李教师独特的人格魅力以及对学术的热情,也是我深深的喜欢上了这个研究方向。 同步还要感谢实验室的王靖雅等学长学姐协助,她们对学习的热情深深的影响着我,也让我学会了诸多有用的东西。也感谢我的朋友们,给我带来了诸多快乐,给了我诸多协助。最后,衷心地感谢各位评委教师在百忙之中抽出时间评阅我的论文。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!