2. 在 RSA 公开密钥系统中,若截获了发给一个公开密钥 e=3,n=33 的密文 c=2,请计算明文是什么? (10 分)
时间: 2024-04-07 21:29:35 浏览: 407
rsa.rar_RSAD_rsa_密钥_非对称密钥
在RSA加密中,密文c和明文m的关系为:c = m^e mod n,其中e是公钥中的指数,n是公钥中的模数。
根据题目给出的公钥 e=3, n=33 和密文c=2,我们可以得到:
m = c^d mod n
其中d为私钥,需要通过对公钥进行分解得到。在本题中,n=33=3*11,由于3和11都是质数,因此可以直接使用欧拉函数求出d,即:d = (p-1)(q-1) = 2*10 = 20。
现在我们需要求出2的20次方对33取模的结果。为了避免计算量过大,我们可以使用快速幂算法进行计算,具体步骤如下:
1. 将20转换为二进制数,得到10100。
2. 从右往左遍历二进制数,若当前位为1,则将结果乘以当前底数的幂,否则不做操作。每乘一次后,将底数自乘一次取模,即可得到最终结果。
按照上述步骤,我们可以得到:
2^20 mod 33 = (2^4)^5 mod 33 = 16^5 mod 33 = 16*16*16*16*16 mod 33 = 16
因此,明文m = c^d mod n = 2^20 mod 33 = 16。
所以,明文为16。
阅读全文