目 录CONTENT

文章目录

DES加密算法

geekrabbit
2022-09-10 / 0 评论 / 1 点赞 / 721 阅读 / 1,028 字 / 正在检测是否收录...
温馨提示:
创作不易,转载请注明出处

什么是DES加密

DES算法是1975年由美国IBM公司W. Tuchman和C. Meyers首先提出的,并于1977年被美国国家标准局公布为数据加密标准的一种分组加密算法

DES算法是对称加密分组算法,要求发送方和接收方都使用相同的密钥来进行加密和解密的

DES的加密过程

流程图

image.png

初始置换

初始置换表

image.png

按照置换表置换数据

image.png

原始数据表的第58个是0放到置换后表的第1位
原始数据表的第50个是0放到置换后表的第2位
原始数据表的第42个是0放到置换后表的第3位
原始数据表的第34个是0放到置换后表的第4位
原始数据表的第26个是0放到置换后表的第5位
原始数据表的第58个是0放到置换后表的第6位
原始数据表的第10个是1放到置换后表的第7位
下面一样

扩展置换

经过初始置换后64位数据被分为2个32位数据

image.png

其中一边32位数据进行扩展置换得到48位的数据

image.png

他是怎么从32位扩展到48位的呢?

他是通过扩展置换表进行扩展操作

image.png

具体操作如下:

image.png

两个大白方块是原始数据

原始数据32位,每4个一组分成8组 4*8=32
image.png

第一组1101 进行扩展成6位 6*8=48位
第一位用最后一位的数据1
最后一位用下一个数据的0
image.png
1 1101 0

第一组0001 进行扩展成6位 6*8=48位
第一位用前一位的数据的1
最后一位用下一个数据的0
image.png
1 0001 0

32扩展到48位结果
image.png

经过扩展的48位明文和48位密钥进行异或运算后,在使用8个S盒压缩处理得到32位数据。
将48位输入等分成8块
每块6位输入压缩为4位输出

S盒压缩处理

经过扩展的48位明文和48位密钥进行异或运算后,在使用8个S盒压缩处理得到32位数据。

image.png

在使用8个S盒压缩处理得到32位数据。

image.png

假设这是原始数据

image.png

将原始数组分成8组,每组6位

image.png

第一组压缩

image.png

根据压缩表找到3行15列

image.png

P盒置换

把压缩后的32位数据进行P盒置换
这次置换就简单了就是座位互换一下

image.png

置换完以后在和原来那个左边的32位数据进行异或
image.png

在组成64位数据,在经过15轮的

B站视频参靠

1
博主关闭了所有页面的评论