教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 政务民生 >

《信息安全原理与技术》(第2版)习题答案(5)

来源:网络收集 时间:2026-01-21
导读: 本原根α为7。A和B分别选择秘密数为5和12。求共享的密钥。 解:由题意得 XA=5, XB=12,则 YA=aXAmod p=75 mod 71=51, 故K=YAXBmod p=5112 mod 71=30。 4.12编写RSA加密和解密程序。 解:int encrypt(int m,int e,in

本原根α为7。A和B分别选择秘密数为5和12。求共享的密钥。 解:由题意得 XA=5, XB=12,则 YA=aXAmod p=75 mod 71=51, 故K=YAXBmod p=5112 mod 71=30。

4.12编写RSA加密和解密程序。 解:int encrypt(int m,int e,int n)

{

int c,i,k=1;

for(i=1;i<=e;i++) k=k*m; c=k%n; return c; }

int decrypt(int c,int d,int n) {

int m,i,k=1;

for(i=1;i<=d;i++) k=k*c; m=k%n; return m; }

第5章

5.1为什么需要消息认证?

答:网络安全的威胁来自于两个方面:一是被动攻击,攻击者只是通过侦听和截取等手段被动的获取数据,并不对数据进行修改;一是主动攻击,攻击者通过伪造、重放、篡改、改变顺序等手段改变数据。对于这些应用中,仅提供保密性是远远不够的。认证则是防止主动攻击的重要技术。认证的目的主要有两个:第一,验证消息的发送者是合法的,不是冒充的,这称为实体认证,包括对信源、信宿等的认证和识别;第二,验证信息本身的完整性,这称为消息认证,验证数据在传送或存储过程中没有被篡改、重放或延迟等。

5.2 SHA中使用的基本算术和逻辑函数是什么?

答:SHA-512中最核心的处理就是对单个512分组处理的80轮的每一轮的处理,其运算如下定义:

T1=h+Ch(e,f,g)+(∑1512e)+Wt+Kt T2=(∑0512 a)+Maj(a,b,c) a=T1+T2 b=a c=b d=c e=d+T1 f=e g=f h=g

21

其中:

t:步骤数,0≤t≤79。

Ch(e,f,g)=(e AND f)⊕(NOT e AND g) 条件函数,如果e,则f,否则g。

Maj(a,b,c)=(a AND b) ⊕(a AND c) ⊕(b AND c),函数为真仅当变量的多数(2或3)为真。 (∑0512 a)=ROTR28(a) ⊕ROTR34(a) ⊕ROTR39(a) (∑1512 e)= ROTR14(e) ⊕ROTR18(e) ⊕ROTR41(e) Wt:64位,从当前的512位消息分组导出 Kt:64位常数 +:模264加

5.3一个安全的散列函数需要满足的特性有哪些?

答:(1) H可以应用于任意长度的数据块,产生固定长度的散列值;

(2) 对每一个给定的输入m,计算H(m)是很容易的;

(3) 给定Hash函数的描述,对于给定的散列值h,找到满足H(m) = h的m在计算上是不可行的;

(4) 给定Hash函数的描述,对于给定的消息m1,找到满足m2?m1且H(m2)=H(m1)的m2

在计算上是不可行的;

(5)找到任何满足H(m1)=H(m2)且m1 ? m2的消息对(m1, m2)在计算上是不可行的。

5.4什么是生日攻击?

答:生日攻击方法没有利用Hash函数的结构和任何代数弱性质,它只依赖于消息摘要的长度,即Hash值的长度。这种攻击对Hash函数提出了一个必要的安全条件,即消息摘要必须足够长。 Yuval的生日攻击法描述如下:

(1) 合法的签名方对于其认为合法的消息愿意使用自己的私钥对该消息生成的m位的散列值进行数字签名。

(2) 攻击者为了伪造一份有(1)中的签名者签名的消息,首先产生一份签名方将会同意签名的消息,再产生出该消息的2m/2种不同的变化,且每一种变化表达相同的意义(如:在文字中加入空格、换行字符)。然后,攻击者再伪造一条具有不同意义的新的消息,并产生出该伪造消息的2m/2种变化。

(3) 攻击者在上述两个消息集合中找出可以产生相同散列值的一对消息。根据“生日悖论”理论,能找到这样一对消息的概率是非常大的。如果找不到这样的消息,攻击者再产生一条有效的消息和伪造的消息,并增加每组中的明文数目,直至成功为止。

(4) 攻击者用第一组中找到的明文提供给签名方要求签名,这样,这个签名就可以被用来伪造第二组中找到的明文的数字签名。这样,即使攻击者不知道签名私钥也能伪造签名。

5.5散列函数和消息认证码有什么区别?各自可以提供什么功能?

答:消息认证码和散列函数都属于认证函数。简单来说,消息认证码是一种使用密钥的认证技术,它利用密钥来生成一个固定长度的短数据块,并将该数据块附加在消息之后。而散列函数是将任意长的消息映射为定长的hash值的函数,以该hash值作为认证符。散列函数也称为消息的“指纹”。但是散列函数用于认证时,通常和数字签名结合使用。

它们都可以提供消息认证,认证内容包括:消息的源和宿;消息内容是否曾受到偶然的或有意的篡改;消息的序号和时间栏。

22

5.6数字签名和散列函数的应用有什么不同? 答:散列函数可以被称为是消息的“指纹”,它可以用来对于消息生成一个固定长度的短数据块。它可以和数字签名结合提供对消息的认证。由于数字签名算法在对长的消息进行签名的时候需要先分块再分别签名,速度很慢,所以采用对消息的散列值进行签名可以提供效率并提供认证。数字签名中需要使用私钥,只有拥有私钥的用户才可以提供数字签名,数字签名可以解决的问题包括:否认:发送方否认发送过或签名过某个消息;伪造:用户A伪造一份消息,并声称该消息来自B;冒充:用户A冒充其他用户接收或发送报文;篡改:消息接收方对收到的消息进行篡改。这些问题散列函数是单独解决不了的。

5.7数字签名需要满足哪些条件? 答:数字签名需要满足的条件包括:

[1] 签名的结果必须是与被签名的消息相关的二进制位串;

[2] 签名必须使用发送方某些独有的信息(发送者的私钥),以防伪造和否认; [3] 产生数字签名比较容易; [4] 识别和验证签名比较容易;

[5] 给定数字签名和被签名的消息,伪造数字签名在计算上是不可行的。 [6] 保存数字签名的拷贝,并由第三方进行仲裁是可行的。

5.8给出几种数字签名技术,分析其优缺点。

答:数字签名标准:DSA的安全性是建立在求解离散对数难题之上的,算法基于ElGamal和Schnorr签名算法,其后面发布的最新版本还包括基于RSA和椭圆曲线密码的数字签名算法。这里给出的算法是最初的DSA算法。只提供数字签名功能的算法,虽然它是一种公钥密码机制,但是不能像RSA和ECC算法那样还可以用于加密或密钥分配。

仲裁数字签名:仲裁签名中除了通信双方外,还有一个仲裁方。发送方A发送给B的每条签名的消息都先发送给仲裁者T,T对消息及其签名进行检查以验证消息源及其内容,检查无误后给消息加上日期再发送给B,同时指明该消息已通过仲裁者的检验。因此,仲裁数字签名实际上涉及到多余一步的处理,仲裁者的加入使得对于消息的验证具有了实时性。 盲签名:允许消息发送者先将消息盲化,而后让签名者对盲化的消息进行签名,最后消息拥有者对签名除去盲因子,得到签名者关于原消息的签名。它除了满足一般的数字签名条件外,还必须满足下面的两条性质:

1. 签名者不知道其所签名的消息的具体内容。

2. 签名消息不可追踪,即当签名消息被公布后,签名者无法知道这是他哪次的签署的。 盲签名主要用于电子商务等等领域。

第6章

6.1解释身份认证的基本概念。 答:身份认证是指计算机及网络系统确认操作者身份的过程。它用来防止计算机系统被非授权用户或进程侵入,保证以数字身份进行操作的操作者就是这个数字身份合法的拥有者。

6.2简述使用口令进行身份认证的优缺点。

答:口令认证的优点就是简单,易于实现。口令认证的不足之处是容易受到攻击,主要的攻击方式有窃听、重放、中间人攻击、口令猜测等。

23

6.3 …… 此处隐藏:4635字,全部文档内容请下载后查看。喜欢就下载吧 ……

《信息安全原理与技术》(第2版)习题答案(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/447213.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)