RSA算法这是一种非对称密码算法, 这意味着在通信时应涉及两个密钥, 即公钥和私钥。解决RSA算法问题的步骤很简单。
示例1:
步骤1:选择两个质数

和

让我们来

和

步骤2:计算的值

和

给出为
and
在这个例子中


步骤3:找出的值
(公钥)
选择
, 这样
应该是互质的。互素意味着它不应该乘以

而且不除以

影响因素

是,

so
不应乘以

和

并且不应除以20。
因此, 素数是3、7、11、17、19…, 因为选择了3和11
如7
因此,

步骤4:计算的值

(私钥)
条件为

y是

.
计算的值

,
形成一个包含四列的表, 即a, b, d和k。
初始化a = 1, b = 0, d =

, k = –第一行。
初始化a = 0, b = 1, d =
,

在第二排。
在下一行中, 应用以下公式查找下一个a, b, d和k的值, 其值如下所示:




立刻,

, 请停止该过程并检查以下情况
if
if
对于给定的示例, 该表将为
一种 | b | d | ķ |
---|---|---|---|
1 | 0 | 20 | – |
0 | 1 | 7 | 2 |
1 | -2 | 6 | 1 |
-1 | 3 | 1 | – |
如上表

, 请停止该过程并检查为


验证

是正确的, 上述条件应满足, 即

。因此

是正确的。
步骤5:进行加密和解密
加密方式为

解密为

对于给定的示例, 假设

, 所以
加密是

解密为

因此, 在最后,

,

,

,

,

和

示例2:
GATE CS-2017(Set 1)
在RSA密码系统中, 特定的A使用两个质数p = 13和q = 17生成她的公钥和私钥。如果A的公钥是35。那么A的私钥是?

和

计算

和


(公钥)
计算

(私钥)
a | b | d | k |
---|---|---|---|
1 | 0 | 192 | – |
0 | 1 | 35 | 5 |
1 | -5 | 17 | 2 |
-2 | 11 | 1 | – |

(私钥)
来源:
https://www.srcmini02.com/68763.html