2017年上半年信息安全工程师下午案例分析试题四真题与答案(共16分)
阅读下列说明,回答问题1 至问题5 ,将解答写在答题纸的对应栏内。
【说明】
DES 是一种分组密码,己知DES 加密算法的某个S 盒如下表所示。
【问题1】 (4分)
请补全该 S 盒,填补其中的空(1) - (4),将解答写在答题纸的对应栏内。
参考答案:(1)10(2)6(3)1(4)11
参考解析:DES算法中的每个S盒都是由4行16列的矩阵构成,每行都是0到15这16个数字,通过题目给出S盒表的缺失项可以分析得出,第0行缺少10,第1行缺少6,第3行缺少1,第4行缺少11。
【问题 2】 (2分)
如果该 S 盒的输入为 110011,请计算其二进制输出。
参考答案:0100
参考解析:第一位和第六位数字组成的二进制数为11=(3)10,表示选中该S盒表中的行号为3。其余4位数字组成的二进制数为1001=(9)10,表示选中该S盒表中列号为9S盒表的第3行,第9列的值为4,转换成二进制为0100。
【问题3】(6分)
DES加密的初始置换表如下:
置换时,从左上角的第一个元素开始,表示输入的铭文的第58位置换成输出的第1位,输入明文的第50位置换成输出的第2位,从左至右,从上往下,依次类推。
DES加密时,对输入的64位明文首先进行初始置换操作。
若置换输入的明文M=0123456789ABCDEF(16进制),请计算其输出(16进制表示)。
参考答案:M=(00000001 00100011 01000101 01100111 10001001 10101011 11001101 11101111)2
经过IP置换
M’=(11001100 00000000 11001100 11111111 11110000 10101010 11110000 10101010)2
IP=(CC00CCFFF0AAF0AA)16
参考解析:DES的初始置换表就是要打乱明文的顺序,其步骤如下:
(1)将M=(0123456789 ABCDEF))16表示成二进制形式,即1位十六进制数字可表示为4位二进制,即M=(00000001 00100011 01000101 01100111 10001001 10101011 11001101 11101111)2
(2)按照初始置换表进行置换,基本置换规则为:
原始数据中的第58位放在第1位:第50位放第2位:第42位放第3位,…,其余依此类推。
置换后的结果为:M’=(11001100 00000000 11001100 11111111 11110000 10101010 11110000 10101010)2=(CC00 CCFFF0AAF0AA)16
M=(0123456789ABCDEF)16=(00000001 00100011 01000101 01100111 10001001 10101011 11001101 11101111)2
经过IP置换,结果为:M’=(11001100 00000000 11001100 11111111 11110000 10101010 11110000 10101010)2=(CC00 CCFFF0AAF0AA)
【问题4】(2分)
如果有简化的DES版本,其明文输入为8比特,初始置换表IP如下:
IP:2 6 3 1 4 8 5 7
请给出其逆初始置换表。
参考答案:4 1 3 5 7 2 8 6
参考解析:逆初始置换是在初始置换的基础上进行逆置换:比如原始数据顺序为12345678;经过初始置换之后变成:26314857:则逆初始置换是要将其顺序进行还原。
比如,原始数据中第一位数据经初始置换之后放到了第4位,那么逆初始置换就要将初始置换后的第4位放到第1位,即逆初始置换表第一位为4。
原始数据中第二位数据经初始置换之后放到了第1位,那么逆初始置换就要将初始置换后的第1位放到第2位,即逆初始置换表第二位为1。
其余依此类推,得出该逆初始置换表为41357286
【问题5】(2分)
DES加密算法存在一些弱点和不足,主要有密钥太短和存在弱密钥。请问,弱密钥的定义是什么?
参考答案:如果存在一个密钥k,由其产生的子密钥是相同的,则称其为弱密钥。
参考解析:DES算法中存在着弱密钥和半弱密钥。
DES中存在四个弱密钥,如下:
弱密钥1:K1=......=K16(000000000000)16
弱密钥2:K1=......=K16(FFFFFFFFFFFF)16
弱密钥3:K1=......=K16(000000 FFFFFF)16
弱密钥4:K1=......=K16(FFFFFF000000)16
半弱密钥:有些种子密钥只能生成两个不同的子密钥,这样的种子密钥K称为半弱密钥,DES至少存在12个半弱密钥。半弱密钥将导致把明文加密成相同的密文。