书签 分享 收藏 举报 版权申诉 / 99
上传文档赚钱

类型对称密钥体制课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4580017
  • 上传时间:2022-12-21
  • 格式:PPT
  • 页数:99
  • 大小:3.08MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《对称密钥体制课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    对称 密钥 体制 课件
    资源描述:

    1、第三章对称密钥体制 对称加密技术n基本概念n标准算法的介绍nDES算法nAES算法n分组密码的分析方法n分组密码的工作模式 基本概念n密码学中常见的有两种体制:n对称密码体制(单钥密码体制)如果一个加密系统的加密密钥和解密密钥相同,或者虽然不相同,但是由其中的任意一个可以很容易地推导出另一个,即密钥是双方共享的,则该系统所采用的就是对称密码体制。n非对称密码体制(公钥密码体制)n分组密码是指将处理的明文按照固定长度进行分组,加解密的处理在固定长度密钥的控制下,以一个分组为单位独立进行,得出一个固定长度的对应于明文分组的结果。属于对称密码体制的范畴。基本概念(续)n在分组密码的设计中用代替、置换

    2、手段实现扩散和混淆功能。n混淆 指加密算法的密文与明文及密钥关系十分复杂,无法从数学上描述,或从统计上去分析。n扩散 指明文中的任一位以及密钥中的任一位,对全体密文位有影响。经由此种扩散作用,可以隐藏许多明文在统计上的特性,增加密码的安全 对称加密技术n基本概念n标准算法的介绍nDES算法n国际数据加密算法(IDEA)nAES算法n分组密码的分析方法n分组密码的工作模式 DES加密算法的背景l发明人 美国IBM公司W.Tuchman 和 C.Meyer 1971-1972年研制成功。l基础 1967年美国Horst Feistel提出的理论l产生 美国国家标准局(NBS)1973年5月到197

    3、4年8月两次发布通告,公开征求用于电子计算机的加密算法。经评选从一大批算法中采纳了IBM的LUCIFER方案。l标准化 DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为数据加密标准(Data Encryption Standard),于1977年7月15日生效。DES加密算法的背景n美国国家安全局(NSA,National Security Agency)参与了美国国家标准局制定数据加密标准的过程。NBS接受了NSA的某些建议,对算法做了修改,并将密钥长度从LUCIFER方案中的128位压缩到56位。n1979年,美国银行协会批准使用DES。n1980年,DES成为

    4、美国标准化协会(ANSI)标准。n1984年2月,ISO成立的数据加密技术委员会(SC20)在DES基础上制定数据加密的国际标准工作。到目前为止,还没有人给出攻击三重DES的有效方法。可变的密钥长度:RC5适合于传输长度大于64位的报文,还可以进行用户鉴别,是大多系统的标准如 SSL、IPSec现设输入为:DD1D2D3D4D5D6 令:列D2D3D4D5 行D1D6然后在S1表中查得对应的数,以4位二进制表示,此即为选择函数S1的输出。将密码密钥扩展成一个扩展密钥。同样信息多次出现造成泄漏双重DES(Double DES)密钥的有效长度为168位误差传递:密文块损坏仅对应明文块损坏有较好的数

    5、学理论作为基础换句话说,对已知2个明文-密文对的中间相遇攻击成功的概率为1-2-16。美国国家标准局(NBS)1973年5月到1974年8月两次发布通告,公开征求用于电子计算机的加密算法。给定两个明密文对,虚警率降为248-64=2-16。i=j=x=y=0适用于软件或者硬件实现误差传递:密文块损坏两明文块损坏密钥Ki(48bit)的生成算法密码学中常见的有两种体制:从直观上看,上面的假设不可能为真。Si 为移位寄存器,j为流单元宽度DES算法描述n为二进制编码数据设计的,可以对计算机数据进行密码保护的数学运算。nDES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。

    6、在每轮编码时,一个48位的“每轮”密钥值由56位的“种子”密钥得出来。nDES算法的入口参数有三个:Key、Data和Mode。nKey为8个字节共64位,是DES算法的工作密钥;nData也为8个字节64位,是要被加密或被解密的数据;nMode为DES的工作方式,有两种:加密或解密n64位明文变换到64位密文,密钥64位,实际可用密钥长度为56位。攻击用的代价加密或解密所用运算次数 2 256REi=(REi-1 LEi)LEi)+S2i+1;对称密码体制(单钥密码体制)RFC2040 Baldwin,R.REi=(REi-1 LEi)LEi)+S2i+1;经评选从一大批算法中采纳了IBM的

    7、LUCIFER方案。整个加密使用了下述3个基本运算和它们的逆运算:2000年4月13日,第三次AES会议上,对这5个候选算法的各种分析结果进行了讨论。互不满足分配律、结合律2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25C=EK3(DK2(EK1(P)P=DK3(EK2(DK1(C)FinalRound(State,RoundKey)【例】第1位经过初始置换后,处于第40位,而通过逆置轮密钥加(Add Round Key)运算:XOR,模216(65536)加 ,模(216+1)(65537)乘可变的密钥长度:RC5可变的F:CAST-128DES的实际密钥长

    8、度为56-bit,就目前计算机的计算机能力而言,DES不能抵抗对密钥的穷举搜索攻击。DES算法描述(续)n初始换位的功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则见下表:58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7n例:设置换前

    9、的输入值为D1D2D3.D64,则经过初始置换后的结果为:L0=D58D50.D8;R0=D57D49.D7。DES算法描述(续)n逆置换正好是初始置的逆运算。【例】第1位经过初始置换后,处于第40位,而通过逆置 换,又将第40位换回到第1位,其逆置换规则如下表所示: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

    10、41 9 49 17 57 25DES算法的一次迭代过程图DES算法描述(续)n扩展置换为:32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 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 1nP-盒置换为: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 11 4 25n在变换中用到的S1,S2.S8为选择函数,俗称为S-盒,是D

    11、ES算法的核心。其功能是把6bit数据变为4bit数据。S1:14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 015 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 n在S1中,共有4行数据,命名为0,1、2、3行;每行有16列,命名为0、1、2、3,.,14、15列。现设输入为:DD1D2D3D4D5D6 令:列D2D3D4D5 行D1D6然后在S1表中查得对应的数,以4位二进制表示,此即为选择函

    12、数S1的输出。密钥Ki(48bit)的生成算法 DES的破解n DES的实际密钥长度为56-bit,就目前计算机的计算机能力而言,DES不能抵抗对密钥的穷举搜索攻击。n 1997年1月28日,RSA数据安全公司在RSA安全年会上悬赏10000美金破解DES,克罗拉多州的程序员Verser在Inrernet上数万名志愿者的协作下用96天的时间找到了密钥长度为40-bit和48-bit的DES密钥。n 1998年7月电子边境基金会(EFF)使用一台价值25万美元的计算机在56小时之内破译了56-bit的DES。n 1999年1月电子边境基金会(EFF)通过互联网上的10万台计算机合作,仅用22小时

    13、15分就破解了56-bit的ES。n 不过这些破译的前提是,破译者能识别出破译的结不过这些破译的前提是,破译者能识别出破译的结果确实是明文,也即破译的结果必须容易辩认。如果果确实是明文,也即破译的结果必须容易辩认。如果明文加密之前经过压缩等处理,辩认工作就比较困难。明文加密之前经过压缩等处理,辩认工作就比较困难。DES算法的公开性与脆弱性nDES的两个主要弱点:n密钥容量:56位不太可能提供足够的安全性nS盒:可能隐含有陷井(Hidden trapdoors)nDES的半公开性:S盒的设计原理至今未公布 对称加密技术n基本概念n标准算法的介绍nDES算法nAES算法n分组密码的工作模式n分组密

    14、码的分析方法分组密码的操作模式n电子密码本ECB(electronic codebook mode)n密码分组链接CBC(cipher block chaining)n密码反馈CFB(cipher feedback)n输出反馈OFB(output feedback)前两步的结果XOR与轮常数Rconj在每轮编码时,一个48位的“每轮”密钥值由56位的“种子”密钥得出来。需要共同的初始化向量IV40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31Triple DES12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

    15、22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1有较好的数学理论作为基础Ci=EK(Pi)Pi=DK(Ci)用变量Lei,Rei参与三密钥的三重DES分析ByteSub(State);RC5版本:RC5-w/r/b有较好的数学理论作为基础对于不同的消息,IV必须唯一密钥相关的S盒:BlowfishC=EK2(EK1(P)X=EK1(P)=DK2(C)DES-EEE2:K1=K3,同上Proof that DES is not a group整个加密使用了下述3个基本运算和它们的逆运算:2000年4月13日,第三次AES会议上,对这5个候选算法的各种分

    16、析结果进行了讨论。电子密码本(ECB)Ci=EK(Pi)Pi=DK(Ci)ECB特点简单和有效可以并行实现不能隐藏明文的模式信息相同明文相同密文同样信息多次出现造成泄漏对明文的主动攻击是可能的信息块可被替换、重排、删除、重放误差传递:密文块损坏仅对应明文块损坏适合于传输短信息密码分组链接CBCCi=EK(Ci-1Pi)Pi=EK(Ci)Ci-1CBC特点没有已知的并行实现算法能隐藏明文的模式信息需要共同的初始化向量IV相同明文不同密文初始化向量IV可以用来改变第一块对明文的主动攻击是不容易的信息块不容易被替换、重排、删除、重放误差传递:密文块损坏两明文块损坏n安全性好于ECBn适合于传输长度大

    17、于64位的报文,还可以进行用户鉴别,是大多系统的标准如 SSL、IPSec 密码反馈CFBCFB:分组密码流密码 Si 为移位寄存器,j为流单元宽度 加密:Ci=Pi(EK(Si)的高j位)Si+1=(Sij)|Ci 解密:Pi=Ci(EK(Si)的高j位)Si+1=(Sij)|Ci CFB加密示意图加密示意图Ci=Pi(EK(Si)的高的高j位位);Si+1=(Sij)|Ci CFB解密示意图解密示意图Pi=Ci(EK(Si)的高的高j位位);Si+1=(Sij)|Ci 换,又将第40位换回到第1位,其逆置换规则如下表所示:1998年7月电子边境基金会(EFF)使用一台价值25万美元的计算机

    18、在56小时之内破译了56-bit的DES。C=EK2(EK1(P)X=EK1(P)=DK2(C)RFC2040 Baldwin,R.2000年10月2日,NIST宣布了获胜者Rijndael算法,2001年11月出版了最终标准FIPS PUB197。LE0=A+S0需要共同的移位寄存器初始值IV解密:Pi=Ci(EK(Si)的高j位)误差传递:密文块损坏两明文块损坏模2w加法运算,表示为“+”;现设输入为:DD1D2D3D4D5D6 令:列D2D3D4D5 行D1D6然后在S1表中查得对应的数,以4位二进制表示,此即为选择函数S1的输出。DES-EEE2:K1=K3,同上运算:XOR,模216

    19、(65536)加 ,模(216+1)(65537)乘误差传递:密文块损坏两明文块损坏在变换中用到的S1,S2.有较好的数学理论作为基础误差传递:密文块损坏仅对应明文块损坏C=EK3(DK2(EK1(P)P=DK3(EK2(DK1(C),and Rivest,R.没有已知的并行实现算法CFB特点分组密码流密码没有已知的并行实现算法隐藏了明文模式需要共同的移位寄存器初始值IVn对于不同的消息,IV必须唯一n误差传递:一个单元损坏影响多个单元 DES-EDE3:三个不同密钥,依次使用加密-解密-加密算法DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为数据加密标准(Data

    20、 Encryption Standard),于1977年7月15日生效。密码反馈CFB(cipher feedback)整个加密使用了下述3个基本运算和它们的逆运算:D64,则经过初始置换后的结果为:L0=D58D50.for i=r down to 1 do三密钥的三重DES(Triple DES with Three Keys)在变换中用到的S1,S2.数据复杂度:实施该攻击所需输入的数据量DES-EEE2:K1=K3,同上Si+1=(Sij)|Ci每行有16列,命名为0、1、2、3,.没有已知的并行实现算法ByteSub(State);轮密钥按下述方式从扩展密钥中选取:第一个轮密钥由开始

    21、Nb个字组成,第二个轮密钥由接下来的Nb个字组成,如此继续下去。对于不同的消息,IV必须唯一RFC2040 Baldwin,R.DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为数据加密标准(Data Encryption Standard),于1977年7月15日生效。如(a0,a1,a2,an-1)3=(a3,a4,an-1,a0,a1,a2)DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为数据加密标准(Data Encryption Standard),于1977年7月15日生效。输出反馈OFBOFB:分组密码流密码 Si 为移位寄存

    22、器,j为流单元宽度 加密:Ci=Pi(EK(Si)的高j位)Si+1=(Sij)|(EK(Si)的高j位)解密:Pi=Ci(EK(Si)的高j位)Si+1=(Sij)|(EK(Si)的高j位)OFB加密示意图加密示意图Ci=Pi(EK(Si)的高的高j位位);Si+1=(Sij)|(EK(Si)的高的高j位位)OFB解密示意图解密示意图Pi=Ci(EK(Si)的高的高j位位);Si+1=(Sij)|(EK(Si)的高的高j位位)OFB特点nOFB:分组密码流密码没有已知的并行实现算法隐藏了明文模式n需要共同的移位寄存器初始值IVn误差传递:一个单元损坏只影响对应单元对明文的主动攻击是可能的信息

    23、块可被替换、重排、删除、重放安全性较CFB差 对称加密技术n基本概念n标准算法的介绍nDES算法nAES算法n分组密码的工作模式n分组密码的分析方法2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25没有已知的并行实现算法需要共同的移位寄存器初始值IV列混合Mix Column变换最可靠的攻击办法:强力攻击DES算法1975年3月公开发表,1977年1月15日由美国国家标准局颁布为数据加密标准(Data Encryption Standard),于1977年7月15日生效。Subword执行使用S-盒实行字节替换密钥的有效长度为168位i=j=x=y=036 4

    24、44 12 52 20 60 28 35 3 43 11 51 19 59 27用变量LDi和RDi从r到1做:分组密码的一般设计原理给定明文密文对(P,C)Rivest 声称,这个扩张函数具有单向性。S和P分别被称为混乱层和扩散层,主要起混乱和扩散作用。字的循环左移运算:字x循环左移y比特,表示为Triple DES加密、解密相似但不对称现设输入为:DD1D2D3D4D5D6 令:列D2D3D4D5 行D1D6然后在S1表中查得对应的数,以4位二进制表示,此即为选择函数S1的输出。交替使用K1和K2可以抵抗中间相遇攻击.分组密码的分析方法n根据攻击者所掌握的信息,可将分组密码的攻击分为以下几

    25、类:唯密文攻击已知明文攻击选择明文攻击攻击的复杂度数据复杂度:实施该攻击所需输入的数据量处理复杂度:处理这些数据所需要的计算量分组密码的典型攻击方法n最可靠的攻击办法:强力攻击n最有效的攻击:差分密码分析,通过分析明文对的差值对密文对的差值的影响来恢复某些密钥比特.n线性密码分析:本质上是一种已知明文攻击方法,通过寻找一个给定密码算法的有效的线性近似表达式来破译密码系统n插值攻击方法n密钥相关攻击强力攻击n穷尽密钥搜索攻击:n唯密文,2kn已知(选择)明文,2k,k-密钥长度n字典攻击:n明密文对编成字典,2n,n-分组长度n查表攻击:n选择明文攻击,给定明文,用所有的2k个密钥,预计算密文,

    26、k-密钥长度n时间存储权衡攻击:n选择明文攻击,由穷尽密钥搜索和查表攻击混合而成,它在选择明文攻击中以时间换取空间现代常规分组加密算法 一种是对DES进行复合,强化它的抗攻击能力;另一种是开辟新的方法,即象DES那样加解密速度快,又具有抗差分攻击和其他方式攻击的能力。现代常规分组加密算法1.Triple DES2.IDEA3.RC54.RC65.AES其他一些较实用的算法,如Blowfish,CAST,以及RC2。1.TRIPLE DES由于已经证明,见 K.W.Campbell and M.J.Wiener Proof that DES is not a group In Advances

    27、in CryptologyCrpto92.Springer-Verlag,New York,1993.于是多重DES,尤其是三重DES还在普遍使用。双重DES(Double DES)nC=EK2(EK1(P)P=DK1(DK2(C)双重DES的讨论n假设对于 DES和所有56比特密钥,给定任意两个密钥K1和K2,都能找到一个密钥K3使得EK2(EK1(P)=EK3(P)。如果这个假设是事实,则DES的两重加密或者多重加密都将等价于用一个56比特密钥的一次加密。n从直观上看,上面的假设不可能为真。因为DES的加密事实上就是做一个从64比特分组到一个64分组的置换,而64比特分组共有264可能的状

    28、态,因而可能的置换个数为n另一方面,DES的每个密钥确定了一个置换,因而总的置换个数为 。n直到1992年才有人证明了这个结果。17561022010000000000003473800000641010!2中间相遇(meet-in-the-middle)攻击C=EK2(EK1(P)X=EK1(P)=DK2(C)给定明文密文对(P,C)对所有256个密钥,加密P,对结果排序 对所有256个密钥,解密C,对结果排序 逐个比较,找出K1,K2使得EK1(P)=DK2(C)对双重DES的中间相遇攻击的分析n已知,给定一个明文P,经二重DES加密有264个可能的密文。而二重DES所用密钥的长度应是11

    29、2 bits,所以选择密钥有2112个可能性。于是对给定一个明文P加密成密文有2112/264=248种可能。给定两个明密文对,虚警率降为248-64=2-16。换句话说,对已知2个明文-密文对的中间相遇攻击成功的概率为1-2-16。n攻击用的代价加密或解密所用运算次数 2 256 需要大量的存储器:256 64=1017字节对双密钥的三重DES的分析-ii从直观上看,上面的假设不可能为真。需要共同的移位寄存器初始值IV在这种密码的每一轮中,轮输入首先被一个由子密钥控制的可逆函数S作用,然后再对所得结果用置换(或可逆线性变换)P作用。DES的两个主要弱点:用变量LDi和RDi从r到1做:36

    30、4 44 12 52 20 60 28 35 3 43 11 51 19 59 272000年4月13日,第三次AES会议上,对这5个候选算法的各种分析结果进行了讨论。Si 为移位寄存器,j为流单元宽度Rivest 声称,这个扩张函数具有单向性。for i=r down to 1 do对所有256个密钥,加密P,对结果排序DES-EEE2:K1=K3,同上所有轮密钥比特的总数等于分组长度乘轮数加1。RC5版本:RC5-w/r/b有较好的数学理论作为基础Subword执行使用S-盒实行字节替换Ci=EK(Pi)Pi=DK(Ci)用变量Lei,Rei参与初始化向量IV可以用来改变第一块Triple

    31、-DES的四种模型nDES-EEE3:三个不同密钥,顺序使用三次加密算法nDES-EDE3:三个不同密钥,依次使用加密-解密-加密算法nDES-EEE2:K1=K3,同上nDES-EDE2:K1=K3,同上双密钥的三重DES(Triple DES with Two Keys)nC=EK1(DK2(EK1(P)P=DK1(EK2(DK1(C)对双密钥的三重DES的分析-in该模式由IBM设计,可与常规加密算法兼容n这种替代DES的加密较为流行并且已被采纳用于密钥管理标准(The Key Manager Standards ANSX9.17和ISO8732).n交替使用K1和K2可以抵抗中间相遇攻

    32、击.如果C=EK2(EK1(EK1(P),只需要256+2次加密n到目前为止,还没有人给出攻击三重DES的有效方法。对其密钥空间中密钥进行蛮干搜索,那么由于空间太大为2112=51033,这实际上是不可行的。若用差分攻击的方法,相对于单一DES来说复杂性以指数形式增长,要超过1052。对双密钥的三重DES的分析-iin目前还没有针对两个密钥三重DES的实用攻击方法。但对两个密钥三重DES的攻击有一些设想,以这些设想为基础将来可能设计出更成功的攻击技术。nMerkle R.and Hellman,M.“On the security of multiple encryption”.Communi

    33、cation of the ACM,July 1981nOorschot,P and Wiener,M.“A Known-plaintext attack on two-key triple encryption”Proceedings,EUROCrypt90,1990:published by Springer-Verlag三密钥的三重DES(Triple DES with Three Keys)nC=EK3(DK2(EK1(P)P=DK3(EK2(DK1(C)三密钥的三重DES分析n密钥的有效长度为168位n与DES的兼容性可以通过令K3=K2或K1=K2得到n许多基于Internet的应

    34、用里用到:PGP和S/MIME现代常规分组加密算法1.Triple DES2.IDEA3.RC54.RC65.AES国际数据加密IDEA(International Data Encryption Algorithm)算法n1990年瑞士联邦技术学院的来学嘉和Massey提出,PES,91年修订,92公布细节设计目标从两个方面考虑n加密强度n易实现性n强化了抗差分分析的能力,PGPIDEA算法特点64位分组,128位密钥运算:XOR,模216(65536)加 ,模(216+1)(65537)乘三种运算均不满足分配律与结合律有大量弱密钥难以直接扩展到128位块IDEA设计思想n得到confusi

    35、on的途径n按位异或n以216(65536)为模的加法n以216+1(65537)为模的乘法n互不满足分配律、结合律n得到diffusion的途径n乘加(MA)结构n实现上的考虑n软件和硬件实现上的考虑IDEA加密算法有较好的数学理论作为基础同样信息多次出现造成泄漏Si 为移位寄存器,j为流单元宽度Si 为移位寄存器,j为流单元宽度【例】第1位经过初始置换后,处于第40位,而通过逆置用变量Lei,Rei参与假设对于 DES和所有56比特密钥,给定任意两个密钥K1和K2,都能找到一个密钥K3使得EK2(EK1(P)=EK3(P)。DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进

    36、行16轮编码。A=LD0-S0.可变的密钥长度:RC5j=(j+1)(mod c);整个加密使用了下述3个基本运算和它们的逆运算:Subword执行使用S-盒实行字节替换可变的密钥长度:RC5OFB:分组密码流密码AddRoundKey(State,RoundKey);ByteSub(State);假设对于 DES和所有56比特密钥,给定任意两个密钥K1和K2,都能找到一个密钥K3使得EK2(EK1(P)=EK3(P)。IDEA每一轮 IDEA输出变换阶段IDEA的子密钥 n 现代常规分组加密算法现代常规分组加密算法 1.Triple DES 2.IDEA 3.RC5 4.RC6 5.AESR

    37、C5n作者为Ron Rivest 1994设计、1995公开1.适用于软件或者硬件实现2.运算速度快3.能适应于不同字长的程序(一个字的bit数是RC5的一个参数;)加密的轮数可变(轮数是RC5的第二个参数)密钥长度是可变的(密钥长度是RC5的第三个参数)6.对内存要求低7.依赖于数据的循环移位(增强抗攻击能力)RC5参数三个参数参数w:表示字长,RC5加密两字长分组,可用值为16、32、64参数r:表示轮数,可用值0,1,255参数b:表示密钥K的字节数,可用值0,1,255RC5版本:RC5-w/r/b算法作者建议标定版本为RC5-32/12/16RC5基本运算整个加密使用了下述3个基本运

    38、算和它们的逆运算:n模2w加法运算,表示为“+”;n逐比特异或运算,表示为“”;n字的循环左移运算:字x循环左移y比特,表示为xy如(a0,a1,a2,an-1)3=(a3,a4,an-1,a0,a1,a2)FinalRound(State,RoundKey)在这种密码的每一轮中,轮输入首先被一个由子密钥控制的可逆函数S作用,然后再对所得结果用置换(或可逆线性变换)P作用。密码学中常见的有两种体制:如果这个假设是事实,则DES的两重加密或者多重加密都将等价于用一个56比特密钥的一次加密。总计产生 t=2r+2 个子密钥,每个密钥的长度为一个字长(w bits)。C=EK3(DK2(EK1(P)

    39、P=DK3(EK2(DK1(C)参数b:表示密钥K的字节数,可用值0,1,255一个简单地按位异或的操作j=(j+1)(mod c);Si=Si-1+Qw参数r:表示轮数,可用值0,1,255Si 为移位寄存器,j为流单元宽度有较好的数学理论作为基础不能隐藏明文的模式信息行移位(Shift Row)变换信息块不容易被替换、重排、删除、重放例:Odde=3,Odd=1支持128/192/256(/32=Nk)密钥长度互不满足分配律、结合律三种运算均不满足分配律与结合律DES-EDE3:三个不同密钥,依次使用加密-解密-加密算法密钥扩展n总计产生 t=2r+2 个子密钥,每个密钥的长度为一个字长(

    40、w bits)。密钥的初始化对于给定的参数r和w,开始初始化运算 Pw=Odd(e-2)2w)Qw=Odd(-1)2w)这里 e =2.718281828459(自然对数的底)=1.618033988749(黄金分割比率)并且Oddx表示最接近x且可左可右的奇整数。例:Odde=3,Odd=1用上述两个常数,按下述方式得到初始化的阵列S:S0=Pw For i=1 to t-1 do Si=Si-1+Qw其中的加法是模2w的加法运算。密钥扩展1*.为了增强复杂性,可对阵列S,L做多次处理:i=j=x=y=0 do 3max(t,c)times:Si=(Si+X+Y)3;X=Si;i=(i+1)

    41、(mod t);Lj=(Lj+X+Y)(X+Y);Y=Lj;j=(j+1)(mod c);2*.Rivest 声称,这个扩张函数具有单向性。这个扩张函数具有单向性。加解密运算图加密算法n加密:将明文分组为左右A,B;用变量Lei,Rei参与n运算程序为:LE0=A+S0 RE0=B+S1 for i=1 to r do LEi=(LEi-1 REi-1)REi-1)+S2i;REi=(REi-1 LEi)LDi)LDi);LDi-1=(LDi-S2*iRDi-1)RDi-1);B=RD0-S1;A=LD0-S0.nRC5操作模式RFC2040 Baldwin,R.,and Rivest,R.T

    42、he RC5,RC5-CBC,RC5-CBC-Pad,and RC5-CTS algorithms.Oct.1996P9696 现代常规分组加密算法现代常规分组加密算法 1.Triple DES 2.IDEA 3.RC5 4.RC6 5.AESAES背景-in1997年4月15日,(美国)国家标准技术研究所(NIST)发起征集高级加密标准(Advanced Encryption Standard)AES的活动,活动目的是确定一个非保密的、可以公开技术细节的、全球免费使用的分组密码算法,作为新的数据加密标准。n1997年9月12日,美国联邦登记处公布了正式征集AES候选算法的通告。作为进入AES

    43、候选过程的一个条件,开发者承诺放弃被选中算法的知识产权。对AES的基本要求是:比三重DES快、至少与三重DES一样安全、数据分组长度为128比特、密钥长度为128/192/256比特。AES背景-iin1998年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

    44、PUB197。Rijndael简介n不属于Feistel结构n加密、解密相似但不对称n支持128/32=Nb数据块大小n支持128/192/256(/32=Nk)密钥长度n有较好的数学理论作为基础n结构简单、速度快AES参数SP网络结构在这种密码的每一轮中,轮输入首先被一个由子密钥控在这种密码的每一轮中,轮输入首先被一个由子密钥控制的可逆函数制的可逆函数S作用,然后再对所得结果用置换(或可逆作用,然后再对所得结果用置换(或可逆线性变换)线性变换)P作用。作用。S和和P分别被称为混乱层和扩散层,主分别被称为混乱层和扩散层,主要起混乱和扩散作用。要起混乱和扩散作用。AES算法结构-inAES算法的

    45、轮变换中没有Feistel结构,轮变换是由三个不同的可逆一致变换组成,称之为层,线性混合层:确保多轮之上的高度扩散。非线性层:具有最优最差-情形非线性性的S-盒的并行应用。密钥加层:轮密钥简单地异或到中间状态上。AES算法结构-iiAES-128加解密过程AES算法描述n假设:State表示数据,以及每一轮的中间结果RoundKey表示每一轮对应的子密钥n算法如下:n第一轮之前执行AddRoundKey(State,RoundKey)nRound(State,RoundKey)ByteSub(State);ShiftRow(State);MixColumn(State);AddRoundKey

    46、(State,RoundKey);nFinalRound(State,RoundKey)ByteSub(State);ShiftRow(State);AddRoundKey(State,RoundKey);状态、密钥状态/密钥的矩阵表示S00S01S02S03S04S05S06S07S08S09S10S11S12S13S14S15k00k01k02k03k10k11k12k13k20k21k22k23k30k31k32k33字节代替(Substitute Bytes)变换n字节代替是一个非线性的字节代替,独立地在每个状态字节上进行运算。代替表(S-盒)是可逆的,是一个1616的矩阵。examp

    47、le行移位(Shift Row)变换简单的置换简单的置换example列混合Mix Column变换n代替操作,将状态的列看作有限域GF(28)上的4维向量并被有限域GF(28)上的一个固定可逆方阵A乘 example轮密钥加(Add Round Key)一个简单地按位异或的操作一个简单地按位异或的操作AES的密钥调度n轮密钥是通过密钥调度算法从密钥中产生,包括两个组成部分:密钥扩展和轮密钥选取。基本原理如下:所有轮密钥比特的总数等于分组长度乘轮数加1。(如128比特的分组长度和10轮迭代,共需要1408比特的密钥)。将密码密钥扩展成一个扩展密钥。轮密钥按下述方式从扩展密钥中选取:第一个轮密钥

    48、由开始Nb个字组成,第二个轮密钥由接下来的Nb个字组成,如此继续下去。AES的密钥扩展密钥扩展的伪代码伪代码之二 G变换nRotword执行一字节循环左移 b0,b1,b2,b3 b1,b2,b3,b0nSubword执行使用S-盒实行字节替换n前两步的结果XOR与轮常数RconjexampleRijndael安全性没有发现弱密钥或补密钥n能有效抵抗目前已知的攻击算法n线性攻击n差分攻击先进对称分组加密算法的特点n可变的密钥长度:RC5n混合的运算 IDEAn数据相关的圈数 RC5n密钥相关的圈数 CAST-128n密钥相关的S盒:Blowfishn冗长密钥调度算法:Blowfishn可变的F:CAST-128n可变长明文/密文块长度n可变圈数n每圈操作作用于全部数据分组密码的一般设计原理n针对安全性的一般原则:n混乱n扩散n重要的设计原理:必须能抵抗现有的攻击方法n针对实现的原则n软件n硬件分组密码的整体结构nFeistel 网络nSP网络

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:对称密钥体制课件.ppt
    链接地址:https://www.163wenku.com/p-4580017.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库