基于Matlab的DES算法大学课件.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
钥改变1bit前后的16轮加密结果中相等比特位数与 钥改变1bit前后的16轮加密结果中相等比特位数与a -------第一步输入明文和密钥-------------%M=0123456789ABCDEF =K(PC1);%初始矩阵变换64to56%循环移位shiftarray=-[1,1,2, 789ABCDEF每一轮的加密结果如下表所示:;;8/11表116轮加密结果b)随机改变m中的一个 : 密码学与网络安全课程实验 利用 Matlab 语言实现 DES加密算法 ZA 学号: XXXXX 一、 实验目的 1)牢固掌握 DES密码算法 2)通过编程实现 DES算法,深入掌握现代密码算法实现的基本方法 3)验证 DES算法中各个模块在实现混淆和弥散中的作用 二、 实验容要求 1)DES算法实现: 利用 Matlab 语言实现 DES密码算法, 输入 64 比特明文和 56 比特密 钥,加密得到 64 比特的密文; 2)DES弱密钥验证:观察弱密钥两次加密的结果,与非弱密钥两次加密的结果进行比 较; 3)DES算法初步应用:尝试加密一个字符串,字符串的长度大于 8 个字节; 4)DES弥散特性分析:试输出每一轮加密得到的比特序列,并比较当初始明文 1 个比 特发生变化时,每一轮加密输出的哪些比特发生变化。 三、 实验方案与步骤 1 / 11 十分简洁方便的。因此,选用Matlab作为算法实现语言,基于一系列的矩阵变换、运算来实现DES算法的6次的迭代。核心是f 十分简洁方便的。因此,选用Matlab作为算法实现语言,基于一系列的矩阵变换、运算来实现DES算法的 6次的迭代。核心是f函数中一系列变换。根据算法框图,程序步骤主要分为三大部分:1)输入明文和密钥进行 位异或程序见demo5.m。2)解密程序DES算法设计巧妙也体现在其解密过程非常简单,结构和加密算法 行,得密文:CCBC=21BC605D513B38E8D8EF66717E626 a) 算法实现方案 Matlab (矩阵实验室)是一款工程计算用的软件,功能十分强大。 Matlab 的计算 基于矩阵,而 DES算法用矩阵描述是十分简洁方便的。因此,选用 Matlab 作为算法实 现语言,基于一系列的矩阵变换、运算来实现 DES算法的加密。 b) 主要功能实现流程与代码解析 1) 加密程序 明文 明文(2W 比特) W 比特 W比特 R 0 K 1 F L i-1 L 1 48 选 F 32 运 48 P R i K n F L i R n 密文(2W 比特) L i 第n轮 + L 0 第1轮 + 第i轮 + 置 换 运 32 算 48 运 算 E 选 择 压 缩 算 S 择 扩 展 R i-1 + + L n K i K i R i R 32 32 1 图 1 DES基本结构 DES算法的结构非常简单,是一个 16 次的迭代。核心是 f 函数中一系列变换。 根据算法框图,程序步骤主要分为三大部分: 1) 输入明文和密钥进行字符转换 2) 产生 16 轮密钥矩阵 3) 16 轮迭代 %%demo5.m clc, clear all ; %% %---------- 第一步 输入明文和密钥-------------% M=0123456789ABCDEF K=0123456789ABCDEF MB=[]; for i=1:16 ; % ; % 2 / 11 ,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,hex=6DCE0DC9006556A3再次加密:M=6DCE0DC9006556A3K=FF字符转换2) ,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6, hex=6DCE0DC9006556A3再次加密:M=6DCE0DC9006556A3K=FF 字符转换2)产生16轮密钥矩阵3)16轮迭代%%demo5.mclc,clearall;%%%--- 1)),str2num(KBi(2)),str2num(KBi(3)),str2num(KBi(4) %C0 %D0 Mi=M(i); MBi=[ 0000 ,dec2bin(hex2dec(Mi))]; MBi=MBi(end-3:end); MBi=[str2num(MBi(1)),str2num(MBi(2)),str2num(MBi(3)),str2num(MBi(4))] ; MB=[MB,MBi]; end M=MB;%转化为64 位二进制明文 KB=[]; for i=1:16 Ki=K(i)

文档评论(0)

贤老师精品资料 + 关注
实名认证
文档贡献者

一线教师,欢迎下载

1亿VIP精品文档

相关文档