- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DES算法的实现报告文档
工程实践报告DES算法加解密软件实现课 程 名 称: 工程实践学 生 姓 名: 学 生 学 号: 专 业 班 级: 任 课 教 师: 论文提交日期: 2014年06月15日1.需求分析11.1背景分析11.2需求分析22.总体设计23详细设计23.1二进制与字符的转换43.2初始置换43.3轮结构(F函数)53.3.1.E盒置换73.3.2.异或运算73.3.3.S盒变换83.3.4 P盒置换103.4逆初始置换103.5子密钥生成113.5.1.PC-1置换133.5.2.循环左移函数143.5.3.PC-2置换143.6加密函数143.7解密函数164运行结果175过程中遇到的问题186实验源代码197参考文献321.需求分析1.1背景分析数据加密标准(DES)是由美国IBM公司于20世纪70年代中期的一个密码算法发展而来的,在1977年1月15日,美国国家标准局正式公布实施,并得到了ISO的认可,在过去近20年的时间里,DES被广泛应用于美国联邦和各种商业信息的安全保密工作中,经受住了各种密码分析和攻击,体现出了令人满意的安全性。但随着密码分析技术和计算能力的提高,1994年,美国决定1998年12月以后不再使用DES算法,目前DES算法已被更为安全的Rijndael算法取代。虽然这样,但是目前还无法将DES算法完全的破解掉,而且DES算法的加密解密过程非常快,仍然是目前使用最为普遍的对称密码算法。1.2需求分析由于DES算法仅使用最大为64比特的标准算术和逻辑运算,运算速度快,密钥产生容易,适合于在当前大多数计算机上用软件方法实现,同时也适合于在专用芯片上实现,此次算法要求实现界面简单明了,有友情提示方便用户操作,在输出密文的同时要求输出第一二轮E盒置换以及P盒、S盒的替换结果。2.总体设计用户首先进入操作界面选择数据加密或者解密,再根据提示输入明文或者密文和密钥,以此来实现数据的加密和解密功能。具体流程图如图1所示。 1/2图1 总设计流程3详细设计DES算法明文以64比特为分组,密钥长度为64比特,有效密钥长度为56比特,其中加密密钥有8比特是奇偶校验,DES算法的加密和解密用的是同一算法,它首先把需要加密的明文划分为每64比特的二进制的数据块,用56比特有效密钥对64比特二进制数据块进行加密,每次加密可对64比特的明文输入进行16轮的替换和移位后,输出完全不同的64比特密文数据。具体流程图如图2所示。 图2 DES算法总流程3.1二进制与字符的转换当输入的明文8个字符进入初始置换之前需要将明文转换为二进制形式再进行IP置换。采用移位的方法来进行二进制与字符之间的转换。static void CharToBit(const char input[],int output[],int bits)//把CHAR转换为INT{int temp,i,j;for(i=0;i8;i++){temp=(int)input[i];for(j=i*8+7;j=i*8;j--){output[j]=temp%2;temp=temp/2;}}}static void BitToChar(const int intput[],char output[],int bits)//把INT转换为CHAR{int i,j; for(j=0;j8;j++) { for(i=0;i8;i++) { output[j]=output[j]*2+intput[i+8*j]; }}}3.2初始置换第一阶段:初始置换IP(如下表所示)对于给定的明文x,通过初始置换IP(在第一轮迭代运算之前),需要加密的64位明文首选通过初始置换IP的作用,对输入分组实施置换(即把58位置换为第1位,…,原来输入明文的第7位将作为置换结果的最后一位)获得,并将x0分为两部分,前面32位记为L0,后面32位记为R0。const static int IP_Table[64] = { //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 };IP置换举例如下图:图3 IP置换举例static void IP(const int input
您可能关注的文档
- 建筑环境学复习资料(总)3.doc
- 张腾文开题报告(建环1002) - 副本.doc
- 22分析化学.doc
- 高等代数知识结构.doc
- CFD软件在制冷行业中的应用.doc
- 江西理工大学信息安全工程复习题目及答案.doc
- 2024秋新冀教版数学一年级上册教学课件 第一单元 熟悉的数与加减法 3. 0的认识和加减.pptx
- 2024秋新外研版英语三年级上册课件 Unit 4 第6课时 (Wrap up).pptx
- 2024秋新外研版英语三年级上册教学课件 Unit 6 课时2 Speed up.pptx
- 特种作业煤矿安全作业每日一练试卷附参考答案详解(轻巧夺冠).docx
- 特种作业煤矿安全作业试题及完整答案详解【夺冠】.docx
- 2025特种作业煤矿安全作业考试黑钻押题(原创题)附答案详解.docx
- 特种作业煤矿安全作业考前冲刺练习(考点提分)附答案详解.docx
- 特种作业煤矿安全作业通关考试题库及参考答案详解【完整版】.docx
- 2025特种作业煤矿安全作业考前冲刺练习试题及1套参考答案详解.docx
- 特种作业煤矿安全作业检测卷及答案详解【名校卷】.docx
- 特种作业煤矿安全作业全真模拟模拟题含完整答案详解【全优】.docx
- 2025特种作业煤矿安全作业考前冲刺练习试题附完整答案详解(典优).docx
- 2025特种作业煤矿安全作业试题带答案详解(达标题).docx
- 特种作业煤矿安全作业真题及答案详解【全优】.docx
最近下载
- 配电箱采购合同协议书范本详细(2025年).docx VIP
- 部编版语文写字表六年级上册字帖.pdf VIP
- (高清版)B/T 24421.1-2023 服务业组织标准化工作指南 第1部分:总则.pdf VIP
- 2022年洛阳理工学院教师招聘笔试试题及答案解析.docx VIP
- 城市停车设施规划导则.docx VIP
- 天然气发电厂-燃气-蒸汽联合循环发电机组PPT课件.pptx VIP
- 《《中文核心期刊目录(2017年版)》》.doc VIP
- 基孔肯雅热防控技术指南(2025年版)测试题及参考答案.docx VIP
- 工程测量技术 电子水准仪 电子水准仪.ppt VIP
- 党支部贯彻落实八项规定扎实推进作风建设工作专题党课ppt课件.pptx VIP
文档评论(0)