1. 描述两轮 feistel 密码的加密和解密结构。 2. (教材习题 3.18)使用 S-DES,用密钥(0111111101)手工解密二进制串(10100010)。给出 执行 IP、FK1、SW、FK2、IP-1后的中间值。把明文串的前四位译码为某个字母,后四位译 码为另一个字母(这里,字母 A, B, …, P 分别对应 0000, 0001, …, 1111).提示,执行 SW 后,串的形式为(00010011) 3. (教材习题 3.5)对于任意的分组密码,它的非线性对安全是至关重要的。为了证明这 一点,假设有一个线性分组密码 EL,加密 128 位的明文分组为 128 位的密文分组。令 EL(k, m)是 128 位明文 m 在密钥 k 时的加密结果。则对任意的 128 位的 m1和 m2,有 EL(k, [m1⊕m2])= EL(k, m1) ⊕EL(k, m2) 请说明给定 128 个选择密文,在不知道密钥 k 的情况下,对手如何解密任何密文(选择 密文即对手可以选择密文,并得到解密结果。此处,你有 128 个明密文对,且你可以选 择密文的值)? 4. DES的安全性在很大程度上依赖 S盒的非线性。请通过以下几组输入验证 S1 盒的非线性, 即证明 S1(x1)⊕S1(x2)≠ S1(x1⊕x2),其中“⊕”表示异或运算 (1) x1=000000, x2=111111 (2) x1=010101, x2=101010 (3) x1=000001, x2=100001 5. 当明文和密钥全为 1 时,DES 算法的第一轮输出结果是什么? 6. 设 X’是对 X 按位取反的结果。令⊕表示异或运算。 (1) 试证明 如果 Y=DESK(X),那么 Y’=DESK’(X’) 提示:首先证明对任意两个相同长度的串 A 和 B,有 A’⊕B’=A⊕B 和(A⊕B)’=A’ ⊕B (2) 据说对 DES 的穷举攻击需要搜索 256个密钥的密钥空间。上述结论对此是否有影响? 7. DES 的某些密钥 K 存在以下性质,即对于所有消息 X,DESK(X)=DESK -1 (X)。这种密钥也成 为弱密钥。DES 总共有四个弱密钥,具体是哪四个?如果从密钥空间中均匀选取一个密 钥,那么选到弱密钥的概率有多大?