天天看点

网络安全基础(九)

1.私钥和密钥之间有什么区别?

正确答案:

答:在传统加密中使用的密钥通常称为密钥。引用用于公钥加密的两个密钥作为公钥和私钥

2.公钥密码系统的基本组成元素是什么?

正确答案:

答:明文:这是输入到算法中的可读消息或数据。加密算法:加密算法对明文执行各种转换。公钥和私钥:这是一对已选定的密钥,如果其中一个用于加密,另一个用于解密。加密算法执行的确切转换取决于作为输入提供的公钥或私钥。密文:这是作为输出产生的加扰消息。这取决于明文和密钥。对于给定的消息,两个不同的密钥将产生两个不同的密文。解密算法:该算法接受密文和匹配密钥,生成原始明文。

3.列举并简要说明公钥密码系统的三种应用。

正确答案:

答:加密/解密:发件人使用收件人的公钥加密邮件。

数字签名:发送者用其私钥“签名”一条消息。签名是通过应用于消息或作为消息函数的小数据块的加密算法实现的。

密钥交换:双方合作交换一个会话密钥。可能有几种不同的方法,涉及一方或双方的私钥。

4.Diffie-Hellman密钥交换

正确答案: 其目的就是使得两个用户能够安全地交换密钥,供以后加密消息时使用。该算法本身局限于密钥交换。算法的有效性依赖于计算离散对数的困难性

5.私钥

正确答案:

私钥就是自己的,必须非常小心保存,最好加上密码,私钥是用来解密/签章,首先就Key的所有权来说,私钥只有个人拥有。公钥与私钥的作用是:用公钥加密的内容只能用私钥解密。

6.公钥

正确答案:

公钥就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,公钥其实是用来加密/验章用的,用私钥加密的内容只能用公钥解密。

7.公钥密码

正确答案:

公钥系统特征:使用具有两个密钥的算法,其中一个密钥为私人所有,另一个密钥是公共可用的。应用中,发送者要么使用发送者的私钥,要么使用接收者的公钥,或者两个都使用,从而实现某种类型的加密函数。

8.RSA

正确答案:

RSA方案从1977年起便占据了绝对的统治地位,成为最广泛接受和实现的通用公钥加密方法。算法的安全性依赖于大整数因子分解的困难性RSA是分组密码,对于某个n,它的明文和密文是0~n-1之间的整数。

9.秘密密钥

正确答案:

传统密码算法中使用的密钥被特别地称为(秘密)密钥。用于公钥密码的两个密钥被称为公钥和私钥。私钥总是保密的,但仍然被称为私钥而不是密钥。

10.密钥交换

正确答案:

其目的就是使得两个用户能够安全地交换密钥,供以后加密消息时使用。

11.现在考虑相反的问题;利用加密算法构造一个单向散列函数。考虑使用已知密钥的RSA算法。按照下列方法处理顺序组成的数据块:加密第一个数据块,将结果与第二个数据块异或,然后再加密,依次类推。试说明该方案处殚下列问题并不安全。给定某个由两数据块B1和B2组成的消息,且它的散列函数为:

RSAH(B1⊕B2)=RSA(RSA(B1)⊕B2)

对于任意给定的数据块C1,选择C2使RSAH(C1,C2)=RSAH(B1, B2)。所以该散列函数不能满足抗弱碰撞性。

正确答案:

答:有两个块消息B1,B2及其散列RSAH(B1,B2)。 下面的攻击将有效。

选择任意的C1并选择使:C2=RSA(C1)⊕RSA(B1)⊕B2 然后RSA(C1)⊕C2 =

RSA(C1)⊕RSA(C1)⊕RSA(B1)⊕B2 = RSA(B1)⊕B2 因此RSAH(C1,C2)=RSA[RSA(C1)⊕C2)] = RSA[RSA(B1)⊕B2]

= RSAH(B1, B2)

12.对下列值使用RSA算法进行加密和解密:

a. p=3; q=11, e=7; M=5(M表示明文)

b. p=5; q=11, e=3; M=9

c. p=7; q=11, e=17;M=8

d. p=11; q=13, e=11;M=7

e. p=17; q=31, e=7:M=2

提示:解密并不像你想象的那么困难,可以使用一些技巧。

正确答案:

答:a. n = 33; ϕ(n) = 20; d = 3; C = 26. b. n = 55; ϕ (n) = 40; d = 27;

C = 14. ci n = 77; ϕ (n) = 60; d = 53; C = 57. d. n = 143; ϕ (n) =

120; d = 11; C = 106. e. n = 527; ϕ (n) = 480; d = 343; C = 128. For

decryption, we have 128343 mod 527 = 128256 x 12864 x 12816 x

1284 x 1282 x 1281 mod 527

= 35 x 256 x 35 x 101 x 47 x 128 = 2 mod 527

= 2 mod 257

13.在使用RSA的公钥系统中,你可截获发送给用户的密文C=10,并且已知他的公钥

是e=5,n=35。请破解出明文M是什么?

正确答案:

答:M=5

14.对于RSA系统,某用户的公钥为:e=31,n=3599。该用户的私钥是什么?

正确答案:

答:d = 3031

15.假设有一使用RSA算法编码的数据块集合,但是没有私钥。设n=pq,e是公钥。假

设某人告诉我们这些明文块之一与n有公共因子。这对我们有帮助吗?

正确答案:

答:是的。 如果一个明文块L有一个逗号对因子与n,模n,那么编码的块也将有一个逗号对因子与n,模n。因为我们编码的块小于PQ,这个因子

必须是p或q,明文块must是p或q的倍数。 我们可以测试每个块的原始性。 如果为素数,则为p或q。

在这种情况下,我们分成n来找到另一个因素。 如果不是黄金 我们对它进行因子分解,并尝试将因子作为n的约数。

16.考虑如下的方案:

a.选择一个奇数E。

b.选择两个素数P和Q,使(P-1)(Q-1)-1恰好被E整除。

c.P乘以Q得到N。

d.计算D=[(P-1)(Q-1)(E-1)+1]/E

问:该方案与RSA等价吗?解释原因。

正确答案:

证明:DE mod ϕ(N)=(P-1)(Q-1)(E-1)+1 mod ϕ(N)=ϕ(N)(E-1)+1 mod ϕ(N)=1

因此:M=CD mod N = (ME)D mod N = MED mon N=M

17.假设Bob使用模n很大的RSA加密系统。该模值在合理的时间内不能进行因式分解。假设Alice给Bob加密发送一条英文消息,加密之前先将消息每个字母转换成0~25的整数(A->0,…,Z->25),然后使用具有大的e,n值的RSA分别加密每个数,这种方法安全吗?如果不安全,给出对这种加密方案最有效的攻击。

正确答案:

答: 考虑一组字母字符{A,B,…,Z}。 对应的整数,表示字母中每个字母字符的位置,形成一组消息块值SM={0,1,2,.2 5}。

相应的密文块值SC={0eModN,1eModN,…,25eModN},可以由每个人根据Bob的公钥来计算。

因此,对问题中描述的方案的最有效的攻击是为M的所有可能值计算MeModN,然后创建一个以密文作为索引的查找表和COR

响应明文作为表中适当位置的值。

继续阅读