当前位置:文档之家› 网络与信息安全概论,第十一章 作业

网络与信息安全概论,第十一章 作业

网络与信息安全概论11章课后习题
一、思考题:
11.1 消息认证是为了对付哪些类型的攻击?
答:伪装(假冒)、篡改内容、修改顺序、修改时间(包括重放)
11.2 消息认证或数字签名方法有哪两层功能?
答:任何消息认证或数字签名机制基本分两步:
产生认证符(是一个用来认证消息的值)的函数;
将该函数作为原语使接收方可以验证消息真实性的认证协议。

11.3 产生消息认证有哪些方法?
答:用于消息认证的最常见的密码技术是消息认证码和安全散列函数。

MAC是一种需要使用密钥的算法,以可变长度的消息和密钥作为输入,产生一个认证码。

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

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

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

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

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

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

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

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

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

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

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

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

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

11.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)在计算上是不可行的。

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

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

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

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

11.11 散列函数中的压缩函数的作用是什么?
答:压缩函数将一个较长的、固定长度的输入处理后返回一个较短的、固定长度的输出。

Hash函数是被设计为基于通过特定压缩函数的不断重复“压缩”输入的分组和前次压缩处理的结果的过程,直到整个消息都被压缩完毕,最后的输出作为整个消息的哈希值。

在这个过程中,任意长度的消息被破碎成一定长度的块,块的长度取决于压缩函数;并且出于安全的角度对未填满的块儿做相应的伪数据填充,这样的消息的大小的块大小的整数倍。

然后这些块儿按顺序处理,处理过的数据块作为Hash的输入和当前的消息块儿一同作用生成该消息的哈希。

相关主题