DES算法实现与分析论文

DES算法实现与分析论文

ID:47427506

大小:236.00 KB

页数:14页

时间:2020-01-10

DES算法实现与分析论文_第1页
DES算法实现与分析论文_第2页
DES算法实现与分析论文_第3页
DES算法实现与分析论文_第4页
DES算法实现与分析论文_第5页
资源描述:

《DES算法实现与分析论文》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、项目报告:DES算法的实现与分析组员:柴彦廷121041302李雨潇121041316唐均121041328王森121041333王钰121041334熊枫121041337目录1.引言22.项目研究22.1框架设计、模块划分32.2.DES加密技术简介33.方案设计33.1明文的输入与转化43.2S盒及P盒原理简介43.3子密钥的产生53.416轮循环加密54.仿真结果输出55.DES算法特点总结86.参考文献87.程序代码9一、引言项目的选题目的和意义:XIIDES采用分组乘积密码体制,它是由IBM开发,是对早期被称为Lucifer 密码体制的改进。DES在1975年3月17日首次在

2、联邦记录中公布,而且声明对比算法征求意见。到1977年2月15日拟议中的DES被采纳为“非密级”应用的一个联邦标准。 最初预期DES作为一个标准只能使用10~15年,然而,出于种种原因,可能是DES还没有受到严重的威胁,事实证明了DES要长寿得多。在其被采用后,大约每隔5年被评审一次。DES的最后一次评审是在1999年1月。但是,随着计算机计算能力的提高,由于DES的密钥过短,仅有56位,对DES的成功攻击也屡见报端。 尽管如此,DES的出现是现代密码学历史上非常重要的事件。它对于我们分析掌握分组密码的基本理论与设计原理仍然具有重要的意义。本课题是在Matlab的环境下对DES算法的实现

3、和分析,探究DES算法的原理。二、项目研究2.1、框架设计,模块划分:2.1.1、总体分为三个模块:1、数据初始化:明文的输入(字符串形式)及转化为数字串。2、产生子密钥3、16轮循环加密及密文输出2.1.2、总体流程图:XII2.2.DES加密技术简介:DES是一个16轮的Feistel型结构密码,它的分组长度为64比特,用一个56比特的密钥来加密一个64比特的明文串,输出一个64比特的密文串。其中,使用密钥为64比特,实用56比特,另8位用作奇偶校验。加密的过程是先对64位明文分组进行初始置换,然后分左、右两部分分别经过16轮迭代,然后再进行循环移位与变换,最后进行逆变换得出密文。加

4、密与解密使用相同的密钥,因而它属于对称密码体制。假设输入的明文数据是64比特。首先经过初始置换IP后把其左半部分32比特记为L0,右半部分32比特记为R0,即成了置换后的输入;然后把R0与密钥产生器产生的子密钥k1进行运算,其结果计为f(R0,k1);再与L0进行摸2加得到L0⊕f(R0,k1),把R0记为L1放在左边,而把L0⊕f(R0,k1)记为R1放在右边,从而完成了第一轮迭代运算。在此基础上,重复上述的迭代过程,一直迭代至第16轮。所得的第16轮迭代结果左右不交换,即L15⊕f(R15,k16)记为R16,放在左边,而R15记为L16放在右边,成为预输出,最后经过初始置换的逆置换

5、IP-1运算后得到密文。XII三、方案设计:3.1明文的输入与转化为数字串由于输入的明文和密钥都是16进制表示的字符串格式,因此在输入后要将字符串转换为01数字串。程序:MB=[];%定义变量MBfori=1:16%开始循环Mi=M(i);%将输入字符串M的第i位赋值给M(i)MBi=['0000',dec2bin(hex2dec(Mi))];%将16进制数转化为2进制MBi=MBi(end-3:end);MBi=[str2num(MBi(1)),str2num(MBi(2)),str2num(MBi(3)),str2num(MBi(4))];%字符串矩阵被转换成一个数值矩阵MB=[MB

6、,MBi];endM=MB;3.2S盒及P盒原理简介S盒运算:在密码函数f (R , k)中有8个S盒,称为8个不同的选择函数,分别用(S1、S2…S8)表示。每个S盒都是将6位作为输入,得到一个4位块作为输出。 以S1为例,若B是6位的一个块,则S1(B)计算如下:B的第一和最后一位表示从0到3之间的二进制数,令该数为i ;而B的中间4位表示从0到15之间的二进制数,令该数为j;在该表S1中查第i行j列的数,它是从0到15之间的一个数,且唯一地由4位块代表,则该块就是输入B的S1的输出S1(B)例如对于输入为101000而言,行是10,即第2行。而列是由0100确定,即第5列,S1盒的

7、第2行与第5列的交叉处即为B,因而输出为1101,因此1101就是S 盒S1在输入为101000时的输出。P盒运算:置换函数P是通过输入块的位,从32位输入中得到32位的输出。函数P的输出P(C),是通过C的第16位为P(C)的第1位,取第7位为P(C)的第2位,……,取第25为P(C)的第32位。现在我们就令S1、S2...S8为8个不同的选择函数,P为置换函数,E为扩展函数。为了计算f(R,k),先规定B1、B2...B8每个为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。