欢迎使用CSDN-markdown编辑器

本文详细介绍了3DES-EBC模式的加密与解密流程,并解释了在特定条件下不同密钥可能产生相同密文的原因。对于密钥中key1等于key2或key2等于key3的情况,加密过程实际上仅进行了一次加密操作,从而导致不同密钥得到相同的密文。

3DES-ebc不同KEY得到相同密文/明文问题

3des加密过程:
1、将key进行填充,不足24字节的key尾部填充‘0’得到满足24字节的key;
2、将明文填充,不足8的整数倍,就填充【8-数据长度%8】(如少1个字节就填充一个0x01,少两个字节就填充两个0x02。。。以此类推),,如果明文是8的整数倍,就填充8个0x08。
3、将明文分成【数据长度/8】段(为方便理解,将明文部分命名为data1、data2、…、datan)
4、将key分成3段(命名为key1,key2,key3)
5、循环加密明文段:将data1用key1加密,得到的结果用key2解密,得到结果用key3加密;将data2用key2加密,得到的结果用key2解密,得到结果用key3加密。。。直到datan进行加密。并将每段data的加密结果连接起来。

解密过程和加密过程相反,每段密文用key3解密,key2加密,key1解密。连接每段解密结果,然后将末尾的填充部分去掉。

所以在这个过程中,如果存在key1==key2 ,或者key2==key3的情况时候,加密过程实际只做了一次加密,既用了key1或者key3加密。导致不同密钥得到相同的密文,解密过程也一样。

感谢作者的参考资料:

http://blog.csdn.net/season_hangzhou/article/details/9228363

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值