RSA算法课程设计报告.docx
- 文档编号:29080897
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:24
- 大小:333.20KB
RSA算法课程设计报告.docx
《RSA算法课程设计报告.docx》由会员分享,可在线阅读,更多相关《RSA算法课程设计报告.docx(24页珍藏版)》请在冰豆网上搜索。
RSA算法课程设计报告
摘要:
RSA算法是基于数论的公钥密码体制,是公钥密码体制中最优秀的加密算法,同时也是第一个能同时用于加密和数字签名的算法,也易于理解和操作。
RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。
本文主要研究的内容包括:
第一,对RSA算法进行了全面系统的介绍,包括RSA算法的应用现状和原理—大素数的产生、密钥对的产生、对明文的加密运算和密文的解密运算,为具体实现打下了理论基础;第二,介绍了RSA机密体制的一些基本概念及原理;第三,详述了RSA加密的设计与实现,主要实现的模块包括RSA密钥的产生(一对公钥和私钥),RSA加密算法和解密算法的实现;第五,对该系统进行了整体的测试和分析改进;关键词:
RSA算法;公钥密码体制;加密;解密;VC++
1
2
3
4
5
课题综述..............................................................1
1.1课题来源...........................................................1
1.2课题意义...........................................................1
1.3预期目标...........................................................1
系统分析..............................................................1
2.1基础知识...........................................................2
2.2总体方案...........................................................4
2.3功能模块...........................................................4
系统设计..............................................................5
3.1算法描述...........................................................5
3.2流程图.............................................................7
代码编写..............................................................9
运行与测试...........................................................14
5.1产生公钥和密钥....................................................14
5.2加密与解密........................................................14
总结...................................................................16
致谢...................................................................17
参考文献................................................................18
1
1.1
《现代密码学课程设计报告》
课题综述
课题来源
随着电子信息技术的迅速发展,人类已步入信息社会。
但是由于整个社会形成了
一个巨大的计算机网络,任何一个计算机网络出现的安全问题,都会影响整个国家的网络安全,所以信息安全、计算机网络安全问题已引起了人类的高度重视。
无论是在局域网还是在广域网中,都存在着自然和人为等诸多因素的脆弱性和潜在威胁。
故此,网络的安全措施应是能全方位地针对各种不同的威胁和脆弱性,这样才能确保网络信息的保密性、完整性和可用性。
现代密码学已成为信息安全技术的核心,密码学是以研究通信安全保密的学科,即研究对传输信息采用何种秘密的变换以防止第三者对信息的窃取。
公钥密码体制的特点是:
接收方B产生一对密钥(PK和SK);PK公开,SK保密;从PK推出SK是很困难的;A、B双方通信时,A通过任何途径取得B的公钥,用B的公钥加密信息,加密后的信息可通过任何不安全信道发送。
B收到密文信息后,用自己私钥解密恢复出明文。
公钥密码体制已成为确保信息的安全性的关键技术。
RSA公钥密码体制到目前为止还是一种被认可为安全的体制。
1.2
课题意义
RSA公钥加密算法是第一个既能用于数据加密也能用于数字签名的算法。
它易于
理解和操作,也十分流行。
算法的名字以发明者的姓氏首字母命名:
RonRivest,AdiShamir和LeonardAdleman。
虽然自1978年提出以来,RSA的安全性一直未能得到理论上的证明,但它经历了各种攻击,至今未被完全攻破。
随着越来越多的商业应用和标准化工作,RSA已经成为最具代表性的公钥加密技术。
VISA、MasterCard、IBM、Microsoft等公司协力制定的安全电子交易标准(SecureElectronicTransactions,SET)就采用了标准RSA算法,这使得RSA在我们的生活中几乎无处不在。
网上交易加密连接、网上银行身份验证、各种信用卡使用的数字证书、智能移动电话和存储卡的验证功能芯片等,大多数使用RSA技术。
应用了RSA加密体制保证了秘密信息的安全。
1.3
预期目标
在充分理解RSA加密体制概念和原理的基础上,用MicrosoftVisualC++6.0实现
RSA加密与解密,演示公钥与密钥的生成及加密与解密的过程。
1
《现代密码学课程设计报告》
2
2.1
系统分析
基础知识
2.1.1素数
称整数p(p>1)是素数,如果p的因子只有±1,±p。
称c是两个整数a、b的最大公因子,如果
1c是a的因子也是b的因子,即c是a、b的公因子。
2a和b的任一公因子,也是c的因子。
表示为c=gcd(a,b)。
由于要求最大公因子为正,所以gcd(a,b)=gcd(a,-b)=gcd(-a,b)=gcd(-a,-b)。
一般gcd(a,b)=gcd(|a|,|b|)。
由任一非0整数能整除0,可得gcd(a,0)=|a|。
如果将a,b都表示为素数的乘积,则gcd(a,b)极易确定。
一般由c=gcd(a,b)可得:
对每一素数p,cp=min(ap,bp)。
由于确定大数的素因子不很容易,所以这种方法不能直接用于求两个大数的最大公因子,如何求两个大数的最大公因子在下面介绍。
如果gcd(a,b)=1,则称a和b互素。
2.1.2模运算
设n是一正整数,a是整数,如果用n除a,得商为q,余数为r,则
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RSA 算法 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)