交大网院第二次作业
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是什么函数
又是怎么计算的呢?
答:Feistel密码的核心就是F函数,这个函数依赖S盒的使用,S盒的输出不应该太接近输
入位的线性函数。函数F给Feistel密码注入了混淆成分。
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 排列,所
以并没有安全上的改善。
http://www.wendangwang.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