Tool to compute modular power. Modular Exponentiation (or power modulo) is the result of the calculus a^b mod n. It is often used in informatics and cryptography.
Modular Exponentiation - dCode
Tag(s) : Arithmetics
dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!
A suggestion ? a feedback ? a bug ? an idea ? Write to dCode!
Solver limited to integer solutions < 10000
Tool to compute modular power. Modular Exponentiation (or power modulo) is the result of the calculus a^b mod n. It is often used in informatics and cryptography.
It consists in an exponentiation followed by a modulus, but it exists optimized algorithms with big numbers to return a fast result without having to actually perform the calculation (called fast, thanks to mathematical simplifications).
Example: $$ 12^{34} \equiv 16 \mod 56 $$
The word power indicates the name of the operation, and exponent to indicate the operand.
Calculating the last $ x $ digits of $ a ^ b $ is equivalent to calculating $ a ^ b \mod n $ with $ n = 10 ^ x $ (the number $ 1 $ followed by $ x $ zeros)
Example: $ 3 ^ 9 = 19683 $ and $ 3 ^ 9 \mod 100 = 83 $ (the last 2 digits)
There are several algorithms, here is the shortest one in pseudocode:// pseudocode
function powmod(base b, exponent e, modulus m)
if m = 1 then return 0
var c := 1
for var a from 1 to e
c := (c * b) mod m
end for
return c
This calculation is known as the discrete logarithm problem. Some solutions can be found by brute force but there is no trivial general solution.
Calculus uses exponent and modulos that are generally defined over the natural number domain set N. It is possible to use rational numbers but it is not handled here.
dCode retains ownership of the online 'Modular Exponentiation' tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any function (convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (PHP, Java, C#, Python, Javascript, Matlab, etc.) no data, script or API access will be for free, same for Modular Exponentiation download for offline use on PC, tablet, iPhone or Android !
Please, check our community Discord for help requests!