我正在使用Python实现RSA算法。当我输入像17和41这样的质数时,我的代码可以顺利运行,没有出现任何问题。但是,如果我尝试使用1000以上的质数,代码就会“停止”运行(我的意思是,它将在指数上卡住并且无法返回结果)。
问题出在以下部分:
问题出在以下部分:
msg = ''
msg = msg + (ord(char ** d) % n for char in array)
我知道对于类似于d = 32722667和char = 912673这样的数字执行指数运算需要大量计算,但是我想它不应该需要超过5到10分钟都没有返回结果。
我的电脑是i3-6006U,并且有4GB的RAM。
n
而不是其他数字。例如,当 n = 1 时,很容易说出 947532598145 的 3452346277108 次方的结果 - 它将是 5(因为以 5 结尾的任何数字的任何幂次方都是 5)。 - Alex Sveshnikov