- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RSA公钥加密算法研究与软件实现
指导老师:明洋
答辩人:杨漂
了解密码学相关基础知识,特别是RSA公钥加密体制的现状。
01
对RSA加密算法原理进行研究和分析。
02
总结RSA加密算法的安全性,和现阶段面临的问题
03
对RSA加密算法做具体的编程实现 。
04
研究方案
目 录
CONTENTS
RSA算法原理
密码体制
绪论
RSA加密法
的编程实现
RSA加密算法的子算法
第五章
第四章
第三章
第二章
第一章
在信息时代,信息就是财富,是大家争抢的资源。保障信息安全变得空前重要,而密码学是保障信息安全的关键技术。
.
而RSA加密算法是被运用得最广泛,也最受信赖的公钥加密算法。
所以今天我们对R S A 算法进行全面的探究,对应对信息安全问题用重大意义。
选题意义
在现代密码学中,公钥密码学是最有活力的部分。
虽然这个算法的安全性很优秀,但是在其实现过程中仍然可能在细节处出现漏洞,以致遭受攻击。
该算法被认为是至今为止在理论上最为成功公钥加密算法,被国际标准化组织(ISO)推荐成为公钥数据加密的标准。
03
网上交易加密连接、 网上银行身份验证 、各种信用卡使用的数字证书 、智能移动电话和存储卡的验证功能芯片,大多数使用 了 R S A 技术 。
04
1978年,RSA公钥加密算法,被三个麻省理工的学者提出。该算法在保证网上信息传输的安全性 、保密性、 真实性上表现的非常优秀。
02
1976 年发表的“密码学新方向”论文中提出了公钥密码学,打破了单钥密码学的束缚。把密码学引向了新方向。
01
RSA算法研究历史与现状
RSA加密算法原理
03
加密系统
04
02
03
05
明文:用M表示
密文:用C表示
加密算法:对信息加密编码的过程
密钥:明文转换为密文或者密文转化为明文过程中需要输入的算法参数
01
01
解密算法:密文进行解码,恢复为明文的过程
RSA算法的实现原理
e: 公钥 d: 私钥
m:明文 c:密文
求公钥私钥的公式:
加密公式:
解密公式:
素数的产生阶段:
概率性素数判别方法
.
1
公钥、私钥产生阶段:
Euclid 算法:产生公钥
扩展 Euclid 算法:产生私钥
2
加密/解密阶段:
根据加密解密公式:
3
RSA加密算法的子算法
加密解密过程,最主要做的是幂模运算。常用的算法有:平方乘算法,SMM算法
RSA加密算法安全性分析
03
回顾RSA加密算法原理,涉及6个数:
根据:
RSA算法的安全性研究
这里除了n,e是公开的,其他四个数的都是保密的。
=(p-1)(q-1)。想知道
,才能知道d。
根据:
只有知道e和
根据n=p*q。可知只有将模数n分解了,才能知道p和q的值。
,必须先得到p、q。
RSA算法的安全性研究
经过前几步的剖析可知:想知道p、q的值必须分解模数n,才能最终破译算法。
根据:而实际上大整数因子分解问题,是持续困扰数学家几百年的世界难题。
总结起来RSA公钥加密算法,的安全性基础是大整数因子分解的困难性,只要大整数因子分解问题没有解决,该算法的安全性就有保障
RSA加密算法的编程实现
04
生成密钥阶段调用了生成随机数函数,判断是否是素数函数。
加/解模块:定义的了一个实现平方乘算法的函数,用来完成幂模运算。
程序架构
生成公钥时定义了一个实现欧几里德算法的函数。
生成私钥时定义了一个实现拓展欧几里德算法的函数。
程序运行说明图
加密前明文
加密结果
解密后文件
密钥生成困难:因为生成大素数的困难,很难做到一次一密。
分组长度太长,导致算法效率低
随着因式分解技术的提高,RSA加密算法不得增加密钥长度,来保障安全性。
RSA加密算法面临的问题
虽然RSA加密算法的安全性基于大整数因子分解的困难性,但是在实际实现的细节处产生漏洞,以致遭受攻击。
01
02
03
04
研究快速生成大素数的算法
研究快速实现幂模运算的算法
问题解决方法展望
在实现过程中注意算法参数的设置,以避免可能的攻击
对RSA加密算法的子算法的研究不够深入
仿真时用到的密钥长度不足,在实际应用中达不到安全性要求
研究没有涉及RSA加密算法的硬件实现。
仿真实现过程中,没用到先进的素数判断方法。
问题总结
软件界面过于简陋,运行过程比较复杂。
敬请各位老师批评指正
TAHNK YOU FOR WATCHING
指导老师:明洋
答辩人:杨漂
文档评论(0)