ModInverse code snippet: (depends on
ExtendedGcd())
def ModInverse(a, m):
"""
Modular multiplicative inverse algorithm.
Computes modular multiplicative inverse of an integer a is an integer x such
that the product ax is congruent to 1 with respect to the modulus m.
Args:
a: An integer.
m: An integer representing modulus.
Returns:
An integer x satisfying ax = 1 (mod m). Otherwise throw an exception if
there is no such integer x.
"""
g, x, y = ExtendedGcd(a, m)
if g != 1:
raise Exception('modular inverse does not exist')
return x % m
沒有留言:
張貼留言