什么是DES加密
DES算法是1975年由美国IBM公司的W. Tuchman和C. Meyers首先提出的,并于1977年被美国国家标准局公布为数据加密标准的一种分组加密算法。
DES算法是对称加密分组算法,要求发送方和接收方都使用相同的密钥来进行加密和解密的
DES的加密过程
流程图
初始置换
初始置换表
按照置换表置换数据
原始数据表的第58个是0放到置换后表的第1位
原始数据表的第50个是0放到置换后表的第2位
原始数据表的第42个是0放到置换后表的第3位
原始数据表的第34个是0放到置换后表的第4位
原始数据表的第26个是0放到置换后表的第5位
原始数据表的第58个是0放到置换后表的第6位
原始数据表的第10个是1放到置换后表的第7位
下面一样
扩展置换
经过初始置换后64位数据被分为2个32位数据
其中一边32位数据进行扩展置换得到48位的数据
他是怎么从32位扩展到48位的呢?
他是通过扩展置换表进行扩展操作
具体操作如下:
两个大白方块是原始数据
原始数据32位,每4个一组分成8组 4*8=32
第一组1101 进行扩展成6位 6*8=48位
第一位用最后一位的数据1
最后一位用下一个数据的0
1 1101 0
第一组0001 进行扩展成6位 6*8=48位
第一位用前一位的数据的1
最后一位用下一个数据的0
1 0001 0
32扩展到48位结果
经过扩展的48位明文和48位密钥进行异或运算后,在使用8个S盒压缩处理得到32位数据。
将48位输入等分成8块
每块6位输入压缩为4位输出
S盒压缩处理
经过扩展的48位明文和48位密钥进行异或运算后,在使用8个S盒压缩处理得到32位数据。
在使用8个S盒压缩处理得到32位数据。
假设这是原始数据
将原始数组分成8组,每组6位
第一组压缩
根据压缩表找到3行15列
P盒置换
把压缩后的32位数据进行P盒置换
这次置换就简单了就是座位互换一下
置换完以后在和原来那个左边的32位数据进行异或
在组成64位数据,在经过15轮的