永发信息网

有关DES算法的一道证明题

答案:1  悬赏:60  手机版
解决时间 2021-11-27 08:22
有关DES算法的一道证明题
最佳答案
证明:DES算法的加密算法和解密算法是完全一样的,所不同的是密钥以相反的顺序依次加入到轮函数中。

DES算法的加密流程如下:
(1)生成子密钥
首先,将64比特的密钥(实际有效位数只有56比特)进行置换,得到56比特的密钥串;
然后,将56比特的串分为两个28比特的子串,经过16轮的循环左移以及合并置换,生成16个子密钥,记为K1K2K3...K16;
(2)加密
首先,将64比特的明文W做初始置换,得到结果IP(W);
将结果分成两个32比特的子串,记为L0和R0,所以L0R0=IP(W);
然后,根据L0、R0以及K1,求得L1和R1,具体如下:
L1=R0,即L1跟R0完全相同;
R1=P(S(E(R0)^K1))^L0,其中:
E(R0)表示对R0做扩展置换;
E(R0)^K1表示上一步的结果与K1做异或运算;
S(E(R0)^K1)表示上一步的结果做S-box运算;
P(S(E(R0)^K1))表示上一步的结果做置换;
P(S(E(R0)^K1))^L0表示上一步的结果与L0做异或运算。
以上的过程就是一次轮函数。如此,再由L1、R1以及K2,求得L2R2。以此类推,经过16次轮函数的迭代即可求得L16R16。
最后,把L16R16交换顺序,得到R16L16,再经过一次逆置换FP(R16L16),可以得到64比特的密文C,所以C=FP(R16L16)。

我们知道,DES的解密只需将16个子密钥以相反的顺序加入到轮函数中,重复加密的步骤即可。 现在我们要证明DES加密和解密的算法是完全一样,只是子密钥使用的顺序相反。也就是说,我们要证明密文经过子密钥顺序相反的加密之后可以得到明文。
DES算法的解密流程如下:
(1)生成子密钥
解密的时候使用的子密钥与加密时的顺序相反,记为K16K15...K2K1;
(2)解密
首先,将64比特的密文C做初始置换IP(C),
由于C=FP(R16L16),所以IP(C)=IP(FP(R16L16))=R16L16,因此得到的结果为R16L16。
将结果分成两个32比特的子串,也就是R16和L16。
然后,对其进行轮函数运算,结果记为XY,具体如下:
X=L16,
Y=P(S(E(L16)^K16))^R16。
从加密的过程中,我们知道,
L16=R15,
R16=P(S(E(R15)^K16))^L15,
因此,Y=P(S(E(L16)^K16))^P(S(E(R15)^K16))^L15。
由于L16=R15,所以P(S(E(L16)^K16))=P(S(E(R15)^K16)),
所以P(S(E(L16)^K16))^P(S(E(R15)^K16))=00000000000000000000000000000000,
因为00000000000000000000000000000000^L15=L15,
所以Y=P(S(E(L16)^K16))^P(S(E(R15)^K16))^L15=L15。
由此可知,R16L16经过一次轮函数之后,得到的结果是R15L15。
如此,在对R15L15做轮函数运算,得到R14L14。以此类推,经过16次轮函数的迭代,得到R0L0。
最后,把R0L0交换顺序,得到L0R0,再经过一次逆置换FP(L0R0)=FP(IP(W))=W,就得到了明文W。
综上所述,DES算法的加密算法和解密算法是完全一样的,所不同的是密钥以相反的顺序依次加入到轮函数中。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
帅客1.6L换什么机油
招远的桥有哪些
非空不非空,非法不非法,非物非非物
大学英语四级没过,400多分,三个月雅思上5.5
QQ名,同音不同字
古筝指甲怎么戴
为什么沪警方约谈送餐企业?
为什么国外工资比中国高
童乐文化艺术中心地址好找么,我有些事要过去
台儿庄泥沟镇城镇花园有租房子的吗
大拇指早教(阳泉盂县)地址好找么,我有些事要
3.14乘以7.2家加400等于多少?
无聊与发呆有什么区别吗
圆通速递(人民东路十三巷红源小筑旁)地址在什
暑假作业没做完,真的不准报名?
推荐资讯
小百灵艺术培训中心(阳泉盂县)地址有知道的么
双耳听力在50分贝左右要不要配助听器?
溪黄茶与溪黄草是不是一样的
想和一个已婚女人,聊2016,怎么办
韩城一西安,火车票
百度帐号被上行短信修改密码是怎么回事?
机油进到冷却液中会导致高温吗?
盘锦机动车违章什么时间能处理
5-氨基-2,4,6-三碘间苯二甲酸色谱分析方法,5
厦门至揭阳动车时刻表
历史上把李冰和谁相提并论?
中国郑字辈份排辈
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?