VC RSA公钥密码算法的实现设计与实现
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
摘要RSA作为最重要的公开密钥算法,在各领域的应用数不胜数。然而,RSA算法加密速度很慢,难以像其他加密算法那样得到更广泛的应用。幂模运算是RSA的速度瓶颈,在全过程中都有使用。蒙哥马利算法对幂模运算的改进大大的提高了RSA的加解密效率。本课题将RSA公钥加密算法用蒙哥马利算法实现。通过对幂模运算的改进,简化,提高RSA加密效率。本文主要论述RSA基本原理以及相关函数类的设计与实现,使用Microsoft Visual C++ 6.0 操作平台,实现RSA加密算法,界面友善,操作方便。关键词:RSA;RSA算法;蒙哥马利算法;加密;解密前言RSA公钥加密算法是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也十分流行。算法的名字以发明者的姓氏首字母命名:Ron Rivest, Adi Shamir 和Leonard Adleman。虽然自1978年提出以来,RSA的安全性一直未能得到理论上的证明,但它经历了各种攻击,至今(2006年)未被完全攻破。随着越来越多的商业应用和标准化工作,RSA已经成为最具代表性的公钥加密技术。VISA、MasterCard、IBM、Microsoft等公司协力制定的安全电子交易标准(Secure Electronic Transactions,SET)就采用了标准RSA算法,这使得RSA在人们的生活中几乎无处不在。网上交易加密连接、网上银行身份验证、各种信用卡使用的数字证书、智能移动电话和存储卡的验证功能芯片等,大多数使用RSA技术。当今公钥加密更广泛应用于互联网身份认证,本课题将公钥加密算法RSA进行蒙哥马利改进。通过对幂模运算的改进,简化,提高RSA加密效率。幂模运算是RSA的速度瓶颈,在全过程中都有使用。蒙哥马利算法是其中一种。影响模乘运算速度关键在于模运算,模运算其实是除法运算,除运算相对与加减乘运算要费时的多。因此,如果在模乘运算中不用除法或尽量少用除法将大大提高RSA处理的速度。1985年,Peter Montgomery发现了一种只要乘法和数的位移就可以实现模乘运算的灵巧算法,这就是著名的蒙哥马利模乘算法。2. RSA公钥密码加密软件的设计与实现2.1 需求分析与总体设计2.1.1功能分析经过1.2.2节的论述,可以将对软件的要求总结如下:软件一:①可以按要求的位数(支持128位,256位,512位,1024位)生成非对称密钥,也可以用户输入密钥。② 可以用指定密钥以RSA算法加密简单文本文件,加密生成的数据为纯文本。③可以装载加密过的文件,并用指定的密钥解密还原出原文件。④提示信息完整、操作舒适、图形界面雅观。⑤ 可以对加密过程进行精确计时,反映在界面处。软件二:①可以用指定密钥以包含蒙哥马利幂模运算的RSA算法加密简单文本文件,加密生成的数据为纯文本。②可以对加密过程进行精确计时,反映在界面处。2.2 各部分的设计与开发2.2.1实现RSA加密算法的C++核心类库⑴. 大数四则运算与运算符重载:根据RSA算法的要求,为了实现大数的各种复杂运算,需要首先实现大数存储和基本四则运算的功能。当今开源的大数运算C++类有很多,多用于数学分析、天文计算等,本文选用了一个流行的大数类型,并针对RSA算法和本项目的具体需要对其进行了扩充和改进。下面简单介绍四则运算的实现原理。3.软件整体测试与分析改进3.1 编写测试各项性能需要的计时程序由于对几个字符的字符串进行RSA加密,所用时间只需10几毫秒,一般的程序计时函数无法达到要求测试结果很可能是0,于是在这里定义了2个long型变量t1,t2来分别存储加密函数运行前后GetTickCount()函数获得的系统时间,然后将两个值相减获得消耗时间,这样做还会有较大误差,于是再次进行了改进,通过一个简单的for循环让程序运行1000次 ,然后将t2-t1的值除1000,以获得较为精确的时间。附录中给出了这段操作的源代码。
包含资料:
[资料来源:www.THINK58.com]
[资料来源:http://www.THINK58.com]
源程序+论文(15000字以上)+可执行程序+答辩稿ppt+开题报告+外文翻译
获取资料请您联系本站客服
[版权所有:http://think58.com]