type
status
date
slug
summary
tags
category
icon
password
一、简介
DES全称为Data Encryption Standard,是一种对称密钥的分组加密算法。DES加密、解密用的密钥是一样的所有称之为对称密钥。这种算法在加密的过程中会把明文划分为很多个等长的块(block),然后对每个块进行加密,最后把所有的块拼在一起。也可以称之为“块加密”。
基本特征:
- 分组长度为64位
- 密钥64位,实际用到56位,其中8,16,24,32,40,48,56,64是奇偶校验位
- 明文迭代16圈变为密文
二、流程
.png?table=block&id=c2e0149e-b4a4-4105-9d36-91c14f0454e2&t=c2e0149e-b4a4-4105-9d36-91c14f0454e2&width=1042&cache=v2)
三、明文处理中常量表
1、初始置换IP(8*8)
利用初始置换IP对明文进行换位处理,打乱次序,得到一个乱序的64 bit 明文组。
.png?table=block&id=39d4b408-8756-40a6-913f-da39b11b8d27&t=39d4b408-8756-40a6-913f-da39b11b8d27&width=1042&cache=v2)
2、逆初始置换表(8*8)
.png?table=block&id=c13012f3-ed7e-455c-86a2-d864b6cd0ce4&t=c13012f3-ed7e-455c-86a2-d864b6cd0ce4&width=1042&cache=v2)
3、f函数P表(4*8)
.png?table=block&id=039c14a0-5cf3-4404-be2f-ecbf49265e46&t=039c14a0-5cf3-4404-be2f-ecbf49265e46&width=1042&cache=v2)
4、扩展置换表E表(8*6)
把32位输入,扩展为48位
.png?table=block&id=67b4362b-bafe-4454-af72-da08351864a4&t=67b4362b-bafe-4454-af72-da08351864a4&width=1042&cache=v2)
5、S盒(8 * 4 * 16)
.png?table=block&id=fb726990-0900-4288-ba3e-b0845acb9199&t=fb726990-0900-4288-ba3e-b0845acb9199&width=1042&cache=v2)
.png?table=block&id=516788bf-6c01-4de8-8547-67d47532d189&t=516788bf-6c01-4de8-8547-67d47532d189&width=1042&cache=v2)
四、密钥编排常量表
1、初始置换PC-1表(7*8)
PC_1置换的目的是为了去掉64 bit密钥中的8个奇偶校验位,并对其余56位打乱排列。置换完成后,同样将密钥分成左右两部分各28 bit,左边为C0, 右边为D0。
.png?table=block&id=3fc086d6-ed2c-4daf-9218-4e39151eb04e&t=3fc086d6-ed2c-4daf-9218-4e39151eb04e&width=1104&cache=v2)
2、PC-2表(6*8)
PC_2为固定置换,用于从 CnDn 中选取48 bit作为子密钥Kn,CnDn 表示从左到右将 Dn 排在 Cn 的后面,CnDn 的长度为56 bit。
.png?table=block&id=b95b7161-7a9c-4506-aa41-a6fd33f69309&t=b95b7161-7a9c-4506-aa41-a6fd33f69309&width=1042&cache=v2)
五、总结
根据前面提到的常量表就可以很快的找出标准的DES加密,当然也可以使用ida著名的插件findcrypt。
- 作者:404False
- 链接:https://blog.404nofoundx.top//article/4c62b158-c1cb-425c-9f23-4a4e216422dc
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。