DES加密算法实验报告.doc

DES加密算法实验报告.doc

ID:56785502

大小:161.00 KB

页数:14页

时间:2020-07-11

DES加密算法实验报告.doc_第1页
DES加密算法实验报告.doc_第2页
DES加密算法实验报告.doc_第3页
DES加密算法实验报告.doc_第4页
DES加密算法实验报告.doc_第5页
资源描述:

《DES加密算法实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、苏州科技学院实验报告学生姓名:杨刘涛学号:指导教师:陶滔刘学书实验地点:计算机学院大楼东309实验时间:2015-04-20一、实验室名称:软件实验室二、实验项目名称:DES加解密算法实现三、实验学时:4学时四、实验原理:DES算法由加密、子密钥和解密的生成三部分组成。现将DES算法介绍如下。1.加密DES算法处理的数据对象是一组64比特的明文串。设该明文串为m=m1m2…m64(mi=0或1)。明文串经过64比特的密钥K来加密,最后生成长度为64比特的密文E。其加密过程图示如下:图2-1:DES算法加密过程对DES算法加密过程图示的说明如下:待加密的64比特明文串m,

2、经过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-1408481656246432397471555236331386461454226230375451353216129364441252

4、20602835343115119592734242105018582633141949175725经过置换IP-1后生成的比特串就是密文e。变换f(Ri-1,Ki):它的功能是将32比特的输入再转化为32比特的输出。其过程如图2-2所示:图2-2:将32比特的输入再转化为32比特的输出f变换说明:输入Ri-1(32比特)经过变换E(扩展置换E)后,膨胀为48比特。膨胀后的比特串的下标列表如下:表2-3:膨胀后的比特串的下标列表E:3212345456789891011121312131415161716171819202120212223242524252627282

5、928293031321膨胀后的比特串分为8组,每组6比特。各组经过各自的S盒后,又变为4比特(具体过程见后),合并后又成为32比特。该32比特经过P变换(压缩置换P)后,其下标列表如下:表2-4:压缩置换P后的下标列表P:1672021291228171152326518311028241432273919133062211425经过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行,

6、y列的值Sxy。将Sxy化为二进制,即得Si盒的输出。(S表如图2-4所示)图2-4以上是DES算法加密原理五、实验目的:了解DES加密算法及原理,掌握其基本应用。六、实验内容:了解DES加密算法及原理,掌握其基本应用,利用java编程实现。七、实验器材(设备、元器件):(1)PC(2)Windows8.1系统平台(3)java程序开发环境。八、源代码:packageWindowsDemo;publicclassDesUtil{byte[]bytekey;publicDesUtil(StringstrKey){this.bytekey=strKey.getBytes()

7、;}//声明常量字节数组privatestaticfinalint[]IP={58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7};//64privatestaticfinalint[]IP_1={40,8,48,16,56,24

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

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

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