假设素数p=7,q=11,所以n=_77_,z=____60__,选择与z互质的d=37,再选择e=13,因为(13×37)mod z= 1, ① 请写出加密密钥和解密密钥。 加密密钥为(n, e) = (77, 13) 解密密钥为(n, d) = (77, 37)。 ② 假设明文P=5,计算相应的密文C。 C = (P^e) mod n = (5^13) mod 77 = 35 ③ 写出解密过程。 37 = 32 + 4 + 1 = 2^5 + 2^2 + 2^0 C1 = (C^2) mod n = (35^2) mod 77 = 18 C2 = (C1^2) mod n = (18^2) mod 77 = 11 C3 = (C2^2) mod n = (11^2) mod 77 = 36 C4 = (C3^2) mod n = (36^2) mod 77 = 29 C5 = (C4^2) mod n = (29^2) mod 77 = 20 根据指数的二进制表示,计算最终结果: P = (C5 * C4 * C1) mod n = (20 * 29 * 18) mod 77 = 5 因此,解密过程得到明文P=5。
时间: 2024-04-13 19:26:01 浏览: 8
加密密钥为(n, e) = (77, 13),解密密钥为(n, d) = (77, 37)。
明文P=5,计算相应的密文C。
C = (P^e) mod n = (5^13) mod 77 = 35
解密过程如下:
37 = 32 + 4 + 1 = 2^5 + 2^2 + 2^0
C1 = (C^2) mod n = (35^2) mod 77 = 18
C2 = (C1^2) mod n = (18^2) mod 77 = 11
C3 = (C2^2) mod n = (11^2) mod 77 = 36
C4 = (C3^2) mod n = (36^2) mod 77 = 29
C5 = (C4^2) mod n = (29^2) mod 77 = 20
根据指数的二进制表示,计算最终结果:
P = (C5 * C4 * C1) mod n = (20 * 29 * 18) mod 77 = 5
因此,解密过程得到明文P=5。
相关问题
用matlab 建立函数文件,找出n以下所有的质数,调用格式为B=prime_number (n)。
好的,这个问题我可以回答。以下是 Matlab 代码:
function B = prime_number(n)
% 找出n以下所有的质数
B = [];
for i = 2:n
is_prime = true;
for j = 2:sqrt(i)
if mod(i,j) ==
is_prime = false;
break;
end
end
if is_prime
B = [B i];
end
end
调用格式为:B = prime_number(n),其中 n 是一个正整数,B 是一个包含所有小于等于 n 的质数的向量。
python判断是否为素数_Python 判断是否为质数或素数
判断一个数是否为素数的方法可以使用试除法,也就是用2到该数的平方根之间的所有整数去除该数,如果都无法整除,则该数为素数。
代码实现如下:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
```
可以通过调用 is_prime() 函数来判断一个数是否为素数,如果返回 True 则表示该数为素数,否则为合数。