安徽工程大学-信息安全原理及应用-第3讲-对称密钥密码体制(下)课件_第1页
安徽工程大学-信息安全原理及应用-第3讲-对称密钥密码体制(下)课件_第2页
安徽工程大学-信息安全原理及应用-第3讲-对称密钥密码体制(下)课件_第3页
安徽工程大学-信息安全原理及应用-第3讲-对称密钥密码体制(下)课件_第4页
安徽工程大学-信息安全原理及应用-第3讲-对称密钥密码体制(下)课件_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

第3讲

对称密钥密码体制

——分组密码网络与信息安全Ⅰ1第3讲

对称密钥密码体制

——分组密码网络与信息安全Ⅰ1主要内容原理与设计原则12Feistel密码结构3数据加密标准DES4其他分组密码5分组密码工作模式主要内容原理与设计原则12Feistel密码结构3数据加密标信息与网络安全的目标进不来拿不走看不懂改不了跑不了信息与网络安全的目标进不来拿不走看不懂改不了跑不了因特网加密解密AliceBob密文传输举例:假设Alice与Bob进行保密通信,过程如下:因特网加密解密AliceBob密文传输举例:假设Alice与按加解密采用的密钥不同按密码出现的时间不同古典密码现代密码密码学(Cryptology)(Symmetriccipher)(Asymmetriccipher)分组密码流密码公钥密码按加密的方式对称密码非对称密码(Classicalcipher)(Moderncipher)(Blockcipher)(Streamcipher)(Public-Keycipher)按加解密采用的密钥不同按密码出现的时间不同古典密码现代密码密对称密码和公钥密码对称密码公钥密码一般要求一般要求安全性要求安全性要求加密和解密使用相同的密钥收发双方必须共享密钥同一算法用于加密和解密,但加密和解密使用不同密钥发送方拥有加密或解密密钥,而接收方拥有另一密钥密钥必须是保密的若没有其他信息,则解密消息是不可能或自少是不可行的直到算法和若干密文不足以确定密钥两个密钥之一必须是保密的若没有其他信息,则解密消息是不可能或至少是不可行的知道算法和其中一个密钥以及若干不足以确定另一密钥对称密码和公钥密码对称密码公钥密码一般要求一般要求安全性要求3.3数据加密标准DES

(DataEncryptionStandard)DES(DataEncryptionStandard)算法于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法,其密文的长度也为64位。DES算法在ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密。3.3数据加密标准DES

(DataEncrypDES的生命周期1975年,NBS最终采纳了IBM的LUCIFER方案,公开发表DES。1977年正式颁布为数据加密标准(DES-DataEncryptionStandard)。1979年,美国银行协会批准使用DES。1980年,DES成为美国标准化协会(ANSI)标准。1984年,ISO开始在DES基础上制定数据加密的国际标准。1994年,决定1998年12月之后不再使用DES。现已经确定了选用Rijndael算法作为高级加密算法AES。DES的生命周期1975年,NBS最终采纳了IBM的DES算法具有以下特点:(1)DES算法是分组加密算法:以64位为分组。(2)DES算法是对称算法:加密和解密用同一密钥。(3)DES算法的有效密钥长度为56位。(4)换位和置换。(5)易于实现。1.DES的特点DES算法具有以下特点:1.DES的特点2.DES算法要点算法设计中采用的基本变换和操作:置换(P):重新排列输入的比特位置。交换(SW):将输入的左右两部分的比特进行互换。循环移位:将输入中的比特进行循环移位,作为输出。一个复杂变换(fK

)通常是一个多阶段的乘积变换;与密钥Key相关;必须是非线性变换;实现对密码分析的扰乱;是密码设计安全性的关键。2.DES算法要点算法设计中采用的基本变换和操作:3.DES的加密过程第一步:初始置换IP。对于给定的明文m,通过初始置换IP获得,并将分为两部分,前面32位记为,后面32位记为,即第二步:乘积变换(

16轮)。在每一轮中依据下列方法计算()(16轮中的计算方法相同):,其中,为第i轮使用的子密钥,各均为的一个置换选择,所有构成密钥方案。函数中的变量为32位字符串,为48位字符串,函数输出的结果为32位字符串。3.DES的加密过程第一步:初始置换IP。DES的加密过程第三步:初始置换的逆置换。应用初始置换的逆置换对进行置换,得到密文c,即。Li-1Ri-1LiRikif+一轮DES加密过程DES的加密过程第三步:初始置换的逆置换。Li-IPL0R0L1=R0R1=L0⊕f(R0,K1)R2=L1⊕f(R1,K2)L2=R1明文L15=R14R16=L15⊕f(R15,K16)R15=L14⊕f(R14,K15)L16=R15IP-1密文fK1fK2fK16DES加密流程图IPL0R0L1=R0R1=L0⊕f(R0,K1)R2=(1)IP置换表和IP-1逆置换表输入的64位数据按IP表置换进行重新组合,并把输出分为L0和R0两部分,每部分各32位,其IP表置换如表3-1所示表3-1IP置换表58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157(1)IP置换表和IP-1逆置换表输入的64位数据按IP表置置换过程12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364585042342618102置换过程12345678910111213141516171置换过程1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636458504234261810258504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123715置换过程12345678910111213141516171将输入的64位明文的第58位换到第1位,第50位换到第2位,依此类推,最后一位是原来的第7位。L0和R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位。比如:置换前的输入值为D1D2D3…D64,则经过初始置换后的结果为:L0=D58D50…D8,R0=D57D49…D7

将输入的64位明文的第58位换到第1位,表3-2IP-1逆置换表逆置换正好是初始置的逆运算,例如,第1位经过初始置换后,处于第40位,而通过逆置换IP-1,又将第40位换回到第1位,其逆置换IP-1规则表如3-2所示。40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725表3-2IP-1逆置换表逆置换正好是初始

初始置换IP和IP-1IPIP-1初始置换IP和IP-1IPIP-1(2)函数f的内部流程Ri-1(32bit)ES1S2S8PKi(48bit)48bit32bitf(Ri-1,ki)(32bit)(2)函数f的内部流程Ri-1(32bit)ES1S2SE变换的算法是从Ri-1的32位中选取某些位,构成48位,即E将32位扩展为48位。变换规则根据E位选择表,如表3-3所示。表3-3E位选择表1234567891011121314151617181920212223242526272829303132324812162024285913172125291E变换的算法是从Ri-1的32位中选取某些位,构成48位,即每个S盒输出4位,共32位,S盒的工作原理将在第4步介绍。S盒的输出作为P变换的输入,P的功能是对输入进行置换,P换位表如表3-4所示。Ki是由密钥产生的48位比特串,具体的算法是:将E的选位结果与Ki作异或操作,得到一个48位输出。分成8组,每组6位,作为8个S盒的输入。每个S盒输出4位,共32位,S盒的工作原理将在第4步介绍。S表3-4P换位表如表1672021291228171152326518311028241432273919133062211425表3-4P换位表如表167202129122817115(3)DES的密钥Ki计算DES在各轮中所用的密钥均为由初始密钥(即种子密钥)导出的48位密钥。初始密钥为64位,其中第8、16、24、32、40、48、56、64位均为校验位。如此设置校验位的目的是使每8个字节所含的字符“1”个数为奇数,以便能够检测出每个字节中的错误。(3)DES的密钥Ki计算DES在各轮中所用的密钥均为由初始子密钥ki产生流程图PC-1C0D0LS1LS1C1D1LS2LS2C2D2LS16LS16C16D16PC-2PC-2PC-2K(64bit)K1(48bit)K2(48bit)K16(48bit)假设初始密钥为K,长度为64位,但是其中第8,16,24,32,40,48,64作奇偶校验位,实际密钥长度为56位。K下标i的取值范围是1到16,用16轮来构造。构造过程如图所示。子密钥ki产生流程图PC-1C0D0LS1LS1C1D1LS产生子密钥Ki具体描述为:首先,对于给定的密钥K,应用PC1变换进行选位,选定后的结果是56位,设其前28位为C0,后28位为D0。PC1选位如表3-5所示。表3-5PC-1选位表57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124产生子密钥Ki具体描述为:首先,对于给定的密钥K,应用PC1第1轮:对C0作左移LS1得到C1,对D0作左移LS1得到D1,对C1D1应用PC2进行选位,得到K1。其中LS1是左移的位数,如表3-6所示。第2轮:对C1和D1作左移LS2得到C2和D2,进一步对C2D2应用PC2进行选位,得到K2。如此继续,分别得到K3,K4,…,K16。。。。。。。。。。。。。。。。。。。。表3-6LS移位表轮数循环左移位数轮数循环左移位数轮数循环左移位数轮数循环左移位数115291132216210214232721121524282122161第1轮:对C0作左移LS1得到C1,对D0作左移LS1得到D表3-7PC-2选位表1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932表3-7PC-2选位表141711241532815(4)S盒的工作原理S盒以6位作为输入,而以4位作为输出,现在以S1为例说明其过程。假设输入为A=a1a2a3a4a5a6,则a2a3a4a5所代表的数是0到15之间的一个数,记为:k=a2a3a4a5;由a1a6所代表的数是0到3间的一个数,记为h=a1a6。在S1的h行,k列找到一个数B,B在0到15之间,它可以用4位二进制表示,为B=b1b2b3b4,这就是S1的输出。S盒由8张数据表组成,如教材P84-85所示。(4)S盒的工作原理S盒以6位作为输入,而以4位作为输出,现S-盒的构造

S-盒的构造DES加密范例已知明文m=computer,密钥k=program。

m=0110001101101111011011010111000001110101011101000110010101110010

k=01110000011100100110111101100111011100100110000101101101这里k只有56bit,必须插入第8,16,24,32,40,48,56,64这8个奇偶校验位成为64比特。k=0111000*0011100*1001101*1110110*0111011*1001001*1000010*1101101*DES加密范例已知明文m=computer,密钥k=progm经过IP置换后得

L0=11111111101110000111011001010111

R0=00000000111111110000011010000011

密钥k经PC-1置换得

C0=1110110010011001000110111011

D0=1011010001011000100011100111C0和

D0各循环左移一位后通过PC-2得到48bit的子密钥k1。

C1=1101100100110010001101110111

D1=0110100010110001000111001111k1=001111011000111111001101001101110011111101001000DES加密范例m经过IP置换后得DES加密范例R0经过E变换后扩展为48bit。100000000001011111111110100000001101010000000110再和k1

作异或运算,得101111011001100000110011101101111110101101001110分成8组

101111011001100000110011101101111110101101001110经过S盒后输出32bit01110110110101000010011010100001再经过P置换得01000100001000011001111110011011DES加密范例R0经过E变换后扩展为48bit。DES加密范例所以第一轮迭代的结果为

=10111011100110011110100111001100DES加密范例所以第一轮迭代的结果为DES加密范例4.DES的解密过程采用与加密相同的算法。以逆序(即)使用密钥。4.DES的解密过程采用与加密相同的算法。实现效果

不同微处理器上的DES软件实现速度

处理器处理器速度(MHz)每秒处理的DES分组个数80884.7370680007.69008028661,10068020163,50068030163,90080286255,000680305010,000680402516,000680404023,000804866643,000实现效果

不同微处理器上的DES软件实现速度处理器处理器速由于DES的密钥长度相对于穷举攻击过短,所以一般使用多重DES进行加密,一般的是三重DES,定义为:C=E(D(E(P,K1),K2),K1),即EDE(112bitkey)P=D(E(D(C,K1),K2),K1)DESDES-1DESDES-1DESDES-1mck1k2k1DES的变形——3-DES由于DES的密钥长度相对于穷举攻击过短,所以一般使用多重DE第3讲

对称密钥密码体制

——分组密码网络与信息安全Ⅰ38第3讲

对称密钥密码体制

——分组密码网络与信息安全Ⅰ1主要内容原理与设计原则12Feistel密码结构3数据加密标准DES4其他分组密码5分组密码工作模式主要内容原理与设计原则12Feistel密码结构3数据加密标信息与网络安全的目标进不来拿不走看不懂改不了跑不了信息与网络安全的目标进不来拿不走看不懂改不了跑不了因特网加密解密AliceBob密文传输举例:假设Alice与Bob进行保密通信,过程如下:因特网加密解密AliceBob密文传输举例:假设Alice与按加解密采用的密钥不同按密码出现的时间不同古典密码现代密码密码学(Cryptology)(Symmetriccipher)(Asymmetriccipher)分组密码流密码公钥密码按加密的方式对称密码非对称密码(Classicalcipher)(Moderncipher)(Blockcipher)(Streamcipher)(Public-Keycipher)按加解密采用的密钥不同按密码出现的时间不同古典密码现代密码密对称密码和公钥密码对称密码公钥密码一般要求一般要求安全性要求安全性要求加密和解密使用相同的密钥收发双方必须共享密钥同一算法用于加密和解密,但加密和解密使用不同密钥发送方拥有加密或解密密钥,而接收方拥有另一密钥密钥必须是保密的若没有其他信息,则解密消息是不可能或自少是不可行的直到算法和若干密文不足以确定密钥两个密钥之一必须是保密的若没有其他信息,则解密消息是不可能或至少是不可行的知道算法和其中一个密钥以及若干不足以确定另一密钥对称密码和公钥密码对称密码公钥密码一般要求一般要求安全性要求3.3数据加密标准DES

(DataEncryptionStandard)DES(DataEncryptionStandard)算法于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法,其密文的长度也为64位。DES算法在ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密。3.3数据加密标准DES

(DataEncrypDES的生命周期1975年,NBS最终采纳了IBM的LUCIFER方案,公开发表DES。1977年正式颁布为数据加密标准(DES-DataEncryptionStandard)。1979年,美国银行协会批准使用DES。1980年,DES成为美国标准化协会(ANSI)标准。1984年,ISO开始在DES基础上制定数据加密的国际标准。1994年,决定1998年12月之后不再使用DES。现已经确定了选用Rijndael算法作为高级加密算法AES。DES的生命周期1975年,NBS最终采纳了IBM的DES算法具有以下特点:(1)DES算法是分组加密算法:以64位为分组。(2)DES算法是对称算法:加密和解密用同一密钥。(3)DES算法的有效密钥长度为56位。(4)换位和置换。(5)易于实现。1.DES的特点DES算法具有以下特点:1.DES的特点2.DES算法要点算法设计中采用的基本变换和操作:置换(P):重新排列输入的比特位置。交换(SW):将输入的左右两部分的比特进行互换。循环移位:将输入中的比特进行循环移位,作为输出。一个复杂变换(fK

)通常是一个多阶段的乘积变换;与密钥Key相关;必须是非线性变换;实现对密码分析的扰乱;是密码设计安全性的关键。2.DES算法要点算法设计中采用的基本变换和操作:3.DES的加密过程第一步:初始置换IP。对于给定的明文m,通过初始置换IP获得,并将分为两部分,前面32位记为,后面32位记为,即第二步:乘积变换(

16轮)。在每一轮中依据下列方法计算()(16轮中的计算方法相同):,其中,为第i轮使用的子密钥,各均为的一个置换选择,所有构成密钥方案。函数中的变量为32位字符串,为48位字符串,函数输出的结果为32位字符串。3.DES的加密过程第一步:初始置换IP。DES的加密过程第三步:初始置换的逆置换。应用初始置换的逆置换对进行置换,得到密文c,即。Li-1Ri-1LiRikif+一轮DES加密过程DES的加密过程第三步:初始置换的逆置换。Li-IPL0R0L1=R0R1=L0⊕f(R0,K1)R2=L1⊕f(R1,K2)L2=R1明文L15=R14R16=L15⊕f(R15,K16)R15=L14⊕f(R14,K15)L16=R15IP-1密文fK1fK2fK16DES加密流程图IPL0R0L1=R0R1=L0⊕f(R0,K1)R2=(1)IP置换表和IP-1逆置换表输入的64位数据按IP表置换进行重新组合,并把输出分为L0和R0两部分,每部分各32位,其IP表置换如表3-1所示表3-1IP置换表58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157(1)IP置换表和IP-1逆置换表输入的64位数据按IP表置置换过程12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364585042342618102置换过程12345678910111213141516171置换过程1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636458504234261810258504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123715置换过程12345678910111213141516171将输入的64位明文的第58位换到第1位,第50位换到第2位,依此类推,最后一位是原来的第7位。L0和R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位。比如:置换前的输入值为D1D2D3…D64,则经过初始置换后的结果为:L0=D58D50…D8,R0=D57D49…D7

将输入的64位明文的第58位换到第1位,表3-2IP-1逆置换表逆置换正好是初始置的逆运算,例如,第1位经过初始置换后,处于第40位,而通过逆置换IP-1,又将第40位换回到第1位,其逆置换IP-1规则表如3-2所示。40848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725表3-2IP-1逆置换表逆置换正好是初始

初始置换IP和IP-1IPIP-1初始置换IP和IP-1IPIP-1(2)函数f的内部流程Ri-1(32bit)ES1S2S8PKi(48bit)48bit32bitf(Ri-1,ki)(32bit)(2)函数f的内部流程Ri-1(32bit)ES1S2SE变换的算法是从Ri-1的32位中选取某些位,构成48位,即E将32位扩展为48位。变换规则根据E位选择表,如表3-3所示。表3-3E位选择表1234567891011121314151617181920212223242526272829303132324812162024285913172125291E变换的算法是从Ri-1的32位中选取某些位,构成48位,即每个S盒输出4位,共32位,S盒的工作原理将在第4步介绍。S盒的输出作为P变换的输入,P的功能是对输入进行置换,P换位表如表3-4所示。Ki是由密钥产生的48位比特串,具体的算法是:将E的选位结果与Ki作异或操作,得到一个48位输出。分成8组,每组6位,作为8个S盒的输入。每个S盒输出4位,共32位,S盒的工作原理将在第4步介绍。S表3-4P换位表如表1672021291228171152326518311028241432273919133062211425表3-4P换位表如表167202129122817115(3)DES的密钥Ki计算DES在各轮中所用的密钥均为由初始密钥(即种子密钥)导出的48位密钥。初始密钥为64位,其中第8、16、24、32、40、48、56、64位均为校验位。如此设置校验位的目的是使每8个字节所含的字符“1”个数为奇数,以便能够检测出每个字节中的错误。(3)DES的密钥Ki计算DES在各轮中所用的密钥均为由初始子密钥ki产生流程图PC-1C0D0LS1LS1C1D1LS2LS2C2D2LS16LS16C16D16PC-2PC-2PC-2K(64bit)K1(48bit)K2(48bit)K16(48bit)假设初始密钥为K,长度为64位,但是其中第8,16,24,32,40,48,64作奇偶校验位,实际密钥长度为56位。K下标i的取值范围是1到16,用16轮来构造。构造过程如图所示。子密钥ki产生流程图PC-1C0D0LS1LS1C1D1LS产生子密钥Ki具体描述为:首先,对于给定的密钥K,应用PC1变换进行选位,选定后的结果是56位,设其前28位为C0,后28位为D0。PC1选位如表3-5所示。表3-5PC-1选位表57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124产生子密钥Ki具体描述为:首先,对于给定的密钥K,应用PC1第1轮:对C0作左移LS1得到C1,对D0作左移LS1得到D1,对C1D1应用PC2进行选位,得到K1。其中LS1是左移的位数,如表3-6所示。第2轮:对C1和D1作左移LS2得到C2和D2,进一步对C2D2应用PC2进行选位,得到K2。如此继续,分别得到K3,K4,…,K16。。。。。。。。。。。。。。。。。。。。表3-6LS移位表轮数循环左移位数轮数循环左移位数轮数循环左移位数轮数循环左移位数115291132216210214232721121524282122161第1轮:对C0作左移LS1得到C1,对D0作左移LS1得到D表3-7PC-2选位表1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932表3-7PC-2选位表141711241532815(4)S盒的工作原理S盒以6位作为输入,而以4位作为输出,现在以S1为例说明其过程。假设输入为A=a1a2a3a4a5a6,则a2a3a4a5所代表的数是0到15之间的一个数,记为:k=a2a3a4a5;由a1a6所代表的数是0到3间的一个数,记为h=a1a6。在S1的h行,k列找到一个数B,B在0到15之间,它可以用4位二进制表示,为B=b1b2b3b4,这就是S1的输出。S盒由8张数据表组成,如教材P84-85所示。(4)S盒的工作原理S盒以6位作为输入,而以4位作为输出,现S-盒的构造

S-盒的构造DES加密范例已知明文m=computer,密钥k=program。

m=0110001101101111011011010111000001110101011101000110010101110010

k=01110000011100100110111101100111011100100110000101101101这里k只有56bit,必须插入第8,16,24,32,40,4

温馨提示

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

最新文档

评论

0/150

提交评论