【技术分享】DES算法详解

前言:

本期技术分享将与大家以“DES算法详解”为主题,通过剖析其加密、分割压缩、密钥生成等过程,与大家共同探讨如何利用DES加密算法对数据进行加密解密。

(一)术语释义

1. DES(Data Encryption Standard)数据加密标准

DES是由IBM公司研制的一种对称加密算法,美国国家标准局于1977年公布把它作为非机要部门使用的数据加密标准。

DES是一个分组加密算法,就是将明文分组进行加密,每次按顺序取明文的一部分。一个典型的DES以64位为分组,加密解密用算法相同。它的密钥长度为56位,因为每组第8位是用来做奇偶校验,密钥可以是任意56位的数,保密性依赖于密钥。

2. 密钥: 8个字节共64位的工作密钥(决定保密性能)。

3. 明文: 8个字节共64位的需要被加密的数据。

4. 密文: 8个字节共64位的需要被解密的数据。

DES算法属于对称加密算法中的分组加密算法(也称块加密) ,对应着流密码加密形式(流密码即对逐个字节进行加密)。


(二)加密过程


其中K1为48bit的秘钥,每轮循环的key都不一样。

IP:置换

IP -1 :逆置换

图为16轮循环过程

(1)因为k1-16的秘钥均为48位,但是R0为32位,所以首先需要经过E盒的扩展,得到48bit的R0数据。

(2)与48bit的key1进行异或,再经过S盒进行压缩,将48bit的数据压缩为32bit。

(3)经过p盒置换得到值后,再去l0异或。


(三)流程详细剖析

1. 初始置换,表格如下所示。第一个为初始置换表,第二个为逆置换表。

举例:初始置换的第一个数字是58,代表的是把现在数据64bit的第58位换到数据的第一位。

2.轮函数-
E盒子扩展,目标将32位的输入扩展为48位的输出,以此和秘钥进行计算。

3.如下图显示,中间为原本的32位,外面两列为新增。

4.举例分析。

(1)原始数据如下显示。

(2)经过扩展后,数据如下显示。

(3)扩展方式如下,扩展的来源和原数据一致。

(4)此时扩展完毕后,再去进行秘钥进行异或。异或后的结果再进行S盒压缩处理,48bit分割为8块,每块6bit。

4.具体分割压缩过程如下图举例所示。

(1)根据行数、列数到下表中对应寻找,结果显示为13。

(2)得到32bit数据后,再经过p盒的计算,得到相同结果。提取目标第16位数据,并前移至第一位。

(3)至此,一轮循环已经完成。得到的结果需要和l0异或结果赋给R1进行16次迭代运算,得到了R16和L16,将两者拼接到一起后再进行逆置换,即可得到最终密文。

(四)密钥生成过程


1. 64位密钥经过PC-1表置换得到56位的密钥。

2.将56
bit数据再分割为两个C1和D1各28bit,并通过下面的移位次数表,循环共16次迭代及按照表格所示进行左移。

3.最终C1和D1将会生成一个新的结果,将其拼接后,再经过下图PC-2置换表的置换,即可得到第一轮的秘钥48bit。

(五)关于校验位的概念


(六)DES算法

法**

如果你对网络安全入门感兴趣,那么你点击这里👉CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

如果你对网络安全感兴趣,学习资源免费分享,保证100%免费!!!(嘿客入门教程)

👉网安(嘿客)全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

img

img

👉网安(嘿客红蓝对抗)所有方向的学习路线****👈

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

img

学习资料工具包

压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。

在这里插入图片描述
面试题资料

独家渠道收集京东、360、天融信等公司测试题!进大厂指日可待!
在这里插入图片描述

👉嘿客必备开发工具👈

工欲善其事必先利其器。学习客常用的开发软件都在这里了,给大家节省了很多时间。

这份完整版的网络安全(客)全套学习资料已经上传至CSDN官方,朋友们如果需要点击下方链接也可扫描下方微信二v码获取网络工程师全套资料【保证100%免费】

在这里插入图片描述

如果你对网络安全入门感兴趣,那么你点击这里👉👉**CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值