对称(与分组)加密算法之3DES原理详谈

3DES概述

英文:Triple DES

看名字就知道和DES有关系,它的原理是使用两条不同的56bit的密钥对数据进行三次加密,是DES的进化版

意义:DES的密钥长度为64bit,长度不算是很长,被爆破的可能性也比较高,所以将密钥长度增加到192bit,长度是DES的三倍,所以称为3DES。顾名思义2DES的密钥长度也就是128bit,2DES比较少见。增加长度的意义是为了避免暴力破解(爆破)。

3DES的加密过程

重复三次DES运算,就是先加密然后解密然后再加密

3DES继承了DES的什么特性

首先DES和3DES是完全兼容的,3DES加密的,DES是能解密的,反之,用DES精密度,3DES也是能够解密,这里概况起来有点笼统,这个点不是很重要,不懂也无所谓。

既然是继承自DES的那当然遗传了DES特性了

第一点:同样是对称加密算法

第二点:都是分组加密算法

第三点:是可逆的

第四点:三个参数入口:Key、Data、Mode

加密与解密

先来看张图(画得不是很好)

3DES
总所周知DES的安全性不依赖算法,而依赖于密钥的复杂程度(长度、扩展长度、混乱程度),也就是说K1、K2、K3决定了算法的安全性,三个密钥可以相同也可以不相同,相同的话还不如使用DES就好,但是如若不相同就相当于使用一个长度为168的密钥,这如果没有几张2080it交火那就别跑字典了乖乖玩监听。

具体实现:

设DS()和JJ()代表DES的加密和解密过程,K代表密钥,M是明文,L是密文,可得:

加密过程为:L=DS3(JJ2(DS1(M)))

由加密过程可得解密过程为:M=JJ1(DS2(DS3(L)))

解释

加密解释:由图片可以得知3DES在加密前会先将密钥分成三组,分别是K1、K2、K3,首先利用第一把钥匙也就是K1进行加密,然后再利用K2进行解密(这个时候如果是不同的钥匙解密肯定失败,也就是会得到一“坨”乱码)最后再使用最后一把也就是K3进行再次加密得到最后的密文

解密解释:解密的过程其实就是加密的逆过程,这一点和DES一样。看图可知,先利用K3对密文进行解密处理,再使用K2进行加密,最后利用K1进行解密,就可以得到原来的明文

总结:

1.3DES是DES的进化版

2.3DES继承了DES很多的优缺点,就像是在练伪音,会继承本音的特点一样

3.3DES需要的数据空间是DES的三倍

其他链接

哔哩哔哩
会同步该博客发一些自制视频

微博
用的比较少

Github
一些源代码

知乎
不懂的我一般会在上面提问

简书
同步该博客内容相同

CSDN
同步该博客内容相同
博客首页

个人联系方式

QQ:2446264712

微信:X15019749137

邮箱:[email protected]

有意添加请备注 啊啊啊啊

发布了20 篇原创文章 · 获赞 13 · 访问量 344

猜你喜欢

转载自blog.csdn.net/Cloud_ink/article/details/105058922