问题一:
DES初始置换表如下:
置换时,从左上角的第一个元素开始,表示输入的铭文的第58位置换成输出的第1位,输入明文的第50位置换成输出的第2位,从左至右,从上往下,依次类推。 DES加密时,对输入的64位明文首先进行初始置换操作。 若置换输入的明文M=0123456789ABCDEF(十六进制),请计算其输出(十六进制表示)。
解答:
DES加密的初始置换主要是打乱输入明文的顺序。具体实现,先把明文M=0123456789ABCDEF(十六进制)转换成64比特的二进制表示,然后按照转换规则如下:
置换时,从左上角的第一个元素开始,表示输入的铭文的第58位置换成输出的第1位,输入明文的第50位置换成输出的第2位,从左至右,从上往下,依次类推。
置换完毕得到输出的64比特,在转换成十六进制表示的输出即可。
M二进制:
M=0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
给M标号:
根据DES初始置换表得到IP=1100 1100 0000 0000 1100 1100 1111 1111 1111 0000 1010 1010 1111 0000 1010 1010
转换成十六进制
IP=CC00CCFFF0AAF0AA(十六进制)
问题二:
如果有简化的DES版本,其明文输入为8比特,初始置换表IP如下:
IP:2 6 3 1 4 8 5 7
请给出其逆初始置换表。
解答如图:
IP`=4 1 3 5 7 2 8 6
Mark,欢迎交流