上海交大 网络安全 第二次作业

更新时间:2023-11-01 23:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Assign 2 - InetSec Crypto

Secret and Public Key Cryptography 密钥和公钥的密码技术

1.How many DES keys, on the average, encrypt a particular plaintext block to a

particular cipher-text block? [Kaufman §3.3] (10 points)

一般来说,把一段详细的评述文字加密成一段加密文字,需要多少位DES 密码?

答:DSE一般采用56位长度的Key,所以总共有256种可能,这个数字大约是7.2X1016。

2.Suppose the DES mangler function mapped every 32-bit value to zero, regardless of

the value of its input. What function would DES then compute? [Kaufman §3.5] (10 points)

假设这种DES切割函数就是不管输入什么值每32位的值都映射成0,那么DES是什么函数又是怎么计算的呢?

答:置换函数 Li=Ki-1;Ri=Li+1*F(Ri-1,Ki)

3.It is said that the initial and final permutations of all 64 bits in DES operation do not enhance the cryptographic strength of the encryption algorithm. Could you provide an explanation without using sophisticated mathematics? (10 points)

据说,64位前后交换位置这种DES方法不能提高加密算法的密码强度。不使用复杂的数学理论你能提供一个解释来说明吗?

答:因为 输出排列 = ( 输入排列 ) -1, 每一个排列都是一个有次序的 Bryant-Tree 排列,所以并没有安全上的改善。

4.Compute the number of 64-bit encryption operations performed for an n bit

plaintext using CBC, k-bit OFB and k-bit CFB. Count all encryption operations, not just

operations performed on the plaintext itself. Take as an example, n = 1024 and k = 32. (10 points)

计算64位的数字加密操作通过使用CBC,k位OFB和k位CFB把它变成一个n位的评述文字。计算所有的加密操作,这些操作不仅仅运行在这个评述文字本身。举个例子n=1024和k =32。

答:密文区段串接 (Cipher BlockChaining, CBC) 模式 k-位元密文反馈 (k-bits Cipher Feedback, CFB) 模式 加密运算程序: SR1 = IV C1 = Fj (EK(SR1)) ⊕ P1 SRm = Sj (SRm-1) || Cm-1 ; m = 2, 3, 4, …, N Cm = Fj (EK(SRm)) ⊕ Pm ; m = 2, 3, 4, …, N C = C1 || C2 || C3, …, CN 解密運算程序: SR1 = IV P1 = Fj (DK(SR1)) ⊕ C1 SRm = Sj (SRm-1) || Cm-1 ; m = 2, 3, 4, …, N Pm = Fj (DK(SRm)) ⊕ Cm ; m = 2, 3, 4, …, N P = P1 || P2 || P3, …, PN k-位元输出反馈(k-bits Output Feedback, OFB) 模式 加密运算乘程序: SR1 = IV O1 = Fj (EK(SR1)) C1 = P1 ⊕ O1 SRm = Sj (SRm-1) || Om-1 ; m

= 2, 3, 4, …, N Om = Fj (EK(SRm)) ; m = 2, 3, 4, …, N Cm = Om ⊕ Pm ; m = 2, 3, 4, …, N C = C1 || C2 || C3, …, CN 解密运算程序: SR1 = IV O1 = Fj (DK(SR1)) P1 = O1 ⊕ C1 SRm = Sj (SRm-1) || Om-1 ; m = 2, 3, 4, …, N Om = Fj (DK(SRm)) ; m = 2, 3, 4, …, N Pm = Om ⊕ Cm ; m = 2, 3, 4, …, N P = P1 || P2 || P3, …, PN

5.Consider the following method of encrypting a message using CBC mode. To

encrypt a message, one uses the algorithm for doing a CBC decryption. To decrypt a message, one uses the algorithm for doing a CBC encryption. Would this work? How secure is this alternative method in comparison with the normal CBC mode? (10 points)

考虑以下这种方法,通过CBC模式加密一个消息。为了加密一个消息,可以使用一个CBC解码算法。为了解密一个消息,可以使用一个CBC加密算法。这是怎么实现的呢?这种转换方法与一般的CBC模式比起来有多安全呢?

答:这种方式是可以的。这种方式不如通常的CBC模式安全,因为解密算法是,每个密文组分别解密,再与上一个块密文亦或就可以恢复明文。解密算法的输入是明文,这样的安全性就非常低。

6.What pseudo-random bit stream is generated by 64-bit OFB with a weak DES key? (10 points)

Note: please refer to Kaufman §3.3.6 for the definition of weak key.

通过使用一个弱的DES密码加密而成的64位OFB,将产生什么伪随机的比特流呢? 注:请参考Kaufman §3.3.6相关章节弱密码的定义 答:OFB是用虚拟随机数产生器加上IV 与密钥,产生“一次性冗字填充”片段,即Ex(IV), Ex(Ex (IV)), Ex(Ex(Ex (IV))), ...。一个弱DES Key是自己本身的反转,对于任何一个块来说b: Ex(b) = Dx(b). So Ex(Ex(b)) = b. 应此OFB的填充序列是Ex(IV), IV, Ex(IV), IV,?..。这样的规律导致不安全性。

7.In RSA algorithm, is it possible for more than one d to work with a given e, p, and q? [Kaufman §6.3] (10 points)

在RSA算法中,当我们知道e,p,g,是否可能得到超过一个d?

答:不能得到,要得到d必须知道p q n e。

8.In RSA algorithm, what is the probability that something to be encrypted will not be in Z*n? [Kaufman §7.11] (10 points)

在RSA算法中,被加密的一些不属于Z*n, ,什么情况下是可能发生的? 答:Znn-Znn - p - q +1

Zn- ZnZnp+q-2)/(n-1)

9.In the description of possible defense against Man-in-the-Middle Attack [Kaufman §6.4.2, 3], it stated that encrypting the Diffie-Hellman value with the other sides’s public key shall prevent the attack. Why is this case assumption that an attacker can

encrypt whatever it wants with the other sides’ public key? *Kaufman §6.2+ (10 points)

在描述defense against Man-in-the-Middle Attack这种可能性时,它说用另外种方面的普通密码加密这个Diffie-Hellman值可以预防这方面的攻击。为什么一个攻击可以用另一方面的普通密码加密任何它想要的呢?

答:普通密码加密这个Diffie-Hellman值,可以得知该文件的加密密码方式,从而找出规律。对其进行解密。所以才有此说法

10.In modular arithmetic, why must the operand x be relatively prime with the

modulus n in order for x to have a unique multiplicative inverse? (10 points)

在模运算中,为什么一定要把操作数x设置成模数的相关初始值,是为了让x有一个唯一的乘法倒数吗? 答:并非如此。

本文来源:https://www.bwwdw.com/article/avv2.html

Top