明文、密钥都是一个64位分组,要求:
1、明文加密要求从读入明文到完成一轮加密,即要求先做IP置换,再做一轮加密,输出L1,R1为止。
2、产生轮子密钥求出k1
3、作业中的每一步,都要求有文字的描述说明。 明文: 83 5B 6A 35 53 22 3A 67 密钥: 79 35 6C 90 05 61 35 55
产生轮子密钥: 十六进制 79 位子序号 1 5 二进制 35 9 13 6C 17 21 0110 1100 90 25 29 1001 0000 05 33 37 0000 0101 61 41 45 0110 0001 35 49 53 0011 0101 55 57 61 0101 0101 0111 1001 0011 0101 经过密钥置换1得到:
0 0 0 1 0 0 1 1
0 1 1 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 前28位得到C0为: 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 0
前28位向左循环移一位得到C1为: 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0
后28位为D0: 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 后28位向左循环移一位得到D1为: 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 ( 1 / 4 )
把C1D1级联在一起得: 位子序号 二进制 1 5 9 13 17 21 25 29 33 37 41 45 49 53 经过密钥置换2得到K1(第一轮轮子的密钥):
对明文分组的变换如下: 十六进制 二进制
8 3 5 B 6 A 3 5 5 3 2 2 3 A 6 7 IP置换:
前32位得到L0: 后32位得到R0:
( 2 / 4 )
R0经过选为表E得到E(R0):
E(R0)与K1异或得到:
输入S1的六位为: ,查S盒 ,得输出为: 输入S2的六位为: ,查S盒 ,得输出为: 输入S3的六位为: ,查S盒 ,得输出为: 输入S4的六位为: ,查S盒 ,得输出为: 输入S5的六位为: ,查S盒 ,得输出为: 输入S6的六位为: ,查S盒 ,得输出为: 输入S7的六位为: ,查S盒 ,得输出为: 输入S8的六位为: ,查S盒 ,得输出为:
输出的结果为:
( 3 / 4 )
十六进制 二进制 位置序号 1 5 9 13 17 21 25 29 经P置换後结果P如下:
P与L0异或得到R1:
将R1写为一排:(二进制)
L1 = R0:(二进制)
所以 第一轮後 加密的结果如下: 即:(十六进制数)
( 4 / 4 )
相关推荐: