密码篇——对称加密—DES

 

目录

一、DES介绍

二、Feistel网络

1)一轮的具体步骤

2)三轮加密与解密

Feistel网络总结:


一、DES介绍

DES以64比特为一分组进行加解密(一般来说DES的密钥长度为64比特,但是实际为56比特,每7个比特会设置一个用于错误检测的比特);由于DES每次只能加密64比特,若果要加密的明文较长,需要对DES加密进行迭代

 

DES的加密与解密:

 

DES的基本结构称为Feistel网络,在Feistel网络中加密的各个步骤称为轮,整个加密的过程就是称为轮的循环。DES就是一种16轮循环的Feistel网络

 

二、Feistel网络

Feistel网络中的一轮:

1)一轮的具体步骤

1)将输入的数据被左右两半等分处理

2)将输入的右侧直接发送到输出的右侧

3)将输出的右侧发送到轮函数

4)轮函数根据右侧和子密钥,计算出一串比特序列

5)将得到的比特序列与左侧数据进行XOR运算,并将结果最为加密后的左侧

注:子密钥为本轮加密所使用的密钥,每一轮中都使用一个不同的子密钥;由于只在一轮中使用,且为局部密钥,故称为子密钥

由于右侧没有被加密,所以使用不同的子密钥对一轮进行重复处理若干次,并每两轮之间将左右两侧的数据对调

解密计算就是将加密计算进行反序操作

 

2)三轮加密与解密

3轮加密计算:

 

使用相同的子密钥运行Feistel网络就可将数据还原(第一次为加密,第二次为解密)

3轮解密计算:

Feistel网络总结

1)由此可以看出,Feistel网络论述可以任意增加,无论增加多少轮的运算,都不会发生无法解密的情况

2)加密时,无论使用任何函数作为轮函数都可正确解密(即使该函数没有反函数,因此轮函数可以设计的任意复杂)

3)加密和解密可以使用完全相同的结构来实现(在Feistel网络的一轮中,右侧没有经过任何处理,从而保证了数据的可解密性;因为没有任何处理的右侧是解密时的必要信息)

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值