第3章 数据加密标准与替换算法《深入浅出密码学——常用加密技术原理与应用(Christof Paar, Jan Pelzl)》

数据加密标准:Data Encryotion Standard,DES。

3.1 DES简介

1、混淆与扩散
强加密算法基于以下两种本原操作:
(1)混淆(Confusion):使密钥和密文之间的关系尽可能模糊的加密操作。实现混淆常用的一个元素使替换。
(2)扩散(Diffusion):为了隐藏明文的统计属性而将一个明文符号的影响扩散到多个密文符号的加密操作。最简单的扩散元素就是位置换(常用语DES),更高级的的是Mixcolumn操作。
将若干加密操作串联起来的密码叫做乘积密码。所有的分组密码都是乘积密码,因为他们都是由对数据重复操作的轮组成的。
现代分组密码都具有良好的扩散属性,意味着修改明文中的1位会导致平均一般的输出位发生改变,即前后密码看上去完全没有关系。

3.2 DES算法概述

1、DES是一种对称密码,使用56位密钥对64位长分组进行加密。
2、DES是一种迭代算法,对每个明文分组加密16轮,每轮操作完全相同,但使用不同的子密钥(从主密钥推导而来)。
3、Feistel网络
在这里插入图片描述
在这里插入图片描述
(1)每轮的轮密钥ki 均来自56位主密钥(通过密钥编排实现的)。
(2)f函数可以看作具有两个参数:Ri-1 和ki 的伪随机数产生器,输出使用XOR来加密左半部分。如果攻击者不能预测f的输出,则此加密方法非常强壮。

3.3 DES的内部结构

3.3.1 初始置换与逆初始置换

1、按位置换,初始置换与逆初始置换完全相反;
2、没有增加DES的安全性,不清楚存在的真正原理。

3.3.2 f函数

在这里插入图片描述
1、将输入分成8个4位的分组;
2、使用E盒将每个分组扩展为6位(E盒如图);
(任何一个输出位不会再同一个6位的输出分组出现两次;增加了DES的扩散行为,因为某些输入位会影响两个不同的输出位置)
在这里插入图片描述
3、将扩展得到的48位结果与轮密钥ki 进行XOR操作;
4、将8个6位长的分组送入8个不同的替换盒S-盒中,将6位输出映射为4位输出。(S-盒是DES的核心,是惟一的非线性元素,并提供了混淆)
5、32位输出会根据置换P进行按位置换。(与初始置换不同,P将扩散引入到了DES中,因为每个S-盒的4位输出都会进行置换,使得每位在下一轮中会影响多个不同的S-盒)
6、由扩充带来的扩散、S-盒与置换P可以保证在第五轮结束时每个位都是每个明文位与每个密钥位的函数。

3.3.3 密钥编排

从原始56位密钥中得到16个轮密钥ki ,每个轮密钥都是48位。

3.4 解密

DES的优势之一就是解密过程与加密过程在本质上是完全相同的。惟一的区别是密钥编排需要逆转,即第一轮解密需要子密钥16,依次。

3.5 DES的安全性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值