第三章-数据的完整性保护课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第三章-数据的完整性保护课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 数据 完整性 保护 课件
- 资源描述:
-
1、 一个强碰撞自由的Hash函数是满足下列条件的一个函数h:(1)h的输入可以是任意长度的任何消息或文件M;(2)h输出的长度是固定的(该长度必须足够长,以抵抗所谓的生日攻击,根据今天的计算技术和能力,至少应为128比特长);(3)给定h和m,计算 h(M)是容易的;(4)给定h的描述,找 两 个不同的消息(信息)M1 和 M2,使得 h(M1)=h(M2)是计算上不可行的。(如果这两个消息M1,M2,M1M2,使得 h(M1)=h(M2),则称这两个消息是碰撞消息碰撞消息或称这两个消息碰撞这两个消息碰撞。)一个弱碰撞自由的Hash函数与一个强碰撞自由的Hash函数的前三个条件(1)-(3)完全
2、一样,不同的只是第(4)个条件。在一个弱碰撞自由的Hash函数中。(5)给定h的描述和一个随机选择的消息M1,找另一个消息M2,M2M1,使得h(M1)=h(M2)是计算上不可行的。实际受到的附件 附件所期望的附件如果两者一样,则认为消息是完整的 产生附件 消息 附件产生附件 消息 消息接收者发送者传输的消息比较一般的封装机制 二、消息摘录技术的应用二、消息摘录技术的应用 1 1、用于计算消息完整码用于计算消息完整码 消息m 附件F将F与收到的附件F进行比较如果F=F则认为消息是完整的,否则不是完整的消息m 附件FMD(m|K AB)重新根据m,由m|K AB计算附件F 消息m 密匙K AB消
3、息m 发方A 收方B传输的消息2、使用MD进行双向鉴别 rA rB A BMD(KABrA)MD(KABrA)基于的双向MD鉴别机制 一、概、概 述述 MD4的设计是面向32比特字的,更适合于32位计算机,效率比MD2高。MD4计算出的消息摘录长度为128比特,用4个字表示,分别记为A,B,C,D,在计算开始时被分别初始化为常数。输入信息被分成512比特的等长块,逐块 处 理。每 块 包 含 1 6 个 字,分 别 记 为 m0,m1,m15。每块的处理分三遍扫描,每遍对A,B,C,D使用不同的扰乱函数。在处理前需将当前的消息摘录备份,在处理后将这个备份加到新产生的消息摘录上,并将其作为下一块
4、处理时消息摘录的当前值。最后一块信息处理之后的消息摘录当前值,即为最终的消息摘录值。3.1.13.1.1、MD4MD4二、二、MD4MD4信息填充信息填充 给定一个X,将X进行填充,使其成为一个512比特的倍数串M=M0M1MN-1 ,这里每个Mi(0 i N-1)是长为32比特的串,N0(mod16)(即N是16的倍数。)我们将每个Mi称为一个字(32位),由X产生M的算法如下:d=447-(xmod512)(当d0时,按模512处理)l表示x的长度,即x。l=64(即用64比特表示x的长度)M=x10dl 初始信息(x)1000 初始信息的 比特数(l)即使原来的信息已是512比特的倍数,
5、也要进行填充。三、直接构造法三、直接构造法 现在我们从M开始构造一个128比特长的消息摘录,其构造过程如下:(1)给四个寄存器A、B、C、D赋初始值(用十六进制表示):A=67452301 B=efcdab89 C=98badcfe D=10325476(2)for i=0 to N/16 -1 do;(3)for j=0 to 15 do mj=M16i+j (4)将四个寄存器A、B、C、D的值存储到另外四个寄存器AA,BB,CC,DD之中,AA=A;BB=B;CC=C;DD=D (5)执行第一轮;(6)执行第二轮;(7)执行第三轮;(8)A=A+AA ;B=B+BB;C=C+CC;D=D+
6、DD X取整二进制求补;xyx与y按位逻辑“与(and)”;xyx与y按位逻辑“或(or)”;x x y x与y按位逻辑“异或(xor)”;x+y二进制加运算(即整数模232加法运算);xyx循环左移y个位置(0y31)。MD4中的三个轮是不同的。1、第一轮 第一轮使用一个如下定义的函数f(x,y,z)=(xy)(xz)(1)for k=0 to 3 do;(2)A=(A+f(B,C,D)+m4k 3 (3)D=(D+f(A,B,C)+m4k+1 7 (4)C=(C+f(D,A,B)+m4k+2 11 (5)B=(B+f(C,D,A)+m4k+3 15 2、第二轮 第二轮使用一个如下定义的函数
7、:g(x,y,z)=(xy)(xz)(yz)取常数C2=2=5a827999H 注意:在第二轮中mi不是顺序处理的。1)A=(A+g(B,C,D)+m0+5a827999)3;2)D=(D+g(A,B,C)+m4+5a827999)5;3)C=(C+g(D,A,B)+m8+5a827999)9;4)B=(B+g(C,D,A)+m12+5a827999)13;5)A=(A+g(B,C,D)+m1+5a827999)3;(6)D=(D+g(A,B,C)+m5+5a827999)5;(7)C=(C+g(D,A,B)+m9+5a827999)9;(8)B=(B+g(C,D,A)+m13+5a82799
8、9)13;(9)A=(A+g(B,C,D)+m2+5a827999)3;(10)D=(D+g(A,B,C)+m6+5a827999)5;(11)C=(C+g(D,A,B)+m10+5a827999)9;(12)B=(B+g(C,D,A)+m14+5a827999)13;(13)A=(A+g(B,C,D)+m3+5a827999)3;(14)D=(D+g(A,B,C)+m7+5a827999)5;(15)C=(C+g(D,A,B)+m11+5a827999)9;(16)B=(B+g(C,D,A)+m15+5a827999)13;第第 三三 轮轮第三轮定义扰乱函数如下:h(X,y,Z)=x y z
9、 取常数 C3=2 =6edgebalH 302302 与第二遍扫描类似,第三遍扫描时对Mi的处理也不是顺序的,具体为:(1)A=(A+h(B,C,D)+m0+C3)3;(2)D=(D+h(A,B,C)+m8 +C3)9 ;(3)C=(C+h(D,A,B)+m4+C3)11;(4)B=(B+h(C,D,A)+m12+C3)15;(5)A=(A+h(B,C,D)+m2+C3)3;(6)D=(D+h(A,B,C)+m10 +C3)9;(7)C=(C+h(D,A,B)+m 6+C3)11;(8)B=(B+h(C,D,A)+m 14+C3)15;(9)A=(A+h(B,C,D)+m 1+C3)3;(1
10、0)D=(D+h(A,B,C)+m 9 +C3)9;(11)C=(C+h(D,A,B)+m 5+C3)11;(12)B=(B+h(C,D,A)+m 13+C3)15;(13)A=(A+h(B,C,D)+m 3+C3)3;(14)D=(D+h(A,B,C)+m 11 +C3)9;(15)C=(C+h(D,A,B)+m 7+C3)11;(16)B=(B+h(C,D,A)+m 15+C3)15;MD5v第一轮 F(x,y,z)=(x y)V(z)A=B+(A+f(B,C,D)+m0+d7aa78)7)D=A+(D+f(A,B,C)+m1+e8c7b756)12)C=D+(C+f(D,A,B)+m2+
11、242070db)17)B=C+(B+f(C,D,A)+m3+c1bdceee)22)A=B+(A+f(B,C,D)+m4+f57c0faf)7)D=A+(D+f(A,B,C)+m5+4787c62a)12)C=D+(C+f(D,A,B)+m6+a8304613)17)xB=C+(B+f(C,D,A)+m7+fd469501)22)A=B+(A+f(B,C,D)+m8+698098db)7)D=A+(D+f(A,B,C)+m9+8b44f7af)12)C=D+(C+f(D,A,B)+m10+ffff5bb1)17)B=C+(B+f(C,D,A)+m11+895cd7be)22)A=B+(A+f
12、(B,C,D)+m12+6b901122)7)D=A+(D+f(A,B,C)+m13+fd987193)12)C=D+(C+f(D,A,B)+m14+a679438e)17)B=C+(B+f(C,D,A)+m15+49b40821)22)第二轮 g(x,y,z)=(xz)V(y )A=B+(A+g(B,C,D)+m1+f61e2562)5)D=A+(D+g(A,B,C)+m6+c04ob34o)9)C=D+(C+g(D,A,B)+m11+265e5a51)14)B=C+(B+g(C,D,A)+m0+egb6c7aa)20)A=B+(A+g(B,C,D)+m5+d62f105d)5)D=A+(D
13、+g(A,B,C)+m10+02441453)9)C=D+(C+g(D,A,B)+m15+d8a1e681)14)B=C+(B+g(C,D,A)+m4+e7d3fbc8)20)A=B+(A+g(B,C,D)+m9+21e1cde6)5)zD=A+(D+g(A,B,C)+m14+c33707d6)9)C=D+(C+g(D,A,B)+m3+f4d5od87)14)B=C+(B+g(C,D,A)+m8+455a14ed)20)A=B+(A+g(B,C,D)+m13+a9e3e9o5)5)D=A+(D+g(A,B,C)+m2+fcefa3f8)9)C=D+(C+g(D,A,B)+m7+676fo2d9
14、)14)B=C+(B+g(C,D,A)+m12+8d2a4c8a)20)第三轮 h(x,y,z)=xyzA=B+(A+h(B,C,D)+m5+fffa3942)4)D=A+(D+h(A,B,C)+m8+8771f681)11)C=D+(C+h(D,A,B)+m11+6d9d6122)16)B=C+(B+h(C,D,A)+m14+fde5380c)23)A=B+(A+h(B,C,D)+m1+a4beea44)4)D=A+(D+h(A,B,C)+m4+4dbecfa9)11)C=D+(C+h(D,A,B)+m7+f6b46bo)16)B=C+(B+h(C,D,A)+m10+bebfbc70)23)
15、A=B+(A+h(B,C,D)+m13+289b7ecb)4)D=A+(D+h(A,B,C)+m0+eaa127fa)11)C=D+(C+h(D,A,B)+m3+d4ef3085)16)B=C+(B+h(C,D,A)+m6+04881d05)23)A=B+(A+h(B,C,D)+m9+d9d4d039)4)D=A+(D+h(A,B,C)+m12+e6db99e5)11)C=D+(C+h(D,A,B)+m15+1fa27cf8)16)B=C+(B+h(C,D,A)+m2+c4ac5665)23)第四轮 I(x,y,z)=y(xV )A=B+(A+I(B,C,D)+m0+f4292244)6)D=
16、A+(D+I(A,B,C)+m7+432aff97)10)C=D+(C+I(D,A,B)+m14+ab9423a7)15)B=C+(B+I(C,D,A)+m5+fc93a039)21)A=B+(A+I(B,C,D)+m12+655b59c3)6)D=A+(D+I(A,B,C)+m3+8foccc92)10)C=D+(C+I(D,A,B)+m10+ffeff47d)15)B=C+(B+I(C,D,A)+m1+85845dd1)21)zA=B+(A+I(B,C,D)+m8+6fa87e4f)6)D=A+(D+I(A,B,C)+m15+fe2ce6e0)10)C=D+(C+I(D,A,B)+m6+a
17、3014314)15)B=C+(B+I(C,D,A)+m13+4e0811a1)21)A=B+(A+I(B,C,D)+m4+f7537e82)6)D=A+(D+I(A,B,C)+m11+bd3af235)10)C=D+(C+I(D,A,B)+m2+2ad7d2bb)15)B=C+(B+I(C,D,A)+m9+eb86d391)21)常数 可以如下选择:在第i步中,是|sin(i)|的整数部分,i的单位是弧度。所有这些完成之后,将A,B,C,D分别加上AA,BB,CC,DD,然后用下一组数据继续运行算法,最后的输出是A,B,C和D的级联,即128位长的字。对单轮的MD5已有攻击结果,但对4轮MD
18、5则还没有有效的方法。即使采用生日攻击,寻找具有相同Hash值的两个信息需要试验 个信息,而差分攻击也对MD5的安全性步构成威胁。ititit322642 MD5与MD4相比较,主要作了以下六点改进:(1)增加了第四轮,第四轮所使用的函数为 (x,y,z)=(x )y;z(2)第二轮的函数g变为g(x,y,z)=(xz)(y ),以减弱它的对称性;z(3)进入第二轮和第三轮的输入字的次序被改 变;(4)每一轮中的移位数已改变,并且各轮中的移位数互不相同;(5)每一步有一个唯一的加法常数;(6)每一步加上了上一步的结果,这样会产生更好的“雪崩效应”。3.1.2 Hash3.1.2 Hash函数的
19、攻击方法函数的攻击方法 生日攻击生日攻击 生日攻击这个术语来自于所谓的生日问生日问题:题:在一个教室中最少应有多少学生,才使得至少有两个学生的生日在同一天的概率不小于?21 设hxy是一个Hash函数,x和y都是有限的集合,并且x=m,y=n。显然至少有个碰撞,问题是如何去找这些碰撞。一个很自然的方法是随机选择k个不同的元素x1,x2,xkx,计算yi=h(xi),1 i k,然后确定是否有一个碰撞发生。这表明,仅杂凑(随机拼凑)个x的随机的元素就能以50%的概率产生一个碰撞。n 注意注意:的不同选择将导致一个不同的常数因子,但k与 仍成正比例。n 如前面的例子,x是一个教室中所有学生的集合,
20、y是一个非润年的365天的集合,h(x)表示学生x的生日,现在我们类处理生日问题。这时n=365,=,由k1.17,=1.17,22.3,知教室中至少要有23名学生。12n365 生日攻击隐含着消息摘要的长度的一个下界。3 32 2数字签名技术数字签名技术 一、数字签名一、数字签名 为了具有通常手书签名的功效,数字签名应满足以下条件:(1)收方能够鉴别其收到的报文确实是发方发送来的,其内容是真实的;(2)发方事后不能根据自己的利益来否认他所发送过的报文;(3)包括收方在内的任何人都不能伪造报文或签名。二、利用公钥密码体制实现的数字签名 1、在公钥密码系统的通信中,实现数据的保密性和真实性。(1
21、)数据的保密性 设用户A要发送消息M给用户B,A B ,为了使M在传送过程中不被泄露,A可用B的公开密钥PKB对M加密,将密文传送给B。M M DSKB(EPKB(M)=M A方 PKB SKB B方)(MECPKBED 用公钥体制实现数据的保密性。(2)数据的真实性条件:条件:该公钥密码体制的公开密钥既能作加密密钥,又能作解密密钥使用,即 DSK(EPK(M)=EPK(DSK(M)=M M M=EPKA(DSKA(M)A方 SKA PKA B方ED)(MDCSKA 公钥密码体制实现真实性。(丧失了保密 性)(3)(3)既实现数据的保密性又实现数既实现数据的保密性又实现数据的真实性据的真实性
22、数据 M M A方 SKA PKB SKB PKA B方 )(MDECSKAPKBDEDE 用公钥密码体制实现数据的保密性和真实性 2 2、用公钥密码体制实现的数字签名、用公钥密码体制实现的数字签名 设A要向B发送一份报文M,该报文由两部分组成:一部分称作报头H,它包括发方的身份,收方的身份及发送序号等。即H=发方的ID,收方的ID,发送序号;另一部分是要发送的报文数据M,若需要可附上时间T。签名者用他的秘密密钥SKA对M或(M,T)进行变换(解密运算)得S=DSKA(M)或S=DSKA(M,T),实现对报文的签名,然后用收方B的公开密钥PKB对MS=(H,S)进行加密运算,并将结果EPKB(
23、MS)发送给B,实现保密通信。)(MDSSKA M M A方 SKA PKB SKB PKA B方 DEDDHH)(,(MDHESKAPKB签名保密通信加密 脱密 验证签名 B收到报文后操作:(1)B用自己的秘密密钥SKB先对收到的报文解密,得MS,根据H中的信息识别出发送者的身份是A。(2)在公开的签名信息簿中查出A用于签名验证的公开密钥PKA。(3)用PKA对S进行变换 EPKA(S)=EPKA(DSKA(M)=M。(4)检查M是否正确。三、基于对称密码体制的数字签名三、基于对称密码体制的数字签名 LD方法利用一组密钥,其个数由报文的长度决定,对 报文进行逐位的签名。LD方法分为准备、签名
24、和验证三部分。准备的内容为:(1)若报文长度为n,则设置由发方A秘密保存的2n个签名密钥,记为1,1,2,2,n,n;(2)A随机地选择2n个数:u1,u2,un U1,U2,Un 并分别用第一步产生的密钥对这2n个数据加密,得到2n个密文:vi=Ei(ui)i=1,2,,n vi=Ei(ui)i=1,2,,n A将u1,u2,u3,un u1,u2,u3,un这2n个数据和2n个密文v1,v2,v3,vn v1,v2,v3,vn作密文验证信息公开交给B和仲裁者。(3)若报文M=m1m2mn的第i位mi为1,则签名的第i位取i,否则取i,最终构成一个元素个数与报文长度相同的密钥序列。SA=K1
25、K2Kn。Ki=i mi=1i mi=0 i=1,2,n其中A将 A将SA留底后,发送给B.B收 B收到签名数据后,验证签名的方法为:根据报文的内容确定密钥的内容,然后按报文的各位根据预先计算好的那两组数来验证收到的签名是否正确;(4)B用Ki分别对vi和Vi解密,若解得明文为ui,则断定mi=0;若为Ui,则断定mi=1。否则说明签名有错误或有篡改伪造行为。0 Dki(vi)=ui1 Dki(Vi)=Ui Mi=B将收到的SA留底。该方法存在两个严重缺陷:(1)签名比报文长的多,例如若使用DES作为加密算法,则每个密钥有56位,即签名的长度是报文长度的56倍。(2)签名密钥若不采用一次一密方
展开阅读全文