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