您所在位置: 网站首页 / 基于Matlab的DES算法.docx / 文档详情
基于Matlab的DES算法.docx 立即下载
2023-10-10
约7.1千字
约11页
0
111KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

基于Matlab的DES算法.docx

基于Matlab的DES算法.docx

预览

免费试读已结束,剩余 6 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

密码学与网络安全课程实验利用Matlab语言实现DES加密算法姓名:ZA学号:XXXXX实验目的牢固掌握DES密码算法通过编程实现DES算法深入掌握现代密码算法实现的基本方法验证DES算法中各个模块在实现混淆和弥散中的作用实验内容要求DES算法实现:利用Matlab语言实现DES密码算法输入64比特明文和56比特密钥加密得到64比特的密文;DES弱密钥验证:观察弱密钥两次加密的结果与非弱密钥两次加密的结果进行比较;DES算法初步应用:尝试加密一个字符串字符串的长度大于8个字节;DES弥散特性分析:试输出每一轮加密得到的比特序列并比较当初始明文1个比特发生变化时每一轮加密输出的哪些比特发生变化。实验方案与步骤DES算法实现算法实现方案Matlab(矩阵实验室)是一款工程计算用的软件功能十分强大。Matlab的计算基于矩阵而DES算法用矩阵描述是十分简洁方便的。因此选用Matlab作为算法实现语言基于一系列的矩阵变换、运算来实现DES算法的加密。主要功能实现流程及代码解析加密程序图1DES基本结构DES算法的结构非常简单是一个16次的迭代。核心是函数中一系列变换。根据算法框图程序步骤主要分为三大部分:输入明文和密钥进行字符转换产生16轮密钥矩阵16轮迭代%%demo5.mclcclearall;%%%----------第一步输入明文和密钥-------------%M='0123456789ABCDEF';%K='0123456789ABCDEF';%MB=[];fori=1:16Mi=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=[MBMBi];endM=MB;%转化为64位二进制明文KB=[];fori=1:16Ki=K(i);KBi=['0000'dec2bin(hex2dec(Ki))];KBi=KBi(end-3:end);KBi=[str2num(KBi(1))str2num(KBi(2))str2num(KBi(3))str2num(KBi(4))];KB=[KBKBi];endK=KB;%转化为64位二进制密钥%%%----------第三步产生密钥-------------%PC_1=[57494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124];%PC_1置换矩阵56位KEY0=K(PC_1);%初始矩阵变换64to56%循环移位>>>>>shift_array=-[1122222212222221];C(1:)=KEY0(1:28);%C0D(1:)=KEY0(29:56);%D0fori=2:17C(i:)=circshift(C(i-1:)'shift_array(i-1))';%前28位循环移位%circshift是右移移动负数位表示左移D(i:)=circshift(D(i-1:)'shift_array(i-1))';%后28位循环移位endPC2=[1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932];Ki=zeros(1648);%循环移位>>>>>KEY_MAT=[CD];%17*56KEY_MAT=KEY_MAT(2:17:);%16*56PC_2=[1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932];fori=1:16Ki(i:)=KEY_MAT(iPC_2);endKEY=Ki;%%%----------第四步Feistel结构-------------%IP=[585042342618102605244362820124625446383022146645648403224168574941332517915951433527191136
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

基于Matlab的DES算法

文档大小:111KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用