Calculadora de exponenciación modular

Calcula grandes potencias enteras módulo otro entero con el algoritmo rápido de cuadrados y multiplicaciones.

Calcular una potencia módulo m
Introduce una base entera, un exponente no negativo y un módulo mayor que uno.

Acerca de la exponenciación modular

La exponenciación modular calcula el resto de elevar una base entera a un exponente entero no negativo y dividir entre un módulo positivo. La expresión a^b mod m pide el único resto entre 0 y m - 1 congruente con a^b. El cálculo directo puede volverse inviable muy pronto porque las potencias alcanzan tamaños enormes, aunque el resto final sea pequeño. Esta calculadora evita construir ese gigantesco entero intermedio. El método eficiente se conoce como exponenciación binaria, cuadrados sucesivos o elevar al cuadrado y multiplicar. Se escribe el exponente en binario y se procesan sus bits. Primero se reduce la base módulo m. En cada paso se eleva al cuadrado el factor actual módulo m. Si el bit correspondiente del exponente es uno, ese factor se multiplica por el resultado y se vuelve a reducir inmediatamente módulo m. Al reducir cada valor intermedio, los valores se mantienen por debajo del cuadrado del módulo. El algoritmo solo necesita un número de pasos proporcional al logaritmo del exponente. Por ello, una potencia con exponente mil millones requiere unas treinta etapas de cuadrados, en lugar de mil millones de multiplicaciones repetidas. El recuento mostrado distingue los cuadrados de las multiplicaciones seleccionadas asociadas a los bits de valor uno del exponente. Un exponente cero devuelve correctamente 1 mod m. La aritmética modular considera equivalentes los números con el mismo resto. Por ejemplo, 17 y 5 son congruentes módulo 12 porque ambos dejan resto 5. También se admite una base negativa, que primero se normaliza a un residuo no negativo. En esta calculadora el exponente debe ser no negativo. Los exponentes modulares negativos requieren hallar un inverso multiplicativo modular, que solo existe si la base y el módulo son coprimos. Las potencias modulares son fundamentales en teoría de números y criptografía moderna. El cifrado y las firmas RSA elevan mensajes a grandes potencias módulo un número compuesto. El intercambio de claves Diffie-Hellman y muchos sistemas de logaritmo discreto usan potencias módulo un primo. La misma operación también sirve para pruebas de primalidad, generadores seudoaleatorios, sumas de comprobación, patrones cíclicos y problemas de programación competitiva. Los tres campos se procesan como enteros exactos de tamaño arbitrario, no como números de coma flotante. Así, los valores que superan el límite habitual de enteros seguros de JavaScript conservan todos sus dígitos. El módulo debe ser mayor que uno y no se deben introducir comas ni puntos decimales. Para comprobarlo manualmente, reduce primero la base y verifica exponentes pequeños mediante multiplicaciones sucesivas, tomando el resto en cada paso.

Ejemplos de exponenciación modular

Estos ejemplos van desde una comprobación aritmética sencilla hasta patrones comunes de teoría de números.

ExpresiónResultadoContexto
3^4 mod 5181 deja resto 1 al dividirse entre 5
7^10 mod 134Un ejemplo breve de estilo criptográfico
123^456 mod 789699La exponenciación rápida evita construir la potencia completa
2^16 mod 171Un ejemplo del pequeño teorema de Fermat

Cómo calcular una potencia modular

  1. Introduce la base entera, que puede ser positiva, cero o negativa.
  2. Introduce un exponente entero no negativo.
  3. Introduce un módulo entero mayor que uno.
  4. Selecciona Calcular para obtener el resto exacto y el número de operaciones del algoritmo rápido.

Preguntas frecuentes sobre exponenciación modular

¿Por qué no calcular primero la potencia completa?

La potencia completa puede tener millones de dígitos y desperdiciar tiempo y memoria. Reducir tras cada multiplicación da el mismo resto final y mantiene manejables los enteros intermedios.

¿Qué es el algoritmo de cuadrados y multiplicaciones?

Lee los dígitos binarios del exponente y eleva repetidamente al cuadrado el residuo actual de la base. Solo multiplica por el resultado los factores asociados a bits de valor uno.

¿La base puede ser negativa?

Sí, la calculadora normaliza una base negativa a su residuo no negativo equivalente módulo m. El resultado final siempre está entre cero y m - 1.

¿Qué ocurre cuando el exponente es cero?

Toda base distinta de cero elevada a cero es uno, y el resultado modular es 1 mod m. La calculadora sigue la misma convención cuando tanto la base como el exponente son cero.

¿Puede manejar enteros de tamaño criptográfico?

Usa aritmética de enteros de tamaño arbitrario, por lo que la entrada no se limita a la precisión habitual de coma flotante. Los exponentes muy grandes requieren más trabajo, pero la exponenciación binaria mantiene logarítmico el número de etapas.