Search for a tool
Modular Exponentiation

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.

Results

Modular Exponentiation -

Tag(s) : Arithmetics

Share dCode and more

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!

Please, check our dCode Discord community for help requests!
NB: for encrypted messages, test our automatic cipher identifier!

Thanks to your feedback and relevant comments, dCode has developed the best 'Modular Exponentiation' tool, so feel free to write! Thank you!

# Modular Exponentiation

## a^b mod n Solver

Solver limited to integer solutions < 10000

### How to calculate a raised to power b modulo n?

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.

### How to calculate the last digits of an exponentiation?

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)

### What is the algorithm of powmod?

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

### How to solve for exponent with base and modulo?

This calculation is known as the discrete logarithm problem. Some solutions can be found by brute force but there is no trivial general solution.

### Why is modular exponentiation limited to integers?

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.

## Source code

dCode retains ownership of the online 'Modular Exponentiation' tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any 'Modular Exponentiation' algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any 'Modular Exponentiation' function (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and no data download, script, copy-paste, or API access for 'Modular Exponentiation' will be for free, same for offline use on PC, tablet, iPhone or Android ! dCode is free and online.

## Need Help ?

Please, check our dCode Discord community for help requests!
NB: for encrypted messages, test our automatic cipher identifier!