Modular Arithmetic
Modular Arithmetic
Modular Arithmetic is a system of arithmetic for integers where numbers wrap around after reaching a certain value called the modulus. It is a crucial concept in various fields, especially in cryptography and number theory.
Video Explanation

Core Concepts
Modulus
- The modulus is the integer at which numbers wrap around.
- For any integer , the expression gives the remainder of the division of by .
Basic Operations
-
Addition :
Example:Code:
C++
int modular_add(int a, int b, int m) {return (a + b) % m;}Java
public static int modularAdd(int a, int b, int m) {return (a + b) % m;}Python
def modular_add(a, b, m):return (a + b) % mTime Complexity:
-
Subtraction :
Example:Code:
C++
int modular_sub(int a, int b, int m) {return (a - b + m) % m; // ensure non-negative result}Java
public static int modularSub(int a, int b, int m) {return (a - b + m) % m; // ensure non-negative result}Python
def modular_sub(a, b, m):return (a - b + m) % m # ensure non-negative resultTime Complexity:
-
Multiplication::
Example:Code:
C++
int modular_mul(int a, int b, int m) {return (a * b) % m;}Java
public static int modularMul(int a, int b, int m) {return (a * b) % m;}Python
def modular_mul(a, b, m):return (a * b) % mTime Complexity:
-
Exponentiation:
Example:Code:
C++
int modular_pow(int base, int exp, int mod) {int result = 1;base = base % mod;while (exp > 0) {if (exp % 2 == 1) {result = (result * base) % mod;}exp = exp >> 1; // equivalent to exp //= 2base = (base * base) % mod;}return result;}Java
public static int modularPow(int base, int exp, int mod) {int result = 1;base = base % mod;while (exp > 0) {if ((exp & 1) == 1) {result = (result * base) % mod;}exp >>= 1; // equivalent to exp /= 2base = (base * base) % mod;}return result;}Python
def modular_pow(base, exp, mod):result = 1base = base % modwhile exp > 0:if (exp % 2) == 1:result = (result * base) % modexp //= 2base = (base * base) % modreturn resultTime Complexity:
Conclusion
Modular arithmetic is a powerful tool in mathematics with significant applications in cryptography, computer science, and number theory. Understanding its core operations and properties is essential for working with modern cryptographic systems and algorithms.
Test Your Understanding
Answer these 3 questions to check what you have learned.
What is the main topic of this documentation page?
What should be identified before implementing modular arithmetic?
How is understanding of modular arithmetic best checked?
Done with this topic? Mark it as complete to track your progress.
Was this page helpful?
Discuss this page
Have a question or spot something confusing in "Modular Arithmetic"? Ask below. Backed by GitHub Discussions—maintainers receive system notifications directly.