顾乔芝士网

持续更新的前后端开发技术栈

什么是DES算法,详解DES算法的基本原理

DES算法是应用最为广泛的对称加密算法。它主要应用在计算机网络通信、电子资金传送系统、保护用户文件,此外,DES还可用于计算机用户识别系统中。那么,具体什么是DES算法,DES算法的基本原理是什么,本文将给大家详细介绍一下。

什么DES算法

DES是一个分组加密算法,就是将明文分组进行加密,每次按顺序取明文一部分,一个典型的DES以64位为分组,加密解密用算法相同。它的密钥长度为56位,因为每组第8位是用来做奇偶校验,密钥可以是任意56位的数,保密性依赖于密钥。DES算法的核心主要包括两部分,第一部分是Feistel结构,第二部分是16个子密钥的生成。

DES算法的基本原理

DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准。DES是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的是同一个算法。

密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1),分组后的明文组和56位的密钥按位替代或交换的方法形成密文组。

步骤:

IP置换

IP置换目的是将输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位。

密钥置换

不考虑每个字节的第8位,DES的密钥由64位减至56位,每个字节的第8位作为奇偶校验位。产生的56位密钥由规则表生成;

在DES的每一轮中,从56位密钥产生出不同的48位子密钥,确定这些子密钥的方式如下:

1).将56位的密钥分成两部分,每部分28位。

2).根据轮数,这两部分分别循环左移1位或2位。每轮移动的位数按规则表;

移动后,从56位中选出48位。这个过程中,既置换了每位的顺序,又选择了子密钥,因此称为压缩置换。压缩置换规则按规则表;

扩展置换

扩展置换目标是IP置换后获得的右半部分R0,将32位输入扩展为48位(分为4位×8组)输出。

S盒代替

压缩后的密钥与扩展分组异或以后得到48位的数据,将这个数据送人S盒,进行替代运算。替代由8个不同的S盒完成,每个S盒有6位输入4位输出。48位输入分为8个6位的分组,一个分组对应一个S盒,对应的S盒对各组进行代替操作。

P盒置换

S盒代替运算的32位输出按照P盒进行置换。该置换把输入的每位映射到输出位,任何一位不能被映射两次,也不能被略去,映射规则按规则表;

IP-1末置换

末置换是初始置换的逆过程,DES最后一轮后,左、右两半部分并未进行交换,而是两部分合并形成一个分组做为末置换的输入。

经过以上步骤,就可以得到密文了。

整个流程可以用下面这个图表示:

附上一个DES在线加密解密的网站:https://md5.cn/


DES加密算法的优点和缺点

优点:优点:简单,容易实现,运行效率高。

缺点:分组比较短、密码生命周期短、容易被暴力解密,密钥难管理,不好分配(密钥交换问题--如何安全的将密钥传输给解密方),无签名认证功能。

以上给大家介绍了什么是DES算法,以及DES算法的基本原理。总而言之,普通DES算法密钥长度较短,容易被暴力解密。但是,可通过增加DES的密钥长度来避免类似的攻击。


控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言