搜索
您的当前位置:首页正文

计算机网络与信息安全复习题及答案

来源:筏尚旅游网
密码算法与C++实现课程考试题目

1、密码分析主要有哪些方式?各有何特点?(10分)

【答】密码分析(或称攻击)可分为下列四类:

唯密文分析(攻击),密码分析者取得一个或多个用同一密钥加密的密文 2) 已知明文分析(攻击),除要破译的密文外,密码分析者还取得一些用同一密钥加密的明密文对 3) 选择明文分析(攻击),密码分析者可取得他所选择的任何明文所对应的密文(当然不包括他要恢复的明文),这些明密文对和要破译的密文是用同一密钥加密的

4) 选择密文分析(攻击),密码分析者可取得他所选择的任何密文所对应的明文(要破译的密文除外),这些密文和明文和要破译的密文是用同一解密密钥解密的,它主要应用于公钥密码体制。

2、试用形式化描述公钥密码体制.(10分)

【答】一个公钥密码体制是这样的一个5元组{P, C, K,E ,D },且满足如下的条件:

1.P是可能消息的集合; 2.C是可能的密文的集合; K是一个可能密钥的有限集; 4.

任意k∈K,有一个加密算法 和相应的解密算法 ,使得 和 分别为加密解密函数,满足d(()=x, 这里 x kekx)∈P;

5.对于所有的K,在已知E 的情况下推出D 是计算上不可能的;

3、已知RSA密码体制的公开密钥为n=55,e=7,试加密明文消息m=10, 通过求解p,q和d 破译这种密码体制,设截获到密码文C=35,求出它对应的明码文。(10分)

【答】(1)根据加密公式代入:C=M^e(mod n)=10^7( mod 55)=10 n=pq 由p、q分别为素数,n为55可知,p=5,q=11,z=(p-1)(q-1)=40 由ed= 1(mod z), 得7d=1mod 40,且d与z互质,得d=23 (2)根据解密公式M=C^d(mod n)=35^23(mod 55)=30

4、考虑一个常用质数q=71,原根a=7的Diffie—Hellman方案。(20分)

(1)如果用户A的私钥为Xa=5,,则A的公钥Ya为多少?(5分) (2)如果用户B的私钥为Xb=12,,则B的公钥钥Yb为多少?共

1

享密钥K为多少?(7分)

(3)如果A 和B想在不安全的信道上交换密钥,试对其交换步骤予以描述。(8分)

【答】(1)Ya=a^Xa mod q=7^5 mod 71=51 (2)Yb= b^Xb mod q=7^12 mod 71=4 k=(Ya)^Xb mod q= 51^12 mod 71=30 (3)

a) 用户A和B协商采用素数q=71及其本原根a=7

b) 用户A用私钥Xa=5,计算Ya=7^5 mod 71=51,并发送给用户B c) 用户B用私钥Xb=12,计算Yb=7^12 mod 71=4,并发送给用户A d) A计算k=(Yb)^Xa mod q= 4^5 mod 71=30 e) B计算k’=(Ya)^Xb mod q= 51^12 mod 71=30

K和k'即为秘密密钥

5、什么是单向函数?它在密码学中有什么意义?(10分)

【答】不严格地说,一个单向函数是一个函数 ,由x计算函数值y是容易的,但由y计算函数的逆 是困难的(在某种平均意义下),“容易”和“困难”的确切含意由计算复杂性理论定义。单向函数是现代密码学的一个基本工具,大部分安全的密码系统(包括协议)的构造依赖于“单向函数存在”这一假设,所以十分重要.

6、两种常用的数字签名标准是什么?对这两种签名的原理予以图示和解释,并说明其不同?(20分)

【答】两种常用的数字签名标准是秘密密钥(Secret Key)的数字签名和公开密钥(Public Key)的数字签名。

(1)秘密密钥(Secret Key)的数字签名

秘密密钥的加密技术指发方和收方依靠事先约定的密钥对明文进行加密和解密的算法,它的加密密钥和解密密钥为同一密钥,只有发方和收方才知道这一密钥(如DES体制)。由于双方都知道同一密钥,无法杜绝否认和篡改报文的可能性,所以必须引入第三方加以控制。

秘密密钥的加密技术成功地实现了报文的数字签名,采用这种方法几乎使危

害报文安全的可能性降为零。但这种数字签名技术也有其固有的弊端。在全部签名过程中,必须引入第三方中央权威,同时必须保证中央权威的安全性和可靠性,这就为中央权威的管理带来了很大的困难,这问题可以由下面的公开密钥的数字签名技术来解决。

(2)公开密钥(Public Key)的数字签名

由于秘密密钥的数字签名技术需要引入第三方机构,而人们又很难保证中央权威的安全性、可靠性,同时这种机制给网络管理工作带来很大困难,所以迫切需要一种只需收、发双方参与就可实现的数字签名技术,而公开密钥的加密体制

2

很好地解决了这一难题.

这种数字签名方法必须同时使用收、发双方的解密密钥和公开密钥才能获得

原文,也能够完成发方的身份认证和收方无法伪造报文的功能.因为只有发方有其解密密钥,所以只要能用其公开密钥加以还原,发方就无法否认所发送的报文。

7、身份认证中证书的验证有哪三种方式,并对其功能和认证过程进行描述。(20分)

【答】(1)单向认证

单向认证,只包含一条消息,可达到下列认证的功能:

1. 由发送方送出的身份识别数据,可以确认发送方的身份。 2. 由发送方送出的身份识别数据,确实是要送给接收方的。

3. 可以确保发送方送出的身份识别数据的完整性,且可确认数据是发送方所发送的。

其认证过程如图1所示,详细工作方式如下:

① 发送方A先产生一不重复的数字Ra用以抵御重放攻击、防止伪造。 ② 发送方A将下列信息送至接收方B: A{ Ta, Ra, B}

X(I)表示X(在此为A)对数据I(此即为Ta,Ra,B)的签名。

Ta可以包含一个或两个时间,一为识别数据产生的时间,另一为该识别数据逾期的时间。

若要以此签名证明某数据(sgnData)的来源,则应表示 A(Ta,Ra,B,sgnData) 若要传送机密数据(EncData)给收方B,例如认证程序之后的通信用的秘密密钥,则可将机密数据加入签名中,信息变成: A(Ta,RA,B,sgnData,BP[encData])

XP[I]表示用X(在此为B)的公开密钥加密数据I.

① 图1 ③

② A B收到后,执行下列动作: B ③ 收方a) B以事先定义的方法,即前面所述的方法从认证中心取得证书,获得发送

方A的公钥,并检查A的证书是否逾期或被注销。 b) 验证签名,以确定数据的完整性.

c) 检查此文件的识别数据,B是否是此文件的收方。 d) 检查时间戳Ta是否在有效期限之内。 e) 检查Ra是否重复出现过.

(在x.509中建议数字Ra可以包含两部分;一部分是顺序累加的部分,另一部分是真正随机选取的部分.可以检查顺序累加的部分足否重复出现过.) Ra在Ta有效期限之内是有效的.也就是说,对Ra顺序累加的部分,在Ta有效期限之内A不会再使用. (2)双向认证 “双向认证”包含有两道信息,除了前述“单向认证”的发送方送出的信息之外,收方还需产生一道回复信息给发方.而其在安全上达到的功能,除了前面所介绍的“单向认证”所能达到的三项认证功能外,还可达到下列认证功能:

3

1) 由收方送回给发方的身份识别数据,且可确认数据是收方所产生的,信息

的接收端确实是发方。

2) 可以保证由收方送回给发方的身份识别数据的完整性. 3) 双方可以共享身份识别数据中的秘密部分。(可选)

其认证程序如图2所描述,详细工作方式的前三步与“单向认证”相同,自第④步执行方式如下:

④收方B产生一不重复的数字Rb,用以抵御重放攻击, ⑥收方B将下列信息送至发方A: B(Tb,Rb.A,Ra)

Tb可以包含一或两个时间,一为识别数据产生时间,另一为该识别数据逾期时间.若要以此签名证明其数据(sgnData)的来源,可将数据加入签名中,信息变成:

B(Tb,Rb, A,Ra.sgnData)

若要顺便传送机密数据encData给收方B,如认证程序之后的通信用的秘密密钥,则可将机密数据加入签名中,信息变成:

B{Tb,Rb,,A,Ra.sgnData,AP[encData]}

① 图2 ③ ② ⑥ ⑤ ④

发方A收到后,执行下列动作: a) 以 B的公钥验证签名,以确定数据的完整性。 b) 检查此文件的识别数据,A是否此文件的收方。 c) 检查时间戳Tb是否在有效期限之内。

d) 检查Rb是否重复出现过(与单向认证一样,此项根据需要选择是否

检查)。

(3) 三向认证

“三向认证”除了前述的“双向认证”的信息之外,发方还需要再发送一道应答信息给收方。其功能可达到前面双向识别的功能,但是不需要检查时间戳,只需检查不重复随机数是否正确即可。

其认证过程如图3所描述,详细工作方式如下:

前六个步骤与“双向认证”类似,但步骤②与步骤⑤所送出的时间戳Tb以及Ta可以为0,步骤③与步骤⑥不用检查时间戳,自第⑦步骤执行如下:

⑦ 送方A检查收到的不重复数字Ra与步骤①所产生的不重复数字是否相

同。

⑧ 送方A将识别数据A{Rb,B}回传给B。 ⑨ 收方B收到后,执行动作:

a) 以A的公钥验证签名,以确定数据的完整性。

b) 收方B检查收到不重复数字Rb与步骤⑤所产生的不重复数字是否相同。

① 图3 ③ ② A B ④ ⑥ ⑤ ⑧ ⑦ ⑨

⑥ A B 8、概述MD4和MD5算法各自的优缺点?(10分)

4

【答】1) MD4 MD4(RFC 1320)是 MIT 的 Ronald L。 Rivest 在 1990 年设计的,MD 是 Message Digest 的缩写。它适用在32位字长的处理器上用高速软件实现—-它是基于 32 位操作数的位操作来实现的. 2) MD5 MD5(RFC 1321)是 Rivest 于1991年对MD4的改进版本.它对输入仍以512位分组,其输出是4个32位字的级联,与 MD4 相同.MD5比MD4来得复杂,并且速度较之要慢一点,但更安全,在抗分析和抗差分方面表现更好

9、消息鉴别码(MAC)的原理、构成是什么?(10分)

【答】消息鉴别码(MAC)是以一个报文的公共函数和用于产生一个定长值的密钥作为鉴别符

原理:消息鉴别码是带有秘密密钥的单向散列函数,散列值是预映射的值和密钥的函数.

构成:MAC由预映射和鉴别密钥构成。

10、在RSA公开密钥密码体制中:(20分) (1) 如果p=7,q=11,列出可选的d值;(6分) (2) 如果p=13,q=31,d=7,求e;(6分)

(3) 已知p=5,q=11,d=27,求e并加密“abcdefghij\";(8分)

【答】

(1) z=(p-1)*(q—1)=60,且d与z互质,则d可以是7,11,13,17,19,23,29,31,37,41,43,47,53,59。

(2)z=(p—1)*(q—1)=360,且e*d=1(mod z),即 e*7=1(mod 360),则e=103。

(3)z=(p—1)*(q-1)=40,且e*d=1(modz),即 e*27=1(mod 40),则e=3.n=p*q=55,则公开密匙为(3, 55).

明文a,即a=01,密文C=P^e (mod n) =1^3 (mod 55 )=1; 明文b,即b=02,密文C=P^e (mod n) =2^3 (mod 55)=8;

明文c,即c=03,密文C=P^e (mod n) =3^3 (mod 55)=27; 明文d,即d=04,密文C=P^e (mod n) =4^3 (mod 55)=9; 明文e,即e=05,密文C=P^e (mod n)=5^3 (mod 55)=15; 明文f,即f=06,密文C=P^e (mod n)=6^3 (mod 55)=51; 明文g,即g=07,密文C=P^e (mod n)=7^3 (mod 55)=13; 明文h,即h=08,密文C=P^e (mod n)=8^3 (mod 55)=17; 明文i,即i=09,密文C=P^e (mod n)=9^3 (mod 55)=14; 明文j,即j=10,密文C=P^e (mod n)=10^3 (mod 55)=10; 所以明文abcdefghijk加密后的密文是18279155113171410

11、考虑一个常用质数q=11,原根a=2的Diffie-Hellman方案。(20分)

5

(1)如果用户A的公钥为Ya=9,,则A的私钥Xa为多少?(5分) (2)如果用户B的公钥为Yb=3,,则B的公钥钥Xb为多少?共享密钥K为多少?(7分)

(3)如果A 和B想在不安全的信道上交换密钥,试对其交换步骤予以描述。(8分)

【答】(1)Ya=a^Xa mod q=2^Xa mod 11=9 得2^Xa=64, Xa=6

(2)Yb= b^Xb mod q=2^Xb mod 11=3 得2^Xb=256, Xb=8

k=(Ya)^Xb mod q= 9^8 mod 11=3 (3)

f) 用户A和B协商采用素数q=11及其本原根a=2

g) 用户A用私钥Xa=6,计算Ya=2^6 mod 11=9,并发送给用户B h) 用户B用私钥Xb=8,计算Yb=2^8 mod 11=3,并发送给用户A i) A计算k=(Yb)^Xa mod q= 3^6 mod 11=3 j) B计算k’=(Ya)^Xb mod q= 9^8 mod 11=3

K和k’即为秘密密钥

12、阐述分组密码的四种主要工作模式(15分)

【答】四种模式:ECB、CBC、CFB、OFB 1.ECB——-电子密码本加密方式

ECB直接应用密码算法的工作模式:将明文分成64位的分组,将各分组用给定的密钥进行加密,得到密文分组。将各明文分组按顺序连接起来即得到明文的密文.缺点是:在给定密钥的条件下,同以明文组总是得到同样的密文组,这会暴露明文数据的格式和统计特征。 2.CBC——加密块链接加密方式

每个明文组在加密之前先与前一密文组按位模2求和后,在对结果运用DES算法。对于第一个明文组,由于还没有反馈密文,需设置一个初始向量。CBC模式通过反馈使输出密文与以前的各明文相关,从而实现隐蔽明文图样的目的,但是这也会导致错误传播的产生.

3。CFB——64位加密反馈加密方式

CFB模式将DES作为一个流密码产生器。移位寄存器的最右边64位将送到DES进行加密:将加密结果的最左边n位与n位明文分组作异或运算得到密文组。然后将得到的密文分组送到移位寄存器的最右端,其他位左移n位,最左端n位丢弃。然后继续下一分组的运算.

CFB是密文反馈,对信道错误较敏感,会造成错误传播。 4。OFB——64位输出反馈加密方式

OFB模式也将DES作为流密文产生器,不同的是它讲输出的n位密钥直接反馈至移位寄存器,即DES的输出端.

6

13、数字信封的定义以及与数字签名的区别是什么?(15分)

【答】

1. 数字信封:发送方用一个随机产生的DES密钥加密消息,然后用接收方的公

钥加密DES密钥,称为消息的“数字信封”,将数字信封与DES加密后的消息一起发给接收方.接收者收到消息后,先用其私钥找开数字信封,得到发送方的DES密钥,再用此密钥去解密消息。只有用接收方的RSA私钥才能够找开此数字信封,确保了接收者的身份。

2. 数字签名是指用户用自己的私钥对原始数据的哈希摘要进行加密所得的数

据。信息接收者使用信息发送者的公钥对附在原始信息后的数字签名进行解密后获得哈希摘要,并通过与自己用收到的原始数据产生的哈希摘要对照,便可确信原始信息是否被篡改。这样就保证了数据传输的不可否认性。 3. 数字签名原理中定义的是对原文做数字摘要和签名并传输原文,在很多场

合传输的原文是要求保密的,要求对原文进行加密的数字签名方法是通过“数字信封”的方法来实现。利用“数字信封”就做到了敏感信息在数字签名的传输中不被篡改,未经认证和授权的人,看不见原数据,起到了在数字签名传输中对敏感数据的保密作用。

14、访问控制有哪几种类型,基本原理?(10分)

【答】〕

1. 根据访问控制策略的不同,访问控制一般分为自主访问控制、强制访问控制、

基于角色的访问控制三种.

2. 自主访问控制是目前计算机系统中实现最多的访问控制机制,它是根据访问

者的身份和授权来决定访问模式的。

3. 强制访问控制是将主题和客体分级,然后根据主体和客体的级别标记来决定

访问模式。“强制”主要体现在系统强制主体服从访问控制策略上.

4. 基于角色的访问控制的基本思想是:授权给用户的访问权限通常由用户在一

个组织中但当的角色来确定。它根据用户在组织内所处的角色作出访问授权和控制,但用户不能自主地将访问权限传给他人。这一点是基于角色访问控制和自主访问控制的最基本区别。

15请画出SSL Record Protocol的工作流程图 发送端: 接收端:

16请画出SSL(Secure Sockets Layer)Handshake Protocol的工作流程图

17. 形式化描述RBAC,并解释每个部分的含义 答:RBAC模型定义如下:

7

18.简述IPSec处理IP数据包的工作模式,并画出其ESP封装及AH封装的示意图

答:IPSec处理IP数据包的两种工作模式为:传输模式和隧道模式 传输模式只是对IP数据包的有效负载进行加密或认证,其示意图如下:

传输模式的ESP封装示意图

传输模式的AH封装示意图

隧道模式对整个IP数据包进行加密或认证,其示意图如下:

隧道模式的ESP封装示意图 隧道模式的AH封装示意图

19。根据VPN的组网方式、连接方式的不同及当前应用状况,简述VPN的分类,并说明一个远程访问VPN的各组成部分及功能。 答:根据VPN的组网方式、连接方式的不同及当前应用状况,VPN可分为两种类型:远程访问/移动用户的VPN连接和网关—网关的VPN连接。

一个远程访问的VPN通常由以下部分组成: VPN服务器:接受来自VPN客户机的连接请求 VPN客户机:可以是终端,也可以使路由器

隧道:数据传输通道,流经其中的数据必须经过隧道封装 VPN连接:封装数据、管理隧道的通信标准 传输数据:经过封装、加密后在隧道上传输的数据 公共网络:可共享型网络,如Internet或Intranent.

20。根据RSA的基本原理,分析下面的C程序,并填写相关的空白处,并根据程序流程分析RSA算法的基本流程,并计算当p=5,q=11,

8

d=27时,m=4对应的c为多少

答案: (1)

①r=r%c;

②t=(p—1)*(q-1) ③d值为私有密钥 ④c=candp(m,e,n) ⑤m=candp(c,d,n);

(2)RSA算法的基本流程: a.选择两个很大的素数p、q; b.计算n=pq,

(3)当p=5,q=11,d=27,m=4

时:

z=(p-1)*(q-1)=40,且e*d=1(modz),即 e*27=1(mod 40),则e=3。n=p*q=55,则公开密匙为(3, 55). 当m=4时,密文C=m^e (mod n) =4^3 (mod 55)=9;

9

因篇幅问题不能全部显示,请点此查看更多更全内容

Top