【技术分享】RSA算法详解

【技术分享】RSA算法详解

编码文章call10242025-01-06 21:00:2320A+A-

01 写在开篇

RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。

在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。而加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。

正是基于这种理论,1978年出现了著名的RSA算法。它通常是首先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,这将使加密的计算量变很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密;然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密,并可核对信息摘要。

02 加密过程

Rsa加密过程举例:

为了更好地编写脚本,我们对笔记进行简化和理解,并使用python进行常规的rsa加密。

03 常见的rsa攻击手段

RSA题目:模不共素

证明过程:

两个n不互素,代表拥有相同的公因数和乘积。通过求解两者的公因数,即可得到 p或者q,由此求出其他数值。由于此处是两个加密后的结果,所以需要拼接起来,有2个明文,二者为一。

exp为:https://zhuanlan.zhihu.com/p/76228394

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4