计算机网络与信息安全复习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
密码算法与C++实现课程考试题目
1、密码分析主要有哪些方式?各有何特点?(10分)
【答】密码分析(或称攻击)可分为下列四类:
唯密文分析(攻击),密码分析者取得一个或多个用同一密钥加密的密文
2) 已知明文分析(攻击),除要破译的密文外,密码分析者还取得一些用同一密钥加密的明密文对
3) 选择明文分析(攻击),密码分析者可取得他所选择的任何明文所对应的密文(当然不包括他要恢复的明文),这些明密文对和要破译的密文是用同一密钥加密的
4) 选择密文分析(攻击),密码分析者可取得他所选择的任何密文所对应的明文(要破译的密文除外),这些密文和明文和要破译的密文是用同一解密密钥解密的,它主要应用于公钥密码体制。
2、试用形式化描述公钥密码体制。(10分)
【答】一个公钥密码体制是这样的一个5元组{P, C, K ,E ,D },且满足如下的条件:
1.P 是可能消息的集合;
2.C 是可能的密文的集合;
K 是一个可能密钥的有限集;
4.
任意k ∈K,有一个加密算法 和相应的解密算法 ,使
得
和 分别为加密解密函数,满足d k (e k (x))=x, 这里 x ∈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 为多少?共享E e k ∈D d k ∈C P e k →:P C d k →:
密钥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)的数字签名
由于秘密密钥的数字签名技术需要引入第三方机构,而人们又很难保证中央权威的安全性、可靠性,同时这种机制给网络管理工作带来很大困难,所以迫切需要一种只需收、发双方参与就可实现的数字签名技术,而公开密钥的加密体制很好地解决了这一难题。
这种数字签名方法必须同时使用收、发双方的解密密钥和公开密钥才能获得原文,也能够完成发方的身份认证和收方无法伪造报文的功能。因为只有发方有其解密密钥,所以只要能用其公开密钥加以还原,发方就无法否认所发送的报文。
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以事先定义的方法,即前面所述的方法从认证中心取得证书,获得发
送方A的公钥,并检查A的证书是否逾期或被注销。
b)验证签名,以确定数据的完整性。
c)检查此文件的识别数据,B是否是此文件的收方。
d)检查时间戳Ta是否在有效期限之内。