现代分组加密算法-DES.ppt

上传人:豆**** 文档编号:77659863 上传时间:2023-03-16 格式:PPT 页数:46 大小:355.50KB
返回 下载 相关 举报
现代分组加密算法-DES.ppt_第1页
第1页 / 共46页
现代分组加密算法-DES.ppt_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《现代分组加密算法-DES.ppt》由会员分享,可在线阅读,更多相关《现代分组加密算法-DES.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、现代分组加密算法-DES Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第七讲第七讲 分组密码理论分组密码理论-DES7.1 DES7.2 IDEA7.3 AES7.1 7.1 数据加密标准(数据加密标准(DES)DES)wDES的历史的历史1971 IBM,由,由Horst Feistel 领导的密码研领导的密码研究项目组研究出究项目组研究出LUCIFER算法。并应用算法。并应用于于商业领域。商业领域。1973美国标准局征求标准,美国标准局征求标准,IBM提交结

2、果,提交结果,在在1977年,被选为数据加密标准。年,被选为数据加密标准。7.2 DES7.2 DES的描述的描述wDESDES利用利用5656比特长度的密钥比特长度的密钥K Kw分组长度分组长度6464比特,密文比特,密文6464比特比特w算法分三个阶段实现:1.对明文X,通过一个固定的初始置换IP得到X0。X0=IP(X)=L0R0分为左右两部分w2.函数F的16次迭代:LiRi(1=i=16)Li=Ri-1,Ri=Li-1 F(Ri-1,Ki)其中Ki是长为48位的子密钥。子密钥K1,K2,K16是作为密钥K(56位)的函数而计算出的。w3.对比特串R16L16使用逆置换IP-1得到密文

3、Y。Y=IP-1(R16L16)IP-初始置换w58,50,42,34,26,18,10,2,w 60,52,44,36,28,20,12,4,w 62,54,46,38,30,22,14,6,w 64,56,48,40,32,24,16,8,w57,49,41,33,25,17,9,1,w59,51,43,35,27,19,11,3,w61,53,45,37,29,21,13,5,w63,55,47,39,31,23,15,7 PC1w57,49,41,33,25,17,9,C Half w1,58,50,42,34,26,18,w 10,2,59,51,43,35,27,w19,11,3,

4、60,52,44,36,w 63,55,47,39,31,23,15,D Half w7,62,54,46,38,30,22,w 14,6,61,53,45,37,29,w21,13,5,28,20,12,4 S-box-1w0 1 2 3 4 5 6 7 8 9 a b c d e f COL0 1 2 3 4 5 6 7 8 9 a b c d e f COL S1S1 w14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,w 0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,w 4,1,14,8,13,6,2,11,15,12,9,7,3

5、,10,5,0,w15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13 w DES一轮加密的简图一轮加密的简图w Li-1 Ri-1F+Li RiKiwF F(R Ri-1i-1,K,Ki i):):w函数函数F F有两个输入:有两个输入:3232的消息的消息A=RA=R(32bits32bits)作第一个输入,)作第一个输入,4848比特的子密钥比特的子密钥J=K(48bits)J=K(48bits)作为第二个输入。产生的输出作为第二个输入。产生的输出为长度为为长度为3232的位串。的位串。w(1)对第一个变元A,先利用扩展函数E,扩展成48位E(A)w(2)计算E(A

6、)+J,结果写成8个6位串,B=b1b2b3b4b5b6b7b8w(3)使用8个S盒,每个Sj是一个固定的416矩阵,它的元素取015的整数。给定长度为6个比特串,如Bj=b1b2b3b4b5b6w计算Sj(Bj)如下:b1b6两个比特确定了Sj的行数,r(0=r=3);而b2b3b4b5四个比特确定了Sj的列数c(0=c=15)。最后Sj(Bj)的值为S-盒矩阵Sj中r行c列的元素(r,c),得Cj=Sj(Bj)。(4)最后,P为固定置换。对F函数的说明w w DES 轮函数F()w初始置换初始置换IPIP:对明文输入进行次序的打乱。对明文输入进行次序的打乱。w逆置换逆置换IPIP-1-1:

7、w扩展函数扩展函数E E;(3232到到4848)w置换函数置换函数P P。DES中使用的其它特定函数:w密钥密钥K K是长度为是长度为6464的位串,的位串,5656位参加子密钥编位参加子密钥编排。排。8 8位是奇偶校验位(为了检错),在密钥位是奇偶校验位(为了检错),在密钥编排的计算中,不参加运算。编排的计算中,不参加运算。(1).(1).给定给定6464位的密钥位的密钥K K,放弃奇偶校验位(,放弃奇偶校验位(8 8,1616,6464)并根据固定置换)并根据固定置换PC-1PC-1(见(见144144页图页图4-4-94-4-9)来排列)来排列K K中剩下的位。我们写中剩下的位。我们写

8、 PC-1(K)=C PC-1(K)=C0 0D D0 0其中其中C C0 0由由PC-1PC-1(K K)的前)的前2828位组成;位组成;D D0 0由后由后2828位位组成。组成。密钥K计算子密钥:w(2)对对1=i=16,计算,计算Ci=LSi(Ci-1)Di=LSi(Di-1)LSi表示循环左移表示循环左移2或或1个位置,取决于个位置,取决于i的的值。的的值。i=1,2,9和和16 时移时移1个位置,否则移个位置,否则移2位置位置wKi=PC-2(CiDi),PC-2为固定置为固定置w注:注:一共一共16轮,每一轮使用轮,每一轮使用K生成的一个子密钥。可算出生成的一个子密钥。可算出1

9、6个表,第个表,第i个表中的元素可对应上第个表中的元素可对应上第i轮密钥使用轮密钥使用K中第中第几比特!如:几比特!如:第第7轮的表轮的表7:K7取取K中的比特情况:中的比特情况:52 57 11 1 26 59 10 34 44 51 25 199 41 3 2 50 35 36 43 42 33 60 1828 7 14 29 47 46 22 5 15 63 61 394 31 13 38 53 62 55 20 23 37 30 6轮密钥编排轮密钥编排KPC-1C0 D0LS1LS1C1 D1LS2LS2LS16LS16C16 D16PC-2PC-2K1K16 w14,17,11,24

10、,1,5,C half 14,17,11,24,1,5,C half w3,28,15,6,21,10,(bits 1-28)3,28,15,6,21,10,(bits 1-28)w23,19,12,4,26,8,23,19,12,4,26,8,w16,7,27,20,13,2,16,7,27,20,13,2,w41,52,31,37,47,55,D half 41,52,31,37,47,55,D half w30,40,51,45,33,48,(bits 29-56)30,40,51,45,33,48,(bits 29-56)w44,49,39,56,34,53,44,49,39,56,3

11、4,53,w46,42,50,36,29,32 46,42,50,36,29,32 wC half provides bits to S1-S4,D half to S5-S8 C half provides bits to S1-S4,D half to S5-S8 PC27.3 DES加密的一个例子加密的一个例子w取取16进制明文进制明文X:0123456789ABCDEF密钥密钥K为:为:133457799BBCDFF1去掉奇偶校验位以二进制形式表示的密钥是去掉奇偶校验位以二进制形式表示的密钥是00010010011010010101101111001001101101111011011

12、111111000应用应用IP,我们得到:,我们得到:L0=11001100000000001100110011111111L1=R0=11110000101010101111000010101010然后进行然后进行16轮加密。轮加密。最后对最后对L16,R16使用使用IP-1得到密文:得到密文:85E813540F0AB4057.4 DES的争论wDES的核心是S盒,除此之外的计算是属线性的。S盒作为该密码体制的非线性组件对安全性至关重要。wS盒的设计准则:1.S盒不是它输入变量的线性函数2.改变S盒的一个输入位至少要引起两位的输出改变3.对任何一个S盒,如果固定一个输入比特,其它输入变化时

13、,输出数字中0和1的总数近于相等。w公众仍然不知道公众仍然不知道S S盒的构造中是否还使用了进盒的构造中是否还使用了进一步的设计准则(有陷门?)。一步的设计准则(有陷门?)。w密钥长度是否足够?密钥长度是否足够?w迭代的长度?(迭代的长度?(8 8、1616、3232?)?)7.5 7.5 三重三重DESDESw7.5.17.5.1双重双重DESDES加密加密解密解密问题:下式成立吗?问题:下式成立吗?7.5.2 三重DES(Cont.)w两个密钥的三重DESw目前,没有针对三重DES的攻击方法,它是一种较受欢迎的DES替代方案。7.6 IDEA简介瑞士的瑞士的Xuejia LaiXuejia

14、 Lai和和James MasseyJames Massey于于19901990年年公布了公布了IDEAIDEA密码算法第一版,称为密码算法第一版,称为PES PES(Proposed Encryption Standard)(Proposed Encryption Standard)。为抗击。为抗击差分密码攻击,他们增强了算法的强度,差分密码攻击,他们增强了算法的强度,称称IPESIPES(Improved PES)Improved PES),并于,并于19921992年改年改名为名为IDEAIDEA(International Data ncryption International Da

15、ta ncryption AlgorithmAlgorithm,国际数据加密算法。),国际数据加密算法。)7.6.1 IDEA(Cont.)wIDEA:w分组长度为64位w密钥长度为128位(抗强力攻击能力比DES强),同一算法既可加密也可解密。wIDEA的“混淆”和“扩散”设计原则来自三种运算,它们易于软、硬件实现(加密速度快):7.6.2 IDEA7.6.2 IDEA简介简介(Cont.)(Cont.)w异或运算(异或运算()w整数模整数模2 21616加(加(+)w整数模整数模2 21616+1+1乘(乘()(IDEA(IDEA的的S S盒)盒)w扩散由称为扩散由称为MAMA结构的算法基

16、本构件提供结构的算法基本构件提供。Z6F2F1Z5G1G27.6.3 IDEA7.6.3 IDEA简介简介(Cont.)(Cont.)w实现上的考虑实现上的考虑使用子分组:使用子分组:16bit16bit的子分组;的子分组;使用简单操作(易于加法、移位等操作实使用简单操作(易于加法、移位等操作实现)现)加密解密过程类似;加密解密过程类似;规则的结构(便于规则的结构(便于VLSIVLSI实现)。实现)。IDEA加密的总体方案图加密的总体方案图循环循环2循环循环8循环循环1输出变换输出变换64位密文位密文64位明文位明文Z1Z6Z7Z12Z43Z48Z49Z52子密钥生成器子密钥生成器128位密钥

17、位密钥Z1Z5216 7.6.4 IDEA的密钥生产5656个个16bit16bit的子密钥的子密钥从从128bit128bit的密钥中生成的密钥中生成w前前8 8个子密钥直接从密钥中取出;个子密钥直接从密钥中取出;w对密钥进行对密钥进行25bit25bit的循环左移,接下来的密钥的循环左移,接下来的密钥就从中取出;就从中取出;w重复进行直到重复进行直到5252个子密钥都产生出来。个子密钥都产生出来。IDEAIDEA的解密的解密w加密解密实质相同,但使用不同的密钥;加密解密实质相同,但使用不同的密钥;w解密密钥以如下方法从加密子密钥中导解密密钥以如下方法从加密子密钥中导出:出:解密循环解密循环

18、I I的头的头4 4个子密钥从加密循环个子密钥从加密循环1010I I的头的头4 4个子密钥中导出;解密密钥第个子密钥中导出;解密密钥第1 1、4 4个个子密钥对应于子密钥对应于1 1、4 4加密子密钥的乘法逆元;加密子密钥的乘法逆元;2 2、3 3对应对应2 2、3 3的加法逆元;的加法逆元;对前对前8 8个循环来说,循环个循环来说,循环I I的最后两个子密钥的最后两个子密钥等于加密循环等于加密循环9 9I I的最后两个子密钥;的最后两个子密钥;7.6.5 IDEA简介简介(Cont.)wIDEA是是PGP的一部分;的一部分;wIDEA能抗差分分析和相关分析;能抗差分分析和相关分析;wIDE

19、A似乎没有似乎没有DES意义下的弱密钥;意义下的弱密钥;wBruce Schneier 认为认为IDEA是是DES的最好的最好替代,但问题是替代,但问题是IDEA太新,许多问题太新,许多问题没解决。没解决。7.6.77.6.7先进分组密码的特点先进分组密码的特点w可变密钥长度可变密钥长度w混合操作混合操作w依赖数据的循环移位依赖数据的循环移位w依赖于密钥的循环移位依赖于密钥的循环移位w依赖密钥的依赖密钥的S S盒子盒子w冗长的密钥调度算法冗长的密钥调度算法w可变的可变的F F函数和可变的明文函数和可变的明文/密文长度密文长度w可变的循环次数可变的循环次数w在每次循环中都对两半数据进行操作在每次

20、循环中都对两半数据进行操作7.7 AES候选算法w背景背景wDESDES已走到了它生命的尽头已走到了它生命的尽头w5656比特密钥实在太小比特密钥实在太小wDESDES的软件实现效率低(设计主要针对硬件实现)的软件实现效率低(设计主要针对硬件实现)w19971997年年4 4月月1515日美国国家标准和技术研究所(日美国国家标准和技术研究所(NISTNIST)征)征集集AESAES(AESAdvanced Encryption StandardAESAdvanced Encryption Standard)算法)算法w并成立了并成立了AESAES工作组。工作组。w目的是为了确定一个非保密的、公

21、开披露的、全球免目的是为了确定一个非保密的、公开披露的、全球免费使用的加密算法,用于保护下一世纪政府的敏感信费使用的加密算法,用于保护下一世纪政府的敏感信息。也希望能够成为保密和非保密部门公用的数据加息。也希望能够成为保密和非保密部门公用的数据加密标准(密标准(DESDES)。AESAES候选算法(续候选算法(续1 1)w要求要求-比三重DES快,至少还要一样的安全,-应当具有128比特分组长度和256比特分组密钥长度(不过必须支持128和192比特的密钥)-还应该具有较大的灵活性。AESAES候选算法(续候选算法(续2 2)w评选过程中采用的方法评选过程中采用的方法1.1.用量化的或定性的尺

22、度作为选择的标准用量化的或定性的尺度作为选择的标准;2.2.选择一种以上的算法;选择一种以上的算法;3.3.选择一个备用算法;选择一个备用算法;4.4.考虑公众的建议以改进算法。考虑公众的建议以改进算法。AES候选算法(续3)1998年8月20日,NIST在第一阶段讨论(AES1)中宣布了由12个国家提出的15个候选算法1999年3月开始的第二阶段讨论(AES2),1999年8月NIST选出5个算法候选:MARS、RC6、Rijndael、Serpent和Twofish。AESAES候选算法候选算法-过程(续过程(续4 4)在宣布最后的5个候选算法后,NIST再次恳请公众参与对这些算法的评论。

23、公众对这五种候选算法的评阅期于2000年5月15日结束。NIST发布的AES主页2提供了大量的关于算法描述、源程序、有关AES3的论文以及其他公众评论的信息。2000年4月开始进行第三阶段(AES3)的评选,AES3共收到37篇提交给NIST的论文,并采用了其中的24篇。在这一阶段的讨论中,这些算法得到了非常深入的分析。NIST的AES小组综合所有公众对候选算法的评价和分析作了一个非常彻底的评论。AES候选算法-过程(续5)经过长时间的评审和讨论之后,经过长时间的评审和讨论之后,NIST在在2000年年5月宣布选择月宣布选择Rijndael作为作为AES的算法。该算法的开发者提出以下几种的算法

24、。该算法的开发者提出以下几种发音供选择发音供选择Reign Dah1,Rain doll和和 Rhine Dah1。AES候选算法(续候选算法(续6)w结果结果 NIST最终选择了最终选择了Rijndael作为作为AES的标的标准,因为全面地考虑,准,因为全面地考虑,Rijndael汇聚了安汇聚了安全,性能好,效率高,易用和灵活等优全,性能好,效率高,易用和灵活等优点。点。Rijndael使用非线性结构的使用非线性结构的S-boxes,表现出足够的安全余地;,表现出足够的安全余地;Rijndael在无在无论有无反馈模式的计算环境下的硬,软论有无反馈模式的计算环境下的硬,软件中都能显示出其非常好

25、的性能;它的件中都能显示出其非常好的性能;它的密钥安装的时间很好,也具有很高的灵密钥安装的时间很好,也具有很高的灵活性;活性;Rijndael的非常低的内存需求也使的非常低的内存需求也使它很适合用于受限的环境;它很适合用于受限的环境;AES候选算法候选算法-结果(续)结果(续)Rijndael的操作简单,并可抵御时间和能的操作简单,并可抵御时间和能量攻击,此外,它还有许多未被特别强量攻击,此外,它还有许多未被特别强调的防御性能;调的防御性能;Rijndael在分组长度和密在分组长度和密钥长度的设计上也很灵活,算法可根据钥长度的设计上也很灵活,算法可根据分组长度和密钥长度的不同组合提供不分组长度

26、和密钥长度的不同组合提供不同的迭代次数,虽然这些特征还需更深同的迭代次数,虽然这些特征还需更深入地研究,短期内不可能被利用,但最入地研究,短期内不可能被利用,但最终,终,Rijndael内在的迭代结构会显示良好内在的迭代结构会显示良好的潜能来防御入侵行为。的潜能来防御入侵行为。7.8 分组密码工作模式w分组密码加密固定长度的年信息,eg.DES加密64-bit,使用 56-bit key w需要一种使用方法,加密任意长度的消息w这种使用方法叫做工作模式Mode of Use w对于DES,定义了4种模式(in ANSI standard ANSI X3.106-1983 Modes of Us

27、e)w四种模式:wBlock Modes nprocesses message in blocks(ECB,CBC)wStream Modes nprocesses message as a bit/byte stream(CFB,OFB)13.Electronic Codebook Book(ECB)w消息分成相互独立的加密模块w每块独立使用DES算法wCi=DESK1(Pi)缺陷:同一个64比特明文如果出现多次,其密文总是一样的14。Cipher Block Chaining(CBC)密码分组链接模式w消息分成模块 w加密是是相互联系的 wie 密文与明文想联结 w利用一个初始向量开始:wCi=DESK1(Pi XOR Ci-1)C-1=IV 克服了ECB模式的缺陷15。Cipher FeedBack(CFB)密码反馈模式w消息被看作bit流 w被加到分组密文的输出w并把结果反馈到下一阶段w标准允许反馈任意比特(1,8 or 64 or whatever)w记作 CFB-1,CFB-8,CFB-64 etc wCFB-64:Ci=Pi XOR DESK1(Ci-1)C-1=IV 16 输出反馈方式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁