基于RSA加密算法.doc
《基于RSA加密算法.doc》由会员分享,可在线阅读,更多相关《基于RSA加密算法.doc(28页珍藏版)》请在沃文网上搜索。
1、摘 要数据通信是依照一定的通信协议,利用数据传输技术在两个终端之间传递数据信息的一种通信方式和通信业务。随着数据通信的迅速发展而带来了数据失密问题。信息被非法截取和数据库资料被窃的事例经常发生,在日常生活中信用卡密码被盗是常见的例子。所以数据加密成为十分重要的问题,它能保证数据的安全性和不可篡改性。 RSA加密算法以它难以破译的优点,被广泛的使用在电子商务和VPN中。 本文针对非对称性加密RSA算法,采用软件Visual C+6.0进行程序编写。根据模乘法运算和模指数运算的数学原理所编写的程序在进行测试后,能够通过输入两个素数进行运算从而实现明文与密文之间的转换,然后通过对公钥和私钥的管理,对
2、所传输的数据进行保护,让数据只能由发送者和接收者阅读,以达到数据通信中数据无法被他人破译的目的。关键词:RSA算法,数据通信,加密, 解密。and ImplementationTeacher:Chen Fei student:Lu HuiAbstractData communications in accordance with certain communication protocols, the use of data transmission technology in the transmission of data between two terminals as a means
3、of communication of information and communication business. With the rapid development of data communications and has brought the issue of data compromise. Unlawful interception of information and database information on frequent instances of theft, credit card in their daily lives stolen passwords
4、is a common example. Therefore, data encryption has become a very important issue, it can ensure data security and can not be tamper with nature. RSA encryption algorithm to the merits of it difficult to decipher, was widely used in the e-commerce and VPN. In this paper, asymmetric RSA encryption al
5、gorithm, the use of software for Visual C + +6.0 programming. According to Die multiplication and modular exponentiation by the mathematical principles in the preparation of test procedures can be adopted for the importation of two prime numbers and computing in order to achieve explicit conversion
6、between the ciphertext, and then through a public key and private key management, for the transmission of data protection, so that data can only be made by the sender and the recipient to read, in order to achieve data communications data can not be the purpose of deciphering the others.Keywords: RS
7、A algorithms, data communication, encryption, decryption.目录摘 要IAbstractII第1章 引言11.1题目背景11.2国内外现状11.3本课题的主要工作2第2章 数据通信中的加密技术32.1数据加密技术的起源和发展32.2数据加密的方法32.3密钥的管理52.4数据加密的标准52.5数据加密的应用62.6本章小结6第3章 数据加密中的RSA算法83.1 RSA公钥密码体制概述83.2 RSA公钥密码体制安全性分析93.3 RSA算法的缺点103.4 本章小结10第4章 RSA数据加密中的实现114.1随机大素数的产生114.1.1
8、素数的分布114.1.2大素数生成的方法124.1.3 Miller Rabin素性测试法124.1.4基于Miller Rabin素性测试法的新的素数生成方法134.2密钥的生成及加密和解密144.2.1最大公因子gcd运算144.2.2模n求逆元运算164.2.3模n的大数幂乘运算174.2.4模n的大数幂乘运算174.3 RSA算法分析184.3.1 RSA安全性分析184.3.2 RSA时间复杂度分析194.4本章小结19第5章 RSA算法的实现215.1选定组合算法的准则215.2模幂组合算法的实现215.3试验与运行结果22总结24参考文献25致谢26附录2725第1章 引言1.1
9、题目背景 在当今的信息社会中,每天都有大量的信息在传输、交换、存储和处理,而这些处理过程几乎都要依赖强大的计算机系统来完成。一旦计算机系统发生安全问题,就可能造成信息的丢失、篡改、伪造、假冒,以及系统遭受破坏等严重后果。因此,如何保证计算机系统的安全,是当前一个需要立即解决的十分严峻的问题。 通常保障网络信息安全的方法有两大类:一是以防火墙技术为代表的被动防卫型,二是建立在数据加密,用户授权确认机制上的开放型网络安全保障技术。 防火墙技术,就是在局域网与外部网络之间设立一个服务器,将它们之间隔离开来,建立起一个安全网关,从而保护内部网免受非法用户的侵入。 数据加密技术是可以与防火墙配合使用的一
10、种安全技术,这种技术可以提高信息系统及数据的安全性和保密性、防止秘密数据被外部破解所采用的主要技术手段之一。按其不同的作用,数据加密技术主要分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术四种。加密技术是通过计算机网络中的加密机构,把网络中的各种原始数字信息(明文)按照某种特定的加密算法变换成与明文完全不同的数字信息,即转换成密文。计算机网络中的加密技术主要采用链路加密和端对端加密等两种方式。通常情况是将这两种加密模式结合起来共同使用,即可保证网内用户的数据安全,又可提供用户之间的身份鉴别与认证。1.2国内外现状RSA被广泛应用于各种安全或认证领域,如web服务器和浏览器信息安全、Em
11、ail的安全和认证、对远程登录的安全保证和各种电子信用卡系统的核心。硬件上,如安全电话、以太网卡和智能卡也多采用RSA技术。而几乎所Internet安全协议如S/MIME,SSL和S/WAN都引入了RSA加密方法。IS09796标准把RSA列为一种兼容的加密算法,使得RSA的应用目前非常广泛。RSA模数n=pq是RSA算法的安全性的核心。如果模数n被分解,则RSA体制立刻被攻破。如果RSA算法是安全的,那么n=pq必须足够大,使得因式分解模数n在计算上不可行的。基于安全性考虑,实际应用中所选择的素数p和q至少应该为100位以上的十进制数,相应的模数n=pq将是200位的十进制数。C E Sha
12、nnon建议使用至少100位长度的大素数,从而得到长度为200位以上的大整数模数n。RSA算法的缺点是加密速度慢,模数n的长度越大,加/解密运算所需要的时间就越长,算法实现的速度也就越慢。为了尽可能使用大的模数而又不影响系统实现的速度,实际应用中通常使用专门的硬件实现RSA算法。最重要的影响速度的实现细节是加/解密中的大数运算。大数模幂乘运算是RSA算法的核心运算,也是运算速度提高的关键。高效的大数模幂乘算法可以有效提高系统速度。需要每做一次平方或乘法运算后,就要作一次模运算,当n的值很大时,做一次模运算所需的时间比做一次平方或一次乘法所需的时间更多,是影响算法实现速度的关键。但在实际加密解密
13、过程中,n可能是几个数的乘积,如RSA算法中,n是两个大素数的乘积。这时可通过中国剩余定理进行变换,降低指数的数量级.1.3本课题的主要工作 本文选择RSA数字加密体制为研究对象,讨论了RSA实现过程中,每一步的具体实现算法。RSA加密算法是第一个成熟的、迄今为止理论上最成功的公开钥密系统。它的安全性基础是数论和计算复杂性理论中的下述论断:求两个大素数的乘积在计算上是容易的,但若要分解两个大素数的积而求出它的素因子则在计算上是困难的。但是,在进行加密和解密运算时的整数求幂运算耗时很大,影响了运算速度,因此,人们提出了多种实现算法,以加快运算速度,例如本文提到的SMM算法和指数2K进制化法等。这
14、些算法都是从某一方面入手,在一定程度上加快了运算速度。本文通过分析这些算法的特点,提出了一种综合性的组合方法,在原有算法的基础上更进一步地加快了运算速度。 本文首先介绍了加密算法的数学基础,从数学理论上分析了RSA算法的原理;然后通过C+程序进行实现。 第2章 数据通信中的加密技术随着信息化的应用水平不断提高,尤其是电子政务和电子商务的蓬勃发展,互联网络的信息安全问题越来越引起全社会的重视。数字化办公和生活面临一系列的严重“威胁”。由于互联网的开放性,我们面临各种各样的安全威胁。网上传输的邮件可能被截取,信息的内容可能被篡改;电子商务过程中,信用卡帐号和密码可能暴露在第二者面前;一些人可能会假
15、冒合法用户身份或者假冒网站来用于一些非法目的,而事后又对自己的行为进行抵赖:系统可能由于黑客的攻击而无法提供有效的服务。这些问题给计算机从业人员揭示信息安全问题的严重性。 因此如何保证信息的机密性、完整性、不可抵赖性、有效性,成为网络安全关注的核心问题。人们由此采用防火墙和数据加密等技术来保障网络本身的安全。2.1数据加密技术的起源和发展 早在互联网出现之前,密码技术已经广泛应用于军事和民用方面。有记载的最早的密码系统可能是希一腊历史学家Polybios发明的Polvbios格板,它是一种替换密码系统。人们很早以前将密码系统分为代替和换位密码两种。 从密码史的发展来看,1949年,信息论的创始
16、人仙农(C. E.Shannon)发表了一篇著名的文章,论证了一般经典加密方法都是可以破解的。到了60年代,随着电子技术、信息技术的发展及结构代数、可计算性理论和复杂度理论的研究,密码学又进入了一个新的时期。我们当前所应用的密码体制,都是属于近代非经典的密码体制。70年代后期出现的数据加密标准DES(DataFncryptionStandard)和公开密钥密码(非对称密码)体制(Publickeycrypto一system)是近代密码学发展史上的两个重要里程碑。目前,最著名公开密钥密码体制是RSA体制,它是由美国MIT的二位科学家Rivest, Shamir不II Adleman于1976年提
17、出的,是一种基于数论中大数分解的理论。由于RSA的安全性和实用性,它是当前使用最广泛的公钥密码系统,即可以进行加密,也可以进行数字签名。保障了数据的完整性、机密性,解决了身份认证问题和不可抵赖性问题.2.2数据加密的方法 数据加密的方法通常分为两大类:对称式加密体制 (常规密钥密码体制)和非对称式加密体制(公开密钥密码体制)。对称式加密就是加密和解密使用同一个密钥,通常称之为Session Key”这种加密技术曾经被广泛采用,其原理如图2-1所示。如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56位。发送者加 密相同的密钥加密的信息接受者解 密
18、明文明 文2-1 对称密码算法示意图非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥夕,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能被他人窃听到。而非对称式的加密方法有两个密钥,目_其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。非对称加密工作原理如图2-2所示。加密密钥EB明 文明文解 密接受者加密的
19、信息加密密钥EB(公开)加 密发送者解密密钥DB(保密)EBDBDB2-2 非对称性密码算法示意图2.3密钥的管理密钥既然要求保密,这就涉及到密钥的管理问题,密钥的管理涉及到以下几个方面:(1)密钥使用的时效和次数如果用户使用同样密钥多次与其他用户交换信息,那么密钥也同其它任何密码一样存在着一定的安全性。虽然用户的私钥是不对外公开的,但是也很难保证私钥长期的保密性,很难保证长期以来不被泄漏。如果入侵者偶然地知道了用户的密钥,那么用户曾经和其他用户交换的每一条消息都不再是保密的。另外使用一个特定密钥加密的信息越多,提供给窃听者的材料也就越多,从某种意义上来讲也就越不安全了。因此,一般强调仅将一个
20、对话密钥用于一条信息中或一次对话中,或者建立一种按时更换密钥的机制以减小密钥暴露的可能性。(2)多密钥的管理假设在某机构中有100用户,如果任意两个用户之间可以进行秘密对话,那么总共需要多少密钥呢?每个人需要知道多少密钥呢? 如果任何两个用户之间通信需要不同的密钥,则总共需要4950个密钥,而且每个人应记住99个密钥。如果机构的用户更多,这种办法就显然过于平庸。Kerberos提供了一种解决这个较好方案,它是由MIT发明的,使保密密钥的管理和分发变得十分容易,但这种方法本身还存在一定的缺点。为能在互联网上提供一个实用的解决方案,Kerberos建立了一个安全的、可信任的密钥分发中心(Key D
21、istribution Center,KDC),每个用户只要知道一个和KDC进行会话的密钥就可以了,而不需要知道成百上千个不同的密钥。2.4数据加密的标准对称密钥加密算法DES (Data Encryption Standard)是由工BM公司在70年代发展起来的,并经政府的加密标准筛选后,于1977年被正式批准并作为美国联邦信息处理标准。DES使用64位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。64位密钥中,有8位奇偶校验位,实际密钥长度只有56位。每轮编码时,一个48位的“每轮”密钥值由_5 6位的完整密钥得出来。DES用软件进行解码需用很长时间,而用硬件解码速度非常
22、快。对于DES的最后一次评估是在1994年,美国己决定1998开始,不在使用DES。目前,新的加密标准AES正在征集、评估和制定中。尽管如此,DES对于推动密码理论的发展和应用起了重大作用。RSA是另外一种非常著名的公钥加密体制,由Ron Rivest, AdiShami:以及Leonard Adleman于1978年提出,一该体制至今仍被公认为是一个安全性能良好的密码体制。该算法是基于大数不可能被质因数分解假设的公钥体系。简单地说就是找两个很大的质数。一个对外公开的为“公钥”(Public key),另一个不告诉任何人,称为“私钥”(Private key)。这两个密钥是互补的,也就是说用公
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 RSA 加密算法