pow(x,y,N),pow(x,y)%N和(x**y)%N

这个问题是我一开始做CTF题发现的,下面的脚本:

N=16903705997349646195704375376941855414691523387719679999999999999
e=65537
d=71961395444719033349123712211093410967715759287662860214461993
m=0x237200C0F72B97DB55BA37C7AACBB61A26A0CB47D294726259C4DF
print((m**d)%N)

和下面的脚本

import math
N=16903705997349646195704375376941855414691523387719679999999999999
e=65537
d=71961395444719033349123712211093410967715759287662860214461993
m=0x237200C0F72B97DB55BA37C7AACBB61A26A0CB47D294726259C4DF
print(pow(m,d,N))

于是,我想知道这到底是为啥...
于是查了查官方文档...


重点就是说三个参数的pow(x,y,N)将比x**y%N更加有效的计算。

目测采用模重复平方法,也没有去验证,改天有时间了去验证一哈.

推荐阅读更多精彩内容