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

时间:2022-10-19 17:57:09

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盒对各组进⾏代替操作。

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

P盒置换

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

IP-1末置换

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

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

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

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

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

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

DES加密算法的优点和缺点

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

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

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