RSA算法这是一种非对称密码算法, 这意味着在通信时应涉及两个密钥, 即公钥和私钥。解决RSA算法问题的步骤很简单。
示例1:
步骤1:选择两个质数
![如何解决RSA算法问题()](http://img.readke.com/220605/210H13961-0.png)
文章图片
和
![如何解决RSA算法问题()](http://img.readke.com/220605/210H1J34-1.png)
文章图片
让我们来
![如何解决RSA算法问题()](http://img.readke.com/220605/210H13394-2.png)
文章图片
和
![如何解决RSA算法问题()](http://img.readke.com/220605/210H12V2-3.png)
文章图片
【如何解决RSA算法问题()】步骤2:计算的值
![如何解决RSA算法问题()](http://img.readke.com/220605/210H111G-4.png)
文章图片
和
![如何解决RSA算法问题()](http://img.readke.com/220605/210H12D2-5.png)
文章图片
给出为
and
在这个例子中
![如何解决RSA算法问题()](http://img.readke.com/220605/210H112R-6.png)
文章图片
![如何解决RSA算法问题()](http://img.readke.com/220605/210H14527-7.png)
文章图片
步骤3:找出的值
(公钥)
选择
, 这样
应该是互质的。互素意味着它不应该乘以
![如何解决RSA算法问题()](http://img.readke.com/220605/210H15091-8.png)
文章图片
而且不除以
![如何解决RSA算法问题()](http://img.readke.com/220605/210H14b8-9.png)
文章图片
影响因素
![如何解决RSA算法问题()](http://img.readke.com/220605/210H14Z7-10.png)
文章图片
是,
![如何解决RSA算法问题()](http://img.readke.com/220605/210H142P-11.png)
文章图片
so
不应乘以
![如何解决RSA算法问题()](http://img.readke.com/220605/210H14015-12.png)
文章图片
和
![如何解决RSA算法问题()](http://img.readke.com/220605/210H11359-13.png)
文章图片
并且不应除以20。
因此, 素数是3、7、11、17、19…, 因为选择了3和11
如7
因此,
![如何解决RSA算法问题()](http://img.readke.com/220605/210H16430-14.png)
文章图片
步骤4:计算的值
![如何解决RSA算法问题()](http://img.readke.com/220605/210H14592-15.png)
文章图片
(私钥)
条件为
![如何解决RSA算法问题()](http://img.readke.com/220605/210H1O58-16.png)
文章图片
y是
![如何解决RSA算法问题()](http://img.readke.com/220605/210H1E11-17.png)
文章图片
.
计算的值
![如何解决RSA算法问题()](http://img.readke.com/220605/210H1B56-18.png)
文章图片
,
形成一个包含四列的表, 即a, b, d和k。
初始化a = 1, b = 0, d =
![如何解决RSA算法问题()](http://img.readke.com/220605/210H15C0-19.png)
文章图片
, k = –第一行。
初始化a = 0, b = 1, d =
,
![如何解决RSA算法问题()](http://img.readke.com/220605/210H11564-20.png)
文章图片
在第二排。
在下一行中, 应用以下公式查找下一个a, b, d和k的值, 其值如下所示:
![如何解决RSA算法问题()](http://img.readke.com/220605/210H13T6-21.png)
文章图片
![如何解决RSA算法问题()](http://img.readke.com/220605/210H1C30-22.png)
文章图片
![如何解决RSA算法问题()](http://img.readke.com/220605/210H142H-23.png)
文章图片
![如何解决RSA算法问题()](http://img.readke.com/220605/210H12S0-24.png)
文章图片
立刻,
![如何解决RSA算法问题()](http://img.readke.com/220605/210H1E55-25.png)
文章图片
, 请停止该过程并检查以下情况
if if
对于给定的示例, 该表将为
一种 | b | d | ? |
---|---|---|---|
1 | 0 | 20 | – |
0 | 1 | 7 | 2 |
1 | -2 | 6 | 1 |
-1 | 3 | 1 | – |
![如何解决RSA算法问题()](http://img.readke.com/220605/210H13943-26.png)
文章图片
, 请停止该过程并检查为
![如何解决RSA算法问题()](http://img.readke.com/220605/210H15211-27.png)
文章图片
![如何解决RSA算法问题()](http://img.readke.com/220605/210H16442-28.png)
文章图片
验证
![如何解决RSA算法问题()](http://img.readke.com/220605/210H14142-29.png)
文章图片
是正确的, 上述条件应满足, 即
![如何解决RSA算法问题()](http://img.readke.com/220605/210H125M-30.png)
文章图片
。因此
![如何解决RSA算法问题()](http://img.readke.com/220605/210H1BT-31.png)
文章图片
是正确的。
步骤5:进行加密和解密
加密方式为
![如何解决RSA算法问题()](http://img.readke.com/220605/210H12463-32.png)
文章图片
解密为
![如何解决RSA算法问题()](http://img.readke.com/220605/210H1A23-33.png)
文章图片
对于给定的示例, 假设
![如何解决RSA算法问题()](http://img.readke.com/220605/210H1G33-34.png)
文章图片
, 所以
加密是
![如何解决RSA算法问题()](http://img.readke.com/220605/210H13940-35.png)
文章图片
解密为
![如何解决RSA算法问题()](http://img.readke.com/220605/210H12A2-36.png)
文章图片
因此, 在最后,
![如何解决RSA算法问题()](http://img.readke.com/220605/210H142Q-37.png)
文章图片
,
![如何解决RSA算法问题()](http://img.readke.com/220605/210H111E-38.png)
文章图片
,
![如何解决RSA算法问题()](http://img.readke.com/220605/210H1AU-39.png)
文章图片
,
![如何解决RSA算法问题()](http://img.readke.com/220605/210H13K3-40.png)
文章图片
,
![如何解决RSA算法问题()](http://img.readke.com/220605/210H15R2-41.png)
文章图片
和
![如何解决RSA算法问题()](http://img.readke.com/220605/210H12463-42.png)
文章图片
示例2:
GATE CS-2017(Set 1)
在RSA密码系统中, 特定的A使用两个质数p = 13和q = 17生成她的公钥和私钥。如果A的公钥是35。那么A的私钥是?
![如何解决RSA算法问题()](http://img.readke.com/220605/210H11955-43.png)
文章图片
和
![如何解决RSA算法问题()](http://img.readke.com/220605/210H11057-44.png)
文章图片
计算
![如何解决RSA算法问题()](http://img.readke.com/220605/210H113b-45.png)
文章图片
和
![如何解决RSA算法问题()](http://img.readke.com/220605/210H1B00-46.png)
文章图片
![如何解决RSA算法问题()](http://img.readke.com/220605/210H13232-47.png)
文章图片
(公钥)
计算
![如何解决RSA算法问题()](http://img.readke.com/220605/210H12025-48.png)
文章图片
(私钥)
a | b | d | k |
---|---|---|---|
1 | 0 | 192 | – |
0 | 1 | 35 | 5 |
1 | -5 | 17 | 2 |
-2 | 11 | 1 | – |
![如何解决RSA算法问题()](http://img.readke.com/220605/210H1F14-49.png)
文章图片
(私钥)
推荐阅读
- 如何对很多重复的大数组进行排序()
- 12个免费数据恢复软件
- 总结描述TCP三次握手四次挥手
- 描述TCP和UDP区别
- RHCSA考题讲解
- 网卡绑定bond0的实现
- Proxmox VE 7.0升级到Proxmox VE 7.1虚拟机重启失败
- python获取列表长度
- 运维小白成长记——第五周