|
| 当前位置:瑞达硕文网 >> 计算机毕业设计 >> VC,C语言毕业设计 >> 浏览文章 |
| 论文名称: |
VC RSA密码体制的实现设计与实现计算机论文 计算机毕业设计 |
| 论文分类: |
VC,C语言毕业设计 |
|
| 发布时间 |
2011年01月03日 |
| 浏览次数: |
|
| 售后服务: |
订做的论文,保过保修改 |
| 获得方式: |
论文要求订做,请咨询客服 |
| 论文关键词: |
|
| 在线客服: |
 |
| 信誉说明: |
点击查看【信誉说明】 |
| 付款方式: |
点击查看【交易流程】 |
| 交易流程: |
 |
|
摘 要
自20世纪90年代以来,计算机网络技术使得计算机应用得到进一步普及和发展,但是如何保证信息的安全却是一个十分重要的问题。RSA算法在公钥密码体制中占有重要的地位。在论文中首先介绍了加密算法的数学基础,理论上说明了RSA算法的原理,以及RSA算法中参数的选择。用VC++编程实现了RSA算法加密和解密运算,在算法的实现过程中,调用了已有的大整数类函数所提供的接口函数。
关键词:密码学;RSA;加密;解密
1引言
1.1密码学应用的相关背景
在当今的信息社会中,每天都有大量的信息在传输、交换、存储和处理,而这些处理过程几乎都要以来强大的计算机系统来完成,一旦计算机系统发生安全问题,就可能造成信息的丢失、篡改、伪造、假冒,以及系统遭受坏等严重后果,因此,如何保证计算机系统的安全,是当前一个需要立即解决的十分严峻的问题。
通常保障网络信息安全的方法有两大类:一是以防火墙技术为代表的被动防卫型,二是建立在数据加密,用户授权确认机制上的开放型网络安全保障技术。
密码学是研究信息系统安全保密的科学,它包括两个分支,即密码编码学和密码分析学。密码编码学是对信息进行编码实现信息隐藏的技术和科学。密码分析学是研究分析破译密码的技术与科学。明文是指发送方想要发送给接受方的消息。密文是指明文被加密后的消息。加密是将明文变换为密文的过程。解密是将密文恢复为明文的过程。
密码学是一门既古老又年轻的科学,它最早的应用可以追溯到几千年前的古罗马,但成为一门独立的学科则是从近几十年才开始的。1949年Shannon发表的“保密系统的信息理论”和1976年Diffie和Hellman的“密码学的新方向”首次提出的公钥密码思想奠定了现在密码学的理论基础。1977年美国加密数据加密标准DES的正式发布和1977年R.L.Rivest, Shamir,L.Adleman三人共同提出的第一个公钥密码思想的密码体制—RSA公钥密码成为现在密码学研究迅速发展的两个里程碑。
根据加密密钥和解密密钥是否相同或者本质上等同,即从其中一个容易推出另一个,可将现有的加密体制分为两种。一种是单钥加密体制(也叫对称加密密码体制),其典型代表是美国的数据加密标准DES(Data Encryption Standard);另一种是公钥密码体制(也叫非对称加密密码体制),其典型代表是RSA密码体制。
1.2使用RSA加密的意义
对于比较短的消息的加密,可以使用RSA。比如,因担心遗忘而用普通文本记录的银行帐号和密码、不应被陌生人知道的重要电话号码、几千字节大的重要小图片等。可行的方法未必是必要的,本小节讨论何种文件适合用非对称密钥加密,即RSA加密文件的意义所在。
对于带有重要信息的小型文本的维护,①如果不加密,将无法放心的保存在计算机上,尤其是连网的或机房里的公共计算机。②如果借助功能强大的大型多用户数据保护程序维护几个小型文件,显得十分烦琐,好比杀鸡用牛刀。③如果采用对称密钥加密,即加密解密的密钥相同,只适合部分情况。在某些情况下,使用对称密钥加密文件,交流使用不够方便。比如,张三由于某种原因,需要将自己的某个文件在公共计算机上留给李四,而不希望别人看到内容。如果采用对称密钥加密,张三和李四提前约好一个密码就可以。但是如果张三想要在同一台公共计算机上再留一个秘密文件给王五,而不希望别人看到,就要和王五另外约定一个密码。如果需要在这台公共计算机上留十个文件给不同的人,自己就要记和十个人约定好的密码,这样以来交流起来不够方便,因为对于张三,要自己维护太多的密钥。非对称密钥(公开密钥方式)恰好解决这样的问题。只要大家都在这台计算机或这台计算机可以访问到的地方,留下自己的公开密钥,一切就变的容易解决了。张三要留给李四的文件,就用李四的公开密钥加密,要留给王五的文件,就用王五的公开密钥加密。李四和王五只要把留给自己的文件用自己的私有密钥解密,就可以得到留给自己的文件了。显然,非对称密钥体制更适合多用户交流,而将这种加密方式直接应用于文件加密,使我们在公开场合的交流更加灵活方便。
3需求分析与平台选择
3.1需求分析
根据需要,我们设定对软件的要求如下:
1、对于软件运行所需要的加密和解密密钥,使用其他的工具来产生,并存入在本机的文本文件中。由于RSA的实现是一个很复杂的过程,不论是系统参数选择(即加密解密时使用的密钥的产生),还是加密解密运算,都是很复杂的过程。故在本次设计中,我们只考虑RSA的加密解密的实现。
2、由于大整数在运算上复杂性,要自己实现上千位的大整数的运算,不论是工作量,还是复杂度和难度,都比较困难,所以在进行加密解密运算时,调用了已有的大整数类提供的接口函数。
3、RSA是非对称密码体制,加密和解密的运算速度,相对于对称密码体制而言比较慢,所以主要用于加密短消息如密钥,帐号,密码等。所以在实现过程中,我们只考虑了一个分组,长度为小于等于100字节。
3.2平台选择
本设计选用的平台是:VC++,Windows XP操作系统。选择这种平台的原因主要基于以下考虑:
Visual C++自诞生以来,一直是Windows环境下最主要的应用开发系统之一。Visual C++不仅是C++语言的集成开发环境,而且与Win32紧密相连,所以,利用Visual C++开发系统可以完成各种各样的应用程序的开发,从底层软件直到上层直接面向用户的软件。而且,Visual C++强大的调试功能也为大型复杂软件的开发提供了有效的排错手段。
更为重要的是,由于RSA在加密和解密时,需要比较大的计算。因为VC++是一种先编译后执行的语言,执行效率较解释执行的语言高,更加符合需要。
包含资料:
源程序+论文(15000字以上)+可执行程序+答辩稿ppt+开题报告+外文翻译
获取资料请您联系本站客服
|
|
|
|
|