已知明文m=computer,密钥k=program。用DES算法求第一轮之后的结果
时间: 2024-06-06 07:08:04 浏览: 27
DES算法的第一轮过程如下:
1. 将明文m拆分成左右两半,每半各32位: L0 = 011000110110111101101111011101000110010101110011, R0 = 0110111101110000011100100110000101101110
2. 将右半部分R0进行扩展置换(E盒),将32位扩展为48位: E(R0) = 010111010110110001010101011110101010101001100
3. 将扩展后的结果与密钥k的第一轮子密钥K1进行异或操作: E(R0) ⊕ K1 = 001110110000100100101100101111011010011101001111
4. 将异或后的结果分为8组,每组6位,每组6位表示一个数字,这个数字对应S盒中的行和列,对应的S盒输出4位数字,将8组4位数字拼接起来,得到32位结果: S(E(R0) ⊕ K1) = 00000111100001001011011010000010
5. 将S盒输出的32位结果进行置换操作(P盒):P(S(E(R0) ⊕ K1)) = 11010000010101110100111000001111
6. 将置换后的结果与左半部分L0进行异或操作: P(S(E(R0) ⊕ K1)) ⊕ L0 = 101100010011000001000101100000101100111110000010
因此,第一轮之后的结果为: 左半部分:10110001001100000100010110000010,右半部分:10100100110011000011011100111100
阅读全文