¿Qué es la Calculadora de Potencia Modular?
La Calculadora de Potencia Modular obtiene \((\text{base}^{\text{exponente}}) \bmod m\), es decir, el resto que queda al elevar una base a una potencia y dividir el resultado entre un módulo. Esta operación, conocida como exponenciación modular, está presente en todas partes dentro de la teoría de números y la criptografía: es la base del cifrado RSA, del intercambio de claves Diffie-Hellman, de las pruebas de primalidad y de las funciones hash. Calcularla de forma directa (primero la potencia gigantesca y luego el resto) resulta imposible cuando el exponente es grande, así que recurrimos a un algoritmo rápido.
$$\text{result} = \text{Base}^{\text{Exponent}} \bmod \text{Modulus}$$
Cómo usarla
Introduce tres números enteros: la base, el exponente (cero o positivo) y el módulo \(m\) (un entero positivo mayor que 1). Pulsa calcular y la herramienta devuelve el resultado dentro del rango de 0 a \(m-1\). Las bases negativas se reducen automáticamente a su residuo no negativo correcto.
La fórmula explicada
En lugar de construir el número enorme \(\text{base}^{\text{exponente}}\), la calculadora aplica el método de elevar al cuadrado y multiplicar (también llamado exponenciación binaria). Lee el exponente en binario. Partiendo de un resultado igual a 1, eleva repetidamente la base al cuadrado módulo \(m\); cada vez que el dígito binario actual del exponente es 1, multiplica ese valor elevado al cuadrado por el resultado acumulado, reduciendo de nuevo módulo \(m\). Como cada número intermedio se mantiene por debajo de \(m^2\), el cálculo es veloz incluso con exponentes de cientos de cifras.
Ejemplo resuelto
Calculemos \(7^{256} \bmod 13\). El orden de 7 módulo 13 divide a 12, y \(7^{12} \equiv 1\). Como \(256 = 12\times 21 + 4\), tenemos que $$7^{256} \equiv 7^{4} = 2401 \equiv 9 \pmod{13}.$$ Por tanto, la respuesta es 9, obtenida aquí al instante sin necesidad de formar nunca el número de 217 cifras que sería \(7^{256}\).
Preguntas frecuentes
¿Qué ocurre si el módulo es 1? Todo entero es congruente con 0 módulo 1, así que el resultado es 0.
¿Puede ser el exponente 0? Sí. Cualquier base elevada a 0 vale 1, de modo que el resultado es \(1 \bmod m\) (que es 1 cuando \(m > 1\)).
¿Por qué no calcular la potencia directamente? Con exponentes grandes, el número intermedio tendría una cantidad astronómica de cifras y provocaría desbordamiento. Reducir módulo \(m\) en cada paso mantiene los valores pequeños y el método eficiente.