DES算法基本原理

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(Data Encryption Standard)是一种对称加密算法,广泛应用于数据加密领域。其基本原理如下: 1. **分组加密**:DES将明文分成64位(8字节)的数据块进行加密,生成64位的密文。 2. **密钥**:DES使用56位的密钥(实际输入64位,但每8位用作奇偶校验),通过一系列复杂的变换和置换生成子密钥。 3. **加密过程**: - **初始置换IP)**:对64位明文进行初始置换,重新排列比特顺序。 - **16轮迭代**:每一轮迭代包括以下步骤: - **密钥置换**:根据当前轮数生成一个48位的子密钥。 - **扩展置换(E)**:将32位数据块扩展为48位。 - **异或操作**:将扩展后的数据块与子密钥进行异或操作。 - **S替换**:将异或后的结果分成8组,每组6位,通过8个不同的S(替换)进行替换,生成32位的输出。 - **P置换**:对S替换后的结果进行置换,生成32位的输出。 - **左右半块交换**:每一轮结束后,左右半块交换位置。 - **逆初始置换IP⁻¹)**:在16轮迭代完成后,进行逆初始置换,恢复明文的顺序,生成最终的密文。 4. **解密过程**:DES的解密过程与加密过程相同,只是子密钥的使用顺序相反。即在解密时,子密钥的使用顺序是从第16轮到第1轮。 DES算法的安全性主要依赖于其复杂的密钥生成和置换过程,但由于其密钥长度较短(56位),在现代计算能力下已经不再安全。因此,逐渐被更安全的加密算法如AES(Advanced Encryption Standard)所取代。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值