3DES加密算法原理及实现过程

之前介绍了DES算法的原理和实现过程,现在介绍一下3DES的原理和实现过程。
DES算法的密钥长度为64位(实际有效长度为56位,因为每隔8位中有1位为校验位,使用的是奇偶校验法)。
其实3DES就是DES的升级版,所利用的技术原理是一样的。

3DES原理: 其实就是对明文进行三次DES算法运算,主要是通过增加DES密钥的长度来使破解更难。

下图为3DES算法的加密和解密过程:

在这里插入图片描述
3DES算法使用的密钥有效长度为112位,虽然进行了三次DES算法运算,但是只使用了两种不同密钥(由于效率问题),一种密钥的有效长度为56位,两种就为56*2=112位,其中密钥K1=K3。

加密过程: 第一次为明文M与密钥K1进行DES 加密 得到的输出M’,第二次为第一次的输出M’与密钥K2进行DES 解密 得到的输出M’’,第三次为第二次的输出M’'与密钥K3进行DES 加密 最终得到密文C;

解密过程: 第一次为密文C与密钥K3进行DES 解密 得到的输出M’’,第二次为第一次的输出M’‘与密钥K2进行DES 加密 得到的输出M’,第三次为第二次的输出M’与密钥K3进行DES 解密 最终得到明文M;

可以实现K1、K2、K3都不相等,这样安全性会更高,但是效率会降低。

如果K1=K2或者K2=K3,那么就相当于使用了一个56位的密钥单DES。
怎么理解这句话呢?
我们知道DES的基本原理是:明文M两次与密钥K进行异或运算就能得出它本身,看下图式子,⊕表示异或运算。
例如:明文M,密钥K
则在加密过程中:密文C=M⊕K;
解密过程中:明文M=C⊕K;
即M=M⊕K⊕K。
那么如果K1=K2,那么不就相当于对明文M进行加密,再进行解密,那得到的不就还是原来的明文M吗?整个过程不就相当于对明文M加密了一次(因为前两次进行了抵消,相当于没有进行操作),3DES解密过程同理。
若K2=K3道理与K1=K2相同,故不做过多解释。

3DES加密算法特点:
**相对于DES来说,由于密钥长度的增加,安全性更高,还可以实现4DES算法等等;
**但是由于以DES为基本设计出来的,效率至少低于DES算法的1/3,所以处理速度并不高。

后面又出现了AES算法,相比于3DES算法,安全性更高,速度更快,后面会介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值