当前位置:文档之家› 密码学作业CH11

密码学作业CH11

201013210141 徐鹏志密码学作业11
1.消息认证是为了对付哪些类型的攻击?
答:伪装(假冒)篡改内容修改顺序修改时间(包括重放)
2.消息认证或数字签名方法有哪两层功能?
答:任何消息认证或数字签名机制基本分两步:
产生认证符(是一个用来认证消息的值)的函数;
将该函数作为原语使接收方可以验证消息真实性的认证协议。

3.产生消息认证有哪些方法?
答:用于消息认证的最常见的密码技术是消息认证码和安全散列函数 MAC是一种需要使用秘密钥的算法,以可变长度的消息和秘密钥作为输入,产生一个认证码。

拥有秘密钥的接受方产生一个认证码来验证消息的完整性。

哈西函数将可变长度的消息映射为固定长度的哈西值,或叫消息摘要。

对于消息认证来说,安全散列函数还必须以某种方式和秘密钥捆绑起来。

4.对称加密和错误控制码一起用于消息认证时,这两个函数必须以何种顺序执行?
答:先错误控制码后对称加密。

5.什么是消息认证码?
答:消息认证码,是用来保证数据完整性的一种工具,可以防止数据未经授权被篡改,用数学语言描述,是一个让双方共享的密钥k和消
(m),这个函数值就是一个息m作为输入函数,如果将函数记为mac
k
认证标记。

6.消息认证码和散列函数之间的区别是什么?
答:消息认证码(MAC)依赖公开函数,密钥控制下对消息处理,生成定长认证标识,并加以认证。

散列函数:将任意长度的消息换为定长的消息摘要,并加以认证。

7.为提供消息认证,应以何种方式保证散列值的安全?
答:a.用对称密码对消息及附加在其后的散列码加密。

b.用对称密码仅对散列加密。

c.用公钥密码和发送方的密钥仅对散列加密。

d.若寄希望保证保密性有希望有数字签名,则先用发送方的密钥对散列码加密
e.该方法使用散列函数但不使用加密函数来进行消息认证。

f.如果对整个消息和散列码加密,则(e)中的方法可提供保密性。

8.为了攻击MAC算法必须要恢复密钥吗?
答:不需要。

9.安全散列函数需要具有哪些特性?
答:1.H 可应用于任意大小的数据块。

2.H产生定长的输出。

3.对任意给定的x,计算H(x)比较容易,用硬件和软件均可实现。

4.对任意给定的散列码h,找到满足H(x)=h的x在计算上是不可行的,有些文献中称之为单向性。

5.对任何给定的分组x,找到满足y≠x且H(x)=H(y)的y在计算上是不可行的,我们有时称之为抗弱碰撞性。

6.找到任何满足H(x)=H(y)的偶对(x,y)在计算上是不可行的。

我们有时候称之为抗强碰撞性。

10.抗弱碰撞和抗强碰撞之间的区别是什么?
答:碰撞key1不等于key2,有h(key1)=h(key2),这种现象称为碰撞。

抗弱碰撞性:对于任意给定的数据块x,找到满足H(y)=H(x)的y不等于x在计算是不可行的。

抗强碰撞行:找到满足H(x)=H(y)的任意一对(x,y)在计算上是不可行的。

11.散列函数中的压缩函数的作用是什么?
答:设计安全散列函数可归约为设计具有抗碰撞能力的压缩函数问题,并且该压缩函数的输入是定长的。

相关主题