假设我们有一个这样的加密函数:
f(x) = x^5 mod 21
如何从该函数生成的加密文本中获取纯文本?如何表示解密函数?
这是作业吗?如果是这样,您应该将其标记为作业,并接受您过去的一些问题的答案。
这看起来像 RSA,其中模数是两个素数的乘积(即 n = p*q)。只需按照算法的步骤操作即可。在这种情况下,n = 21 = 7*3。这告诉你 phi(n) = (6*2) = 12。
如果 5 是加密指数 (e),并且 phi(n) = 12,那么要计算解密指数,您需要找到 d 使得 e*d = 1 (mod phi(n))。换一种写法,e -1 = d (mod phi(n))。您可以使用 Mathematica 中的PowerMod函数执行此操作:PowerMod[5, -1, 12]。
一旦你知道了模逆,剩下的就变得容易了:
c = (m)^5 mod 21
m = (c)^d mod 21