信息安全概论 ppt 对称密码体制.ppt

上传人:s****8 文档编号:82770235 上传时间:2023-03-26 格式:PPT 页数:110 大小:1.98MB
返回 下载 相关 举报
信息安全概论 ppt 对称密码体制.ppt_第1页
第1页 / 共110页
信息安全概论 ppt 对称密码体制.ppt_第2页
第2页 / 共110页
点击查看更多>>
资源描述

《信息安全概论 ppt 对称密码体制.ppt》由会员分享,可在线阅读,更多相关《信息安全概论 ppt 对称密码体制.ppt(110页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、对称密码体制1对称密码体制对称密码体制v对称密码算法(symmetric cipher):n单密钥系统的加密密钥和解密密钥相同,或实质上等同,即从一个易于得出另一个,如下图所示。对称密码体制2对称密码体制对称密码体制v对称密码算法(symmetric cipher):nDES(Data Encryption Standard)nTriple DESnIDEAnBlowfishnRC5nCAST-128n对称密码体制3对称密码体制对称密码体制v对称密码体制n分组密码算法(Block Cipher)l明文被分为固定长度的块,即分组,分组一般为64比特,或者128比特l对每个分组用相同的算法和密钥加

2、/解密l密文分组和明文分组同样长n序列密码算法(stream cipher)l每次可加密一个比特或一个字节l适合比如远程终端输入加密类的应用对称密码体制43.1 3.1 分组密码原理分组密码原理v分组密码n分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。加密算法解密算法密钥=(k0,km1)密钥=(k0,km1)密文(y0,yn1)分组密码模型明文(x0,xn1)明文(x0,xn1)对称密码体制53.1.1 3.1.1 分组密码的一般设计原理分组密码的一般设计原理n加密函数:V

3、nKVn,n是n维矢量空间,K为密钥空间。n在相同的密钥k的控制下,加密函数可看成是函数E(,K):VnVn,这实质上是对字长为n的数字序列的置换。n分组加密器本质上就是一个巨大的替换器,在密钥的控制下,能从一个足够大和足够好的置换子集中简单而迅速地选出一个置换,用来对当前输入的明文数字组进行加密变换。n采用了乘积加密器的思想,即轮流使用替代和置换对称密码体制6nShannon提出的设计密码系统的两种基本方法:混淆和扩散。Shannon认为,在理想密码系统中,密文的所有统计特性都应与使用的密钥独立。l混淆:对攻击者隐藏一些语言的局部特征,试图使得密文的统计特性与密钥之间的取值关系尽量复杂l扩散

4、:要求明文 的统计结构被扩散消失到密文的长程统计特性中。要做到这一点,必须让明文的每个比特影响到密文的许多比特的取值。n扩散和混淆的目的都是为了挫败推测出密钥的尝试,从而抗击统计分析。3.1.1 3.1.1 分组密码的一般设计原理分组密码的一般设计原理对称密码体制7n迭代密码是实现混淆和扩散原则的一种有效的方法。合理选择的轮函数经过若干次迭代后能够提供必要的混淆和扩散。n分组密码由加密算法、解密算法和密钥扩展算法三部分组成。解密算法是加密算法的逆,由加密算法惟一确定,因而我们主要讨论加密算法和密钥扩展算法。3.1.1 3.1.1 分组密码的一般设计原理分组密码的一般设计原理对称密码体制8v分组

5、密码的结构一般分为:nFeistel网络结构和SP网络结构lFeistel网络结构?Feistel网络是由Horst Feistel在设计Lucifer分组密码时基于扩散和扰乱的思想所发明的,并因被DES采用而流行。?现在正在使用的几乎所有重要的对称分组密码都使用这种结构,如FEAL、Blowfish、RC5等。3.1.2 3.1.2 分组密码的一般结构分组密码的一般结构对称密码体制9vFeistel密码结构的设计动机n分组密码对n比特的明文分组进行操作,产生出一个n比特的密文分组,共有2n个不同的明文分组,每一种都必须产生一个唯一的密文分组,这种变换称为可逆的或非奇异的。可逆映射 不可逆映射

6、 00 11 00 11 01 10 01 10 10 00 10 01 11 01 11 01 3.1.2 3.1.2 分组密码的一般结构分组密码的一般结构对称密码体制10vFeistel密码结构nn=4时的一个普通代换密码的结构3.1.2 3.1.2 分组密码的一般结构分组密码的一般结构对称密码体制11vFeistel网络结构n一个分组长度为n(偶数)比特的L轮Feistel网络的加密过程如下:l给定明文P,将P分成左边和右边长度相等的两半并分别记为L0 和R0,从而P=L0R0,进行L轮完全类似的迭代运算后,再将左边和右边长度相等的两半合并产生密文分组。l第轮i从以前一轮得到的Li-1和

7、Ri-1为输入,另外的总输入还有从总的密钥K生成的子密钥Ki。3.1.2 3.1.2 分组密码的一般结构分组密码的一般结构对称密码体制12vFeistel网络结构其中Li和Ri的计算规则如下:Li =Ri-1;Ri=Li-1 F(Ri-1,Ki)在第L轮迭代运算后,将LL和RL再进行交换,输出C=RLLL其中F是轮函数,Ki是由种子密钥K生成的子密钥3.1.2 3.1.2 分组密码的一般结构分组密码的一般结构对称密码体制13vFeistel网络结构3.1.2 3.1.2 分组密码的一般结构分组密码的一般结构对称密码体制14nFeistel网络的安全性和软、硬件实现速度取决于下列参数:l分组长度

8、:分组长度越大则安全性越高(其他条件相同时),但加、解密速度也越慢。64比特的分组目前也可用,但最好采用128比特。l密钥长度:密钥长度越大则安全性越高(其他条件相同时),但加、解密速度也越慢。64比特密钥现在已不安全,128比特是一个折中的选择。l循环次数:Feistel网络结构的一个特点是循环次数越多则安全性越高,通常选择16次。3.1.2 3.1.2 分组密码的一般结构分组密码的一般结构对称密码体制15nFeistel网络的安全性和软、硬件实现速度取决于下列参数:l子密钥算法:子密钥算法越复杂则安全性越高。l轮函数:轮函数越复杂则安全性越高。l快速的软件实现:有时候客观条件不允许用硬件实

9、现,算法被镶嵌在应用程序中。此时算法的执行速度是关键。l算法简洁:通常希望算法越复杂越好,但采用容易分析的却很有好处。若算法能被简洁地解释清楚,就能容易通过分析算法而知道算法抗各种攻击的能力,也有助于设计高强度的算法。3.1.2 3.1.2 分组密码的一般结构分组密码的一般结构对称密码体制163.1.2 3.1.2 分组密码的一般结构分组密码的一般结构nFeistel网络解密过程lFeistel网络解密过程与其加密过程实质是相同的。l以密文分组作为算法的输入,但以相反的次序使用子密钥,即第一轮使用KL,第二轮使用KL-1,直至第L轮使用K1,这意味着可以用同样的算法来进行加、解密。l先将密文分

10、组C=RLLL,分成左边和右边长度相等的两半,分别记为L0和R0,根据下列规则计算 Li Ri?Li =Ri-1,Ri=Li-1 F(Ri-1,Ki)1iLl最后输出的分组是RL LL对称密码体制173.2 3.2 数据加密标准数据加密标准(DES)(DES)v DESn数据加密标准(Data Encryption Standard,DES)是至 今为止使用最为广泛的加密算法。l1974年8月27日,NBS开始第二次征集,IBM提交了算法LUCIFER,该算法由IBM的工程师在19711972年研制。l1975年3月17日,NBS公开了全部细节1976年,NBS指派了两个小组进行评价。l197

11、6年11月23日,采纳为联邦标准,批准用于非军事场合的各种政府机构。l1977年1月15日,“数据加密标准”FIPS PUB 46发布对称密码体制18n规定每隔5年由美国国家保密局(National Security Agency)重新评估它是否继续作为联邦加密标准。n最近的一次评估是在1994年1月,当时决定1998年12月以后,DES不再作为联邦加密标准。新的美国联邦加密标准被称为高级加密标准AES(Advanced Encryption Standard)。nDES对推动密码理论的发展和应用起到了重大的作用,学习 和研究它,对于掌握分组密码的基本理论、设计思想和实际应用仍然有着重要的参考

12、价值。3.2 3.2 数据加密标准数据加密标准(DES)(DES)对称密码体制193.2.1 3.2.1 简化的简化的DESDESv 简化的DESn简化的DES(Simplified-DES)是一个供教学而非安全的加密算法,它与DES的特性和结构类似,但是参数较少。nS-DES的加密算法以8bit的明文分组和10位的密钥作为输入,产生8bit的明文分组做为输出。n加密算法涉及五个函数:l1)初始置换IP(initial permutation)l2)复合函数fk1,它是由密钥K确定的,具有置换和替代的运算。l3)转换函数SWl4)复合函数fk2l5)初始置换IP的逆置换IP-1对称密码体制20

13、3.2.1 3.2.1 简化的简化的DESDESn算法的数学表示:l加密算法的数学表示:?密文IP-1*fk2*SW*fk1*IP?也可写为:密文IP-1(fk2(SW(fk1(IP(明文)?其中 K1P8(移位(P10(密钥K)K2P8(移位(移位(P10(密钥K)l解密算法的数学表示:明文IP-1(fk1(SW(fk2(IP(密文)1)初始置换IP(initial permutation)2)复合函数fk1,它是由密钥K确定的,具有置换和替代的运算。3)转换函数SW 4)复合函数fk2 5)初始置换IP的逆置换IP-1对称密码体制213.2.1 3.2.1 简化的简化的DESDESvS-D

14、ES的密钥生成:n设10bit的密钥为(k1,k2,k3,k4,k5,k6,k7,k8,k9,k10),置换P10是这样定义的:lP10(k1,k2,k10)=(k3,k4,k2,k7,k4,k10,k1,k9,k8,k6),相当于lP101 2 3 4 5 6 7 8 9 103 5 2 7 4 10 1 9 8 6 例如:1010000010置换为 1000001100l接下来分别对前5个比特和后五个比特进行一次循环左移(LS-1),对上面的例子而言,得到的结果是(00001 11000)对称密码体制223.2.1 3.2.1 简化的简化的DESDESn然后使用P8操作,这个操作从10个b

15、it中按照下面的方法选出8个bit进行置换得到密钥1(K1)。l其中P8=l对于上例中的00001 11000,得到的结果是:K1101001001 2 3 4 5 6 7 8 6 3 7 4 8 5 10 9 l对前5个比特和后五个比特再进行一次2位循环左移(LS1)得到:00100 00011l最后再进行P8操作,得到K201000011对称密码体制233.2.1 3.2.1 简化的简化的DESDES 10-bit密钥P10LS-1LS-1LS-2LS-2P8P8K18K255585对称密码体制243.2.1 3.2.1 简化的简化的DESDES密文IP-1(fk2(SW(fk1(IP(明

16、文)明文IP-1(fk1(SW(fk2(IP(密文)K1P8(移位(P10(密钥K)K2P8(移位(移位(P10(密钥K)对称密码体制253.2.1 3.2.1 简化的简化的DESDESvS-DES的加密运算:n初始和最终置换:l算法的输入是一个8bit的明文分组,先用IP函数对它做置换:l初始置换用IP函数和算法末端的IP逆置换如下?其中IP-1(IP(X)=X 1 2 3 4 5 6 7 8 2 6 3 1 4 8 5 7IP=1 2 3 4 5 6 7 8 4 1 3 5 7 2 8 6IP-1=对称密码体制263.2.1 3.2.1 简化的简化的DESDESvS-DES加密:对称密码体

17、制273.2.1 3.2.1 简化的简化的DESDESvS-DES加密:n函数fxlSDES中最复杂的组成部分是函数fx,这个函数是多个置换函数和替代函数的组合函数。l该函数表示为:令L和R分别是fx的输入的最左边4个比特和最右边4个比特,令F为一个从4bit串到4bit串的映射。令:fx(L,R)=(L F(R,SK),R)l其中SK是一个子密钥。例如假设经过初始置换后得到的结果是(10111101),对于某个密钥SK,有:F(1101,SK)(1110)。l由(1011)(1110)(0101)得,fx=(0101 1101)。对称密码体制283.2.1 3.2.1 简化的简化的DESDE

18、Sv与DES的关系:nDES对64bit的输入分组进行操作。加密的过程可以定义为:lIP1*fk16*SW*fk15*SW*SW*fk1*IPn它使用一个56bit的密钥,从这个密钥计算出16个48bit的子密钥。这项计算涉及一个56个比特的初始置换和一系列的48比特的移位和置换操作。n在加密过程中,F不是作用于4比特的(n1,n2,n3,n4),而是作用于32比特的(n1,n32)。nS盒子有8个,每个S盒子有4行16列。对称密码体制293.2.2 3.2.2 数字加密标准数字加密标准DESDESv数字加密标准DES:对称密码体制303.2.2 3.2.2 数字加密标准数字加密标准DESDE

19、SvDES 的描述:nDES利用56比特串长度的密钥K来加密长度为64位的明文,得到长度为64位的密文DES算法框图输入64比特明文数据初始置换IP在密钥控制下16轮迭代初始逆置换IP-1输出64比特密文数据交换左右32比特对称密码体制313.2.2 3.2.2 数字加密标准数字加密标准DESDESvDES 的描述:n令i表示迭代次数,表示逐位模2求和,f为加密函数。DES的加密和解密过程表示如下。l加密过程:L0R0 IP()?L i Ri1 i1,2,16?Ri Li1 f(Ri1,Ki)i1,2,16?IP-1(R16L16)l解密过程:R16L16 IP()?Ri1 L i i16,1

20、5,1?Li Ri1 f(Ri1,Ki)i16,1?IP1(R0L0)对称密码体制323.2.2 3.2.2 数字加密标准数字加密标准DESDESvDES 的描述:n初始置换IP和初始逆置换IP1对称密码体制333.2.2 数字加密标准数字加密标准DESvDES 的描述:n每个循环的详细过程对称密码体制343.2.2 3.2.2 数字加密标准数字加密标准DESDESvDES 的描述:nF函数l扩展:32 48,lS-box:6输入 4输出,置换:对称密码体制353.2.2 3.2.2 数字加密标准数字加密标准DESDESvDES 的描述:n选择扩散运算Ri的32bit 48bit两边的是重复选

21、中的32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 1312 13 14 15 16 1716 17 18 19 20 2120 21 22 23 24 2524 25 26 27 28 2928 29 30 31 32 1对称密码体制363.2.2 3.2.2 数字加密标准数字加密标准DESDESvDES 的描述:n选择压缩运算对称密码体制373.2.2 3.2.2 数字加密标准数字加密标准DESDESvDES 的描述:n选择压缩运算l对每个盒,6比特输入中的第1和第6比特组成的二进制数确定的行,中间4位二进制数用来确定的列对称密码体制383.2.2 3.2.2

22、数字加密标准数字加密标准DESDESvDES 的描述:n例如的输入为101001,则行数和列数的二进制表示分别是11和0100,即第3行和第4列对称密码体制393.2.2 3.2.2 数字加密标准数字加密标准DESDESvDES 的描述:n置换:从S盒出来后重排16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 919 13 30 6 22 11 4 25对称密码体制403.2.2 3.2.2 数字加密标准数字加密标准DESDESvDES 的描述:n子密钥的产生对称密码体制413.2.2 3.2.2 数字加密标准数字加密

23、标准DESDESvDES 的描述:n子密钥的产生l置换选择1(PC-1)和置换选择2(PC-2)对称密码体制423.2.2 3.2.2 数字加密标准数字加密标准DESDESvDES 的描述:n解密:lDES算法是在 Feistel 网络结构的输入和输出阶段分别添加初始置换IP和初始逆置换IP-1构成lDES的解密使用与加密同样的算法,只是子密钥的使用次序相反。v雪崩效应 Avalanche Effectn明文或密钥的一比特的变化,引起密文许多比特的改变。n如果变化太小,就可能找到一种方法减小有待搜索的明文和密文空间的大小。对称密码体制433.2.2 3.2.2 数字加密标准数字加密标准DESD

24、ESvDES举例:n已知明文m=computer,密钥k=program,用ASCII码表示为:lm=01100011 01101111 01101101 01110000 01110101 01110100 01100101 01110010lk=01110000 01110010 01101111 01100111 01110010 01100001 01101101l因为k只有56位,必须插入第8,16,24,32,40,48,56,64位奇偶校验位,合成64位。而这8位对加密过程没有影响。对称密码体制443.2.2 3.2.2 数字加密标准数字加密标准DESDESvDES举例:nm经过

25、IP置换后得到lL0=11111111 10111000 01110110 01010111lR0=00000000 11111111 00000110 10000011n密钥k通过PC-1得到lC0=11101100 10011001 00011011 1011lD0=10110100 01011000 10001110 0111l再各自左移一位,通过PC-2得到48位?k1=00111101 10001111 11001101 00110111 00111111 01001000lR0(32位)经E作用膨胀为48位,10000000 00010111 11111110 10000000 1

26、1010100 00000110对称密码体制453.2.2 3.2.2 数字加密标准数字加密标准DESDESvDES举例:n再和k1作异或运算得到(分成8组)l101111 011001 100000 110011 101101 111110 101101 001110n通过S盒后输出位32比特l01110110 11010100 00100110 10100001nS盒的输出又经过P置换得到l01000100 00100000 10011110 10011111n这时:L i Ri1 ,Ri Li1 f(Ri1,Ki)n所以,第一趟的结果是:00000000 11111111 0000011

27、0 10000011 10111011 10011000 11101000 11001000对称密码体制463.2.2 3.2.2 数字加密标准数字加密标准DESDESvDES 的讨论:n当DES算法被建议作为一个标准时,曾出现过很多批评,其中最有争议的问题之一的就是S盒。lS盒是DES的安全核心,因为在 DES 算法中,除了S 盒外,所有计算都是线性的。l然而S盒的设计准则并不完全知道,有人认为S盒可能存在陷门。不能排除这种说法,但至今没有迹象表明S盒中存在陷门。对称密码体制473.2.2 3.2.2 数字加密标准数字加密标准DESDESvDES 的讨论:n密钥长度l在CRYPTO93上,S

28、ession和Wiener给出了一个密钥搜索机器的设计方案,这个机器基于并行运算的密钥搜索芯片,16次加密能同时完成。此芯片每秒能测试5000万个密钥,用5760个芯片组成的系统需要花费10万美元,它平均用1.5天左右就可找到DES密钥。l1997年1月28日,美国的RSA数据安全公司在RSA安全年会上公布了一项“秘密密钥挑战”竞赛,其中包括悬赏1万美元破译密钥长度为56比特的DES。美国克罗拉多洲的程序员Verser从1997年2月18日起,用了96天时间,在Internet 上数万名志愿者的协同工作下,成功地找到了DES的密钥,赢得了悬赏的1万美元。对称密码体制483.2.2 3.2.2

29、数字加密标准数字加密标准DESDESvDES 的讨论:n密钥长度l1998年7月电子前沿基金会(EFF)使用一台25万美元的电脑在56小时内破译了56比特密钥的DES。l1999年1月RSA数据安全会议期间,电子前沿基金会 用22小时15分钟就宣告破解了一个DES的密钥。l1998年12月以后,DES将不再作为联邦加密标准。人们对于找到一种替代的加密算法就相当感兴趣。一种是开辟新的方法,另一种是对DES进行复合,强化它的抗攻击能力。对称密码体制493.2.3 DES3.2.3 DES的变形的变形v双重DES:n最简单的多次加密形式有两个加密阶段和两个密钥,给定一个明文P和两个加密密钥K1和K2

30、,有:lC=EK2(EK1(P)P=DK1(DK2(C)l 对于DES来说,密钥长度562112对称密码体制503.2.3 DES3.2.3 DES的变形的变形v双重DES的讨论:n假设对于 DES和所有56比特密钥,给定任意两个密钥K1和K2,都能找到一个密钥K3使得EK2(EK1(P)=EK3(P)。n如果这个假设是事实,则DES的两重加密或者多重加密都将等价于用一个56比特密钥的一次加密。n这个假设能否成立?对称密码体制513.2.3 DES3.2.3 DES的变形的变形v双重DES的讨论:n因为DES的加密事实上就是做一个从64比特分组到一个 64分组的置换而64比特分组共有264可能

31、的状态,因而可能的置换个数为:l264!103473800000 0000000000 0 101020n另一方面,DES的每个密钥确定了一个置换,因而总的置换个数为:l 256 1017n因此,有理由相信如果DES被使用两次,每次使用不同的一个密钥,那么产生的映射不是单次应用DES定义的一种映射。直到1992年才有人证明了这个结果。n是否意味可以采用双重DES?对称密码体制523.2.3 DES3.2.3 DES的变形的变形v双重DES的中途(meet-in-the-middle)攻击:n有另外一种方法攻击双重DES方案,这种方法不依赖于任何DES的特殊属性,它对任何分组加密密码都有效。lC

32、=EK2(EK1(P)X=EK1(P)=DK2(C)n给定明文密文对(P,C):l对所有256个密钥,加密P,对结果排序l对所有256个密钥,解密C,对结果排序l逐个比较,找出K1,K2使得EK1(P)=DK2(C)。密钥为2112个,攻击用的代价加密或解密所用运算次数 为:2 256对称密码体制533.2.3 DES3.2.3 DES的变形的变形v双密钥的三重DES:n一个用于对付中途攻击的明显方法是用3个密钥进行三个阶段的加密,这样要求一个563168bit的密钥,这个密钥有点过大。n作为一种替代方案,Tuchman提出使用两个密钥的三重加密方法。这个加密函数采用一个加密解密加密序列:lC

33、=EK1(DK2(EK1(P)P=DK1(EK2(DK1(C)。对称密码体制543.2.3 DES3.2.3 DES的变形的变形v双密钥的三重DES:n这种替代DES的加密较为流行并且已被采纳用于密钥管理标准(The Key Manager Standards ANSX9.17和ISO8732)n交替使用K1和K2可以抵抗中间相遇攻击.n到目前为止,还没有人给出攻击三重DES的有效方法对其密钥空间中密钥进行蛮干搜索,那么由于空间太大为2112=51033,这实际上是不可行的。若用差分攻击的方法,相对于单一DES来说复杂性以指数形式增长,要超过1052。对称密码体制553.2.3 DES3.2.

34、3 DES的变形的变形v三密钥的三重DES:nC=EK3(DK2(EK1(P)P=DK3(EK2(DK1(C)对称密码体制563.3 3.3 高级加密标准高级加密标准AES AES vAES背景:n1997年4月15日,美国国家标准技术研究(NIST)发起征集高级加密标准(Advanced Encryption Standard)AES的活动,活动目的是确定一个非保密的、可以公开技术细节的、全球免费使用的分组密码算法,作为新的数据加密标准。n1997年9月12日,美国联邦登记处公布了正式征集AES候选算法的通告。基本要求是:比三重DES快、至少与三重DES一样安全、数据分组长度为128比特、密

35、钥长度为128/192/256比特。对称密码体制573.3 3.3 高级加密标准高级加密标准AES AES vAES背景:n1998年8月12日,在首届AES会议上指定了15个候选算法。n1999年3月22日第二次AES会议上,将候选名单减少为5个,这5个算法是RC6,Rijndael,SERPENT,Twofish和MARS。n2000年4月13日,第三次AES会议上,对这5个候选算法的各种分析结果进行了讨论。n2000年10月2日,NIST宣布了获胜者Rijndael算法,2001年11月出版了最终标准FIPS PUB197对称密码体制583.3 3.3 高级加密标准高级加密标准AES A

36、ES vAES的总体描述:nAES具有128bit的分组长度,三种可选的密钥长度,即128bit、192bit和256bit。AES是一个迭代型密码;轮数Nr依赖于密钥长度。密钥为128bit、192bit、256 bit时,轮数分别为:10、12、14。算法执行过程如下:l1.给定一个明文x,将State初始化为x,并进行AddRoundKey操作,将RoundKey和State异或。l2.对前Nr1轮中的每一轮,用S盒对进行一次代换操作,称为SubBytes;对State做一置换ShiftRows;再对State做一次操作MixColumns;然后进行AddRoundKey操作。l3.依次

37、进行SubBytes、ShiftRows和AddRoundKey操作。l4.将State定义为密文。对称密码体制593.3 3.3 高级加密标准高级加密标准AES AES vAES的参数:对称密码体制603.3 高级加密标准高级加密标准AES vAES算法结构:n在这种密码的每一轮中,轮输入首先被一个由子密钥控制的可逆函数S作用,然后再对所得结果用置换(或可逆线性变换)P作用。S和P分别被称为混乱层和扩散层主要起混乱和扩散作用。对称密码体制613.3 高级加密标准高级加密标准AES vAES算法结构:nAES算法的轮变换中没有Feistel结构,轮变换是由三个不同的可逆一致变换组成,称之为层,

38、l 线性混合层(行移位和列混合):确保多轮之上的高度扩散。l 非线性层(字节替换):S-盒的并行应用。l 密钥加层:轮密钥简单地异或到中间状态上。对称密码体制623.3 高级加密标准高级加密标准AES 对称密码体制63AES-128加加解解密密过过程程对称密码体制643.3 高级加密标准高级加密标准AES vAES算法描述:n假设:State表示数据,以及每一轮的中间结果RoundKey表示每一轮对应的子密钥。算法如下:l第一轮之前执行AddRoundKey(State,RoundKey)Round(State,RoundKey)ByteSub(State);ShiftRow(State);M

39、ixColumn(State);AddRoundKey(State,RoundKey);FinalRound(State,RoundKey)ByteSub(State);ShiftRow(State);AddRoundKey(State,RoundKey);对称密码体制653.3 高级加密标准高级加密标准AES vAES算法描述:nAES中的操作都是以字节为基础,所有用到的变量都由适当数量的字节组成。明文x包括16个字节x0,x15。State用如下矩阵表示:S00S01S02S03S04S05S06S07S08S09S10S11S12S13S14S15k00k01k02k03k10k11k1

40、2k13k20k21k22k23k30k31k32k33对称密码体制663.3 高级加密标准高级加密标准AES vAES算法描述:n字节代替是一个非线性的字节代替,独立地在每个状态字节上进行运算。代替表(S-盒)是可逆的,是一个1616的矩阵。对称密码体制673.3 高级加密标准高级加密标准AES vS盒子:对称密码体制683.3 高级加密标准高级加密标准AES v字节代替example:对称密码体制693.3 高级加密标准高级加密标准AES v行移位(Shift Row)变换:对称密码体制703.3 高级加密标准高级加密标准AES v行移位(Shift Row)变换example:对称密码体

41、制713.3 高级加密标准高级加密标准AES v列混合Mix Column变换:n代替操作,将状态的列看作有限域GF(28)上的4维向量并被有限域GF(28)上的一个固定可逆方阵A乘对称密码体制723.3 高级加密标准高级加密标准AES v列混合Mix Column变换:对称密码体制733.3 高级加密标准高级加密标准AES v列混合Mix Column变换example:对称密码体制743.3 高级加密标准高级加密标准AES v轮密钥加(Add Round Key):n一个简单地按位异或的操作对称密码体制753.3 高级加密标准高级加密标准AES vAES的密钥调度:n轮密钥是通过密钥调度算

42、法从密钥中产生,包括两个组成部分:l密钥扩展和轮密钥选取。l基本原理如下:?所有轮密钥比特的总数等于分组长度乘轮数加1。(如128比特的分组长度和10轮迭代,共需要128111408比特的密钥)。?将密码密钥扩展成一个扩展密钥。?轮密钥按下述方式从扩展密钥中选取:第一个轮密钥由开始Nb个字组成,第二个轮密钥由接下来的Nb个字组成,如此继续下去。对称密码体制763.3 高级加密标准高级加密标准AES vAES的密钥扩展:n轮密钥的并联叫做扩展密钥,共包含44个字,表示为:w0,,w43,在这里每一个wi都是一个字。对称密码体制773.3 高级加密标准高级加密标准AES vAES密钥扩展的伪代码:

43、KeyExpansion(Key)for(i=0;i3;i+)Wi=(Key4*i,Key4*i+1,Key4*i+2,Key4*i+3);for(i=4;i43;i+)temp=Wi-1;if(i%4=0)temp=SubWord(RotWord(temp)Rconi/4;Wi=Wi-4 temp;Return(w0,,w43);对称密码体制783.3 高级加密标准高级加密标准AES vAES密钥扩展:对称密码体制793.3 高级加密标准高级加密标准AES vAES中的g变换:nRotword执行一字节循环左移lb0,b1,b2,b3 b1,b2,b3,b0nSubword执行使用S-盒实行

44、字节替换n前两步的结果XOR与轮常数Rconj对称密码体制803.3 高级加密标准高级加密标准AES vAES中的密钥扩展example:对称密码体制813.4 分组密码的工作模式分组密码的工作模式 v分组密码的工作模式:n分组密码在加密时明文分组的长度是固定的,而实用 中待加密消息的数据量是不定的,数据格式可能是多种多样的。为了能在各种应用场合安全地使用分组密码,通常 对不同的使用目的运用不同的工作模式。n一个分组密 码的工作模式就是以该分组密码为基础构造的一个密码系 统。n目前已提出许多种分组密码的工作模式,如电码本(ECB)、密码分组链接(CBC)、密码反馈(CFB)、输 出反馈(OFB

45、)、级连(CM)、计数器、分组链接(BC)、扩散密码分组链接(PCBC)、明文反馈(PFB)、非 线性函数输出反馈(OFBNLF)等模式。对称密码体制823.4.1 电码本模式电码本模式(ECB)vECB模式:nECB(Electronic Codebook)模式是最简单的运行模式,它一次对一个64比特长的明文分组加密,而且每次的加密密钥都相同,对称密码体制833.4.1 电码本模式电码本模式(ECB)vECB模式的优、缺点和应用:n优点:l(1)实现简单l(2)不同明文分组的加密可并行实施,尤其是硬件实现时速度很快n缺点:l不同的明文分组之间的加密独立进行,故保了单表代替缺点,造成相同明文分

46、组对应相同密文分组,因而不能隐蔽明文分组的统计规律和结构规律,不能抵抗替换攻击。n典型应用:l1)用于随机数的加密保护;l2)用于单分组明文的加密。对称密码体制843.4.1 电码本模式电码本模式(ECB)vECB模式的优、缺点和应用:n例:假设银行A和银行B之间的资金转帐系统所使用报文模式如下:n 敌手敌手C通过截收从通过截收从A到到B的加密消息,只要将第的加密消息,只要将第5至第至第12分组替换为自分组替换为自 己的姓名和帐号相对应的密文,即可将别人的存款存入自己的帐号。己的姓名和帐号相对应的密文,即可将别人的存款存入自己的帐号。对称密码体制853.4.2 密码分组链接模式密码分组链接模式

47、(CBCCBC)v密码分组链接(CBC-Cipher Block Chaining)模式n为了克服ECB的安全性缺陷,希望设计一个工作模式,可以使得当同一个明文分组重复出现时产生不同的密文分组。n一个简单的方法是密码分组链接,从而使输出不仅与当前输入有关,而且与以前输入和输出有关。n一种简单的方案就是密码分组链接(Cipher Block Chaining)模式。l每次加密使用同一密钥,加密算法的输入是当前明文前一次密文组的异或。因此加密算法的输入与明文分组之间 不再有固定的关系,所以重复的明文分组不会在密文中暴露。对称密码体制863.4.2 密码分组链接模式密码分组链接模式(CBCCBC)v

48、密码分组链接(CBC-Cipher Block Chaining)模式对称密码体制873.4.2 密码分组链接模式密码分组链接模式(CBCCBC)vCBC模式:n解密时,每一个密文分组被解密后,再与前一个密文分组异或来产生明文分组。即:DKCiCi-1=DKEKCi-1PiCi-1=Ci-1PiCi-1=Pi,l这里Ci=EKCi-1Pi,i=1,2,N。n为产生第一个密文分组,需要一个初始向量C0=Vi 与第一个明文分组异或。解密时,Vi与解密算法的第一输出进行异或以恢复第一个明文分组。nVi对于收发双方都应是已知的。为使安全性程度最高,Vi应像密钥一样被保护。保护Vi的原因如下:如果敌人能

49、欺骗接收方使用不同的Vi 值,敌手就能够在第一个明文分组中改变某些选定的比特。对称密码体制883.4.2 密码分组链接模式密码分组链接模式(CBCCBC)vCBC模式:3.4.2 密码分组链接模式(CBC)CBC模式:在CBC模式下,加密算法的输入是当前明文组与前一密文组的异或记初始化向量IV为c0,则加密过程可表示为n CBC模式的脱密过程为:模式的脱密过程为:3.4.2 密码分组链接模式(CBC)CBC模式的特点:明文块的统计特性得到了隐蔽。由于在密文CBC模式中,各密文块不仅与当前明文块有关,而且还与以前的明文块及初始化向量有关,从而使明文的统计规律在密文中得到了较好的隐蔽。具有有限的(

50、两步)错误传播特性。一个密文块的错误将导致两个密文块不能正确脱密。具有自同步功能密文出现丢块和错块不影响后续密文块的脱密。若从第t块起密文块正确,则第t+1个明文块就能正确求出。3.4.2 密码分组链接模式(CBC)CBC模式的特点:典型应用:1)数据加密;2)完整性认证和身份认证;完整性认证的含义完整性认证是一个“用户”检验它收到的文件是否遭到第三方有意或无意的篡改。利用CBC模式可实现报文的完整性认证目的:检查文件在(直接或加密)传输和存储中是否遭到有意或无意的篡改3.4.2 密码分组链接模式(CBC)利用CBC模式可实现报文的完整性认证关键技术:1)文件的制造者和检验者共享一个密钥2)文

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

当前位置:首页 > 生活休闲 > 生活常识

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

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