RSA 算法是一种非对称密码算法,也就是说,在进行通信时应该涉及到两个密钥,即公钥和私钥。解决 RSA 算法问题的步骤很简单。
示例 1:
- 步骤 1:选择两个质数和
让我们来和 - 步骤 2:计算和
它给出为,和
在这个例子中,
- 第 3 步:找到的值 (公钥)
选择 ,这样应该是共同的。互质意味着它不应该乘以因子也不除以的因素是, 所以不应该乘以和并且不应除以 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 的值,其给出为
立刻, , 停止进程并检查以下情况
如果如果
对于给定的示例,该表将是,
a b d k 1 0 20 – 0 1 7 2 1 -2 6 1 -1 3 1 – 如上表 , 停止进程并检查给定的条件
为了验证是正确的,上面的条件应该满足,即
.因此是正确的。 - 第 5 步:进行加密和解密
加密给出为,
解密给出为,
对于给定的例子,假设 , 所以
加密是解密是
因此在决赛中, , , , , 和
示例 2:GATE CS-2017(组 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 – (私钥)