Pequeño Teorema de Fermat – Explicación y aplicación en programación
El Pequeño Teorema de Fermat es un resultado fundamental de la teoría de números que tiene aplicaciones directas en criptografía, optimización de algoritmos, pruebas de primalidad y cálculo modular eficiente.
Relacionado: Teorema-Chino-de-los-Restos-CRT, Congruencias, Criptografía AES.
Enunciado
Sea un número primo, y un entero tal que . Entonces:
Una forma equivalente, válida para todo , es:
Interpretación
Este teorema establece que si elevas un número no divisible por un primo a la potencia , el resultado es congruente con 1 módulo .
Sirve para reducir exponentes en cálculos modulares y como base para diversas construcciones criptográficas.
️ Aplicaciones en programación
1. Cálculo de potencias modulares optimizadas
El teorema permite reducir exponentes grandes:
Esto se usa en:
- Firmas digitales (RSA, DSA)
- Claves públicas (Diffie-Hellman, ElGamal)
- Generadores pseudoaleatorios
2. Pruebas de primalidad (Fermat Primality Test)
Si es primo, entonces para cualquier :
Si esto no se cumple, entonces no es primo.
Aunque hay falsos positivos (números de Carmichael), el test de Fermat es una base para algoritmos más complejos como Miller-Rabin.
3. Cálculo de inversos modulares
Cuando es primo, el inverso modular de se puede calcular como:
Código en Python:
def inverse_mod(a, p):
return pow(a, p - 2, p) # Solo si p es primo