1.列举消息认证的三种方法。 正确答案:
答:消息加密,消息验证码,哈希函数
2.什么是MAC? 正确答案:
答:一种认证技术利用私钥产生一小块数据(任意长度消息计算出固定长度数据),称之为消息认证码MAC,将其附到消息上,它与消息所有比特都有关,关联每一位比特。
3.简述教材图3.2所示的三种方案。 正确答案:
答:a. 消息摘要可用传统密码算法加密:从源消息计算哈希码,再使用对称加密,并加密后的哈希值附加到消息。在接收端,通过接收到的消息使用相同的算法计算哈希码。同时对接收到的加密哈希码使用相同的密钥解密,并与计算的哈希码进行比较,相同则可认为消息是完整的;如果只有发送者和接收者共享密钥,则保密性是能保证的。 b. 除公钥加密解密过程不同外,其它操作与(a)相同;发送方使用发送方的私钥加密哈希码,接收方用发送方公钥解密哈希码。消息用公钥方式加密;对H加密的方法优势:(1)既能提供数字签名又能提供消息认证;(2)不需要在通信各方之间分发密钥。 c. 当A要给B传送消息时,A计算秘密值与消息串接后的散列函数:MDM =H(SABǁM)。 发送[MǁMDM]给B。由于B拥有SAB,能重新计算H(SABǁM),验证MDM
4.信息通信中,可信具体是指什么? 正确答案:
答:可信:当消息、文件、文档或其他数据集合是真实的且来自合法来源,则称其为可信
5.什么是消息认证,具体包括哪些方面的认证? 正确答案:
答:消息认证是一种允许通信者验证所收消息是否可信的措施。 可信:当消息、文件、文档或其他数据集合是真实的且来自合法来源,则称其为~。
认证包括三个方面:验证消息的内容可信(有没有被篡改);验证来源是否可信;验证消息的时效性(消息有没有被人为地延迟或重放)以及两实体之间消息流的相对顺序。
6.简述加密与认证区别与联系。 正确答案:
答:消息认证与消息加密是两个独立的功能。 为满足安全需求,认证和加密都有其应用场所。 加密可以实现一定程序的认证功能,但消息认证主要靠认证标签。 很多加密算法可以用来生成消息认证码。 消息认证码的实现过程MACM = F(KAB,M)类似于加密。不同点是认证算法不需要可逆,而可逆对于解密则是必需的。 由于认证函数的数学特性,与加密相比它更不容易被攻破
8.为什么说,与加密相比认证更不容易被攻破? 正确答案:
答:认证算法的输入是任意长度的,而其输出为固定长度的,典型的有16或32比特的MAC。 认证码的生成算法MACM = F(KAB,M) 可见尝试不同的KAB,可计算出不同的MACM,正如尝试不同的M计算出不同的MACM一样。由于M与MACM比例非常大(假设原消息为1024bit,认证码长为128bit时为5.2*10269:1),因此,K尝试成功时并不代表找到了正确的K。
9.为什么仅用散列函数只能实现一定程度消息认证? 正确答案:
答:与MAC不同的是散列函数不需要密钥输入。为了认证消息,消息摘要随消息一起以可信的形式传送。 但如果消息遭受人为攻击,则攻击者完全可以使用相同的散列算法来生成新的消息摘要来代替原消息的摘要。 因此,仅用散列函数只能实现一定程度消息认证,也就是只能防止消息传输出错,不能防止攻击。
10.无论是使用对称还是非对称加密技术对消息摘要加密与对整个消息加密来实现认证的方法相比,前者具有什么优势? 正确答案:
答:软件加密速度非常低时: 虽然每条消息需加密的数据量很少,但是也可能会形成一个稳定的消息流输入和输出系统。 硬件加密成本不容忽视。用廉价芯片实现DES是可行的,但如果网络中的所有节点都必须有该硬件,则总成本太大。 硬件加密对大批量数据来说具有优势。但对于小块数据,将会有大量时间花费在前期的初始化/调用上面。 加密算法可能受专利保护。
11.消息认证 正确答案:
消息认证是一种允许通信者验证所收消息是否可信的措施。
12.消息摘要 正确答案:
摘要函数可以将任意长度的消息M映射成一个固定长度散列值h,此散列值即为消息摘要。
13.单向散列函数 正确答案:
散列函数又叫哈希函数 (Hash Function)、Hash函数、杂凑函数、摘要函数、数字指纹,是将任意长度的消息M映射成一个固定长度散列值h的函数H:h=H(M)。
14.抗弱碰撞性 正确答案:
抗弱碰撞性:对于任意给定的数据块x,找到满足H(y)=H(x)的y≠x在计算上是不可行的。满足这一特性的散列函数被称为具有抗第二原像攻击性,有时也称为具有抗弱碰撞攻击性。
15.抗强碰撞性 正确答案:
抗强碰撞性:找到满足H(x) = H(y)的任意一对(x,y)在计算上是不可行的。满足这一特性的散列函数被称为抗碰撞性,有时也被称为抗强碰撞性。
16.对于消息认证,散列函数必须具有什么性质才可用? 正确答案:
答:(1)H可适用于任意长度的数据块。 (2)H能生成固定长度的输出。 (3)对于任意给定的x,计算H(X)相对容易,并且可以用软/硬件方式实现。 (4)对于任意给定值h,找到满足H(x)=h的x在计算上不可行。满足这一特性的散列函数称为具有单向性,或具有抗原像攻击性。 (5)对于任意给定的数据块x,找到满足H(y)=H(x)的y≠x在计算上是不可行的。满足这一特性的散列函数被称为具有抗第二原像攻击性,有时也称为具有抗弱碰撞攻击性。 (6)找到满足H(x) = H(y)的任意一对(x,y)在计算上是不可行的。满足这一特性的散列函数被称为抗碰撞性,有时也被称为抗强碰撞性。
17.假设H(m)是抗碰撞散列函数,它映射任意比特长的消息为n比特的散列值。对于所有的消息x、x’,且x≠x’,则H(x)≠H(x’)成立吗?解释你的答案。 正确答案:
答:该陈述是错误的。这样的函数不能是一对一的,因为函数的输入的可能性个数是任意的,但是输出的可能性个数2n。因此,有多个输入映射到相同的输出,也就是说,当x≠x’时,有可能H(x)=H(x’)。
