- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)
您可能关注的文档
- 基于Android平台的公交智能查询系统设计手机开发.docx
- 基于Android平台的手机软件开发基于Android平台的手机“星座”查询软件设计说明手机开发.docx
- 基于Android平台的心电图仪设计毕业文章.docx
- 基于Arduino的无线抢答器设计说明毕业文章.docx
- 基于APR9600的语音录放器的设计说明人工智能.docx
- 基于ARM的按键控制LCD显示八进制数电子设计.docx
- 基于ARM的楼宇对讲系统设计毕业文章.docx
- 基于Arduino空气质量检测器开发毕业文章.docx
- 基于Arrhenius_Mode的产品寿命预估应用工业自动化.docx
- 基于Android智能家居详细设计(经典)手机开发.docx
- 基于MATLAB的MIMO通信系统仿真设计matlab.docx
- 基于MATLAB的2FSK数字通信系统的误matlab.docx
- 基于LABVIEW的虚拟函数信号发生器Labview.docx
- 基于matlab的AM、FM、PM调制大学课件.docx
- 基于MATLAB的PID-控制器设计化学工业.docx
- 基于Matlab的车牌识别算法matlab.docx
- 基于MATLAB的加噪语音信号的滤波matlab.docx
- 基于MATLAB的混沌序列图像加密程序毕业文章.docx
- 基于MATLAB的均匀平面波仿真语言学.docx
- 基于MATLAB的简易图像处理系统的设计及实现matlab.docx
最近下载
- “一带一路”倡议在国际制度层面的支撑与基础.docx VIP
- 上海新天地调研报告.pptx VIP
- 最新统编版一年级语文上册《口耳目手足》精品教学课件.pptx VIP
- 2024年05月黑龙江省齐齐哈尔市自然资源局所属事业单位2024年公开选调4名工作人员笔试笔试历年典型考题及考点研判与答案解析.docx VIP
- 降压启动教学课件.pptx VIP
- 城市轨道交通信号基础课件 -计轴+应答器.ppt VIP
- 212页-【低空经济】低空应急防灾体系建设方案.pdf
- 基于PLC的机械臂控制系统设计与实现.doc VIP
- 日本“都市再生”的发展沿革、主体制度与实践模式研究_张朝辉.doc VIP
- 感统训练手册(3-13岁儿童适用).docx VIP
原创力文档


文档评论(0)