Python でモンゴメリー乗算の実装を作成しようとしています。Python の long の GMP に相当するものが必要ですmpz_getlimbn()
が、私の人生では見つけられないようです。
どんな助けでも大歓迎です。
編集
以下を実装しましたが、GMP では発生しない手足のインデックス範囲外エラーが発生します。
def unpack(x, b):
if gmpy2:
return [long(x) for x in gmpy2.unpack(gmpy2.mpz(x), b)]
b = 2 ** b
r = []
while x:
x, temp = divmod(x, b)
r.append(temp)
return r