公钥加密算法RSA与其数学分析
公钥密码(非对称性性加密算法)
旨在解决对称加密算法中的两项突出问题:
1、密钥分发问题
2、大量用户存在时系统密钥的管理问题
核心思想:利用非对称的原理对明文进行加密,简单来说,利用公钥体制中的私钥进行解密很容易,但想通过已加密后的密文结果反推却十分困难。RSA加密算法利用“大整数难分解”的特性进行加密,从而使攻击者难以破解密文,起到安全保护的作用。
RSA涉及的数学理论基础
1、同余类与剩余系
2、完全剩余系与简化剩余系
3、欧拉定理
4、欧几里得算法以及扩展欧几里得算法
同余定理:若给定的两个整数a、b对任意整数m进行模运算,得相同余数,则a、b两数同余。
ps1:求模运算中加减乘除均为取模的意义下进行运算
ps2:读者可自行学习同余的几个性质,后证明欧拉定理需要使用
同余类和完全剩余系:(下图可见)此主要为引出“欧拉定理”
简化剩余系和欧拉函数:
例:对于素数7,其最小非负完全剩余系Z={0,1,2,3,4,5,6} 那么可得除了0以外,1-6的整数都满 足 gcd(k,7)=1,所以欧拉函数为7-1=6,推广可得所有素数p的欧拉函数为p-1 注意这里只对素数有效,比如12不是一个素数,其欧拉函数不等于11。
欧拉定理:
欧拉定理及其简单的证明:
欧几里得算法:(辗转相除法)
缩减了问题的规模,使其可以进行计算
扩展欧几里得算法:
在RSA加密中主要起生成密钥的作用,其本质是对一个二元一次方程组的求解。
RSA加密算法的实现
密文:c
明文:m
加密系数:e(选取时需要与z=(p-1)*(q-1)互质)
ps:p、q为两个大素数,这里越大越安全;gcd(e,N)=1,即加密密钥与N互质;d为解密密钥,也是私钥,d是e关于N的欧拉函数的模反元素(扩展欧几里得算法可得)
RSA算法的安全性:N=p*q的大小根本上决定了加密算法的安全程度;目前的计算机的运行速度还无法达到破解RSA算法,但未来存在类似量子计算机这种超级计算机出现的可能性,届时,分解大整数对于计算机来说可能根本不值一提,那么RSA的加密算法也将受到严重的威胁。
总结
密码学的研究与发展是整个网络系统安全的基石,没有加密算法的不断突破就没有网络安全可言;
希望有更多的人能走在研究、创新密码的道路上!问题:在RSA算法中,解密密钥中的d通过求模逆元操作后是存在多组解还是唯一解,若是唯一解如何确定?
参考文章
https://www.cnblogs.com/moshk/p/13162447.html
https://www.icourse163.org/course/UESTC-1003046001?from=searchPage&outVendor=zw_mooc_pcssjg_
https://blog.csdn.net/TheWayForDream/article/details/109014990
__EOF__

本文链接:https://www.cnblogs.com/zyToJH/p/17963633.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库