欢迎来到天天文库
浏览记录
ID:37550319
大小:190.00 KB
页数:14页
时间:2019-05-25
《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一、引言项目的选题目的和意义:..DES采用分组乘积密码体制,它是由IBM开发,是对早期被称为Lucifer 密码
2、体制的改进。DES在1975年3月17日首次在联邦记录中公布,而且声明对比算法征求意见。到1977年2月15日拟议中的DES被采纳为“非密级”应用的一个联邦标准。 最初预期DES作为一个标准只能使用10~15年,然而,出于种种原因,可能是DES还没有受到严重的威胁,事实证明了DES要长寿得多。在其被采用后,大约每隔5年被评审一次。DES的最后一次评审是在1999年1月。但是,随着计算机计算能力的提高,由于DES的密钥过短,仅有56位,对DES的成功攻击也屡见报端。 尽管如此,DES的出现是现代密码学历史上非常重要的事件。它对于我们分析掌握分组密码
3、的基本理论与设计原理仍然具有重要的意义。本课题是在Matlab的环境下对DES算法的实现和分析,探究DES算法的原理。二、项目研究2.1、框架设计,模块划分:2.1.1、总体分为三个模块:1、数据初始化:明文的输入(字符串形式)及转化为数字串。2、产生子密钥3、16轮循环加密及密文输出2.1.2、总体流程图:..2.2.DES加密技术简介:DES是一个16轮的Feistel型结构密码,它的分组长度为64比特,用一个56比特的密钥来加密一个64比特的明文串,输出一个64比特的密文串。其中,使用密钥为64比特,实用56比特,另8位用作奇偶校验。加密的
4、过程是先对64位明文分组进行初始置换,然后分左、右两部分分别经过16轮迭代,然后再进行循环移位与变换,最后进行逆变换得出密文。加密与解密使用相同的密钥,因而它属于对称密码体制。假设输入的明文数据是64比特。首先经过初始置换IP后把其左半部分32比特记为L0,右半部分32比特记为R0,即成了置换后的输入;然后把R0与密钥产生器产生的子密钥k1进行运算,其结果计为f(R0,k1);再与L0进行摸2加得到L0⊕f(R0,k1),把R0记为L1放在左边,而把L0⊕f(R0,k1)记为R1放在右边,从而完成了第一轮迭代运算。在此基础上,重复上述的迭代过程,
5、一直迭代至第16轮。所得的第16轮迭代结果左右不交换,即L15⊕f(R15,k16)记为R16,放在左边,而R15记为L16放在右边,成为预输出,最后经过初始置换的逆置换IP-1运算后得到密文。..三、方案设计:3.1明文的输入与转化为数字串由于输入的明文和密钥都是16进制表示的字符串格式,因此在输入后要将字符串转换为01数字串。程序:MB=[];%定义变量MBfori=1:16%开始循环Mi=M(i);%将输入字符串M的第i位赋值给M(i)MBi=['0000',dec2bin(hex2dec(Mi))];%将16进制数转化为2进制MBi=MB
6、i(end-3:end);MBi=[str2num(MBi(1)),str2num(MBi(2)),str2num(MBi(3)),str2num(MBi(4))];%字符串矩阵被转换成一个数值矩阵MB=[MB,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位
7、表示从0到15之间的二进制数,令该数为j;在该表S1中查第i行j列的数,它是从0到15之间的一个数,且唯一地由4位块代表,则该块就是输入B的S1的输出S1(B)例如对于输入为101000而言,行是10,即第2行。而列是由0100确定,即第5列,S1盒的第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位。
8、现在我们就令S1、S2...S8为8个不同的选择函数,P为置换函数,E为扩展函数。为了计算f(R,k),先规定B1、B2...B8每个为
此文档下载收益归作者所有