摘 要
本毕业设计研究的是DES算法实现及应用。选择该课题的意义在于:为了防止信息不被非法访问或窃取,实现达到该目的功能软件。DES算法是对称的加密算法,具有速度快,执行效率高等优点,它是由IBM公司研制的一种加密算法.本设计实现了该算法并且集成了保密通信,加密演示,文本文件加密三大功能模块.保密通信模块提供了一个基于C/S结构的保密通信示例。加密演示模块提供了对DES算法的加解密演示功能。文本文件加密模块提供了对文本文件加密并保存密文的功能。整个设计采用JAVA语言实现,DES类提供了两个接口,一个加密接口和一个解密接口,对其进行了封装,以便在其他场合可以提供加解密功能。整个应用程序设计的各个功能模块的执行依靠事件驱动,根据不同的事件原因及事件类型执行不同的功能模块。在保密通信应用中采用了多线程技术,服务器端和客户端集成到同一个面板上,各对端在发送消息时先对消息进行加密,发送线程负责处理加密消息的发送,接收线程负责处理加密消息的解密和显示。本文是针对DES算法实现及其应用所做的工作,主要描述DES算法实现原理和方法,应用场合示例演示,实现方式和方法以及在此过程中运用到的计算机知识。并通过所编写的程序实现了本文的描述。
关键词:DES;保密通信;多线程
The Implementation of Visible Software about DES Algorithm
目 录
文档总页数:24页
1 引言 1
1.1历史背景 1
1.2国内外现状 1
1.3课题的意义 1
1.4课题的实现方法 1
2 课题描述 2
2.1加密体制与Des算法 2
2.1.1算法与加密体 2
2.1.2加密解密的概念加密方法以及应用 3
2.1.3密码学简介 5
2.1.4算法的安全性 6
2.2算法流程 7
3 算法实现及应用 10
3.1应用程序结构 10
3.2应用程序底层加密接口 11
3.3功能模块定义 13
3.3.1保密通信模块 13
3.3.2加密演示模块 17
3.3.3 文本文件加密模块 20
3.3.4 简单密匙管理模块 20
结 论 22
参考文献 22
致 谢 23
声 明 24
1 引言
1.1历史背景
美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的(通常称为DES 密码算法要求)主要为以下四点: 1.提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;2.具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便于理解和掌握;3.DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础;4.实现经济,运行有效,并且适用于多种完全不同的应用。1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(Des Data Encryption Standard)。
1.2国内外现状
Des算法的程序在国内外的使用都很普遍,在很多领域都有应用,不但有软件的实现也有基于硬件的实现,在基于硬件级的实现是为了提高Des的工作效率,提高加解密速度,针对比较高的应用场合而设计。软件实现比较普遍,产品价格适宜。在目前的环境下很多地方都可以找到Des算法实现的源代码。
1.3课题的意义
目前在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。另一方面随着Internet日益广泛的应用,黑客行为也是有增无减。木马病毒无处不在,如何有效地抵御各种机密信息不被窃取,一直是信息安全领域的焦点。对消息加密是能达到保密信息不被非法访问和窃取的一种有效手段,而Des算法又是消息加密的一种常用的方法,因此对于算法的实现意义是重大的,同时对于综合运用大学期间各科计算机基础知识是一个非常好的机会。
1.4课题的实现方法
本课题采用JAVA程序设计语言来实现Des算法,按照Des算法的算法流程建立各功能函数的函数原型,根据各模块的需要调用相应的功能函数,最终达到算法的实现和应用。针对外部调用提供两个接口,一个加密接口和一个解密接口。内部实现全部封装在Des类里面。
2 课题描述
2.1加密体制与Des算法
2.1.1算法与加密体
据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。
随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。随着对加密强度需求的不断提高,近期又出现了AES、ECC等。使用密码学可以达到以下目的:保密性:防止用户的标识或数据被读取。数据完整性:防止数据被更改。身份验证:确保数据发自特定的一方。根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。
AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高。加密算法林林种种,那我们在实际使用的过程中究竟该使用哪一种比较好呢?我们应该根据自己的使用特点来确定,由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。对称加密算法不能实现签名,因此签名只能非对称算法。
由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 1/9/9
免费DES算法的可视化程序的实现(一)由毕业论文网(www.huoyuandh.com)会员上传。