- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章作业参考答案.doc
第五章作业参考答案
1.6.1.3节的数据认证算法是由CBC模式的DES定义的,其中初始向量取为0,试说明使用CFB模式也可获得相同的结果。
解:设需认证的数据分为64比特长的分组,D1,D2,…,DN,其中DN不够64比特则右边补0,由题设,数据认证算法相当于在CBC模式中初始向量取为0,并按如下关系进行:
O1=EK(D1(0); O2=EK(D2(O1);… ON=EK(DN(ON-1);
数据认证码取为ON或ON的最左M个比特
对于同样的认证数据序列,D1,D2,…,DN,使用DES的CFB模式,且取j=64,IV=D1,并从D2开始加密得
C1= EK(D1)(D2=O1(D2,C2= EK(C1)(D3=EK(O1(D2)(D3=O2(D3,
由此可推出,对最后一个分组DN加密后的密文CN-1=ON-1(DN,则此时将CFB模式再进行一步,在该步中只计算DES的输出,则该输出值为EK(CN-1)=EK(ON-1(DN)=ON。
所以可获得相同的结果。
2.有很多杂凑函数是由CBC模式的分组加密技术构造的,其中的密钥取为消息分组。例如将消息M分成分组M1,M2,…,MN,H0=初值,迭代关系为Hi=EMi(Hi-1)(Hi-1(i=1,2,…,N),杂凑值取为HN,其中E是分组加密算法。
(1)设E为DES,第3章习题1已证明如果对明文分组和加密密钥都逐比特取补,那么得到的密文也是原密文的逐比特取补,即如果Y=DESK(X)则Y(= DESK((X()。利用这一结论证明在上述杂凑函数中可对消息进行修改但却保持杂凑值不变。
证:由DES的取反特性,如果令Mi和Hi-1取反,则有
EM(i(H(i-1)(H(i-1=[EMi(Hi-1)]((H(i-1=EMi(Hi-1)(Hi-1=Hi
因此对任意的初始值H0,如果将H0取反且将第一个消息分组M1也取反则杂凑值不变
(2)若迭代关系改为Hi=EHi-1(Mi)(Mi,证明仍可对其进行上述攻击。
证:与(1)同,略。
3.考虑公钥加密算法构造杂凑函数,设算法是RSA,将消息分组后用公开钥加密第一个分组,加密结果与第二个分组异或后,再对其加密,一直进行下去。设一消息被分成两个分组B1和B2,其杂凑值为H(B1,B2)=RSA(RSA(B1)(B2)。证明对任一分组C1可选C2,使得H(B1,B2)= H(C1,C2),证明这种攻击方法,可攻击上述用公钥加密算法构造的杂凑函数。
证:攻击值如果获得两个消息分组B1和B2,及其杂凑值H(B1,B2),则攻击者可任选分组C1并令C2=RSA(B1)(B2(RSA(C1)
于是有H(C1,C2)=RSA(RSA(C1)((RSA(B1)(B2(RSA(C1)))=RSA(RSA(B1)(B2)=H(B1,B2)则攻击成功。
6.设a1a2a3a4是32比特长的字中的4个字节,每一ai可看作由二进制表示的0到255之间的整数,在big-endian结构中该字表示整数a1224+a2216+a328+a4,在little-endian结构中该字表示整数a4224+a3216+a228+a1。
(1)用MD5使用little-endian结构,因消息的摘要值不应依赖于算法所用的结构,因此在MD5中为了对以big-endian结构存储的两个字X=x1x2x3x4和Y=y1y2y3y4,进行模232加运算,必须对这两个字进行调整,试说明如何调整?
解:首先对X中的4个字节做如下处理:
将x1和x4交换,x2和x3交换,对Y进行相同的处理
然后计算Z=X+Y mod232
最后再将z1和z4交换,z2和z3交换。
4.6. 简述用杂凑函数来实现消息认证的三大类基本方式
答:1. 先对消息计算杂凑值,在对杂凑值进行对称加密,提供认证性和完整性服务,还分为带保密性和不带保密性两种方式。
2. 先对消息计算杂凑值,再前面签名再对称加密(也可以用收方公钥加密),提供认证性、完整性和不可否认性,也分为带保密性和不带保密性两种方式
3. 连同秘密值一起对消息计算杂凑值,提供认证性和完整性,,也分为带保密性和不带保密性两种方式
6.2. 某用户A想要给用户B发送一个消息m,如果要对消息m的保密性与认证性进行保护,有四种方法,采用数据认证算法、先hash再加密、先签名再加密、HMAC
请分别给出这几种方法下认证消息m的表达式。所需符号和算法自行定义和选取。
其中安全性最强的和最弱的分别是哪一种方法,为什么
解:(1) 采用数据认证算法 m||CK(m),C是初始向量为0的DES-CBC算法;先hash再加密 EK{m||H(m)};先签名再加密:EK{m||Sigsk(H(m)};HMAC:m||H(k||m)
(
文档评论(0)