素数p = 7,q = 17 e=11 运用辗转相除和模范元素求d
时间: 2023-08-16 16:08:03 浏览: 116
辗转相除法求余数
根据RSA加密算法的公式,我们需要求出d来完成密钥对的生成,下面是求解过程:
首先,我们需要计算n的值,n = p * q = 7 * 17 = 119。
然后,我们需要计算φ(n)的值,φ(n) = (p - 1) * (q - 1) = 6 * 16 = 96。
接下来,我们需要选择一个整数e,满足1 < e < φ(n)且e与φ(n)互质,根据题目给出的条件,我们选择e = 11。
然后,我们需要求出d的值,满足d * e ≡ 1 (mod φ(n))。
为了求解d,我们可以使用扩展欧几里得算法,即辗转相除法和模逆元素的方法。
首先,我们使用辗转相除法求解gcd(e, φ(n)):
```
gcd(11, 96) = gcd(96, 11) = gcd(8, 11) = gcd(11 mod 8, 8) = gcd(3, 8) = gcd(8 mod 3, 3) = gcd(2, 3) = gcd(3 mod 2, 2) = gcd(1, 2) = 1
```
因此,gcd(e, φ(n)) = 1,e与φ(n)互质。
接下来,我们使用模逆元素的方法求解d的值,即找到一个整数d,使得d * e ≡ 1 (mod φ(n))。
根据扩展欧几里得算法的推导过程,我们知道,当gcd(e, φ(n)) = 1时,存在整数x和y,使得:
```
e * x + φ(n) * y = 1
```
其中,x为e的模逆元素。
因此,我们可以使用扩展欧几里得算法求解x和y,进而求解d的值。
根据辗转相除法的计算过程,我们可以得到:
```
3 = 11 - 8
2 = 8 - 3 * 2
1 = 3 - 2
```
将上述等式代入e * x + φ(n) * y = 1中,得到:
```
1 = 3 - 2
= 3 - (8 - 3 * 2)
= 3 * 3 - 8
= 3 * (11 - 8) - 8 * 2
= 3 * 11 - 8 * 5
```
因此,我们可以得到x = 3,y = -5,d = x mod φ(n) = 3。
因此,d的值为3,密钥对为:公钥为(n, e) = (119, 11),私钥为(n, d) = (119, 3)。
阅读全文