网络与信息安全--期末复习题Word下载.doc
《网络与信息安全--期末复习题Word下载.doc》由会员分享,可在线阅读,更多相关《网络与信息安全--期末复习题Word下载.doc(15页珍藏版)》请在冰豆网上搜索。
密钥产生、分配、存储、销毁等问题,统称为密钥管理。
这是影响系统安全的关键因素,即使密码算法再好,若密钥管理问题处理不好,就很难保证系统的安全保密。
单钥体制对明文消息的加密有两种方式:
一是明文消息按字符(如二元数字)逐位地加密,称之为流密码;
另一种是将明文消息分组(含有多个字符),逐组地进行加密,称之为分组密码。
单钥体制不仅可用于数据加密,也可用于消息的认证。
双钥体制是由Diffie和Hellman于1976年首先引入的。
采用双钥体制的每个用户都有一对选定的密钥:
一个是可以公开的,可以像电话号码一样进行注册公布;
另一个则是秘密的。
因此双钥体制又称为公钥体制。
双钥密码体制的主要特点是将加密和解密能力分开,因而可以实现多个用户加密的消息只能由一个用户解读,或由一个用户加密的消息而使多个用户可以解读。
前者可用于公共网络中实现保密通信,而后者可用于实现对用户的认证。
三.扩散和混淆
扩散和混淆是由Shannon提出的设计密码系统的两个基本方法,目的是抗击敌手对密码系统的统计分析。
所谓扩散,就是将明文的统计特性散布到密文中去,实现方式是使得明文的每一位影响密文中多位的值,等价于说密文中每一位均受明文中多位影响。
混淆是使密文和密钥之间的统计关系变得尽可能复杂,以使敌手无法得到密钥。
因此即使敌手能得到密文的一些统计关系,由于密钥和密文之间的统计关系复杂化,敌手也无法得到密钥。
四.什么是密码分组链接(CBC)模式,请画出加密\解密示意图
它一次对一个明文分组加密,每次加密使用同一密钥,加密算法的输入是当前明文分组和前一次密文分组的异或,因此加密算法的输入不会显示出与这次的明文分组之间的固定关系,所以重复的明文分组不会在密文中暴露出这种重复关系。
五.杂凑(Hash)函数应满足的条件
杂凑函数应满足以下条件:
①函数的输入可以是任意长。
②函数的输出是固定长。
③已知x,求H(x)较为容易,可用硬件或软件实现。
④已知h,求使得H(x)=h的x在计算上是不可行的,这一性质称为函数的单向性,称H(x)为单向杂凑函数。
⑤已知x,找出y(y≠x)使得H(y)=H(x)在计算上是不可行的。
如果单向杂凑函数满足这一性质,则称其为弱单向杂凑函数。
⑥找出任意两个不同的输入x、y,使得H(y)=H(x)在计算上是不可行的。
如果单向杂凑函数满足这一性质,则称其为强单向杂凑函数。
第⑤和第⑥个条件给出了杂凑函数无碰撞性的概念,如果杂凑函数对不同的输入可产生相同的输出,则称该函数具有碰撞性。
六.迭代型杂凑函数的一般结构
其中函数的输入M被分为L个分组Y0,Y1,…,YL-1,每一个分组的长度为b比特,最后一个分组的长度不够的话,需对其做填充。
算法中重复使用函数f
f的输入有两项,一项是上一轮(第i-1轮)输出的n比特值CVi-1,称为链接变量,另一项是算法在本轮(第i轮)的b比特输入分组Yi。
f的输出为n比特值CVi,CVi又作为下一轮的输入。
算法开始时还需对链接变量指定一个初值IV,最后一轮输出的链接变量CVL即为最终产生的杂凑值。
通常有b>
n,因此称函数f为压缩函数。
算法可表达如下:
CV0=IV=n比特长的初值;
CVi=f(CVi-1,Yi-1);
1≤i≤L;
H(M)=CVL
算法的核心技术是设计无碰撞的压缩函数f,而敌手对算法的攻击重点是f的内部结构,由于f和分组密码一样是由若干轮处理过程组成,所以对f的攻击需通过对各轮之间的位模式的分析来进行,分析过程常常需要先找出f的碰撞。
由于f是压缩函数,其碰撞是不可避免的,因此在设计f时就应保证找出其碰撞在计算上是不可行的。
六.AES高级加密标准的轮函数由4个不同的计算部件组成,分别是:
字节代换(ByteSub)、行移位(ShiftRow)、列混合(MixColumn)、密钥加(AddRoundKey)。
根据下图写出字节代换(ByteSub)、行移位(ShiftRow)、
(1)字节代换(ByteSub)
字节代换是非线形变换,独立地对状态的每个字节进行。
代换表(即S-盒)是可逆的,由以下两个变换的合成得到:
①首先,将字节看作GF(28)上的元素,映射到自己的乘法逆元,‘00’映射到自己。
②其次,对字节做如下的(GF
(2)上的,可逆的)仿射变换:
(2)行移位(ShiftRow)
行移位是将状态阵列的各行进行循环移位,不同状态行的位移量不同。
第0行不移动,第1行循环左移C1个字节,第2行循环左移C2个字节,第3行循环左移C3个字节。
位移量C1、C2、C3的取值与Nb有关,由表3.10给出。
(见66页表3.10)
按指定的位移量对状态的行进行的行移位运算记为ShiftRow(State)图3.20是行移位示意图。
十三、根据下图S-DES收、发双方共享的10位密钥,计算出两个8位子密钥分别用在加密、解密的不同阶段。
图中的P10、P8如下表,初始10位密钥为(1010000010)求图中的K1、K2
P10
3
5
2
7
4
10
1
9
8
6
P8
LS-1
循环左移一位
LS-2
循环左移二位
初始10位密钥为(1010000010)
P10=1000001100
LS1左=00001
LS1右=11000
K1=P8=10010010
LS2左=00100
LS2右=00011
K2=P8=00001001
十四、根据下图S-DES加密算法计算出当明文M=11110011,求密文?
算法中的变换如表
IP
IP-1
E/P
P4
S0=
S1=
解答如下:
M=11110011
(S0)1=00
(S1)1=10
(S0)2=10
(S1)2=00
明文C=10010110
十六、是密钥分配的一个实例。
根据下图,假定两个用户A、B分别与密钥分配中心KDC(keydistributioncenter)有一个共享的主密钥KA和KB。
A希望与B建立一个共享的一次性会话密钥,根据下图解释可通过几步来完成?
密钥分配实例
①A向KDC发出会话密钥请求。
表示请求的消息由两个数据项组成,第1项是A和B的身份,第2项是这次业务的惟一识别符N1,称N1为一次性随机数,可以是时戳、计数器或随机数。
②KDC为A的请求发出应答。
应答是由KA加密的消息,因此只有A才能成功地对这一消息解密,并且A可相信这一消息的确是由KDC发出的。
消息中包括A希望得到的两项内容:
•一次性会话密钥KS;
•A在①中发出的请求,包括一次性随机数N1,
此外,消息中还有B希望得到的两项内容:
•A的身份(例如A的网络地址)IDA。
这两项由KB加密,将由A转发给B,以建立A、B之间的连接并用于向B证明A的身份。
③A存储会话密钥,并向B转发EKB[KS‖IDA]。
因为转发的是由KB加密后的密文,所以转发过程不会被窃听。
B收到后,可得会话密钥KS,并从IDA可知另一方是A,而且还从EKB知道KS的确来自KDC。
这一步完成后,会话密钥就安全地分配给了A、B。
然而还能继续以下两步工作:
④B用会话密钥KS加密另一个一次性随机数N2,并将加密结果发送给A。
⑤A以f(N2)作为对B的应答,其中f是对N2进行某种变换(例如加1)的函数,并将应答用会话密钥加密后发送给B。
十七、假定A、B双方已完成公钥交换,根据下图可按什么步骤建立共享会话密钥?
:
图5.7具有保密性和认证性的密钥分配
①A用B的公开钥加密A的身份IDA和一个一次性随机数N1后发往B,其中N1用于惟一地标识这一业务。
②B用A的公开钥PKA加密A的一次性随机数N1和B新产生的一次性随机数N2后发往A。
因为只有B能解读①中的加密,所以B发来的消息中N1的存在可使A相信对方的确是B。
③A用B的公钥PKB对N2加密后返回给B,以使B相信对方的确是A。
④A选一会话密钥KS,然后将M=EPKB[ESKA[KS]]发给B,其中用B的公开钥加密是为保证只有B能解读加密结果,用A的秘密钥加密是保证该加密结果只有A能发送。
⑤B以DPKA[DSKB[M]]恢复会话密钥。
二十二、根据下图说明PGP中通过数字签字提供认证的过程?
①发送方产生消息M。
②用SHA产生160比特长的消息摘要H(M)。
③发送方用自己的秘密钥SKA按RSA算法对H(M)加密,并将加密结果EPSKA[H(M)]与M链接后发送。
④接收方用发送方的公开钥对EPSKA[H(M)]解密得H(M)。
⑤接收方对收到的M计算消息摘要,并与④中的H(M)比较。
如果一致,则认为M是真实的。
过程中结合使用了SHA和RSA算法,类似地也可结合使用DSS算法和SHA算法。
二十三、根据下图说明PGP为传输或存储的文件提供加密的保密性认证业务的过程?
①发送方产生消息M及一次性会话密钥KS。
②用密钥KS按CAST-128(或IDEA或3DES)加密M。
③用接收方的公开钥PKB按RSA算法加密一次性会话密钥KS,将②、③中的两个加密结果链接起来发往接收方。
④接收方用自己的秘密钥按RSA算法恢复一次性会话密钥。
⑤接收方用一次性会话密钥恢复发送方发来的消息。
二十四、根据下图说明同一消息同时提供保密性与认证性的过程?