信息安全学习笔记(六)------DES密码

DES密码

前言:

DES是迄今为止世界上最广泛使用的分组密码算法,他的分组长度是64bit密钥长度是56bit
在这里插入图片描述
DES加密算法框图如下所示,其中明文64bit一组,密钥长56bit。所得的n个64bit串联起来就是密文输出。在这里插入图片描述
明文的处理过程犹如上3个阶段。首先是一个初始置换IP,用于重排明文分组的64bit。然后是具有相同功能的16轮变换,每轮都有置换和代换运算,第16轮变换的输出分为左右两半,并被交换次序。最后在经过一个逆置换IP逆从而得到64bit密文。
接下来就详细阐明每步的具体过程。

  1. 初始置换和终止置换(原理相同)
    就是依据初始置换表将原本的数据从新排序得到的新的数据即可。例如初试置换表中第一位是50,就把原始数据中的第50位放在第1位,以此类推。现在给出一张初始值表在这里插入图片描述
    左边的是初试置换表,右边的是逆置换表。这张图的意思就是把原始数据表的第58位放在第1位,第50位放在第2位,以此类推。我们发现右边的初试置换表也是这个道理,第40位放在第1位以此类推。此处可以发现,初试置换表中第40个数是01,也就是说原先的第1位放在第40位,正好印证了初试置换和终止置换是互为逆置换
    举个例子:读者可自行确认
    在这里插入图片描述
  2. 轮结构

将64bit的轮输入分为32bit的左右两半,记为L,R。
在这里插入图片描述
每轮的变换公式如下所示:
在这里插入图片描述
其中轮密钥k是48bit,接下来介绍函数F(R,K)的计算方法。轮输入的右半部分R位32bit,R首先被扩展为48bit,依据扩展置换表进行:
在这里插入图片描述
如上图所示:先将32bit分为8组,4bit为1组,中间白色部分是原始数据。左右灰色部分就是扩展部分。将第32位放在左侧,第5位放在右侧,就将4bit扩展为6bit,以此类推,8组得48bit。F中的代换由8个S盒组成,每个S盒的输入长为6bit、输出长为4bit。下面举一个例子:
在这里插入图片描述
在这里插入图片描述
最后将13转为二进制1101。
共有8个这样的S盒,每个数据用一个S盒。假如得到的数据是 1101 0011 1010 1110 0101 0110 0111 1111,根据一个P盒置换在这里插入图片描述
得到数据是 0110 1010 1111 0110 1101 1101 1110 1110
再将此32bit和之前的L进行异或运算得R1。
最后按照公式进行16轮代换在这里插入图片描述
最后得到L16和R16,然后按照R16和L16排列,再进行一次IP逆置换得到密文。
至于解密过程一次反向运算即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值