欢迎来到天天文库
浏览记录
ID:47539248
大小:92.47 KB
页数:6页
时间:2020-01-14
《DES算法实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.信息安全实验报告题目DES算法姓名学号专业年级计算机科学与技术2014级(1)班指导教师2016年12月10日word范文.一、实验目的了解DES加密算法及原理,掌握其基本应用。二、实验内容DES加密算法的JAVA实现三、实验原理DES算法由加密、子密钥和解密的生成三部分组成。现将DES算法介绍如下。1.加密DES算法处理的数据对象是一组64比特的明文串。设该明文串为m=m1m2…m64(mi=0或1)。明文串经过64比特的密钥K来加密,最后生成长度为64比特的密文E。其加密过程图2-1所示:图2-1:DES算法加密过程对DES算法加密过程图示的说明如下:word范文.待加密的64比
2、特明文串m,经过IP置换(初始置换)后,得到的比特串的下标列表如下:表2-1:得到的比特串的下标列表IP58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157该比特串被分为32位的L0和32位的R0两部分。R0子密钥K1(子密钥的生成将在后面讲)经过变换f(R0,K1)(f变换将在下面讲)输出32位的比特串f1,f1与L0做不进位的二进制加法运算。运算规则为:f1与L0做不进位的二进制加法运算后的结果赋给
3、R1,R0则原封不动的赋给L1。L1与R0又做与以上完全相同的运算,生成L2,R2……一共经过16次运算。最后生成R16和L16。其中R16为L15与f(R15,K16)做不进位二进制加法运算的结果,L16是R15的直接赋值。R16与L16合并成64位的比特串。值得注意的是R16一定要排在L16前面。R16与L16合并后成的比特串,经过置换IP-1(终结置换)后所得比特串的下标列表如下:表2-2:置换后所得比特串的下标列表IP-14084816562464323974715552363313864614542262303754513532161293644412522060283534
4、3115119592734242105018582633141949175725经过置换IP-1后生成的比特串就是密文e。变换f(Ri-1,Ki):word范文.它的功能是将32比特的输入再转化为32比特的输出。其过程如图2-2所示:图2-2:将32比特的输入再转化为32比特的输出f变换说明:输入Ri-1(32比特)经过变换E(扩展置换E)后,膨胀为48比特。膨胀后的比特串的下标列表如下:表2-3:膨胀后的比特串的下标列表E:321234545678989101112131213141516171617181920212021222324252425262728292829303132
5、1膨胀后的比特串分为8组,每组6比特。各组经过各自的S盒后,又变为4比特(具体过程见后),合并后又成为32比特。该32比特经过P变换(压缩置换P)后,其下标列表如下:表2-4:压缩置换P后的下标列表P:16720212912281711523265183110282414322739word范文.19133062211425经过P变换后输出的比特串才是32比特的f(Ri-1,Ki).S盒的变换过程:任取一S盒。见图2-3:图2-3在其输入b1,b2,b3,b4,b5,b6中,计算出x=b1*2+b6,y=b5+b4*2+b3*4+b2*8,再从Si表中查出x行,y列的值Sxy。将Sxy
6、化为二进制,即得Si盒的输出。(S表如图2-4所示)word范文.图2-4一、实验结果二、实验总结此次课程设计,不仅使自己对信息安全有了初步了解,同时使自己编程能力有了较大的提高。基本掌握了JAVA结构化程序设计。并且熟悉掌握了密码学中一个重要的算法—DES密码算法,并且通过JAVA工具编程实现。三、代码附录略word范文
此文档下载收益归作者所有