毕业设计论文基于VC的DES算法的实现.doc
《毕业设计论文基于VC的DES算法的实现.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于VC的DES算法的实现.doc(28页珍藏版)》请在三一办公上搜索。
1、中国人民解 放 军电子工程学院地方生学员毕业设计报告报告题目:基于VC+的DES算法的实现 学员姓名: 学员队别:四系二十七队 专业名称:网络工程 指导教员: 二一一年四月十二日摘 要本毕业设计研究的是DES加解密算法的实现。DES算法是由IBM公司研制的一种对称加密算法,具有速度快,执行效率高等优点。在POS、ATM、磁卡、智能卡以及信息安全领域得到广泛应用。本文介绍了DES算法的相关背景,阐述了DES算法的基本原理,并在此基础上详细讨论了DES算法的实现方法和流程。同时,采用VC+软件开发平台,结合面向对象方法,通过编程实现了基于DES算法的加解密功能。关键词:DES;保密通信;多线程Ab
2、stractThe graduation project is the study of DES encryption and decryption algorithm. DES algorithm developed by IBM, a symmetric encryption algorithm, has the speed, the implementation efficiency. In the POS, ATM, magnetic cards, smart cards, and is widely used in information security. This article
3、 describes the background of the DES algorithm, described the basic principles of DES algorithm, and on this basis a detailed discussion on the DES algorithm implementation methods and processes. At the same time, using VC + + software development platform, combined with object-oriented method, by p
4、rogramming algorithm based on DES encryption and decryption functions. Keywords: DES; secure communications; multi-threading目 录1 引言11.1 历只背景11.2 国内外现状11.3 课题的意义11.4 本课题的实现方法22 课题基础与理论32.1 开发环境Visual c+32.2 加密体制与DES算法32.2.1算法与加密体32.2.2加密解密的概念加密方法以及应用52.2.3密码学简介82.2.4算法的安全性93 DES算法描述113.1 DES算法框图113.2
5、 DES解密123.3算法流程124 算法实现及应用164.1 应用程序结构164.2加密算法VC+实现164.3 应用程序功能模块定义195 测试21结 论22致 谢23参考文献24基于VC+的DES算法的实现1 引言1.1 历只背景美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的(通常称为DES 密码算法要求)主要为以下四点: 1提供高质量的数据保护,防止数据未经授权的泄露和未被察觉的修改;2具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又要便
6、于理解和掌握;3DES密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础;4实现经济,运行有效,并且适用于多种完全不同的应用。1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(Des Data Encryption Standard)。 1.2 国内外现状Des算法的程序在国内外的使用都很普遍,在很多领域都有应用,不但有软件的实现也有基于硬件的实现,在基于硬件级的实现是为了提高Des的工作效率,提高加解密速度,针对比较高的应用场合而设计。软件实现比较普遍,产品价格适宜。在目前的环境下很多地方都可以找到Des算法实现的源代码。1.3 课
7、题的意义目前在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。另一方面随着Internet日益广泛的应用,黑客行为也是有增无减。木马病毒无处不在,如何有效地抵御各种机密信息不被窃取,一直是信息安全领域的焦点。对消息加密是能达到保密信息不被非法访问和窃取的一种有效手段,而Des算法又是消息加密的一种常用的方法,因此对于算法的实现意义是重大的,同时对于综合运用大学期间各科计算机基础
8、知识是一个非常好的机会。1.4 本课题的实现方法本课题采用Visual C+软件开发工具来实现Des算法,按照Des算法的算法流程建立各功能函数的函数原型,根据各模块的需要调用相应的功能函数,最终达到算法的实现和应用。2 课题基础与理论2.1 开发环境Visual c+VC自诞生以来,一直是Windows环境下最主要的应用开发系统之一,Visual c+不仅是C+语言的集成开发环境,而且与Win32紧密相连,利用Visual c+开发系统可以完成各种各样的应用程序开发,从底层软件到上层直接面向用户的软件,强大的调试功能为大型复杂软件的开发提供了有效的排错手段。进入20世纪90年代以来,随着多媒
9、体技术和图形图像技术的不断发展,可视化技术(Visual)得到广泛重视,越来越多的计算机专业人员和非专业人员都开始研究并应用可视化技术。所谓可视化,一般是指软件开发阶段的可视化和计算机图形技术和方法的应用。可视化编程就是软件开发阶段的可视化。Visual c+是一款很好的可视化开发工具。界面友好,缩短了开发时间,便于程序员操作。开发环境是程序员同VC+的交互界面,通过Visual c+程序员可以直接访问C+源代码编辑器、资源编辑器、使用内部调试器还可以创建项目文件。2.2 加密体制与DES算法2.2.1算法与加密体据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话保密
10、专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用。随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。随着对加密强度需求的不断提高,近期又出现了AES、ECC等。使用密码学可以达到以下目的:保密性:防止用户的标识或数据被读取。数据完整性:防止数据被更改。身份验证:确保数据发自特定的一方。根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(
11、公开密钥加密)。对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高。加密算法林林种种,那我们
12、在实际使用的过程中究竟该使用哪一种比较好呢?我们应该根据自己的使用特点来确定,由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。对称加密算法不能实现签名,因此签名只能非对称算法。由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。如果在选定了加密算法
13、后,那采用多少位的密钥呢?一般来说,密钥越长,运行的速度就越慢,应该根据的我们实际需要的安全级别来选择,一般来说,RSA建议采用1024位的数字,ECC建议采用160位,AES采用128为即可。随着密码学商业应用的普及,公钥密码学受到前所未有的重视。除传统的密码应用系统外,PKI系统以公钥密码技术为主,提供加密、签名、认证、密钥管理、分配等功能。保密通信:保密通信是密码学产生的动因。使用公私钥密码体制进行保密通信时,信息接收者只有知道对应的密钥才可以解密该信息。数字签名:数字签名技术可以代替传统的手写签名,而且从安全的角度考虑,数字签名具有很好的防伪造功能。在政府机关、军事领域、商业领域有广泛
14、的应用环境。秘密共享:秘密共享技术是指将一个秘密信息利用密码技术分拆成n个称为共享因子的信息,分发给n个成员,只有k(kn)个合法成员的共享因子才可以恢复该秘密信息,其中任何一个或m(mk)个成员合作都不知道该秘密信息。利用秘密共享技术可以控制任何需要多个人共同控制的秘密信息、命令等。认证功能:在公开的信道上进行敏感信息的传输,采用签名技术实现对消息的真实性、完整性进行验证,通过验证公钥证书实现对通信主体的身份验证。密钥管理:密钥是保密系统中更为脆弱而重要的环节,公钥密码体制是解决密钥管理工作的有力工具;利用公钥密码体制进行密钥协商和产生,保密通信双方不需要事先共享秘密信息;利用公钥密码体制进
15、行密钥分发、保护、密钥托管、密钥恢复等。基于公钥密码体制可以实现以上通用功能以外,还可以设计实现以下的系统:安全电子商务系统、电子现金系统、电子选举系统、电子招投标系统、电子彩票系统等。公钥密码体制的产生是密码学由传统的政府、军事等应用领域走向商用、民用的基础,同时互联网、电子商务的发展为密码学的发展开辟了更为广阔的前景。2.2.2加密解密的概念加密方法以及应用随着网络技术的发展,网络安全也就成为当今网络社会的焦点中的焦点,几乎没有人不在谈论网络上的安全问题,病毒、黑客程序、邮件炸弹、远程侦听等这一切都无不让人胆战心惊。病毒、黑客的猖獗使身处今日网络社会的人们感觉到谈网色变,无所适从。但我们必
16、需清楚地认识到,这一切一切的安全问题我们不可一下全部找到解决方案,况且有的是根本无法找到彻底的解决方案,如病毒程序,因为任何反病毒程序都只能在新病毒发现之后才能开发出来,目前还没有哪能一家反病毒软件开发商敢承诺他们的软件能查杀所有已知的和未知的病毒,所以我们不能有等网络安全了再上网的念头,因为或许网络不能有这么一日,就象“矛”与“盾”,网络与病毒、黑客永远是一对共存体。现代的电脑加密技术就是适应了网络安全的需要而应运产生的,它为我们进行一般的电子商务活动提供了安全保障,如在网络中进行文件传输、电子邮件往来和进行合同文本的签署等。其实加密技术也不是什么新生事物,只不过应用在当今电子商务、电脑网络
17、中还是近几年的历史。下面我们就详细介绍一下加密技术的方方面面。加密作为保障数据安全的一种方式,它不是现在才有的,它产生的历史相当久远,它是起源于要追溯于公元前2000年(几个世纪了),虽然它不是现在我们所讲的加密技术(甚至不叫加密),但作为一种加密的概念,确实早在几个世纪前就诞生了。当时埃及人是最先使用特别的象形文字作为信息编码的,随着时间推移,巴比伦、美索不达米亚和希腊文明都开始使用一些方法来保护他们的书面信息。近期加密技术主要应用于军事领域,如美国独立战争、美国内战和两次世界大战。最广为人知的编码机器是German Enigma机,在第二次世界大战中德国人利用它创建了加密信息。此后,由于A
18、lan Turing和Ultra计划以及其他人的努力,终于对德国人的密码进行了破解。当初,计算机的研究就是为了破解德国人的密码,人们并没有想到计算机给今天带来的信息革命。随着计算机的发展,运算能力的增强,过去的密码都变得十分简单了,于是人们又不断地研究出了新的数据加密方式,如利用ROSA算法产生的私钥和公钥就是在这个基础上产生的。数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的
19、过程。当今网络社会选择加密已是我们别无选择,其一是我们知道在互联网上进行文件传输、电子邮件商务往来存在许多不安全因素,特别是对于一些大公司和一些机密文件在网络上传输。而且这种不安全性是互联网存在基础TCP/IP协议所固有的,包括一些基于TCP/IP的服务;另一方面,互联网给众多的商家带来了无限的商机,互联网把全世界连在了一起,走向互联网就意味着走向了世界,这对于无数商家无疑是梦寐以求的好事,特别是对于中小企业。为了解决这一对矛盾、为了能在安全的基础上大开这通向世界之门,我们只好选择了数据加密和基于加密技术的数字签名。加密在网络上的作用就是防止有用或私有化信息在网络上被拦截和窃取。一个简单的例子
20、就是密码的传输,计算机密码极为重要,许多安全防护体系是基于密码的,密码的泄露在某种意义上来讲意味着其安全体系的全面崩溃。通过网络进行登录时,所键入的密码以明文的形式被传输到服务器,而网络上的窃听是一件极为容易的事情,所以很有可能黑客会窃取得用户的密码,如果用户是Root用户或Administrator用户,那后果将是极为严重的。还有如果你公司在进行着某个招标项目的投标工作,工作人员通过电子邮件的方式把他们单位的标书发给招标单位,如果此时有另一位竞争对手从网络上窃取到你公司的标书,从中知道你公司投标的标的,那后果将是怎样,相信不用多说聪明的你也明白。这样的例子实在是太多了,解决上述难题的方案就是
21、加密,加密后的口令即使被黑客获得也是不可读的,加密后的标书没有收件人的私钥也就无法解开,标书成为一大堆无任何实际意义的乱码。总之无论是单位还是个人在某种意义上来说加密也成为当今网络社会进行文件或邮件安全传输的时代象征! 数字签名就是基于加密技术的,它的作用就是用来确定用户是否是真实的。应用最多的还是电子邮件,如当用户收到一封电子邮件时,邮件上面标有发信人的姓名和信箱地址,很多人可能会简单地认为发信人就是信上说明的那个人,但实际上伪造一封电子邮件对于一个通常人来说是极为容易的事。在这种情况下,就要用到加密技术基础上的数字签名,用它来确认发信人身份的真实性。类似数字签名技术的还有一种身份认证技术,
22、有些站点提供入站FTP和WWW服务,当然用户通常接触的这类服务是匿名服务,用户的权力要受到限制,但也有的这类服务不是匿名的,如某公司为了信息交流提供用户的合作伙伴非匿名的FTP服务,或开发小组把他们的Web网页上载到用户的WWW服务器上,现在的问题就是,用户如何确定正在访问用户的服务器的人就是用户认为的那个人,身份认证技术就是一个好的解决方案。在这里需要强调一点的就是,文件加密其实不只用于电子邮件或网络上的文件传输,其实也可应用静态的文件保护,如PIP软件就可以对磁盘、硬盘中的文件或文件夹进行加密,以防他人窃取其中的信息。2.2.3密码学简介概念发送者和接收者:假设发送者想发送消息给接收者,且
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 VC DES 算法 实现
链接地址:https://www.31ppt.com/p-4864063.html