DES-加密分析课件_第1页
DES-加密分析课件_第2页
DES-加密分析课件_第3页
DES-加密分析课件_第4页
DES-加密分析课件_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

第3章对称密码算法分组密码:DES,3-DES,IDEA,AES序列密码:RC4对称密码体制学习要点了解对称密码体制的基本概念了解分组密码原理了解分组密码操作模式了解DES和AES两种典型的对称密码算法分组密码对分组密码算法的要求分组长度足够大密钥量足够大

密码变换足够复杂

分组密码中两个基本变换S变换(代替)和P变换(换位)SP网络-就是由多重S变换(代替)和P变换(换位)组合成的变换网络.分组密码原理

扩散和混乱是分组密码的最本质的操作扩散就是将每一位明文的影响尽可能迅速地作用到较多的输出密文位中去,以便隐藏明文的统计特性---依赖P变换(换位)。混乱是指密文和明文之间的统计特性关系尽可能地复杂化----以来S变换(替代)。乘积密码乘积密码-指依次使用两个或两个以上的基本密码,所得结果的密码强度将强于所有单个密码的强度.乘积密码有助于实现扩散和混乱乘积密码是扩散和混乱这两种基本密码操作的组合变换.这样产生的密码系统比各自单独使用更强大.这种迭代方法在现代密码中叫Feistel结构.Feistel结构Feistel结构:数据分组的一半被用来修改数据分组的另一半,然后交换这两部分,每轮迭代结构相同,但每轮子密钥不同.S变换(代替)在数据的右半部分左右数据交换实现P变换(换位)Feistel结构的实现依赖于参数:分组长度:分组越长,安全性越高,但效率降低,一般64或128密钥长度:密钥越长,安全性越高,目前一般是128迭代轮数:多轮加密可取得很高安全性.子密钥生成算法:子密钥生成越复杂,安全性越高.轮函数:轮函数越复杂,抗攻击就越强.数据加密标准DES

(DataEncryptionStandard

)20世纪60年代末,IBM研发了一个密码算法lucifer,其分组长度为64bit,密钥128bit。DES的历史1973年,美国标准局NBS征求国家密码标准方案IBM提交该算法并被选中,经过修改1977被颁布作为加密标准算法DES。DES是应用最广泛的数据加密算法,也是密码史上第一个公开的加密算法。它的核心思想是让所有的秘密寓于密钥中。

NIST预言DES使用的寿命将在90年代末期结束,但作为加密标准一直超期服役到2000年高级加密标准AES的出现,并在民用方面仍在使用.

DES算法的基本特点DES的加密处理略图明文处理的经过了3个阶段:阶段1:64bit的明文经过初始置换IP进行比特重排,不使用密钥。阶段2:16次的与密钥相关的密运算,置换,替代,也叫乘积变换。阶段3:最后一次循环的结果64bit经过逆初始置换IP-1,这一变换过程也不使用密钥。

K1

K2

..56bit密钥置换选择1Co28bitDo28bit循环左移1位循环左移1位C1D1置换选择2左移1位左移1位C2C2置换选择2第一轮变换第16轮变换。。。初始置换IP64bit明文逆初始置换IP-164bit密文二DES算法的主要结构明文二进制的转换abcdefgh97989901100001在算法中对比特位进行编号。1234加密时将其打乱重排。01100001

明文的处理

1初始置换IP,进行比特重排每个64bit明文分组按比特位每位编号1234567891011121314151617。。。24。。。。。。57。。。64一初始置换IP明文原58位换到第1位,原第50位换到第2位1234567891011121314151617。。。24。。。。。。57。。。641逆初始置换为什么要置换?置换是分组密码设计的一种扩散法(diffusion)是基于如何挫败统计分析的密码破译问题,即怎样让明文统计特性消失多个明文bit1影响。一个密文比特n

分组密码设计的另一种方法是(confusion),在DES中用S盒子实现。扰乱16次乘积变换乘积变换是DES的核心,一共进行16次每次乘积变换的过程f

扩展置换

左32bit右32bit

左32bit右32bit进入下次循环a替代S盒子XOR扩展置换E置换P扩展变换E复用16位为什么要扩展置换?1)32——48以便与Ki进行异或2)安全性——扩散法diffusion

多个明文bit影响一个密文bita明文统计特征消失一部分

b扩展了输出时输入的依赖性比如:输入有一位差异输出的密文产生相当大的差异,从而设置了密码分析的障碍——即“雪崩效应”bS盒子替代替代由8个代替盒32(substitutionbox)

扩展s盒子完成48Ki

每个s盒子6位输入6*8=48

S盒子4位输出4*8=3232位每个S盒子不同XOR

Ki48bit

48bit分成8组,每组6位

。。。32bit

每个Si盒子都是已经定义好的替代函数(选择)S1S2S8XORS1盒的定义S11441312151183106125907015741421311061211953841148136211151297310501512824917511314100613实例1,设输入为101100输入的第一位和最后一位对应替代函数矩阵行的指示数。输入的中间位对应列的指示数。101100

10列数6行数20123457891011121314150144131215118310612590710157414213110612119538411481362111512973105031512824917511314100613

转接成2进制0010S1的输出其他的S盒子见参考书,(S盒子的设计愿望并未公开——DES受到怀疑的原因之一,可能含有陷门)替代函数S162P置换矩阵

将S盒代替后的32进行置换:32-----32密钥的生成密钥表计算产生12345678加密和解密所需910111213141516要的16个子密钥17。。。2324K1,K2。。。25。。。313216的过程,64位33。。。3839密钥从1到64编号41。。。4748起作用的有56位49。。。555657。。。6364为奇偶校验位密码表的计算框图设C1=c1c2。。。c28

D1=d1d2。。。d28

循环左移一位c2c3。。。c28c1

d2d3。。。d28d1

64位密文置换选择1Co28bit循环左移D128bitC128bit循环左移循环左移Do28bit循环左移C1628bitD1628bit置换选择2K148bit置换选择2K1648bit置换选择1:将56bit密钥分成两个28bit

64bit密钥(56bit有效)574941332517963554739312315Do28bit1585042342618Co28bit1025951433527191136052443621135282012414661534537297625446383022置换选择2相当于从56bit中选出48(6*8)bit做为子密钥

28bit28bit

48bitCiDi1417112415328156211046425036293223191242681672720132444939563453415231374755304051453348循环左移位

轮序12345678910111213141516移位数1122222212222221DES的解密DES的解密使用与加密相同的算法,但子密钥的使用次序相反.

存在争议的地方密钥的问题

算法的性质1,关于密钥56bit的密钥太短密钥空间为7.2E6

若1微妙完成1次DES加密约1000年。

若100万个加密设备的并行机约10小时。三:DES的强度破译时间

1997年,用Internet网连上7万个终端,采用举式程序,每台机分配一个DES密钥空间,经过96天找出了正确的密钥,这时搜索了1/4的密钥空间,尽管如此,一般来说,出了极端敏感的场合,DES仍可安全用于商业应用场合。

2,S盒子的设计标准并未公开,仅仅只透露了几条设计准则,不过,至今无人证明S盒子存在致命的缺陷。半弱密钥(semiweakkey)K1。。。K16不是各不相同,即16个子密钥有部分相同弱密钥(weakkey)

K1=K2=。。。=K16(56)bit密钥单C,D全为0或1时置换选择116个子密钥完全相同

CD思考题1DES算法的基本特征是什么(类型,分组长度,密钥长度等)2DES的算法结构是怎样的?3DES的每次乘积变换的过程是怎样的?4DES的密钥生成的过程是怎样的?5请将DES编程是实现.6什么是分组密码的Feistel结构?7DES加密和解密完全一样吗?8在DES算法中S1盒的输入为101011,求输出b1b6=(11)2=3行b2b3b4=(0101)2=5列3行5列对应9,输出为1001分组密码的操作模式

分组密码存在多种操作方式,用于不同的场合,任何一种对称分组密码可以用这些操作模式.电子密码本(ECB)模式密码分组链接(CBC)模式计数器(CRT)模式输出反馈(OFB)模式密码反馈(CFB)模式电子密码本(electroniccodebook)ECB

这是最简单的方式:

以分组64bit为例:明文接受64bit的分组,每个明文分组都用同一个密钥加密,每个64bit的明文分组就有一个唯一的密文.特点:同一个64bit明文分组多次出现,产生的密文就总是一样的,它可用于少量的数据加密,比如加密一个密钥,对于大报文用ECB方式就不安全.ECB模式ECBECB模式的优缺点模式操作简单明文中的重复内容将在密文中表现出来,特别对于图像数据和明文变化较少的数据适于短报文的加密传递密码分组链接方式CBC(cipherblockchaining)

目的:同一个明文分组重复出现时产生不同的密文分组原理:Pn

加密算法的输入是当前的明文分组

Cn-1和前一密文分组的异或

K第一个明文分

组和一个初始向量

Cn

进行异或XORDES加密初始向量时刻t1t2tn

IVP1P2PnKKK

C1C2Cn-1CnXORDESXORXORDESDESCBC模式CBC模式的特点同一个明文分组重复出现时产生不同的密文分组加密函数的输入是当前的明文分组和前一个密文分组的异或;对每个分组使用相同的密钥。将明文分组序列的处理连接起来了。每个明文分组的加密函数的输入与明文分组之间不再有固定的关系有助于将CBC模式用于加密长消息计数器CTR模式CTR模式的特点使用与明文分组规模相同的计数器长度处理效率高(并行处理)预处理可以极大地提高吞吐量可以随机地对任意一个密文分组进行解密处理,对该密文分组的处理与其它密文无关实现的简单性适于对实时性和速度要求较高的场合输出反馈OFB模式密码反馈CFB模式影响密码操作模式选择的因素安全性高效性所能实现的功能思考题:1)两个用户要在网络中安全地传输数据,根据目前所学设计一个安全方案。2)比较对称密码体制和公钥密码体制。3)如何各取所长?4)请课后查阅资料,什么是数字信封(DigitalEnvel

温馨提示

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

评论

0/150

提交评论