有关DES密码学加密算法的总结

DES加密算法

DES加密算法即为数据加密标准,是一种使用密钥加密的块算法,1977年被美
国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府
通信中使用,随后该算法在国际上广泛流传开来。

DES算法中密钥key为8字节64位,但每8为效验位不参与运算,所以有效密
只有56位;DATA为8个字节64位,是要被加密或被解密的数据;DES采用16轮
运算,每轮产生一个密钥参与到运算中

DES的密钥空间仅仅只有2的56次方,很容易被暴力破解;

在这里插入图片描述

步骤解读

1.将明文与密文用二进制表示1、将明文与密文用二进制表示
2,初始置换

对输入的64位二进制明文按照2.1所示的置换表进行置换,打乱明文的顺序

在这里插入图片描述

将置换后的明文按顺序分为左右两组L0和R0,每一组都是32位的。

3.密钥生成(密钥置换)

(1)56位密钥的生成过程:将初始的64位密钥从1到64位进行编号,形成一个
矩阵, 如下表3.1所示,每一行的第八位将作为奇偶校验位被忽略,于是形成
了初始的56位 的密钥输入: .

在这里插入图片描述

(2)接下来使用选择置换表(如下表3.2所示),进行置换操作

在这里插入图片描述

(2)这个置换操作就是将第57位放到第1位,第49位放到第2位,将第4位放到最后
一位,由于这里除去了奇偶校验位,所以不会包含6,16,24,32,40,48,56,64这八
个数。

(3)将第(2)步得到的输出按顺序分为左右两个部分,每个部分有28位,分别用
L0和R0来表示,根据轮迭代的轮数,在第1,2,9,16轮时分别将L0和R0循环左移
一位,其余轮数时循环左移两位,得到56位的输出。

在这里插入图片描述

(4)再将第(3)得到的输出按照下图的置换表,进行密钥压缩置换为48位的
密钥,得到的是在T迭代里面输入的密钥Ki:

在这里插入图片描述
4.轮迭代

(1)总体过程:首先关于轮迭代的过程如下图所示,Li-1和Ri-1是上一轮的迭
代的输出,上一轮的左边的输出与经过轮函数之后的输出结果进行异或运算得
到当前轮的右边输出,左边的结果是上一轮的右边的输出:

在这里插入图片描述

(2) E扩展:首先将原来的明文数据的右半部分R从32位扩展成为48位,扩展
置换表如下图所示

在这里插入图片描述

上图中空白部分表示原来的32位,然后两边阴影部分的数据是扩展加上去的 数
据,将第32位放置到第一位,将第5位数据放置到第6位的位置,由此就将32 
位的数据扩展成为了48位的数据。

异或:将E扩展得到的48位的数据与密钥输入Ki进行异或运算,得到的48位的
 输出数据作为”S盒”的输入。

“S盒替换”:将48位数据按照每6位分为一组,一共分为8组,并分别输入S1, 
S2,S3,S4,S5,S6,S7,S8这8个盒子中,每个盒子产生4位的输出,将
每个S 盒的输出拼接成32位。 

S盒操作算法如下图所示:
在这里插入图片描述

P盒置换:将S盒的输出拼接得到32位的数据,对这些数据再一次进行置换,置 
换表如下图所示,置换之后的结果就是轮函数的输出结果: 

在这里插入图片描述
S盒详细讨论

S盒是一个六进四出的处理盒子,也是DES算法中唯一没有公开技术细节的最 
核心的部分。 

S盒的使用方法:设S盒的输入为6位的二进制数b1b2b3b4b5b6,把b1b6两位 二
进制数转换成十进制数,并作为S盒的行号i,把b2b3b4b5四位二进制数转 换
成十进制数,并作为S盒的列号j,则对应S盒的(i, j)元素为S盒的十进制输出, 再
将该十进制数转换为二进制数,就得到了S盒的4位二进制数输出。S盒的内容 
如下图所示
1

在这里插入图片描述
2
在这里插入图片描述
3
在这里插入图片描述
4
在这里插入图片描述
5
在这里插入图片描述
6
在这里插入图片描述
7
在这里插入图片描述
8
在这里插入图片描述

将轮函数的输出结果与上一轮得到的输出结果Li-1进行异或运算,得到的就是
这 一轮的输出结果Ri

按照这样的方法不停的继续下去直到第16轮。在第16轮的时候要将L16和R16
互换位 置。

5.初始置换

经过16轮的迭代之后,将输出的L16和R16合并起来形成64位的二进制数,最
后 按照表5.1进行逆初始置换,就可以得到64位的密文。

在这里插入图片描述

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Visual Studio .NET VB编程语言 MD5(DES) 8位密钥加密或解密文件function源代码 压缩包 : MD5 skey8位加密(文件).zip 列表 MD5 skey8位加密(文件)/ MD5 skey8位加密(文件)/bin/ MD5 skey8位加密(文件)/Form1.Designer.vb MD5 skey8位加密(文件)/Form1.resx MD5 skey8位加密(文件)/Form1.vb MD5 skey8位加密(文件)/MD5 skey8位加密(文件).vbproj MD5 skey8位加密(文件)/MD5 skey8位加密(文件).vbproj.user MD5 skey8位加密(文件)/My Project/ MD5 skey8位加密(文件)/My Project/Application.Designer.vb MD5 skey8位加密(文件)/My Project/Application.myapp MD5 skey8位加密(文件)/My Project/AssemblyInfo.vb MD5 skey8位加密(文件)/My Project/Resources.Designer.vb MD5 skey8位加密(文件)/My Project/Resources.resx MD5 skey8位加密(文件)/My Project/Settings.Designer.vb MD5 skey8位加密(文件)/My Project/Settings.settings MD5 skey8位加密(文件)/obj/ MD5 skey8位加密(文件)/obj/Debug/ MD5 skey8位加密(文件)/obj/Debug/CoreCompileInputs.cache MD5 skey8位加密(文件)/obj/Debug/DesignTimeResolveAssemblyReferences.cache MD5 skey8位加密(文件)/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache MD5 skey8位加密(文件)/obj/Debug/MD5 skey8位加密(文件).exe MD5 skey8位加密(文件)/obj/Debug/MD5 skey8位加密(文件).pdb MD5 skey8位加密(文件)/obj/Debug/MD5 skey8位加密(文件).vbproj.FileListAbsolute.txt MD5 skey8位加密(文件)/obj/Debug/MD5 skey8位加密(文件).vbproj.GenerateResource.Cache MD5 skey8位加密(文件)/obj/Debug/MD5 skey8位加密(文件).vbprojResolveAssemblyReference.cache MD5 skey8位加密(文件)/obj/Debug/MD5 skey8位加密(文件).xml MD5 skey8位加密(文件)/obj/Debug/TempPE/ MD5 skey8位加密(文件)/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll MD5 skey8位加密(文件)/obj/Debug/WindowsApplication1.exe MD5 skey8位加密(文件)/obj/Debug/WindowsApplication1.Form1.resources MD5 skey8位加密(文件)/obj/Debug/WindowsApplication1.pdb MD5 skey8位加密(文件)/obj/Debug/WindowsApplication1.Resources.resources MD5 skey8位加密(文件)/obj/Debug/WindowsApplication1.vbproj.FileListAbsolute.txt MD5 skey8位加密(文件)/obj/Debug/WindowsApplication1.vbproj.GenerateResource.Cache MD5 skey8位加密(文件)/obj/Debug/WindowsApplication1.xml MD5 skey8位加密(文件)/obj/Release/ MD5 skey8位加密(文件).sln MD5 skey8位加密(文件).v11.suo

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值