列表

详情


阅读下列说明,回答问题 1 至问题 5,将解答写在答题纸的对应栏内。
【说明】
DES 是一种分组密码,已知 DES加密算法的某个 S 盒如表 4-1 所示。
4-1  S

【问题1】(4分)

请补全该 S 盒,填补其中的空(1) - (4),将解答写在答题纸的对应栏内。
【问题 2】 (2分)
如果该 S 盒的输入为 110011,请计算其二进制输出。

【问题3】(6分)
DES加密的初始置换表如下:

置换时,从左上角的第一个元素开始,表示输入的铭文的第58位置换成输出的第1位,输入明文的第50位置换成输出的第2位,从左至右,从上往下,依次类推。
DES加密时,对输入的64位明文首先进行初始置换操作。
若置换输入的明文M=0123456789ABCDEF(16进制),请计算其输出(16进制表示)。
【问题4】(2分)
如果有简化的DES版本,其明文输入为8比特,初始置换表IP如下:
IP:2  6   3  1   4   8   5   7
请给出其逆初始置换表。
【问题5】(2分)
DES加密算法存在一些弱点和不足,主要有密钥太短和存在弱密钥。请问,弱密钥的定义是什么?

参考答案: 【问题1】
(1)10         (2)6           (3)1           (4)11
【问题2】
0100
【问题3】
M = (0123456789ABCDEF)16 = (00000001 00100011 01000101 01100111 10001001   10101011 11001101 11101111)2经过IP置换,结果为:M’ =(11001100 00000000 11001100 11111111  11110000 10101010 11110000 10101010)2=(CC00CCFFF0AAF0AA)16
【问题4】
4  1  3  5  7  2  8  6 
【问题5】
弱密钥不受任何循环移位的影响,并且只能得到相同的子密钥,由全0或全1组成的密钥显然是弱密钥,子密钥生成过程中被分割的两部分,分别为全0或全1时也是弱密钥。 

详细解析:

【问题1】:
DES算法中的每个S盒都是由4行16列的矩阵构成,每行都是0到15这16个数字,从上表中可以分析得出,第0行缺少10,第1行缺少6,第3行缺少1,第4行缺少11。
【问题 2】:
S盒的运算规则:设输入为110011,第一位和第六位数字组成的二进制数为11=(3)10;表示选中该S盒中的行号为3的那一行,其余4位数字组成的二进制数为1001=(9)10;表示选中该S盒中列号为9的那一列。交点处的数字为4,则S盒中的输出为0100
【问题3】:
首先将M = (0123456789ABCDEF)16表示成二进制形式,即1位16进制数字可表示为4位二进制,即M = (00000001 00100011 01000101 01100111 10001001 10101011 11001101 11101111)2
然后按照初始置换表进行置换,基本置换规则为:原始数据中的第58位放在第一位;第50位放第二位;第42位放第三位……其余依次类推。置换后的结果为:
M’ =(11001100 00000000 11001100 11111111 11110000 10101010 11110000 10101010)2
=(CC00CCFFF0AAF0AA)16
【问题4】:
逆初始置换是在初始置换的基础上进行逆置换;比如原始数据顺序为1 2 3 4 5 6 7 8;经过初始置换之后变成:2 6 3 1 4 8 5 7;则逆初始置换是要将其顺序进行还原,比如,原始数据中第一位数据经初始置换之后放到了第4位,那么逆初始置换就要将初始置换后的第4位放到第1位,即逆初始置换表第一位为4;原始数据中第二位数据经初始置换之后放到了第1位,那么逆初始置换就要将初始置换后的第1位放到第2位,即逆初始置换表第二位为1;其余依次类推,得出该逆初始置换表为4 1 3 5 7 2 8 6。
【问题5】:
DES算法中存在弱密钥和半弱密钥。
弱密钥K:即 K1=K2=…=K16;弱密钥不受任何循环移位的影响,并且只能得到相同的子密钥,由全0或全1组成的密钥显然是弱密钥,子密钥生成过程中被分割的两部分分别为全0或全1时也是弱密钥,并且存在4个弱密钥。
半弱密钥K:有些种子密钥只能生成两个不同的子密钥,这样的种子密钥K称为半弱密钥,DES至少存在12个半弱密钥。半弱密钥将导致把明文加密成相同的密文。

上一题