计算机安全重点+课后习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安全服务5种类型
认证访问控制数据保密性数据完整性不可否认性
二、1997年1月,美国NIST向全世界密码学界公开征集AES时对算法的要求
(1)是公开的;(2)为单钥体制分组密码;(3)密钥长度可变,可按需要增大;(4)适于用软件和硬件实现;(5)可以自由地使用,或按符合美国国家标准(ANST)策略的条件使用;
三、主动攻击有哪些形式?
主动攻击包括对数据流进行修改或伪造数据流,可分为四类:伪装、重播、消息修改和拒绝服务。
1、伪装是指某实体假装别的实体。伪装攻击通常还包括其他形式的主动攻击。例如:捕获认证信息,并在真的认证信息之后进行重播,这样,没有权限的实体就通过冒充有权限实体获得了额外的权限。
2、重播是指将获得的信息再次发送以产生非授权的效果。
3、消息修改指修改合法消息的一部分货延迟消息的传输或改变消息的顺序以获得非授权的效果。
4、拒接服务阻止或禁止对通信设施的正常使用或管理。这种攻击可能有具体的目标。比如,某实体可能会查禁所有发向某目的地的消息。拒绝服务的另一种形式是破坏整个网络,它或者是使网络失效,或是使其过载以降低其性能。
四、对称密钥模型5个元素?
明文:原始可理解的消息或数据,是算法的输入。
密文:加密后的形式,作为算法的输出。对于给定的消息,不同的密钥产生不同的密文。密文看上去是随机的数据流,并且其意义是不可理解的。
密钥:加密和解密算法的操作通常都是在一组密钥的控制下进行的,分别称为加密密钥和解密密钥。
加密算法:对明文进行加密操作时所采用的一组规则。
解密算法:接收者对密文解密所采用的一组规则。
2、RSA加密解密(计算)
●选p=7,q=17
则n=pq=119
且φ(n)=(p-1)(q-1)=6×16=96
●取e=5
则d=77
(5×77=385=4×96+1≡1 mod 96)
●公钥(5,119),私钥(77,119)
对M=19加密则
c=M e mod n= 195 mod 119 = 66 mod 119
●解密c=66
M=c d mod n = 6677mod 119=19 mod 119
找素数
选取两个大的随机的素数p,q
计算模n和Euler函数φ(n)
n=pq φ(n)=(p-1)(q-1)
找ed≡1 mod φ(n)
随机取一个数e(与φ(n)互素),用扩展Euclid算法求d即可
d保密,(d, n)是私钥 KU
发布(e,n),这是公钥KR销毁p、q
综合题
9.11对于RSA加密函数,F(M)=M k modN,k是保密的,这个函数被认为是单向的。但对于2k modN,3k modN,4k modN,……这样的序列不适合一次一密?
Chinese:
解:不适合,设2k modN=A, 3k modN=B 则可推出:4k modN=A2;6k modN=AB; 8k modN=A3已知前面两个元素,就很容易计算出后续的元素。
English:
9.11 3rd element, because it equals to the 1st squared,
5th element, because it equals to the product of 1st and 2nd
7th element, because it equals to the cube of 1st,
etc.
9.15简述协议:
<1>A将(A,E(PU b,M),B)发送给B
<2>B发送应答(B,E(PU a,M),A)给A的不安全性。
,M),B)
解:A->B (A,E(PU
b
被C截获,由于C无B的私钥,而无法解密,直接将信息发给B:
,M),B)
C->B (C,E(PU
b
B接收到后用C的公钥发给C:
,M),C)
B ->
C (B,E(PU
c
最后,C用自己的私钥解密得到B发送的信息
9.15 1) Adversary X intercepts message sent by A to B, i.e. [A, E(PU b, M), B]
2) X sends B [X, E(PU b, M), B]
3) B acknowledges receipt by sending X [B, E(PU x, M), X]
4) X decrypts E(PU x, M) using his secret decryption key, thus getting M 9.18这个习题说明了选择密文攻击的简单应用。Bob截获了一份发给Alice的密文C,该密文是用Alice的公钥e加密的。Bob想获得原始消息M=C d modn。Bob选择了一个小于n的随机数r,并计算:Z=r e modn X=ZCmodn T=r-1modn
接着,Bob让Alice用她的私钥对X进行认证,从而对X进行解密。Alice返回Y=X d modn。请说明Bob如何利用获得的信息去求取M。
解:Y=X d modn
=(ZC)d modn
=(Z d modn)(C d modn)
=(r ed modn)(C d modn)
=(rmodn)M
=t-1M
即得M=YT
9.18 Note that because Z = r e mod n, then r = Z d mod n. Bob computes:
tY mod n = r–1X d mod n = r–1Z d C d mod n = C d mod n = M
11.5给定两个分组消息B1,B2,其散列码为RSAH(B1,B2)=RSA(RSA(B1)○+B2),给定任一分组C1,选择C2使得RSAH(C1,C2)=RSAH(B1,B2).因此该散列函数不满足抗弱碰撞性。解:选择C2,使得RSAH(C1,C2)=RSAH(B1,B2),则
RSA(RSA(C1)○+C2)= RSA(RSA(B1)○+B2),
=>(RSA(C1)○+C2)= RSA(B1)○+B2
两边都抑或RSA(C1)得
C2= RSA(B1)○+B2○+ RSA(C1)
English:
The opponent has the two-block message B1, B2 and its hash RSAH(B1, B2). The following attack will work. Choose an arbitrary C1 and choose C2 such that:
C
then
=
=
so
RSAH(C1, C2) =
= RSAH(B1, B2)
11.6设H(m)是一个抗碰撞散列函数,将任意长消息映射为定长的n比特散列值。对于所有的消息,x,x’, x≠x’,都有H(x)≠H(x’).上述说法是否正确?给出解释:
解:不正确
取长度m>n
则H(m)长度为n
因此对于H(n)存在多对一关系
故存在m1≠m2,H(m1)=H(m2)。
13.1完成下述叙述:
<1>第一签名者形成文件,对文件签名,并传给第二签名者;
<2>第二签名者首先验证该文件确实已由第一签名者签名。然后他将其签名加到文件中,任何接收都可验证该文件确实是由两个签名者签过的文件,但只有第二签名者可以验证步骤<1>中的签名。即接收方(或公众)仅可以验证具有两个签名的完整文件,而不是只有一个签名的中间文件。
解:A->B
RSAPU
b (RSAPR
a
(M,A))
B->第三方
首先用B的私钥解密,得
E PR
a (M,A)【或者RSAPR
a
(M,A)】
再用B的私钥签名:E PR
b [E PR
a
(M,A),B]
Mark: