Discrete Logarithm
gmpy/离散对数
前几天做一个解离散对数的题用到了 gmpy,它是 GMP 的 Python 封装,用来算大数。
这里记两笔。首先是大整数需要用 mpz
对象,例如:
p = mpz(13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084171)
判断大数是否是质数:is_prime(p)
(求离散对数其实用不着)
求逆元 :invert(x, p)
。例如, y = invert(x, p)
则