关于RSA算法的研究与改进毕业设计(已处理)

上传人:jiups****uk12 文档编号:40000682 上传时间:2018-05-22 格式:DOC 页数:64 大小:122KB
返回 下载 相关 举报
关于RSA算法的研究与改进毕业设计(已处理)_第1页
第1页 / 共64页
关于RSA算法的研究与改进毕业设计(已处理)_第2页
第2页 / 共64页
关于RSA算法的研究与改进毕业设计(已处理)_第3页
第3页 / 共64页
关于RSA算法的研究与改进毕业设计(已处理)_第4页
第4页 / 共64页
关于RSA算法的研究与改进毕业设计(已处理)_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《关于RSA算法的研究与改进毕业设计(已处理)》由会员分享,可在线阅读,更多相关《关于RSA算法的研究与改进毕业设计(已处理)(64页珍藏版)》请在金锄头文库上搜索。

1、 中文题目:关于 RSA 算法的研究与改进外文题目:Research and improvement of RSA algorithms毕业设计(论文)共 64 页(其中:外文文献及译文 10 页)图纸共 0 张完成日期 2012 年 5 月 答辩日期 2012 年 6 月 摘要RSA 公钥加密算法已被 ISO 推荐为公钥数据加密标准。本论文分析 RSA 算法的应用现状,论证文件加密应用 RSA 算法的可行性和意义。设计一套完整实用的 RSA 文件加密解决方案,具体编码实现。对 RSA 算法进行研究,从常规RSA 算法出发,用 C+实现 RSA 加密算法类库,并在 32 位 windows 平

2、台封装成组件。实现可以对任意文件进行 RSA 加密操作的窗体应用程序,经过加密的文件以及密钥文件都是文本文件。论文给出整个应用程序的结构描述文档、关键模块流程图、较详细的接口文档、所有源代码。对应用程序进行测试,对测试结果进行分析研究,进而对应用程序进行改进,对关键算法进行尽可能的优化,最终得到一个在 windows 运行的可以用指定密钥对任意文件进行 RSA 加密并可解密的完整应用程序,和一些相关的可移植组件。关键词: RSA 加密算法;公钥加密;RSA 实现ABSTRACTRSA public key encryption algorithms have been recommended

3、for ISO public key data encryption standard. This paper analyzes the present situation of the application of RSA algorithms, prove file encryption application RSA algorithm is feasible and significance. Design a complete set of practical RSA file encryption solutions, specific code realization. RSA

4、algorithms to are studied, and the RSA algorithms of conventional, realize the RSA encryption algorithm in c + + class library, and in the 32-bit Windows platform encapsulation into components. Can realize for any documents RSA encryption operation of the application form, encrypted files and key do

5、cuments are a text file. Paper gives key kinds of Fig, the description of the structure of the application documents, key module flowcharts, a detailed interface file, all the source code. Use application test, the result of the test is studied and analyzed, and then the application was improved, an

6、d the key to the optimization of the algorithm is as far as possible, and finally get a Windows running of the specified key can be used for any documents and the declassified RSA encryption can be complete application, and some related portable components.Key words:RSA encryption algorithm; Public

7、key encryption; RSA realize目录引言11 RSA 加密算法概述21.1 RSA 算法简介 2RSA 算法2RSA 算法的缺点和攻击办法31.2 国内外对于 RSA 算法的研究现状61.3 应用 RSA 算法对文件加密的可行性分析 8密使用 RSA 的可行性8RSA 算法对于文件加密的意义 92 RSA 文件加密软件的设计 112.1 RSA 算法可行性的证明 112.2 RSA 算法软件实现的需求分析和总体设计122.3 工程方案选择 142.4 C+语言简介152.5 VC6.0 简介183 具体设计与开发 203.1 实现 RSA 加密算法的 C+核心类库 20储

8、和四则运算 20模与乘模运算 Montgomery 幂模算法21数 Eratosthenes 筛选与 Fermat 素数测试25次不定方程273.2 核心类库综述 283.3 封装 C+核心类库的 DLL 组件294 RSA 算法的具体实现 304.1 各运算的实现 30实现30实现31实现32实现34实现36的实现 37算的实现374.2 RSA 算法验证程序各部分过程 395 RSA 加密算法的分析 435.1 RSA 加密算法的调试分析435.2 RSA 加密算法的实际应用分析 455.3 设计的不足和继续开发的思路 46结论48附录 A 中文译文51附录 B 英文原文55附录 C 使用

9、 C 语言实现 RSA 算法59引言 RSA 公钥加密算法是 1977 年由 Ron Rivest、Adi Shamirh 和 LenAdleman在(美国麻省理工学院)开发的。RSA 取名来自开发他们三者的名字。RSA 是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被 ISO 推荐为公钥数据加密标准。RSA 在软件方面的应用,主要集中在 Internet 上。加密连接、数字签名和数字证书的核心算法广泛使用 RSA。日常应用中,有比较著名的工具包 Open SSL SSL,Security Socket Layer,是一个安全传输协议,在 Internet 上进行数

10、据保护和身份确认。Open SSL 是一个开放源代码的实现了 SSL 及相关加密技术的软件包,由加拿大的 Eric Yang 等发起编写的。Open SSL 应用 RSA 实现签名和密钥交换,已经在各种操作系统得到非常广泛的应用。另外,家喻户晓的IE 浏览器,自然也实现了 SSL 协议,集成了使用 RSA 技术的加密功能,结合MD5 和 SHA1,主要用于数字证书和数字签名,对于习惯于使用网上购物和网上银行的用户来说,几乎天天都在使用 RSA 技术。RSA 公钥加密算法是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也十分流行。虽然自 1978 年提出以来,RSA 的安全性一

11、直未能得到理论上的证明,但它经历了各种攻击,至今(2006 年)未被完全攻破。随着越来越多的商业应用和标准化工作,RSA 已经成为最具代表性的公钥加密技术。VISA、MasterCard、IBM、Microsoft 等公司协力制定的安全电子交易标准(Secure Electronic Transactions,SET当今公钥加密更广泛应用于互联网身份认证,本课题将公钥加密算法 RSA应用于小型文件加密。将任意文件加密成文本的解决方案,使其使用更加灵活。整个工程的分层设计,给引用移植和后续开发带来便利。本设计致力于 RSA 算法的理论研究、RSA 算法的改进以及基于 RSA 算法的加密、解密软件

12、的实现。1 RSA 加密算法概述 1.1 RSA 算法简介RSA 算法RSA 公钥加密算法是 1977 年由 Ron Rivest、Adi Shamirh 和 LenAdleman在(美国麻省理工学院)开发的。RSA 取名来自开发他们三者的名字。RSA 是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被 ISO 推荐为公钥数据加密标准。RSA 算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。RSA 在软件方面的应用,主要集中在 Internet 上。加密连接、数字签名和数字证书的核心算

13、法广泛使用 RSA。日常应用中,有比较著名的工具包 Open SSL SSL,Security Socket Layer,是一个安全传输协议,在 Internet 上进行数据保护和身份确认。Open SSL 是一个开放源代码的实现了 SSL 及相关加密技术的软件包,由加拿大的 Eric Yang 等发起编写的。Open SSL 应用 RSA 实现签名和密钥交换,已经在各种操作系统得到非常广泛的应用。另外,家喻户晓的IE 浏览器,自然也实现了 SSL 协议,集成了使用 RSA 技术的加密功能,结合MD5 和 SHA1,主要用于数字证书和数字签名,对于习惯于使用网上购物和网上银行的用户来说,几乎天

14、天都在使用 RSA 技术。RSA 更出现在要求高度安全稳定的企业级商务应用中。在当今的企业级商务应用中,不得不提及使用最广泛的平台 j2ee。事实上,在 j2se 的标准库中,就为安全和加密服务提供了两组 API:JCA 和 JCE。 JCA Java Cryptography Architecture 提供基本的加密框架,如证书、数字签名、报文摘要和密钥对产生器; JCA 由几个实现了基本的加密技术功能的类和接口组成,其中最主要的是 java.security 包,此软件包包含的是一组核心的类和接口,Java 中数字签名的方法就集中在此软件包中。JCE Java Cryptography E

15、xtension 在 JCA 的基础上作了扩展,JCE 也是由几个软件包组成,其中最主要的是 javax.crypto包,此软件包提供了 JCE 加密技术操作 API。javax.crypto 中的 Cipher 类用于具体的加密和解密。在上述软件包的实现中,集成了应用 RSA 算法的各种数据加密规范用户程序可以直接使用 java 标准库中提供的 API 进行数字签名和证书的各种操作。RSA 的安全性RSA 的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解 RSA 就一定需要作大数分解。假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。目前

16、, RSA 的一些变种算法已被证明等价于大数分解。不管怎样,分解 n 是最显然的攻击方法。现在,人们已能分解多个十进制位的大素数。因此,模数 n 必须选大一些,因具体适用情况而定。RSA 的速度由于进行的都是大数计算,使得 RSA 最快的情况也比 DES 慢上好几倍,无论是软件还是硬件实现。速度一直是 RSA 的缺陷。一般来说只用于少量数据加密。RSA 的速度比对应同样安全级别的对称密码算法要慢 1000 倍左右。取素数 p,q,令 n pq.取与 p-1 q-1 互素的整数 e,由方程 de 1 mod p-1 q-1 解出 d,二元组 e,n 作为公开密钥,二元组 d,n 作为私有密钥b ae mod n,c bd mod n.RSA 算法的缺点和攻击办法虽然 RSA 算法算法是这样的成功和出色,但是 RSA 算法毕竟是人想出来的算法,所以它也不是十分的完美,RSA 算法也有很多的缺点。RSA 的安全性依赖于大数的因子分解,但并没有从理论上证明破译 RSA 的难度与大数分解难度等价。即

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号