




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DES算法及其工作模式分析褚慧丽中南财经政法大学信息管理与信息系统专业2009级摘要 现代密码学的发展经过了一个漫长而复杂的过程,在这过程中出现了一系列经典而高效的加密体制。DES作为分组密码的典型代表,对密码学的发展做出了重要的贡献。本文主要介绍了DES的概况,并对它的算法进行描述,找出它的设计思想和特点,分析它的安全性。在此基础上,进一步介绍了DES的工作模式。关键词 分组密码 信息安全 DES 演化密码 对称密码1. 概况1.1 DES简介DES算法是由IBM公司在20世纪70年代发展起来的,于1976年11月被美国政府采用,随后被美国国家标准局和美国国家标准协会承认,同时也成为全球范围内事实上的工业标准。DES算法作为分组密码的代表,已成为金融界及其他各种行业广泛应用的对称密钥密码系统。它以feistel网络结构理论为基础,采用迭代分组形式,在提高算法的运行速度,改善了密码的实用性的同时,也大大的提高了密码的安全性,对于我们研究密码学以及展望密码学的发展方向有重要意义。1.2算法描述 DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。在每轮编码中,一个48位的密钥值由56位的“种子”密钥得出来。 DES算法把64位的明文输入快变成64位的密文输出块,整个算法的变换过程如图1.1所示。图1.1 DES算法框图 图中描述的是DES的加密过程。而解密和加密过程大致相同,不同之处仅在于右边的16个子密钥的使用顺序不同,加密的子密钥的顺序为K1,K2,K16,而解密的子密钥的使用顺序则为K16,K15,K1。 IP即初始换位的功能是把输入的64位明文数据块按位重新组合,并把输出分为L0,R0两部分,每部分各长32位。其置换规则如表1.1所示。表1.1 DES算法初始换位规则表58524234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157 即将输入的64位数据的第58位换到第1位,第50位换到第2位依此类推。设置换前的输入值为D1D2D64,则经过初始换位后的结果为:L0=D58D50D8,R0=D57D49D7。 经过初始换位后,将R0与密钥发生器产生的密钥K1进行计算,其结果记为f(R0,K1)再与L0进行异或运算得到L0f(R0,K1),把R0记为L1放在左边,把L0f(R0,K1)记为R1放在右边,从而完成了第一次迭代运算。连续迭代16次,第16次迭代结果左右不交换,即L15f(R15,K16)记为R16放在左边,R15记为L16放在右边。 16次迭代后,得到L16,R16。将此作为输入进行逆初始换位IP-1,就可以得到密文输出。逆初始换位正好是初始换位的逆运算。其置换规则如表1.2所示。表1.2 DES算法逆初始换位规则表40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725 其置换规则和表1.1所述相似。 DES算法的16次迭代具有相同的结构,每一次迭代的运算过程如图1.2所示。 密钥 Ri Li移 位Li-1 Ri-1 密钥移位位 扩展置换 S -盒 P-盒置换 压缩置换图1.2 DES算法的一次迭代过程图 在每一次迭代过程中,其核心部分是f函数,即图1.2中的扩展置换、异或运算、S-盒替换和P-盒置换。 扩展置换是将32位数据扩展为48位,使其长度与密钥一样。其置换规则如表1.3所示。表1.3 扩展置换规则表3212345456789891011121312131415161716171819202120212223242524252627282928293031321 P-盒置换规则如表1.4所示。表1.4 P-盒置换规则表1672021291228171152326518311028241432273919133062211425 S-盒是DES算法的核心,它的功能是将6位数据变为4位数据,它是一个选择函数,共有8个S函数,其功能表如表1.5所示。表1.5 S-盒查询功能表S11441312151183106125907015741421311061211953841148136211151297310501512824917511314100613S21518146113497213120510313471528141201106911501471110413158126932151381013154211671205149S31009146315511312711428137093461028514121115113649815301112125101471101306987415143115212S47131430691012851112415138115615034721211014910690121171315131452843150610113894511127214S52124171011685315130149141121247131501510398642111101378159125630141181271142136150910453S61211015926801334147511101542712956113140113891415528123704101131164321295151011141760813S74112141508133129751061130117491101435122158614111312371410156805926111381410795015142312S81328461511110931450127115138103741256110149271141912142061013153582114741081315129035611 以S1为例,设S1盒6位输入为D=D1D2D3D4D5D6,将D1D6组成的一个2位二进制数转化为十进制数,对应表中行号,将D2D3D4D5组成的一个4位二进制数也转化为十进制数,对应列号,然后在S1表中差得行和列交叉点处的对应的数,以4位二进制表示,即为S1的输出。 图1.3给出了子密钥Ki(48位)的生成算法。 K置换选择1 C0 D0LS LS C1 D1 LS LS LS LS C16 D16置换选择2 K1置换选择2 K1图1.3 子密钥产生过程图 初始密钥值位64位,但去掉8,16,64位的奇偶校验位,实际可用位数只有56位。经过置换选择1(如表1.6所示)后,密钥的位数由64位变成56位,分为C0,D0两部分,然后进行第一次循环左移(图中LS),得到C1,D1,合并得到56位,再经置换选择2(如表1.7所示),得到密钥K1。依此类推,可得到K2,K3,K16. 每次循环左移的的位数分别是:1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1表1.6 置换选择1C05749413325179158504234261810259514335271911360524436D06355473931231576254463830221466153453729211352820124表1.7 置换选择21417112415328156211023191242681672720132415231374755304051453348444939563453464250362932 以上就完成了DES的整个加密解密流程。2. DES的安全性 20多年来,尽管计算机硬件及破解密码技术的发展日新月异,若撇开DES的密钥太短,易于被使用穷尽密钥搜索法找到密钥的攻击法不谈,目前所知攻击法,如查分攻击法或线性攻击法,对于DES的安全也仅仅做到了“质疑”的地步,并未从根本上破解DES。 当然,对DES的批评也有很多,主要集中在以下几点:(1) DES的密钥长度(56位)可能太少。(2) DES的迭代次数可能太少。(3) S-盒中可能有不安全因素。(4) DES的一些关键部分不应当保密。 比较一致的看法是DES的密钥太短,仅256个,不能抵抗穷尽密钥搜索攻击。事实上也确实如此,先后有人在较短的时间内就破解了DES。正因为如此,美国政府已经征集评估和判定出了新的数据加密标准AES以取代DES。尽管如此,DES还是对现代分组密码理论的发展和应用起了奠基性作用。3.DES的工作模式实际应用中,DES是根据其加密算法所定义的明文分组的大小(64bits),将数据割成若干64bits的加密区块,再以加密区块为单位,分别进行加密处理。根据数据加密时每个加密区块间的关联方式,可以分为4种加密模式,包括ECB,CBC,CFB及OFB。3.1 电码本模式(ECB) ECB模式是DES加密的基本工作模式。在ECB模式下,每一个加密区块依次独立加密,产生独立的密文区块,每一加密区块的加密结果不受其他区块的影响。使用此种方式下,可以利用并行处理来加速加密解密运算,且在网络传输时任一区块有任何错误发生,也不会影响到其他区块传输的结果。这是该模式的优点。该模式的缺点是容易暴露明文的数据模式。3.2 密码分组链接模式(CBC) 在CBC模式下,第一个加密区块先与初始向量IV做异或运算,再进行加密。其他每个加密区块加密之前,必须与前一个加密区块的密文作一次异或运算,再进行加密。每一个区块的加密结果均会受到前面所有区块内容的影响,所以即使在明文中出现多次相同的明文,也会产生不同的密文。 密文内容若遭剪贴、替换,或在网络传输过程中发生错误,则其后续的密文将被破坏,无法顺利解密还原,这是这一模式的的优点,也是缺点。 在CBC模式下,加密作业无法利用并行处理来加速加密运算,但其解密运算可以利用并行处理来加速。3.3 密文反馈方式(CFB) 在CFB模式下,可以将区块加密算法当作流密码加密器使用,流密码加密器可以按照实际上的需要,每次加密区块大小可以自订,每一个区块的明文与前一个区块加密后的密文做异或后成为密文。因此,每一个区块的加密结果受之前所有区块内容的影响,也会使得在明文中出现多次相同的明文均产生不同的密文。在此模式下,位了加密第一个区块,也必须选择一个初始向量,且此初始向量必须惟一,每次加密时必须不一样,也难以利用并行处理来加快加密作业。3.4 输出反馈模式(OFB) OFB与CFB大致相同,都是每一个区块的明文与之前区块加密后的结果做异或后产生密文,不同的是之前区块加密后的结果为独立产生,每一个区块的加密结果不受之前所有密文区块的内容的影响,如果有区块在传输过程中遗失或发生错误,将不至于无法完全解密,在此模式下,为了加密第一个区块,必须设置一个初
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青海红十字医院进修生规范化培训与服务合同
- 生态农业观光园场地转租及农产品销售合作协议
- 韩国韩娱离婚后房产分割及租赁权协议
- 郝璐离婚协议书详尽财产分割与子女共同成长方案
- 古筝课件总结学习app
- 2024年浙江省旅游投资集团招聘真题附答案详解(巩固)
- 2024安徽芜湖市湾沚区老年大学(学校)人员特设岗位招聘5人笔试备考题库附答案详解
- 客运班车安全培训课件
- 2025中国中信金融资产管理股份有限公司中层管理人员社会招聘笔试参考题库含答案详解(a卷)
- 客运企业安全培训计划课件
- 空调系统维保记录簿表
- 小学数学北师大版三年级下册递等式计算练习300题及答案
- 30道医院放射科医生岗位高频面试问题附考察点及参考回答
- 《高速铁路概论》课程考试题库及答案
- 牙本质过敏症课件
- 未成年人保护法宣传教育
- 【精】人民音乐出版社人音版五年级上册音乐《清晨》课件PPT
- 河南省道路救援收费标准
- 色盲检测图(第五版)-驾校考试-体检必备-自制最全最准确课件
- 动画运动规律-动物-课件
- 2023年安徽合肥七年级新生小升初摸底考试模拟样卷英语试卷 (含答案及听力原文无听力音频)
评论
0/150
提交评论