I had a problem that of calculation of a^b mod m , is
possible using modular exponentiation but the problem i am having is that the b I have is of very large value , b > 2^63 - 1 so could we modify the modular exponentiation code
function modular_pow(base, exponent, modulus)
result := 1
while exponent > 0
if (exponent mod 2 == 1):
result := (result * base) mod modulus
exponent := exponent >> 1
base = (base * base) mod modulus
return result
to accomodate for such a large b
or is it correct that a^b mod m is equal to (a^(b mod m)) mod m ?