我完全被难住了。我正在使用以下值计算 RSA 中数字 54 的密码:
p=5; q=29; n=145 d=9; e=137
因此加密后的数字 54 将是:
54^137 模 145
或在 python 中等效:
import math
math.pow(54,137)%145
我的计算器给出了 24,我的 python 语句给出了 54.0。 Python 显然是错误的,但我不知道为什么或如何。在您安装的 Python 上尝试一下。我的版本是 2.5.1,但我也在 2.6.5 上试过,结果同样不正确。
最佳答案
>>> pow(54,137,145)
24
math.pow
是 float 。你不想要那个。浮点值的有用精度少于 17 位。 54**137 有 237 位。
关于Python 模数结果不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5099745/