桂林理工大学本科毕业设计·论文1桂林理工大学GUILINUNIVERSITYOFTECHNOLOGY本科毕业设计(论文)题目:数据通信中的RSA加密算法的设计与实现系(院):电子与计算机系专业(方向):电子信息工程(信息处理)班级:学生:指导教师:桂林理工大学本科毕业设计·论文II摘要数据通信是依照一定的通信协议,利用数据传输技术在两个终端之间传递数据信息的一种通信方式和通信业务。随着数据通信的迅速发展而带来了数据失密问题。信息被非法截取和数据库资料被窃的事例经常发生,在日常生活中信用卡密码被盗是常见的例子。所以数据加密成为十分重要的问题,它能保证数据的安全性和不可篡改性。RSA加密算法以它难以破译的优点,被广泛的使用在电子商务和VPN中。本文针对非对称性加密RSA算法,采用软件VisualC++6.0进行程序编写。根据模乘法运算和模指数运算的数学原理所编写的程序在进行测试后,能够通过输入两个素数进行运算从而实现明文与密文之间的转换,然后通过对公钥和私钥的管理,对所传输的数据进行保护,让数据只能由发送者和接收者阅读,以达到数据通信中数据无法被他人破译的目的。关键词:RSA算法,数据通信,加密,解密。桂林理工大学本科毕业设计·论文IIIDatacommunicationoftheRSAencryptionalgorithmintheDesignandImplementationTeacher:ChenFeistudent:LuHuiAbstractDatacommunicationsinaccordancewithcertaincommunicationprotocols,theuseofdatatransmissiontechnologyinthetransmissionofdatabetweentwoterminalsasameansofcommunicationofinformationandcommunicationbusiness.Withtherapiddevelopmentofdatacommunicationsandhasbroughttheissueofdatacompromise.Unlawfulinterceptionofinformationanddatabaseinformationonfrequentinstancesoftheft,creditcardintheirdailylivesstolenpasswordsisacommonexample.Therefore,dataencryptionhasbecomeaveryimportantissue,itcanensuredatasecurityandcannotbetamperwithnature.RSAencryptionalgorithmtothemeritsofitdifficulttodecipher,waswidelyusedinthee-commerceandVPN.Inthispaper,asymmetricRSAencryptionalgorithm,theuseofsoftwareforVisualC++6.0programming.AccordingtoDiemultiplicationandmodularexponentiationbythemathematicalprinciplesinthepreparationoftestprocedurescanbeadoptedfortheimportationoftwoprimenumbersandcomputinginordertoachieveexplicitconversionbetweentheciphertext,andthenthroughapublickeyandprivatekeymanagement,forthetransmissionofdataprotection,sothatdatacanonlybemadebythesenderandtherecipienttoread,inordertoachievedatacommunicationsdatacannotbethepurposeofdecipheringtheothers.Keywords:RSAalgorithms,datacommunication,encryption,decryption.桂林理工大学本科毕业设计·论文IV目录摘要.................................................................IIAbstract.............................................................III第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.1RSA公钥密码体制概述.............................................83.2RSA公钥密码体制安全性分析.......................................93.3RSA算法的缺点..................................................103.4本章小结.......................................................10第4章RSA数据加密中的实现..........................................114.1随机大素数的产生................................................114.1.1素数的分布.................................................114.1.2大素数生成的方法...........................................124.1.3MillerRabin素性测试法....................................124.1.4基于MillerRabin素性测试法的新的素数生成方法..............134.2密钥的生成及加密和解密..........................................144.2.1最大公因子gcd运算.........................................144.2.2模n求逆元运算.............................................164.2.3模n的大数幂乘运算.........................................174.2.4模n的大数幂乘运算.........................................174.3RSA算法分析....................................................184.3.1RSA安全性分析.............................................18桂林理工大学本科毕业设计·论文V4.3.2RSA时间复杂度分析.........................................194.4本章小结........................................................19第5章RSA算法的实现................................................215.1选定组合算法的准则..............................................215.2模幂组合算法的实现..............................................215.3试验与运行结果..................................................22总结..................................................................24参考文献..............................................................25致谢..................................................................26附录...................................................错误!未定义书签。桂林理工大学本科毕业设计·论文1第1章引言1.1题目背景在当今的信息社会中,每天都有大量的信息在传输、交换、存储和处理,而这些处理过程几乎都要依赖强大的计算机系统来完成。一旦计算机系统发生安全问题,就可能造成信息的丢失、篡改、伪造、假冒,以及系统遭受破坏等严重后果。因此,如何保证计算机系统的安全,是当前一个需要立即解决的十分严峻的问题。通常保障网络信息安全的方法有两大类:一是以防火墙技术为代表的被动防卫型,二是建立在数据加密,用户授权确认机制上的开放型网络安全保障技术。防火墙技术,就是在局域网与外部网络之间设立一个服务器,将它们之间隔离开来,建立起一个安全网关,从而保护内部网免受非法用户的侵入。数据加密技术是可以与防火墙配合使用的一种安全技术,这种技术可以提高信息系统及数据的安全性和保密性、防止秘密数据被外部破解所采用的主要技术手段之一。按其不同的作用,数据加密技术主要分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术四种。加密技术是通过计算机网络中的加密机构,把网络中的各种原始数字信息(明文)按照某种特定的加密算法变换成与明文完全不同的数字信息,即转换成密文。计算机网络中的加密技术主要采用链路加密和端对端加密等两种方式。通常情况是将这两种加密模式结合起来共同使用,即可保证网内用户的数据安全,又可提供用户之间的身份鉴别与认证。1.2国内外现状RSA被广泛应用于各种安全或认