Primos y criptografía · Definición

Test de primalidad de Fermat

teoría de números elementalprimos y criptografía

Antes de empezar necesitas conocer

Este test aprovecha el pequeño teorema de Fermat para detectar compuestos de forma rápida. Su fallo principal es que algunos compuestos pasan la prueba para ciertas bases.

Definición

El test de primalidad de Fermat es un criterio probabilístico para un entero \(n>1\): declara compuesto a \(n\) si, para alguna base \(a\) coprima con \(n\), la potencia \(a^{n-1}\) no es congruente con 1 módulo \(n\).

\[a^{n-1} \equiv 1 \pmod{n}\]

Si n es primo y mcd(a, n) = 1, entonces \( a^{n-1} \equiv 1 \pmod{n} \). Por tanto, si para alguna base a con mcd(a, n) = 1 se cumple \( a^{n-1} \not\equiv 1 \pmod{n} \), entonces n es compuesto. El recíproco no vale en general: que se cumpla la congruencia para una base no garantiza primalidad. Para calcular potencias módulo n se usa exponenciación rápida, de modo que cada prueba cuesta \( O(\log n) \) multiplicaciones modulares.

Ejemplo guía: para n = 15 y a = 2, se tiene \( 2^{14} = 16384 \), y \( 16384 \bmod 15 = 4 \neq 1 \). Como la congruencia falla, 15 es compuesto. Sin calcular la potencia completa, basta reducir: \( 2^4 \equiv 1 \pmod{15} \), luego \( 2^{14} = 2^{12} \cdot 2^2 \equiv 4 \pmod{15} \).

Error típico: concluir que n es primo porque \( a^{n-1} \equiv 1 \pmod{n} \) para una sola base. El número 341 = 11·31 cumple \( 2^{340} \equiv 1 \pmod{341} \) y, sin embargo, es compuesto; por eso se deben probar varias bases.

Para pensar

¿Por qué una sola base no basta para afirmar que n es primo?

Porque algunos compuestos, como 341, cumplen la congruencia para una base; hay que probar varias.

Ejercicios 10

Referencias

  • David M. Burton, Elementary Number Theory, 7th edition, McGraw-Hill, 2011. cap. 5 y 16
  • Ivan Niven, Herbert S. Zuckerman, Hugh L. Montgomery, An Introduction to the Theory of Numbers, 5th edition, Wiley, 1991. cap. 2