DES加密解密算法实现(Java基本要求).doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DES加密解密算法实现(Java基本要求)

成都信息工程学院 课程设计报告 DES加密解密算法的实现(Java) 课程名称:应用密码算法程序设计 学生姓名: 李文浩 学生学号: 2007122054 专业班级: 信安072班 任课教师: 万武南 2009年 11 月 11 日 指导老师评阅成绩表 学习与工作态度(30%) 选题的价值与意义(10%) 文献综述(10%) 研究水平与设计能力(20%) 课程设计说明说(论文)撰写质量(20%) 学术水平与创新(10%) 总分 指导老师签名: 年 月 日 课程设计答辩记录及评价表 学生 讲述情况 教师主要 提问记录 学生回答 问题情况 答辩评分 评分项目 分值 评价参考标准 评分 总分 优 良 中 及格 差 选题的价值与意义 10 9 8 7 6 4 文献综述 10 9 8 7 6 4 研究水平与设计能力 20 19 17 15 13 10 课程设计说明书(论文)撰写质量 20 19 17 15 13 10 学术水平与创新 10 9 8 7 6 4 答辩效果 30 28 25 22 19 15 是否同意论文(设计)通过答辩 □同意 □不同意 答辩小组成员签名 答辩小组组长签名: 年 月 日 课程设计成绩评定表 成绩汇总 评分项目 评分 比例 分数 课程设计总分 指导老师评分 50% 答辩小组评分 50% 目 录 1.引言 1 1.1 背景 1 1.2 目的 1 1.3 本设计的主要任务 1 2.系统设计 2 2.1系统主要目标 2 2.1.1主要软件需求(运行环境) 2 2.2 系统结构 2 2.2.2 软件操作流程 2 2.2.3功能模块 3 3 系统功能程序设计 3 3.1循环移位 3 3.2获取RoundKey 4 3.3 IP置换,逆置换,E扩展,置换P 5 3.4 Fnew函数(F函数) 5 3.5异或 7 3.6 S盒代替 7 3.7十六进制转二进制 7 3.8二进制转十六进制 8 3.9加密 9 3.10解密 9 3.11程序界面预览 10 4. 测试报告 11 5.结论 14 参考文献 14 1.引言 1.1 背景 数据加密标准(Data Encryption Standard,,DES)曾被美国国家标准局(NBS,现为国家标准与技术研究所NIST)确定为联邦信息处理标准(FIPS PUB 46),得到过广泛使用,特别是在金融领域,曾是对称密码体制事实上的世界标准。目前在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS,ATM,智能卡,加油站,高速公路收费站等领域被广泛使用,以此来实现关键数据加密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。 DES起源于1973年美国国家标准局NBS征求国家密码标准方案。IBM就提交了其在20世纪60年代末设立的一个计算机密码编码学方面的研究项目的结果,这个项目在1971年结束时研制出了一种称为Lucifer算法。它是当时提出来的最好的算法,因而在1977年被选为数据加密标准,有效期为5年,随后在1983年、1987年、和1993年三次再度授权该算法续用5年。 DES使用一个56位的密钥以及附加的8位奇偶校验位,产生最大64位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环。1.3 本设计的主要任务 根据DES加密算法实现一组长度为64bit的十六进制数加密解密向用户提供良好的交互具有良好的操作性 2.系统设计 2.1系统主要目标 2.1.1主要软件需求(运行环境) 本软件适用java语言编写,编译成功后的.class文件可以在装有JDK开发环境的任何计算机上使用。输入: 加密:8字节定长的十六进制明文(16个十六进制数)。 解密:8字节定长的十六进制密文(16个十六进制数)。 输出: 加密:8字节定长的十六进制已加密的密文(16个十六进制数)。 解密:8字节定长的十六进制的正常解密的明文(16个十六进制数)。 测试平台:Win

您可能关注的文档

文档评论(0)

cuotian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档