des算法实现课程设计学士学位论文.doc

des算法实现课程设计学士学位论文.doc

ID:14381287

大小:326.50 KB

页数:15页

时间:2018-07-28

des算法实现课程设计学士学位论文.doc_第1页
des算法实现课程设计学士学位论文.doc_第2页
des算法实现课程设计学士学位论文.doc_第3页
des算法实现课程设计学士学位论文.doc_第4页
des算法实现课程设计学士学位论文.doc_第5页
资源描述:

《des算法实现课程设计学士学位论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、通达学院课程设计Ⅱ报告(2016/2017学年第1学期)题目:DES算法实现专业计算机科学与技术(信息安全)学生姓名班级学号指导教师王波指导单位计算机学院信息安全系日期-评分细则评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简短评语教师签名:年月日评分等级备注评分等级有五种:优秀、良好、中等、及格、不及格-DES算法的实现一、课题内容和要求对称加密就是加密和解密所用的密钥是一样的,加密的强度很大程度上在于密钥的强度以及加密算法的保密,最常见的对

2、称加密算法有DES、IDEA、RC4、RC5等。本设计题要求实现DES加密和解密算法,能对文件实现加解密。二、对设计要求的理解DES是一个分组密码算法,使用64位密钥(除去8位奇偶校验,实际密钥长度为56位)对64比特的数据分组(二进制数据)加密,产生64位密文数据。DES是一个对称密码体制,加密和解密使用同意密钥,解密和加密使用同一算法(这样,在硬件与软件设计时有利于加密单元的重用)。DES的所有的保密性均依赖于密钥。程序主要采取对数据的位操作的形式,把明密文文件中的内容以字节为单位读取,每次读取8个byte共65bits,然后使用标准DES的算法依次对读取的64bits明密文进出加解

3、密处理。文件的路径的输入有比较严格的格式约束。如:盘符名:\文件名.txt格式错误则会导致文件打开失败,不能进行加解密操作。三、概要设计这个程序主要是DES算法部分的加密和解密,还有后面对文件的操作。程序主要流程图如下:图-1程序流程图-这个程序的关键在DES算法的操作,主要有下的主要步骤:1.初始置换IP;2.子密钥Ki的获取;3.密码函数f;4.尾置换IP-1;下面是具体的几个过程:1)初始置换IP这一部分很简单,IP(initialpermutation)是一个8x8的置换表:intIP[]={58,50,42,34,26,18,10,2,60,52,44,36,28,20,12

4、,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};根据表中的规定,将输入的64位明文重新进行排序,即将第58位放到第1位,第50位放到第2位……以此类推。初始置换以后得到的是一个64位的输出。2)子密钥Ki的获取用户输出的密钥是64位的,根据密钥置换表PC-1,将64位变成56位密钥。(去掉了奇偶校验位)将PC-1置换得到的56位密钥,分为前28位C0和后28

5、位D0,分别对它们进行循环左移,C0左移得到C1,D0左移得到D1。将C1和D1合并成56位,然后通过PC-2表进行压缩置换,得到当前这一轮的48位子密钥K1。然后对C1和D1进行左移和压缩置换,获取下一轮的子密钥……一共进行16轮,得到16个48位的子密钥。3)密码函数fl密码函数f(R,K)接受两个输入:32位的数据和48位的子密钥。然后:l通过表E进行扩展置换,将输入的32位数据扩展为48位;l将扩展后的48位数据与48位的子密钥进行异或运算;l将异或得到的48位数据分成8个6位的块,每一个块通过对应的一个S表产生一个4位的输出。其中,每个S表都是4行16列。具体的置换过程如下:把

6、6位输入中的第1位和第6位取出来行成一个两位的二进制数x,作为Si表中的行数(0~3);把6位输入的中间4位构成另外一个二进制数y,作为Si表的列数(0~15);查出Si表中x-行y列所对应的整数,将该整数转换为一个4位的二进制数。把通过S表置换得到的8个4位连在一起,形成一个32位的数据。然后将该32位数据通过表P进行置换(称为P-置换),置换后得到一个仍然是32位的结果数据,这就是f(R,K)函数的输出。4)尾置换IP-1合并L16和R16得到一个64位的数据,再经过尾置换后得到的就是64位的密文。注意:要将L16和R16合并成R16L16(即左右互换)。尾置换表IP-1如下:int

7、IP_1[]={40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,38,6,46,14,54,22,62,30,37,5,45,13,53,21,61,29,36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,34,2,42,10,50,18,58,26,33,1,41,9,49,17,57,25};四、关键技术难点分析在DES算法的实现中,我用C++

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

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

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