公钥加密算法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__

本文作者Pres1X
本文链接https://www.cnblogs.com/zyToJH/p/17963633.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Pres1X  阅读(107)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示