答案:DES算法是一个分组加密算法,它以64位分组对数据进行加密,其初始密钥也是64位,(1分)它的加密过程可以描述如下:①64位密钥经子密钥产生算法产生出16个子密钥:K1,K2,…K16,分别供第一次,第二次, …,第十六次加密迭代使用(1分)。
②64位明文经初始置换IP,将数据打乱重排并分成左右两半。左边为L0,右边为R0: X=L0R0=IP(x)。(1分)
③16轮(0.5分)轮变换,每轮(第i轮)操作如下:在轮子密钥Ki的控制下,由轮函数f对当前轮输入数据的右半部分Ri-1进行加密:第一步,将Ri-1经过E盒置换扩展成48位(0.5分),第二步,将Ri-1与48位的轮子密钥Ki逐比特异或(0.5分),第三步,对Ri-1进行S盒压缩代换,将其压缩为32位(0.5分),第四步,对Ri-1进行P盒置换(0.5分)。然后,将Ri-1与当前轮输入的左半部分Li-1进行逐比特异或,将该运算结果作为当前轮(第i轮)右半部份的输出Ri=Li-1⊕f(Ri-1,Ki)(1分);将本轮输入的右半部分数据作为本轮输出的左半部分数据:Li=Ri-1(0.5分)。(本步骤共4分)
④16轮变换结束后,交换输出数据的左右两部分:X=R16L16(1分)。
⑤经过逆初始变换IP-1输出密文(1分)。
对于DES算法来说,其解密过程与加密过程是同一过程,只不过使用子密钥的顺序相反(1分)。#DES算法是一个分组加密算法,它以64位分组对数据进行加密,其初始密钥也是64位,(1分)它的加密过程可以描述如下:①64位密钥经子密钥产生算法产生出16个子密钥:K1,K2,…K16,分别供第一次,第二次, …,第十六次加密迭代使用(1分)。②64位明文经初始置换IP,将数据打乱重排并分成左右两半。左边为L0,右边为R0: X=L0R0=IP(x)。(1分)③16轮(0.5分)轮变换,每轮(第i轮)操作如下:在轮子密钥Ki的控制下,由轮函数f对当前轮输入数据的右半部分Ri-1进行加密:第一步,将Ri-1经过E盒置换扩展成48位(0.5分),第二步,将Ri-1与48位的轮子密钥Ki逐比特异或(0.5分),第三步,对Ri-1进行S盒压缩代换,将其压缩为32位(0.5分),第四步,对Ri-1进行P盒置换(0.5分)。然后,将Ri-1与当前轮输入的左半部分Li-1进行逐比特异或,将该运算结果作为当前轮(第i轮)右半部份的输出Ri=Li-1⊕f(Ri-1,Ki)(1分);将本轮输入的右半部分数据作为本轮输出的左半部分数据:Li=Ri-1(0.5分)。(本步骤共4分)④16轮变换结束后,交换输出数据的左右两部分:X=R16L16(1分)。⑤经过逆初始变换IP-1输出密文(1分)。对于DES算法来说,其解密过程与加密过程是同一过程,只不过使用子密钥的顺序相反(1分)。#解:①密钥的生成:模数n=p×q=7×17=119,f(n)=(p-1)×(q-1)=6×16=96(1分);因为加密指数e和私密钥d满足:ed mod f(n) =1,所以d=e-1 mod f(n) ,私钥d的计算过程如下(4分):QA1A2A3B1B2B3——10960113701131-7521-75-21531-21533-22213-222-5371由以上计算可知私密钥d=37。公钥为(e,n)=(13,119),私钥为的d=37(1分)。②使用以上密钥对,采用反复平方乘方法加密明文m=(19)10,计算过程如下:采用RSA算法加密明文,密文c=me mod n=1913 mod 119将加密指数e=13用二进制表示:(1101)2,则有(每步(计算行)2分):kbid31((12 mod 119) ×19)mod119 = 1921((192 mod 119) ×19) mod 119 = 7610(76)2 mod 119 = 6401((64)2 mod 119) ×19) mod 119 = 117由以上计算可知,密文为(117)10。(1分)