密码学 | 对称加密算法DES

一、简介

DES全称为Data Encryption Standard,是一种对称密钥的分组加密算法。DES加密、解密用的密钥是一样的所有称之为对称密钥。这种算法在加密的过程中会把明文划分为很多个等长的块(block),然后对每个块进行加密,最后把所有的块拼在一起。也可以称之为“块加密”。

基本特征:

  • 分组长度为64位
  • 密钥64位,实际用到56位,其中8,16,24,32,40,48,56,64是奇偶校验位
  • 明文迭代16圈变为密文

二、流程

在这里插入图片描述

三、明文处理中常量表

1、初始置换IP(8*8)

利用初始置换IP对明文进行换位处理,打乱次序,得到一个乱序的64 bit 明文组。
在这里插入图片描述

2、逆初始置换表(8*8)

在这里插入图片描述

3、f函数P表(4*8)

在这里插入图片描述

4、扩展置换表E表(8*6)

把32位输入,扩展为48位
在这里插入图片描述

5、S盒(8 * 4 * 16)

在这里插入图片描述在这里插入图片描述

四、密钥编排常量表

1、初始置换PC-1表(7*8)

PC_1置换的目的是为了去掉64 bit密钥中的8个奇偶校验位,并对其余56位打乱排列。置换完成后,同样将密钥分成左右两部分各28 bit,左边为C0, 右边为D0。
在这里插入图片描述

2、PC-2表(6*8)

PC_2为固定置换,用于从 CnDn 中选取48 bit作为子密钥Kn,CnDn 表示从左到右将 Dn 排在 Cn 的后面,CnDn 的长度为56 bit。
在这里插入图片描述

五、总结

根据前面提到的常量表就可以很快的找出标准的DES加密,当然也可以使用ida著名的插件findcrypt。

The DES Algorithm Illustrated
DES CTF Wiki

posted @ 2022-10-12 21:32  FalsePlus  阅读(61)  评论(0)    收藏  举报