没有合适的资源?快使用搜索试试~ 我知道了~
【老生谈算法】运用Matlab实现DES算法.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 9 下载量 190 浏览量
2022-07-02
18:05:29
上传
评论 2
收藏 168KB DOCX 举报
温馨提示
试读
11页
【老生谈算法】运用Matlab实现DES算法.docx
资源推荐
资源详情
资源评论
运用 实现 算法
、 加密解密过程详解
、 算法理论图解
、 算法的应用误区
、 算法 程序实现演示
算法为密码体制中的对称密码体制,又被成为美国数据
加密标准,是 年美国 公司研制的对称密码体制加
密算法。。
其密钥长度为 位,明文按 位进行分组,将分组后
的明文组和 位的密钥按位替代或交换的方法形成密文组
的加密方法。
加密算法特点:分组比较短、密钥太短、密码生命
周期短、运算速度较慢。
工作的基本原理是,其入口参数有三个、。
为加密解密使用的密钥, 为加密解密的数据。实际
运用中,密钥只用到了 位中的 位,这样才具有高的安
全性。
一、 加密解密过程详解
、变换密钥
1.1.1 取得密钥
从输入密码中取得一个字符串长为 的密码,经过字符与二
进 制 之 间 的 转 变 , 并 加 入 偶 校 验 位 , 组 成 位 密 码
。
1.1.2 等分密钥
去 除 位 密 码 中 作 为 奇 偶 校 验 位 的 第
、、、、、、、 位剩下的 位作为有效
输入密钥。分成均等的 两部分每部分为 位参照下表
把输入密钥的位值填入相应的位置 按照表所示 的第一位
为输入的 位密钥的第 位, 的第 位为 位密钥的第
位,,依此类推, 的最后一位最后一位是 位密钥
的第 位。
密钥初始置换表:
:
:
1.1.3 密钥移位
次数:
左移:
算法的密钥是经过 次迭代得到一组密钥的把在
步中生成的 视为迭代的起始密钥上表显示在第几次迭
代时密钥循环左移的位数。比如在第 次迭代时密钥循环左
移 位第 次迭代时密钥循环左移 位 第 次迭代时密钥
循环左移 位第 次迭代时密钥循环左移 位
1.1.4 密钥的选取
密钥 位到 位压缩置换表:
在 步中第 ! 次
迭代生成的两个 位长的密钥为
把 合并以 "#!$%#!$#!$。
按照上表所示 的第一位为 位密钥的第 位, 的第
位为 位密钥的第 位,,依此类推, 的最后一位是
位密钥的第 位。生成与进行第 ! 次迭代加密的数据进
行按位异或的 位使用密钥:
1.1.5 迭代
算法密钥生成需要进行 次迭代在完成 次迭代前
循环执行 步 最终形成 套加 密 密 钥 &'
&' &' ( &' &'。
1.2 数据的加密操作
1.2.1 取得数据
明 文 数 据 分 成 位 的 数 据 块 , 不 够 位 的 数 据 块 以
“补 )的方式填充。
1.2.2 初始换位
明文初始置换表:
按照上表所示把输入的 位数据的原第 位换到第一位
原第 位换到第二位,,依此类推最后的得到新的 位
数据。
* +,
1.2.3 数据扩展
明文扩展置换表:
第一次迭代以 步中生成的 +, 作为输入数据第 ! #!
- $次迭代以第 ! 次的 位输出数据为输入数据把 位
数据按位置等分成左右两部分
保持 . 不变根据上表把 /!01 由 位扩展成 位
把扩展后的 位 /!01 与第 ! 次迭代生成的 位加密密钥进
行按位异或操作 形成一个新的 位的 /!01
剩余10页未读,继续阅读
阿里matlab建模师
- 粉丝: 3212
- 资源: 2782
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页