基于DES的对称加密算法的设计与实现.docx
- 文档编号:6157052
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:21
- 大小:52.05KB
基于DES的对称加密算法的设计与实现.docx
《基于DES的对称加密算法的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于DES的对称加密算法的设计与实现.docx(21页珍藏版)》请在冰豆网上搜索。
基于DES的对称加密算法的设计与实现
基于DES的对称加密算法的设计与实现
学校代码:
10184
学号:
2094021629
(
题目:
基于DES的对称加密算法的
设计与实现
学生姓名:
周莹冰
学院:
工学院
专业:
数字媒体技术
班级:
2009级
指导教师:
李永珍副教授
二〇一三年五月
摘要
延边大学本科毕业设计说明书
随着信息时代的来临,信息的安全性变得尤为重要,而对数据进行加密是行之有效的能保证信息安全性的方法。
DES算法是众多数据加密算法中的一种,在过去的几十年中在数据加密领域有着举足轻重的地位,然而随着计算机技术的发展,DES算法的安全性也被大大地降低,针对DES的暴力破解所用的时间在逐年减少,为了能使DES这种优秀的加密算法能够重新使用,本文将针对就DES的暴力破解提供一种有效的解决方案:
基于DES算法迭代算法的改进,对DES的密钥长度进行了扩展。
使DES的安全性得到了增强,同时相较于DES算法的改进算法3DES算法,效率上会比3DES高,安全性上也不会逊色于3DES。
关键词:
DES;密钥扩展;迭代算法;
Abstract
延边大学本科毕业设计说明书
Withthecomingofinformationage,informationsecurityhasbecomeespeciallyimportant,andtoencryptdataiseffectivetoensurethesecurityoftheinformation.DESalgorithmisoneofdataencryptionalgorithms,inthepastfewdecadeshasapivotalpositioninthefieldofdataencryption.however,withthedevelopmentofcomputertechnology,thesecurityofDESalgorithmalsohasbeengreatlyreduced,thetimeofbruteforceofDEShasbeenreducingyearbyyear,inordertomakethisgoodencryptionalgorithmcanbeusedagain,thisarticlewillfocusontheDESofbruteforcetoprovideaneffectivesolution:
basedoniterativealgorithmofDESalgorithm,andextendedthelengthofDESkey.TomakethesecurityofDESmoreenhanced,atthesametime,comparedwiththe3DESalgorithm,theefficiencywillbehigherthan3DES,andsecuritywillnotinferiorto3DES.
Keyword:
DES;keyexpansion;iterativealgorithm
延边大学本科毕业设计说明书
引言....................................................................................................................................1第一章对称加密算法....................................................................................................21.1对称加密算法简介.................................................................................................21.2DES的历史.............................................................................................................21.3DES加密算法原理.................................................................................................4
1.3.1初始置换............................................................................................................5
1.3.2每轮变换的详细过程........................................................................................7
1.3.3密钥的产生.....................................................................................................10第二章DES算法的安全性分析及改进........................................................................122.1DES算法基于对称加密算法的问题.......................................................................122.2DES算法的密钥......................................................................................................12
2.2.1密钥的长度.....................................................................................................12
2.2.2存在弱密码.....................................................................................................132.3针对DES的一些破解方法......................................................................................142.4DES的改进算法......................................................................................................15
2.4.13DES算法细节................................................................................................15第三章针对DES密钥长度的两个改进.......................................................................173.1基于对换迭代结果的密钥扩展..............................................................................17
3.1.1算法的基本原理..............................................................................................173.2基于对换迭代子密钥的密钥扩展..........................................................................19
3.2.1算法的基本原理..............................................................................................20第四章两种改进方法的算法分析及与3DES的比较.......................................................214.1两种改进的算法分析.............................................................................................21
4.1.1算法效率.........................................................................................................21
4.1.2算法的安全性.................................................................................................214.2改进算法与3DES算法的比较................................................................................22第五章与DES、3DES算法的效率实验............................................................................24
延边大学本科毕业设计说明书
结论....................................................................................................................................25参考文献............................................................................................................................26谢辞................................................................................................................................27
延边大学本科毕业设计说明书
引言
对称加密算法是使用比较早的一类数据加密算法,它具有加密速度快、加密效率高等优点,而数据加密标准(DES,DataEncryptionStandard)就是一种使用密钥加密的对称加密算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),随后在国际上广泛流传开来。
它基于使用56位密钥的对称算法。
这个算法因为包含一些机密设计元素,相对短的密钥长度以及怀疑内含美国国家安全局(NSA)的后门而在开始时有争议,因此DES因此受到了强烈的学院派式的审查,并以此推动了现代的块密码及其密码分析的发展。
DES是分组密码的典型代表(也是第一个被公布出来的标准算法。
由于DES算法的密钥长度过短,DES算法已经不再安全,目前DES已经被AES所取代。
但是,DES算法作为一种优秀的加密算法,为了能使DES继续发挥其作用,对DES的改进也是
层出不穷。
本次对DES算法进行密钥扩充,主要采用两种方法来进行改进,两种方法大致的思想是一致的,都是同时使用两个密钥对两段明文进行加密,同时加密过程中对两个加密过程的中的一些数据进行一些可控的交流,不同的是一种方法是基于加密算法迭代过程中的加密结果进行交换,另一种是基于迭代过程中的子密钥进行交换。
理论上两种方法最终达到的效果是一致的,都是使DES算法的密钥长度得到了延长。
本文将对这两种改进方法做出实现,然后对这两种方法的安全性
与效率进行研究,最终得出这种改进方法的可行性结果。
1
延边大学本科毕业设计说明书
第一章对称加密算法
1.1对称加密算法简介
对称加密算法是应用较早的加密算法,技术相对来说比较成熟。
在算法中,加密方需要将明文与密钥进行特殊的加密算法处理,使其变成无法辨认的密文后传送出去。
接收方收到密文后,要想获得想要的明文,就必须通过相同的密钥,使用加密算法的逆运算,来对密文进行处理,从而才能得到相应的明文。
在对称加密算法中,通信的双方都是使用相同的密钥来进行加密和解密操作。
对称加密算法的特点是对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。
他的缺点是通信的双方都要维护一个只有他们知道的密钥,这就造成了密钥管理的难度,尤其是在多人通信的环境中,密钥的个数急剧增加,给密钥管理带来的巨大的负担。
对称加密算法主要有以下几种算法:
DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法。
本文中将具体对DES和3DES算法做深入的探讨。
1.2DES的历史
DES(DataEncryptionAlgorithm,DEA)加密算法是使用最广泛的数据加密体制,于1977年由美国国家标准局(NationalBureauofStandards,NBS),即现在的国家标准和技术协会(NationalInstituteofStandardsandTechnology,NIST)采纳为联邦信息处理标准46。
我们所讲的DES其实是指数据加密算法(DataEncryptionAlgorithm,DEA)。
年代简表
年份日期事件
19735月15日NBS第一次征集加密算法标准
19748月27日NBS第二次征集加密算法标准
19753月17日DES在“联邦公报”上发布并征集意见
19768月DES的第一次研讨会
19769月第二次研讨会,讨论DES的数学基础
197611月DES被确认为标准
2
延边大学本科毕业设计说明书
19771月15日DES被作为FIPS标准FIPSPUB46发布
1983DES第一次延长标准期限
1986HBO开始使用一个基于DES的电视卫星加密系统,
VideocipherII
19881月22日DES第二次延长标准期限,称为FIPS46-1,取代FIPSPUB4619907月毕汉姆和萨莫尔重新发现了微分密码分析,并将之应用到了一
个15位的类DES密码系统
1992毕汉姆和萨莫尔发布了第一个复杂性小于暴力破解的理论攻击47方法:
微分密码分析。
然而,这种方法仍然需要不现实的2选
择明文。
199312月30日DES作为FIPS46-2第三次延长标准期限
1994试验了第一个实验性的DES密码分析,线性密码分析19976月DESCHAL计划第一次公开破解了DES加密的信息19987月EFF的DES破解器(DeepCrack)在56小时内破解了DES密钥19991月DeepCrack和合作在22小时15分钟内破解了
一个DES密钥
199910月25日DES作为FIPS46-3第四次延长标准期限,其中规定优先使用
3DES,而普通DES只允许在遗留的系统中应用200111月26日AES作为FIPS197发布
20025月26日AES标准开始生效
20047月26日“联邦公报”发布了FIPS46-3以及一系列相关标准被驳回的
信息
20055月19日NIST拒绝了FIPS46-3标准
20064月德国鲁尔大学和基尔大学基于FPGA的价值$10,000的并行计算
机COPACOBANA在9天内破解了DES在一年内,软件改进将平均时
间降低到了6.4天。
200811月COPACOBANA的下一代,RIVYERA将平均破解时间降低到了一天内
表1.1.1DES年代简表
DES自被确立为加密标准以来,已经过去了有30多年了,期间DES算法在未做改动的情况下标准的有效期被延期了3次,足以证明DES算法本身的有效性和安全性,但是随着电脑技术的发展和人们在加密领域研究的深入,DES算法的安全性不可避免的受到了威胁。
第4次延期时被要求优先使用DES的改进算法3DES来减少DES算法安全性缺失所带来的的不良效果,同时DES的替代算法也在紧锣密鼓的筹划中,第4次延期期间AES算法被提出,自此DES退出来了历史舞台。
3
延边大学本科毕业设计说明书
1.3DES加密算法原理
DES算法是对称加密算法,加密时需要有两个输入:
明文和密钥。
明文的长度为64位,密钥的长度为64位(64密钥中只有56位是有效的,其他为校验位)。
64位明文
置换选择1初始置换
/56/64k1
/48/56置换选择2循环左移第1轮
/56/64k2
/48/56置换选择2循环左移第2轮
k16
/48/56置换选择2循环左移第16轮
32位互换
/64
逆初始置换
64位密文图1.2.1DES算法流程示意图
上图1.2.1中表明了DES加密算法的整个加密机制。
图中可以看出,DES算法的明文处理共分了3个部分:
首先,64位明文经过初始值换(IP)矩阵改变排列顺序,然后与右边产生的子密钥进行16轮迭代运算,对明文进行了置换和替代。
16轮迭代运算结束后的结果对其左右两部分进行对换,产生一个预输
-1出。
最后对预输出的结果进行初始逆置换(IP)产生64位密文。
图1.2.1中,右半部分是产生每轮迭代所需的子密钥的方法,首先是64位密钥经过置换选择1,长度变为56位,然后每轮都进行循环左移并通过置换选择2产生一个48位的子密钥。
4
延边大学本科毕业设计说明书
/32bit
扩展/置换P
L0(32bit)R0(32bit)/48bit
产生子密钥KiXOR/48bitF函数Ki1/48bit
代替/选择(SXOR盒)
/32bit
L1(32bit)R1(32bit)
16产生子密钥F函数Ki2轮K(56bit)加Ci(28bit)Di(28bit)XOR密
L2(32bit)R2(32bit)左移(S)左移(S)„„„产生子密钥Kin
置换/压缩L16(32bit)R16(32bit)
/48bitE
Ci+1Di+1
图1.2.2DES详细算法示意图
上图1.2.2,更加详尽的给出了DES算法的实现细节,下面来对DES算法分步来进行分析。
1.3.1初始置换
表1.2.1和表1.2.2分别给出了初始置换和初始逆置换。
每个表中共有64个位子,对应了64位的数据,表中定义的是每一位的数据具体被哪一位的数据所置换。
5
延边大学本科毕业设计说明书
58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157
表1.2.1初始置换表
40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725
表1.2.2初始逆置换表
6
延边大学本科毕业设计说明书
1.3.2每轮变换的详细过程
Li(32bit)Ri(32bit)Ci(28bit)Di(28bit)
左移(S)左移(S)/32bit
扩展/置换
/48bit
XOR/48bit置换/压缩
/48bit
代替/选择(S盒)
/32bit
XOR
Li+1(32bit)Ri+1(32bit)Ci+1Di+1
图1.2.3单轮算法示意图
将图1.2.2中中间部分抽取出来就得到了图1.2.3,其中可以看到每轮运算
的细节实现。
64位的明文被分成了左右两个32位的明文块L和R。
过程可以用公式简单
的表达为:
L=Ri+1i
+R=L?
F(Ri,K)i+1ii+1
7
延边大学本科毕业设计说明书
R(32)
E
48位K48位
+
S1S2S3S4S5S6S7S8
P
32位
图1.2.4S盒示意图
上图1.2.4是具体F函数的操作细节:
对右边的明文块R使用E(表1.2.3)
扩展置换为48位,再与48位的子密钥进行异或,得到的结果再通过S盒还原为
32位的数据,最后通过置换函数P(表1.2.4)得到F函数的输出。
3212345
456789
8910111213
121314151617
161718192021
202122232425
242526272829
28293031321
表1.2.3(E扩展置换)
16720219122817
11523265183110
282414322739
19133062211425
表1.2.4(P置换函数)
8
延边大学本科毕业设计说明书
如果仔细观察一下扩展置换矩阵E(表1.2.3)就会发现,他的作用其实是将32位数据块分成4位4位的8份,然后每组与前后两组的末尾和开头组成6位,形成新的一行。
例如有下面这么一些数据:
asdfqwerzxcvqwer
扩展置换后变为
Rasdfqfqwerzrzxcvqvqwera在进行S盒变换的时候,每6位一组的外面2位代表着每个小S盒中4种可能中的一种,中间4位代表了这一行中具体选择哪一位来输出。
8个S盒的32位输出经过置换,使得每个S盒的输出在下一轮中尽可能的影响更多的其他数据位
S1
144131
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DES 对称 加密算法 设计 实现