Exponenciación modular rápida paso a paso: aᵉ mod n
Calcula aᵉ mod n con el método de los cuadrados sucesivos, paso a paso: el exponente en binario, la tabla de cuadrados y las multiplicaciones. Con el atajo de Fermat o de Euler cuando se puede.
Ejemplo resuelto paso a paso
3²⁰⁰ mód 13
1El exponente en binario
En lugar de multiplicar por sí mismo veces, escribimos el exponente como suma de potencias de (sus cifras en binario). Así bastan unas pocas multiplicaciones.
2Cuadrados sucesivos
Cada potencia es el cuadrado de la anterior, reducido módulo (así los números nunca crecen). Solo nos sirven las filas con cifra binaria .
3Multiplicamos las que hacen falta
Por las propiedades de las potencias, es el producto de las filas marcadas. Multiplicamos de dos en dos y reducimos módulo cada vez.
4Resultado
Hemos hecho multiplicaciones en lugar de .
5Otra forma: el pequeño teorema de Fermat
Como es primo y no divide a , Fermat dice que . Dividimos el exponente entre : . A mano, es el camino más corto, y da lo mismo.
La idea
Queremos sin calcular . Escribimos el exponente en binario, calculamos los cuadrados sucesivos
(cada uno es el cuadrado del anterior, reducido módulo ) y multiplicamos solo los que corresponden a las cifras del exponente.
Un atajo: Fermat y Euler
Si , entonces (para primo, : Fermat). Así el exponente se puede sustituir por antes de empezar.
Un ejemplo completo
Calculemos . En binario, . Los cuadrados sucesivos módulo :
| módulo | ||
|---|---|---|
Multiplicamos los de (las cifras del exponente):
Con el atajo: como es primo, , y , así que . Coincide.
Errores típicos
- No reducir en cada paso: se obtienen números enormes y se pierde la gracia del método.
- Reducir el exponente módulo en lugar de módulo : para el exponente se reduce módulo , no módulo .
- Aplicar Fermat o Euler cuando : el atajo falla.
- Multiplicar todos los cuadrados, en vez de solo los de las cifras del binario.
Dónde se usa
Es la operación central de RSA (cifrar y descifrar son potencias modulares con exponentes de cientos de cifras) y del intercambio de claves de Diffie-Hellman. También se usa para las pruebas de primalidad.
Preguntas frecuentes
¿Por qué no se calcula primero aᵉ y luego se divide?
Porque aᵉ puede tener millones de cifras. Con los cuadrados sucesivos se reduce módulo n en cada paso y los números nunca pasan de n², así que el cálculo es rápido incluso con exponentes de cientos de cifras.
¿Cuántas multiplicaciones hacen falta?
Del orden del número de cifras binarias del exponente: unas log₂(e) cuadraturas más, como mucho, otras tantas multiplicaciones. Para e = 45 (6 cifras en binario) son menos de 12.
¿Qué dice el pequeño teorema de Fermat?
Si p es primo y p no divide a a, entonces a^(p−1) ≡ 1 (mod p). Por eso el exponente se puede reducir módulo p − 1.
¿Y si el módulo no es primo?
Se usa el teorema de Euler: si mcd(a, n) = 1, entonces a^φ(n) ≡ 1 (mod n), y el exponente se reduce módulo φ(n). Si mcd(a, n) ≠ 1, el atajo no vale y hay que usar los cuadrados sucesivos.
¿Cómo se halla la última cifra de una potencia?
Calculando la potencia módulo 10. Por ejemplo, 7 elevado a 4 es 2401 ≡ 1 (mod 10), así que las potencias de 7 repiten la última cifra con periodo 4: 7, 9, 3, 1.