DES 对称密码.md

原文我的笔记:http://caf99af3.wiz03.com/share/s/3a-pHP3y4ABk2SLM5t03faoi1ndUeW21wQya2iOdSz0QemVN

DES 现在可以暴力破解,所以不应再用。

DES是一种将64bit的明文加密成64为密文的对称密码算法,对于长于64bit的明文,会将其进行分组然后迭代加密,迭代的方式称为模式,DES 是分组密码中的一种。
DES 秘钥长64bit,严格来说长度为56bit,每7bit后跟1bit校验位。

DES 结构(Feistel 网络

在这里插入图片描述

明文被分为两半部分处理,中间‘子秘钥’指的是本轮加密所使用的秘钥。在Feistel网络中,每一轮都需要使用一个不同的子秘钥。
轮函数的作用是根据‘右侧’和子秘钥对‘左侧’进行加密的比特序列,它是密码系统的核心。
左侧 与 轮函数的输出 进行 XOR 运算,而右侧直接输出。

一轮的具体计算步骤:

  1. 将输入数据等分为两部分;
  2. 将输入的右侧直接发送到输出部分;
  3. 将输入的右侧发送到轮函数;
  4. 轮函数根据右侧数据和子秘钥,计算出一串看上去是随机的比特序列;
  5. 将上一步得到的比特序列与左侧数据进行 XOR 运算, 并将结果作为加密后的左侧。

下一轮将上一轮的左右的输出对调,在最后一轮时不需要对调。

下面是一个三轮 Feistel 网络:
在这里插入图片描述

DES 解密过程和加密相同

使用同样的子秘钥执行两次能够把数据还原

解密过程:
在这里插入图片描述

可以看出:

  1. Feistel 网络的轮数可以任意增加;
  2. 无论加密时使用任何函数作为轮函数都可以正确解密;
  3. 加密和解密可以用完全相同的结构来实现。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值