# Calculadora de aritmética modular (suma / resta / producto / inversa / potencia)

Calcula suma, resta, producto, inversa y potencia rápida bajo un módulo m con aritmética BigInt exacta (hasta 10¹⁸). Las operaciones básicas muestran la reducción paso a paso y devuelven el representante canónico en [0, m−1]; la inversa usa el algoritmo de Euclides extendido y avisa claramente cuando gcd(a, m) ≠ 1; la potencia rápida muestra la tabla de elevar-al-cuadrado-y-multiplicar para los bits del exponente. Ejemplos: 17⁵ mod 13 = 10; 5⁻¹ mod 18 = 11.

> Página canónica: https://elysiatools.com/es/tools/modulo-arithmetic-converter

- **Categoría:** Math & Numbers

- **Palabras clave:** aritmética modular, módulo, congruencia, inversa modular, potencia rápida, euclides extendido, teoría de números, resto

## Descripción general

Esta calculadora de aritmética modular permite resolver sumas, restas, multiplicaciones, inversas modulares y potencias rápidas bajo un módulo m ≥ 2 utilizando aritmética exacta BigInt para enteros de hasta 10¹⁸. Muestra la reducción y el desglose paso a paso mediante el algoritmo de Euclides extendido y la exponenciación binaria por cuadrados y productos, entregando siempre el representante canónico en el rango [0, m−1].

## Entradas

- **Operación** (select)
- **Valor a** (text): First operand (the base in power mode, the value being inverted in inverse mode).
- **Valor b** (text): Second operand — the exponent in power mode; unused in inverse mode.
- **Módulo m** (text): Modulus, m ≥ 2. Results are reduced to the canonical range \[0, m−1\].

## Cuándo usarlo

- Resolver ejercicios de congruencias lineales o teoría de números que requieran obtener inversas modulares mediante el algoritmo de Euclides extendido.
- Calcular potencias modulares con exponentes grandes para sistemas criptográficos como RSA o Diffie-Hellman sin desbordamiento de enteros.
- Normalizar sumas, restas y productos modulares de forma exacta para programación competitiva o algoritmos basados en cuerpos finitos.

## Cómo funciona

- Selecciona la operación modular que deseas calcular: suma, resta, multiplicación, inversa modular (a⁻¹ mod m) o potencia rápida (aᵇ mod m).
- Ingresa el operando a, el operando b (si la operación lo requiere) y el módulo m (m ≥ 2).
- La herramienta ejecuta el algoritmo correspondiente con aritmética BigInt exacta y devuelve el resultado canónico en el intervalo \[0, m−1\] con su desglose algebraico.

## Casos de uso

- Verificación de pasos intermedios y claves en problemas de criptografía asimétrica y aritmética de clave pública.
- Resolución de sistemas de congruencias lineales y comprobación de identidades de Bézout en teoría de números.
- Validación de operaciones algebraicas en anillos modulares ℤ/mℤ para algoritmos de hashing y desarrollo de software.

## Preguntas frecuentes

### ¿Qué ocurre si intento calcular la inversa modular y gcd(a, m) ≠ 1?

La herramienta indica explícitamente que la inversa no existe, ya que a y m deben ser coprimos para tener un inverso multiplicativo módulo m.

### ¿Cómo se calculan las potencias de números grandes sin desbordar memoria?

Aplica el algoritmo de exponenciación rápida (elevar al cuadrado y multiplicar), reduciendo el resultado módulo m en cada paso según la descomposición binaria del exponente.

### ¿El resultado de una resta puede devolver valores negativos?

No. Si la resta resulta negativa, se suma el módulo correspondiente para entregar siempre el representante canónico en el rango [0, m−1].

### ¿Hasta qué magnitud numérica admite la calculadora?

Admite valores exactos de hasta 10¹⁸ gracias al uso interno de precisión arbitraria con BigInt.

### ¿Es obligatorio ingresar el valor b para calcular una inversa modular?

No, el campo del operando b se omite automáticamente durante el cálculo de la inversa modular, ya que solo se precisan a y m.

## Herramientas relacionadas

- [Simplificador de álgebra de Boole (con mapa de Karnaugh)](https://elysiatools.com/es/tools/boolean-algebra-simplifier): Simplifica funciones booleanas al SOP mínimo: introduce una expresión (A–D, + OR, · AND, ' NOT, ≤ 4 variables) o directamente la lista de minterms Σm; el algoritmo de Quine-McCluskey obtiene los implicantes primos, toma los esenciales y completa una cobertura mínima exacta, mostrando el SOP mínimo, el mapa de Karnaugh en código Gray (2–4 variables), la forma canónica Σm y una verificación sobre todas las asignaciones. Clásicos: AB + A'B → B; Σm(0,1,2,4,5,6) (3 variables) → B' + C'.
- [Conversor de Proporción de Dilución (1:X ↔ 1/X ↔ %)](https://elysiatools.com/es/tools/dilution-ratio-converter): Convierte entre las notaciones de dilución de laboratorio: proporción 1:X, fracción 1/X y porcentaje, junto con el factor de dilución y las partes de soluto/diluyente. Admite las dos convenciones de 1:X (X = partes totales, o 1 parte de soluto + X de diluyente); al indicar el volumen final calcula los volúmenes a mezclar. Ejemplo clásico: 1:5 = 1/5 = 20 %; para 100 mL se mezclan 20 mL de concentrado + 80 mL de diluyente.
- [Algoritmo de Euclides extendido (ax + by = gcd(a, b))](https://elysiatools.com/es/tools/extended-euclidean-algorithm): Resuelve la identidad de Bézout a·x + b·y = gcd(a, b) para enteros con cualquier signo: entrega la tabla completa de pasos de división (cada fila cumple r = a·s + b·t), el gcd y el lcm. Con el lado derecho opcional c se convierte en solucionador de ecuaciones diofánticas: si gcd | c da la solución particular y la general x = x₀ + (b/g)t; si no, informa claramente de que no hay solución entera. Clásico: 240 × (−9) + 46 × 47 = 2.
- [Calculadora de inversa modular (Euclides extendido)](https://elysiatools.com/es/tools/modular-inverse-calculator): Calcula a⁻¹ mod m con el algoritmo de Euclides extendido: entrega los coeficientes de Bézout a·x + m·y = gcd(a, m), la tabla completa de coeficientes hacia adelante (cada fila cumple r = a·s + m·t) y la verificación a × a⁻¹ ≡ 1 (mod m). Acepta números del tamaño de RSA (hasta 10⁵¹²) y avisa claramente cuando gcd(a, m) ≠ 1 hace que no exista inversa. Clásico: en RSA, 17⁻¹ mod 3120 = 2753.
- [Generador de tablas de verdad](https://elysiatools.com/es/tools/truth-table-generator): Genera la tabla de verdad completa de una expresión booleana (hasta 6 variables, 64 filas): soporta + OR, ^ XOR, ·/*/& o yuxtaposición AND, !/~/' NOT y paréntesis; las variables se listan alfabéticamente, cada fila muestra la asignación y el valor F, y se dan las formas canónicas Σm (minterms) y ΠM (maxterms). Clásicos: AB + A'C tiene Σm(1,3,6,7); A ^ B ^ C es la función de paridad impar Σm(1,2,4,7).
- [Conversor de Velocidad Angular (rad/s / rpm / deg/s / Hz)](https://elysiatools.com/es/tools/angular-velocity-converter): Conversión de velocidad angular: rad/s (base SI) ↔ rpm (1=2π/60 rad/s) ↔ deg/s (1=π/180 rad/s) ↔ Hz (1 revolución/s=2π rad/s). Hz aquí = revolución por segundo. Conversión vía rad/s con los cuatro equivalentes. Ref.: vinilo 33⅓ rpm≈3,49 rad/s, motor idle ~800 rpm≈83,8 rad/s.
- [Calculadora de Dimensionado de Conductos (caudal y velocidad)](https://elysiatools.com/es/tools/duct-size-calculator): Dimensiona conductos a partir del caudal Q y la velocidad de proyecto v: área A=Q/v. Conducto circular: diámetro D=√(4A/π). Rectangular con relación r=a/b: b=√(A/r), a=r·b, y diámetro equivalente ASHRAE D_eq=1,30·(a·b)^0,625/(a+b)^0,25. Caudal en m³/s/m³/h/CFM; resultados en mm y pulgadas.
- [Calculadora de Límite de Fatiga (Goodman/Gerber/Soderberg)](https://elysiatools.com/es/tools/fatigue-limit-calculator): Factor de seguridad de fatiga con corrección por tensión media. Dados σ_a, σ_m y σ_uts, σ_-1, σ_y del material, devuelve tres criterios: Goodman modificado (lineal, conservador), Gerber (parabólico, mejor para dúctiles) y Soderberg (usa σ_y, el más conservador). Toma el mínimo como valor gobernante e indica si el punto está dentro de la línea de Goodman.

## Ejemplos

- [Ejemplos de Procesamiento de Imágenes Web Python](https://elysiatools.com/es/samples/web-image-processing-python): Ejemplos de procesamiento de imágenes Web Python usando PIL/Pillow incluyendo lectura, guardado, redimensionamiento y conversión de formato
- [Ejemplos de Procesamiento de Imágenes Android Java](https://elysiatools.com/es/samples/android-image-processing-java): Ejemplos de procesamiento de imágenes Android Java incluyendo lectura/escritura, escalado y conversión de formato
- [Ejemplos de Procesamiento de Imágenes Android Kotlin](https://elysiatools.com/es/samples/android-image-processing-kotlin): Ejemplos de procesamiento de imágenes Android Kotlin incluyendo lectura/escritura, escalado y conversión de formato
- [Ejemplos de Procesamiento de Imágenes Web Rust](https://elysiatools.com/es/samples/web-image-processing-rust): Ejemplos de procesamiento de imágenes Web Rust incluyendo lectura/escritura, escalado y conversión de formato
