第3章对称密码体制_第1页
第3章对称密码体制_第2页
第3章对称密码体制_第3页
第3章对称密码体制_第4页
第3章对称密码体制_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章 对称密码体制主要内容v分组密码v数据加密标准DESv高级加密标准AESv序列密码v其他对称加密算法概述v对称密码体制就是在加密和解密是用到的密钥相同,或者加密密钥和解密密钥之间存在着确定的转换关系。v对称密码体制又有两种不同的实现方式,即分组密码和序列密码(或称流密码)。 流密码与分组密码v流密码每次加密数据流中的一位或一个字节。v分组密码,就是先把明文划分为许多分组,每个明文分组被当作一个整体来产生一个等长(通常)的密文分组。通常使用的是64位或128位分组大小。v分组密码的实质,是设计一种算法,能在密钥控制下,把n比特明文简单而又迅速地置换成唯一n比特密文,并且这种变换是可逆的(解

2、密)。分组密码的设计思想分组密码的设计思想v扩散(diffusion) 将明文及密钥的影响尽可能迅速地散布到较多个输出的密文中。产生扩散的最简单方法是通过“置换(Permutation)”(比如:重新排列字符)。v混淆(confusion)其目的在于使作用于明文的密钥和密文之间的关系复杂化,是明文和密文之间、密文和密钥之间的统计相关特性极小化,从而使统计分析攻击不能奏效。通常的方法是“代换(Substitution)”(回忆恺撒密码)。DES(Data Encryption Standard) v美国国家标准局NBS于1973年5月发出通告,公开征求一种标准算法用于对计算机数据在传输和存储期间

3、实现加密保护的密码算法。 v1975 年美国国家标准局接受了美国国际商业机器公司IBM 推荐的一种密码算法并向全国公布,征求对采用该算法作为美国信息加密标准的意见。v经过两年的激烈争论,美国国家标准局于1977年7月正式采用该算法作为美国数据加密标准。1980年12月美国国家标准协会正式采用这个算法作为美国的商用加密算法。 DES的实质vDES是一种对称密码体制,它所使用的加密和解密密钥是相同的,是一种典型的按分组方式工作的密码。其基本思想是将二进制序列的明文分成每64bit一组,用长为64bit(56bit)的密钥对其进行16轮代换和置换加密,最后形成密文。 DES算法原理v第一步:要被加密

4、的数据被分割成为若干以64bit为单位的数据,如果位数不够,那么补00或者FF,然后按照表1进行置换操作。v表1:LiRiv第二步:把64位密钥按表2进行置换操作,去除密钥中作为奇偶校验位的第8、16、24、32、40、48、56、64位,剩下的56位作为有效输入密钥。v表2:57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 C

5、0D0v第三步:将56位有效密钥按表3左移位,总计进行16轮移位操作,每一轮移位结束之后,得到的新的56位密钥作为下一轮移位的有效密钥。总计得到16个56位的子密钥。v表3:v第四步:按照表4对16个子密钥进行置换压缩,压缩后每个子密钥中的第9,18,22,25,35,38,43,54,共8位数据会丢失。此步骤完成后得到16个48位的子密钥。v表4:v第三步和第四步图解: 64 位密钥 置换选择PC-1 C0(28 位) D0(28 位) 循环左移 循环左移 C1(28 位) D1(28 位) 循环左移 循环左移 Ci(28 位) Di(28 位) 置换选择PC-2 k1 (48 位) 置换选

6、择PC-2 ki (48 位) (56 位) (56 位) v第五步:将第一步生成的有效数据的右半部分R1的32位的数据根据表5进行置换,由原32位扩展到48位。v表5:32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 1 1 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1 v第六步:将扩展后的有效数据的新的R1和K1做异或运算得到48位加密数据。v第七步:将第六步产生的48位加密数据分为8个6位的数据,按照表6取值,每6位压缩成4位,最终

7、形成8个4位的数据,再组合成新的32位的数据。v表6:S盒子内部结构v第八步:将第七步产生的32位的数据按照表7置换,生成新的32位的RR1数据。v表7:16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 1 1 4 25 v第九步:将RR1和第一步产生的L1按位异或后的值赋给R2,然后原来的R1值赋给L2,得到新的L2和R2。v第十步:回到第五步,重复运算到第九步,每轮计算有Ri,Li,Ki来计算,总计重复16轮结束,最终生成新的L16和R16。v第十一步:合并L16和R16为64位数据

8、,然后按照表8做置换,生成最终加密数据。v表8:v解密的时候一样步骤,只是在做第六步的时候,将K16变为K1,依次类推倒用Ki即可。40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25 DES的安全性vDES在20多年的应用实践中,没有发现严重的安全缺陷,在世界范围内得到了广泛的应用,为

9、确保信息安全做出了不可磨灭的贡献。v存在的安全弱点:密钥较短:56位密钥空间约为7.2*1016。1997年1月28日,美国RSA数据安全公司在Internet上开展了一项“秘密密钥挑战”的竞赛,悬赏一万美圆,破解一段DES密文。6月Rocke Verser小组通过因特网利用数万台微机历时4个月破译了DES;1998年7月,EFF用一台25万美元的机器,历时56小时破译DES。存在弱密钥:有的密钥产生的16个子密钥中有重复者。DES具有良好的雪崩效应v雪崩效应:明文或密钥的微小改变将对密文产生很大的影响。特别地,明文或密钥的某一位发生变化,会导致密文的很多位发生变化。vDES显示了很强的雪崩效

10、应两条仅有一位不同的明文,使用相同的密钥,仅经过3轮迭代,所得两段准密文就有21位不同。一条明文,使用两个仅一位不同的密钥加密,经过数轮变换之后,有半数的位都不相同。多重DESvDES在穷举攻击下相对比较脆弱,因此需要用某种算法来替代它。DES一个致命的缺陷就是密钥长度短,并且对于当前的计算能力,56位的密钥长度已经抗不住穷举攻击,而DES又不支持变长密钥。但可以进行多次加密,且使用多个密钥,即多重DES,从而等同于更长的密钥。二重DES(Double DES)v给定明文P和两个加秘密钥k1和k2,采用DES对P进行加密E,有 密文 C=EK2(EK1(P) 对C进行解密D,有 明文 P=DK

11、1(DK2(C)EEPXCK2K1加密图DDK2K1CXP解密图带有双密钥的三重DES(Triple DES with Two Keys)vTuchman给出双密钥的EDE模式(加密-解密-加密): C=EK1(DK2(EK1(P) 对P加密 P=DK1(EK2(DK1(C) 对C解密 这种替代DES的加密较为流行并且已被采纳用于密钥管理标准(The Key Manager Standards ANSX9.17和ISO8732).EDEDEDCBAPPAB CK1K2K1K1K2K1加密图解密图v到目前为止,还没有人给出攻击三重DES的有效方法。对其密钥空间中密钥进行蛮干搜索,那么由于空间太大

12、为2112=51033,这实际上是不可行的。注意:注意:v1*. Merkle和Hellman设法创造一个条件,想把中间相遇攻击(meet-in-the-middle attack)的方法用于三重DES,但目前也不太成功。v2*. 虽然对上述带双密钥的三重DES到目前为止还没有好的实际攻击办法,但人们还是放心不下,又建议使用三密钥的三重DES,此时密钥总长为168bits. C=EK3(DK2(EK1(P)高级加密标准高级加密标准AES v1997年年1月,美国国家标准局月,美国国家标准局NIST向全世向全世界密码学界发出征集界密码学界发出征集21世纪高级加密标世纪高级加密标准(准(AESAd

13、vanced Encryption Standard)算法的公告,并成立了)算法的公告,并成立了AES标准工作研究室,标准工作研究室,1997年年4月月15日的例会日的例会制定了对制定了对AES的评估标准。的评估标准。AES的要求(1)AES是公开的;是公开的;(2)AES为单钥体制分组密码;为单钥体制分组密码;(3)AES的密钥长度可变,可按需要增大;的密钥长度可变,可按需要增大;(4)AES适于用软件和硬件实现;适于用软件和硬件实现;(5)AES可以自由地使用,或按符合美国国家标准可以自由地使用,或按符合美国国家标准(ANST)策略的条件使用;)策略的条件使用;算法衡量条件v满足以上要求的

14、满足以上要求的AES算法,需按下述条件判算法,需按下述条件判断优劣断优劣a. 安全性安全性b. 计算计算效率效率c. 内内存要求存要求d. 使用使用简便性简便性e. 灵活性。灵活性。AES的评审的评审v 1998年年4月月15日全面征集日全面征集AES算法的工作结束。算法的工作结束。1998年年8月月20日举行了首届日举行了首届AES讨论会,对涉及讨论会,对涉及14个国家的密码个国家的密码学家所提出的候选学家所提出的候选AES算法进行了评估和测试,初选并算法进行了评估和测试,初选并公布了公布了15个被选方案,供大家公开讨论。个被选方案,供大家公开讨论。 CAST-256, RC-6, CRYP

15、TON-128,DEAL-128, FROG, DFC, LOKI-97, MAGENTA, MARS, HPC, RIJNDAEL, SAFER+, SERPENT, E-2, TWOFISH。v这些算法设计思想新颖,技术水平先进,算法的强度都这些算法设计思想新颖,技术水平先进,算法的强度都超过超过3-DES,实现速度快于,实现速度快于3-DES。 AES的评审的评审v1999年年8月月9日日NIST宣布第二轮筛选出的宣布第二轮筛选出的5个个候选算法为:候选算法为: MARS(C.Burwick等等,IBM), RC6TM(R. Rivest等等,RSA Lab.), RIJNDEAL(J.

16、 Daemen,比比), SERPENT(R. Anderson等,等,英、以、挪威英、以、挪威), TWOFISH(B. Schiener)。v2000年年10月月2日,日,NIST宣布宣布Rijndael作为新作为新的的AESRIJNDAEL的评估结果v一般安全性v软件执行v受限空间环境v硬件执行v对执行的攻击v加密和解密v密钥灵活性v其他的多功能性和灵活性v指令级并行执行能力AES加密算法性能分析v1.密钥长度更长,抵御穷举攻击的能力更强,而且可依据信息级别自由选择密钥长度;v2.轮密钥产生随机性强;v3.均匀对称结构既可以提高执行的灵活度,又可防止差分分析方法的攻击;v4.实现简单;v5.在所有平台都有良好表现。其他对称密码vIDEA由旅居瑞士的华人来学嘉和他的导师J.L. Massey共同开发的。IDEA使用128位密钥,明文和密文分组长度为64位。已被用在多种商业产品中。vCLIPPER密码采用SKIPJACK算法,明文和密文分组长度为64位,密钥长度为80位。vBlowf

温馨提示

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

评论

0/150

提交评论