orden multiplicativo que divide a
n−1
. Hay infinitos números de CARMICHAEL, y podemos definirlos como aquellos númerosn
que verifican queΦ(n)
divide an−1
[Land99].De lo dicho hasta ahora, podemos deducir que conocemos formas de identificar un entero primo con un alto porcentaje de acierto. De todas formas eso no es suficiente: Aunque son pocos los números de CARMICHAEL en relación al total de los enteros en un intervalo, la verdad es que no se ha conseguido con todo esto caracterizar de modo inequívoco a los primos.
Existen diferentes test deterministas de primalidad, todos ellos de enorme costo en computación. Son test deterministas, que reciben como entrada un entero candidato a primo y ofrecen como salida la respuesta cierta sobre si el número en cuestión es o no es primo. Información sobre estos tests puede encontrarse, entre otras referencias, en [Mene97]. También hemos acudido para su estudio a la publicación de Juan TENA y Félix LÓPEZ [Lope90]. En general cualquier obra sobre teoría de números recoge abundante documentación sobre estos tests.
Sí existen algunos métodos deterministas de búsqueda de primos especiales, como los llamados
primos de MERSENNE: son primos obtenidos de entre los números de MERSENNE. Los números de MERSENNE son enteros de la forma
M(n)=2
n−1
. Los cuatro primeros números de MERSENNE son3
,7
,15
y31
. Está demostrado que sin
es compuesto, entoncesM(n)
también lo es. Por desgracia existen números de MERSENNEM(p)
parap
primo que son compuestos. De hecho, losAlgunas propiedades criptográficas de los números primos 33 primos
p
para los queM(p)
es primo escasean casi desde el principio. En [Bres89] se recoge un método para verificar si un determinado número de MERSENNE es primo o compuesto.Disponemos de algunos métodos llamados probabilisticos. Son métodos muy ágiles a la hora de descartar un candidato a primo que sea realmente compuesto, pero que en el caso de que el número sea primo nunca termina de certificarlo. Simplemente otorga una alta probabilidad de que el número sea realmente primo. Son algoritmos que se conocen como algoritmos de MONTECARLO. Estos tests son los que hemos implementado en nuestro trabajo, y es con los primos obtenidos a partir de ellos con los que hemos trabajado para la generación de compuestos producto de dos primos aleatorios grandes.
2.2.1. Símbolos de LEGENDRE y de JACOBI.
Sea
p
un primo impar. Seaa
un entero coprimo conp
. Vamos a detenernos en la pregunta: ¿Esa
un cuadrado perfecto módulop
?, es decir, ¿existe un enterox
tal quex
2≡a(modp)
? Para el tratamiento de esta pregunta introducimos dos conceptos:Si
n
es un entero mayor que 0, decimos que el enteroa
es un residuo cuadrático den
si: 1.mcd(a,n)=1
2. La congruencia
x
2≡a(modn)
tiene solución.Si no se cumple la condición (2) decimos que
a
es un no residuo cuadrático den
.Se puede demostrar que si
p
es un primo impar, entonces hay exactamente tantos residuos como no residuos cuadráticos dep
sobre los enteros1,2,...,(p−1)
. Esta idea viene expresada en el siguiente teorema:Si
p
es un primo impar, entonces hay exactamente(p−1)
2
residuos cuadráticos dep
y2
)
1
(p−
no residuos cuadráticos dep
entre los enteros1,2,...,(p−1)
[Rose93].La introducción del concepto de residuo cuadrático requiere una explicación. ¿Qué interés tiene conocer si la expresión
x
2≡a(modn)
tiene solución? Y si esa respuesta que buscamos es importante, ¿cómo saber en cada caso si un determinado enteroa
tiene soluciones para un determinado enteron
?2.2.1.1. interés del residuo cuadrático en criptografía.
Ya ha quedado formulada la pregunta que sucintamente intentaremos resolver ahora. ¿Qué interés tiene, para nuestros trabajos de criptografía y de búsqueda de enteros primos, conocer si la expresión
x
2≡a(modn)
tiene solución? Vamos a señalar dos motivos que justifican la necesidad de lograr conocer en cada par(a,n)
sia
resulta ser residuo cuadrático o residuo no cuadrático den
.Algunas propiedades criptográficas de los números primos 34 Primer interés: El conocimiento de la condición de
a
como residuo cuadrático o no cuadrático den
nos ofrecerá un test probabilístico de primalidad para el enteron
. Es el llamado test probabilístico de SOLOVAY–STRASSEN.Segundo interés: Los algoritmos subexponenciales de factorización se fundamentan en una idea originaria de FERMAT de buscar dos cuadrados que verifiquen la relación
x
2≡y
2(modn)
. Y el método usado es siempre buscar muchas congruencias de la formax
2≡t(modn)
, de forma que el valor det
seaB
-suave: es decir, quet
quede completamente factorizado por todos los primos menores queB
. Evidentemente, un primop<B
no podrá dividir a ningún valor det
si verifica quep
es residuo no cuadrático den
, independientemente de cual sea el valor dex
. Por tanto a la hora de determinar la propiedad de suavidad de cada valor det
es necesario determinar aquellos primos menores queB
que realmente tienen alguna posibilidad de dividir at
: todo primo que sea residuo No cuadrático den
jamás podrá dividir a ningún valor det
que cumpla una relaciónx
2≡t(modn)
, sea cual sea el valor dex
.Ambas razones son más que suficientes para que busquemos respuesta a la segunda cuestión presentada en el epígrafe anterior: ¿cómo saber si un determinado entero
a
tiene soluciones para un determinado enteron
en la expresiónx
2≡a(modn)
?2.2.1.2. Símbolos de JACOBI y LEGENDRE. Nociones y métodos de cálculo.
Sea
p
un primo impar. Seaa
un entero no divisible porp
. Definimos el símbolo de LEGENDRE como:1
)
(a
p
=
sia
es residuo cuadrático dep
.1
)
(a
p
=−
sia
es no residuo cuadrático dep
.Tenemos definido así el concepto del símbolo de LEGENDRE, pero necesitamos ahora un criterio para saber cuándo un entero es residuo cuadrático de un primo y cuando es no residuo