You are on page 1of 13

Breve Rese na sobre la Hipotesis de Riemann, Primalidad y el

algoritmo AKS
Jose de Jes us Angel Angel Guillermo Morales-Luna
Seccion de Computacion Seccion de Computacion
CINVESTAV-IPN, Mexico CINVESTAV-IPN, Mexico
jjangel@computacion.cs.cinvestav.mx gmorales@cs.cinvestav.mx
Mexico, D.F., a 5 de junio de 2005.
Resumen
En este reporte describimos los principios basicos
de algunos algoritmos de primalidad, partiendo de una
breve explicaci on de la hipotesis de Riemann, uno de
los 7 problemas del milenio, que tiene como premio un
millon de dolares ofrecido por el Clay Mathematical
Institute. Puntualizamos la relacion de la hipotesis de
Riemman con las pruebas de primalidad, y nalmente
detallamos el algoritmo de Agrawal, Kayal y Saxena.
Comentamos, tambien, algunos de sus ultimos perfec-
cionamientos.
1 Nociones sobre la hipotesis de Rie-
mann
El concepto de n umero primo ha existido a lo largo
de toda la historia de la humanidad. En un hueso
encontrado en el Africa Central que data alrededor
de 20 000 a nos antes de Cristo, se encontraron se nas
que pudieran ser los n umeros 11, 13, 17, y 19 y hay,
en consecuencia, quienes interpretan esto como indi-
cios de que la gente del Pleistoceno conoca ya a los
n umeros primos. Lo que es un hecho, es que en la
antigua Grecia, en la escuela de Pitagoras (500 a nos
a.c.), ya se tena bien entendido que era un n umero
primo y un n umero compuesto. Tiempo despues, en
las obras de Euclides se incluye la demostracion de la
existencia de una cantidad innita de n umeros primos.
Enseguida Eratostenes describe su criba, con la que se
poda encontrar los primeros n umeros primos.
Desde entonces, las teoras alrededor de los n umeros
primos han sido cimientos fundamentales en la actual
teora de n umeros.
Un buen inicio de la relacion de los n umeros pri-
mos con la hipotesis de Riemann, es la nocion intui-
x (x)/
x
ln x
10
5
1.104
10
7
1.071
10
9
1.054
10
11
1.043
10
13
1.036
10
16
1.028
10
21
1.021
10
24
1.019
Tabla 1: Aproximaciones de (x)
tiva de que los n umeros primos grandes se van sepa-
rando cada vez mas, sin embargo siempre se encuen-
tran con cierto comportamiento uniforme. Algo as
como pintar los primeros primos en una liga, estirar la
liga y tener a los primos en un intervalo mas grande.
Veamos de manera un poco mas formal como se for-
mula la idea anterior.
Denicion 1 (Funcion de Euler) Se dene la
funcion : R N, x (x) =

px
1, donde el
ndice p vara solo en los n umeros primos.
Es decir, la funcion cuenta los n umeros primos
menores a x, por ejemplo, (20) = 8, (100) = 25.
En 1792 Gauss establecio con evidencias numericas la
relacion
lim
x
(x)
x/ lnx
= 1
conocida como el Teorema de los N umeros Primos
(TNP). Algunos calculos de ejemplo los podemos ver
en la tabla 1
Independientemente, Legendre demuestra que la
funcion puede aproximarse mediante una de la forma
x x/(Alog x + B), y da como valores A = 1,
B = 1.08366. Alrededor del a no 1852 Cheby-
shev demostro que 0.92129
x
ln x
< (x) < 1.1056
x
ln x
,
y mas rigurosamente, puesto con notacion moderna,
demostro que (x) = (x/ lnx), es decir, que el co-
ciente ((x) lnx)/x, esta acotado tanto inferior como
superiormente. En 1892 Sylvester realiza un re-
namiento a esta aproximacion: 0.95695
x
ln x
< (x) <
1.04423
x
ln x
.
Alrededor de 1896 J. Hadamard y C.-J. De
la Vallee-Poussin proporcionaron independientemente
sendas demostraciones del TNP.
Por otro lado, se ha considerado a Euler como quien
introdujo la famosa funcion
s (s) =

n=1
1
n
s
que es convergente para cualquier real s > 1, y el
mismo demostro la relacion
(s) =

p primo
(1 p
s
)
1
.
llamada producto de Euler, la cual aparecio por
primera vez en su libro Introductio in Analysin In-
nitorum. De hecho ya eran conocidos casos par-
ticulares de esta funcion en terminos de series. Por
ejemplo, para s = 1 resulta la serie armonica

n=1
1
n
,
que ya desde 1350 N. dOresme haba demostrado ser
divergente. En 1735, Euler muestra que para el caso
s = 2, (2) =

n=1
1
n
2
=

2
6
, con s = 4 (4) =

4
90
,
y, de hecho, trabajo los casos pares llegando a calcu-
lar hasta (26). Actualmente se sabe que para valores
enteros pares tenemos la relacion,
(2k) =
2
2k1

2k
(2k)!
(1)
k+1
B
2k
,
donde B
2k
es llamado un n umero de Bernoulli. De-
safortunadamente Euler no obtuvo nada acerca de los
casos impares y hoy se sabe que (3) es un n umero
irracional (R. Aprery, 1978).
Una consecuencia importante que proporciona la
funcion es otra demostracion de la existencia de una
innidad de n umeros primos. En efecto, esto es una
consecuencia de que (s) , cuando s 1.
Por otro lado en 1859 Riemann edita un manu-
scrito titulado

Uber die Anzahl der Primzahlen unter


einer gegerbenen Grosse, (Sobre el n umero de pri-
mos menores que una magnitud dada), que es visto
hoy como uno de los mas celebres escritos de las
matematicas clasicas. En el, Riemann estudia la
-14 -12 -10 -8 -6 -4 -2
x0
-0.15
-0.1
-0.05
0.05
0.1
x
Graca 1: Races, o ceros, reales.
relacion de los n umeros primos con funciones de va-
riable compleja. Riemann tiene la idea de extender
la funcion zeta a todo el plano complejo (privado del
punto z = 1) e intento probar el TNP mediante esa
extension, y aunque no lo demostro, s le rindio muy
buenas ideas. Riemann formulo varias conjeturas so-
bre la extension de la funcion (llamada desde en-
tonces la funcion de Riemann). Sin embargo el punto
mas alto de la discusion esta en la distribucion de los
ceros de la funcion de Riemann que esta ntimamente
relacionada con la distribucion de los n umeros primos.
Se tiene los siguientes hechos acerca de la funcion de
Riemann:
1. no tiene ceros en el semiplano Re(z) > 1.
2. no tiene ceros en la lnea Re(z) = 1. Este hecho
implica en TNP.
Por lo tanto las unicas tres posibilidades respecto a los
ceros de son las siguientes:
1. Los ceros que estan fuera de la franja 0 < Re(z) <
1 son enteros negativos pares reales, es decir
2, 4, 6, 8, . . . Estos son los unicos ceros
fuera de la franja citada y son llamados ceros tri-
viales de , o ceros reales, ya que ning un otro cero
es real. Que estos sean ceros resulta, por un lado,
al expresar la funcion de Riemann en terminos
de los n umeros de Bernoulli
_
(n) =
B
n+1
n+1
_
, y
tambien de la forma equivalente demostrada por
Euler,
(z) =
1
1 2
1z

n=0
1
2
n+1
n

k=0
(1)
k
_
n
k
_
(k+1)
z
.
En la graca 1 se muestra el eje real negativo,
donde se puede observar los ceros triviales de .
2. Los ceros que estan en la franja 0 < Re(z) < 1
son llamados ceros no-triviales de y hay una
10 20 30 40 50
12,yi
0.5
1
1.5
2
2.5
3
3.5
Abs12 yi
Graca 2: Ceros de la funcion real y 1/2 +yi.
y : (1/2 +yi) = 0
14.134725142
21.022039639
25.010857580
30.424876126
32.935061588
37.586178159
40.918719012
43.327073281
48.005150881
49.773832478
52.970321478
56.446247697
Tabla 2: Las ordenadas de los primeros ceros no-
triviales de
cantidad innita de ellos. Los ceros no-triviales
no son reales por lo que son llamados tambien
ceros complejos.
3. Los ceros que han podido ser calculados estan so-
bre la lnea crtica Re(z) = 1/2, y tienen la forma
1/2 + yi con y ,= 0. En la tabla 2 las ordenadas
de los primeros ceros que se conocen quedan en-
listadas, y en la graca 2 se les puede observar, al
gracar la funcion real y [(1/2 +iy)[.
Riemann formula entonces su conjetura acerca de
los ceros no triviales:
Conjetura 1 (Hipotesis de Riemann (HR))
Todos los ceros no triviales de que estan dentro
de la franja ya mencionada estan en la lnea crtica
Re(z) = 1/2.
Hasta la fecha nadie ha podido demostrar que la con-
jetura de Riemann sea verdadera, o por el contrario,
ha podido dar un contraejemplo. Este es uno de
los problemas no-resueltos mas importantes de las
matematias modernas. Lo que se tiene es solo evi-
dencia numerica de que la conjetura es cierta, en los
aproximadamente 10
13
primeros ceros. La cantidad
de ceros calculados hasta la fecha los podemos ver en
la tabla 3.
a no n
1903 15
1914 79
1925 138
1935 1,041
1958 35,337
1966 250,000
1968 3,500,000
1977 40,000,000
1979 81,000,001
1983 300,000,001
1986 1,500,000,001
2001 10,000,000,000
2004 900,000,000,000
2004 10,000,000,000,000
Tabla 3: N umero de ceros no-triviales de conocidos
en las fechas indicadas.
Graca 3: Distribucion de Primos.
De todo esto resulta, entonces, una ntima relacion
entre los n umeros primos y la funcion . De manera
visual es posible captar esa relacion. En las gracas 3
y 4 mostramos patrones de n umeros primos y de ceros
de zeta. Tomamos muestras de 50 primos y de 50 ceros
de , estos de alguna forma aleatoria. Se observa que
el comportamiento en su distribucion es parecido y
casi no cambia. Esto puede verse mejor al tomar una
mayor cantidad de muestras.
Tal relacion se puede establecer de manera formal
en la siguiente version de la HR.
Denicion 2 La integral logartmica Li(x) esta
Graca 4: Distribucion de ceros de
denida por
Li(x) =
_
x
2
dt
log t
Entonces se puede reescribir la hipotesis de Riemann
como:
(x) = Li(x) +O(x
1/2+
).
Otras dos maneras equivalentes de la hipotesis de Rie-
mann se plantean como sigue:
Denicion 3 Sean y denidas como:
x (x) =

log p[k N, p primo , p


k
x
= log mcmi[1 i x|
x (x) =

px
log p
Entonces la hipotesis de Riemann queda como:
(x) = x +O(x
1/2+
)
(x) = x +O(x
1/2+
)
1.1 Aplicacion del TNP en Criptografa
Como una aplicacion simple del TNP en crip-
tografa tenemos lo siguiente:
En la practica son muy comunes los certicados di-
gitales. Un certicado digital consiste esencialmente
de una clave p ublica, de los datos del propietario del
certicado y de una rma digital de quien emite el
certicado. La clave p ublica en un certicado RSA
es un n umero entero producto de dos n umeros pri-
mos, casi del mismo tama no. Una de las preocupa-
ciones mas populares es saber con certeza si acaso
los n umeros primos que componen la clave p ublica no
podran repetirse. Mas a un, se trata de saber si hay
sucientes n umeros primos para una cantidad consi-
derable de certicados digitales, o alternativamente si
acaso es posible siempre encontrar n umeros primos.
La respuesta positiva a esto se implica si es posible
contar los n umeros primos y saber de que manera
estan distribuidos.
Es entonces que el TNP puede resolver claramente
estas dudas. Primero, si se quiere primos de 512
bits, entonces estos pueden buscarse en el intervalo
[2
508
, 2
509
]. El TNP garantiza que en ese intervalo se
puede encontrar aproximadamente (2
509
) (2
508
)
primos, es decir alrededor de
2
509
ln(2
509
)

2
508
ln(2
508
)
= (4.75034 2.37984) 10
150
= 2.37049 10
150
.
Si hubiese alrededor de 10
80
moleculas en todo el Uni-
verso, y mucho menos de 10
10
individuos en el mundo,
no es difcil darse cuenta que nunca se teminaran los
primos a ser usados como certicados digitales.
Por otra parte, el TNP implica que dado un n umero
x, entonces tenemos x/(lnx) n umeros primos menores
a x, as el y donde aparece el siguiente n umero
primo, se sigue de que ln(x) ln(y), y de la relacion
y/(lny) = x/(lnx) + 1.
Esto quiere decir que si tenemos alg un primo de
alg un p, el siguiente aparecera en una distancia
aproximada de ln(p). En nuestro caso, solo tendremos
que recorrer alrededor de ln(2
509
) 352 enteros, a
partir de alg un n umero aleatorio para encontrar un
n umero primo. Por lo que las dudas referentes a
los n umeros primos en certicados digitales estan re-
sueltas en la practica.
2 Nociones sobre la Hipotesis de Rie-
mann Extendida
Ahora, de la misma manera que en la hipotesis de
Riemann, en la version extendida existen varias mane-
ras de escribirla, veamos algunas de ellas.
Denicion 4 La funcion L
p
: C C se dene como:
L
p
(z) =

n=1
_
n
p
_
1
n
z
donde
_
n
p
_
es el llamado smbolo de Legendre.
Entonces la Hipotesis Extendida de Riemann (HER)
se plantea como: todos los ceros no-triviales de z
L
p
(z) tienen parte real 1/2.
Por otra parte, intuitivamente podemos observar
que los n umeros primos estan igualmente distribui-
dos en diferentes clases de residuos modulo un n umero
n. Por ejemplo, entre los 1229 primos menores a
10000, 611 son congruentes con 1 y 617 lo son con
2, modulo 3. Es bien conocido el siguiente resultado
acerca de los residuos de primos modulo un n umero n.
Teorema 1 (Dirichlet) Si mcd(a, n) = 1 entonces
hay una cantidad innita de n umeros primos con-
gruentes con a modulo n.
Una manera mas concreta de este teorema se tiene
en la siguiente denicion.
Observamos primero que si los n umeros primos es-
tuviesen equi-distribuidos en las clases de congruencia
modulo n, entonces debe haber un mismo n umero
de primos en cada una de las que contengan pri-
mos. Como hay (n) de tales clases ( denota a la
funcion clasica de Euler que cuenta para cada entero
cuantos enteros existen menores que el y primos rela-
tivos con el), por el TNP debera haber alrededor
de x/((n) lnx) primos en cada una de tales clases de
congruencia. Con lo cual queda motivada la siguiente
Denicion 5 Para tres enteros positivos x, a, n, con
a < n, sea (x, n, a) el conjunto de primos congruen-
tes con a modulo n que son menores a x. Sea, ahora,
: (x, n, a) (x, n, a) = card((x, n, a))
Por ejemplo (10000, 3, 1) = 611, (10000, 3, 2) = 617.
La HER tambien puede ser planteada de manera
equivalente si tomamos dos enteros n y a primos rela-
tivos y > 0. Entonces se ha de tener,
(x, n, a) =
Li(x)
(n)
+O(x
1/2+
).
Finalmente, una ultima version de HER la escribire-
mos despues de la siguiente denicion.
Denicion 6 Un caracter sobre un grupo abeliano G
es un homomorsmo de G al crculo unitario S
1
=
z C[zz = 1 (este ultimo dotado de la multipli-
cacion de n umeros complejos).
Sea un caracter sobre Z

n
, entonces se dene el
caracter de Dirichlet : Z

S
1
como:
(m) =
_
(m mod n) si mcd(m, n) = 1
0 en otro caso
Si asume solo valores 0 o 1, se dice ser principal.
La funcion de Dirichlet L es entonces
z L(z, ) =

n1
(n)
n
z
.
La HER arma que todos los ceros de L tienen parte
real 1/2.
Para intentar explicar el uso de la HER, veamos el
siguiente ejemplo: Supongase que se quiere encontrar
un residuo no-cuadratico b modulo un n umero primo p.
Se sabe por observaciones que los residuos cuadraticos
y los no cuadraticos estan distribuidos de manera irre-
gular. El primer impulso para encontrar una tal b es
intentar con 2, 3, 4, . . . hasta encontrarlo. Se puede ob-
servar que al variar el primo p, este n umero buscado
no es muy grande, salvo para pocos primos p. En-
tonces es posible calcular el tiempo que nos costara
encontrar tal b. Si la HER fuese cierta, va la formu-
lacion anterior, entonces podemos tener una certidum-
bre de que existe una cota b
0
para la b usqueda. Por lo
Input: n 3
Output: A decision whether n is PRIME or
COMPOSITE
1.- For r = 2 to

n| do
2- If r[n then Output COMPOSITE
3.- Output PRIME
Tabla 4: Metodo Ensayar Divisiones
tanto basta buscar en 2, 3, 4, .., b
0
. Esto fue probado
de manera formal por N. Ankeny [4], y fue generali-
zado para encontrar elementos fuera de un conjunto
por E. Bach [5].
3 Antecedentes de Primalidad
El problema de primalidad consiste en decidir si un
n umero n dado es primo o compuesto. Este problema
ha sido sin duda uno de los mas importantes a lo largo
de la historia.
La criba de Eratostenes es el metodo mas antiguo
(200 A.C.) para decidir si un n umero n dado es primo
o compuesto. Este metodo se basa en el hecho de
construir una tabla de todos los n umeros enteros po-
sitivos del 2 hasta n. Comenzando con el 2, declarado
primo, se tacha a todos los m ultiplos de el menores
que n. Se regresa la inicio de la lista y se prosigue con
el siguiente n umero no tachado, que obviamente es el
3, se le declara primo y se cancela ahora a todos los
m ultiplos de 3, que no hubiesen sido cancelados. Se
regresa y se repite esto hasta que no queden primos o
n umeros por cancelar. Entonces se tendra por cono-
cidos a todos los factores primos de n o bien se podra
reconocer que n es primo.
Como consecuencia de la criba de Eratostenes, tene-
mos el metodo de Ensayar divisiones. Este metodo
se basa en el hecho de que es suciente vericar, para n
dado, si acaso todos los n umeros primos menores a

n
no lo dividen, y entonces n debe ser un n umero primo.
Ya que cuando n es compuesto, digamos n = ab, en-
tonces uno de los factores es menor o igual a

n. Este
procedimiento se puede ver en la tabla 4 y a un es util,
en el caso que se quiera encontrar n umeros primos
peque nos.
Es bien conocido desde el siglo XVII, el Teorema
Peque no de Fermat (TPF): Si a > 0 es un n umero en-
tero positivo y p es un n umero primo, con mcd(a, p) =
1, entonces a
p1
1 mod p.
La proposicion recproca, sin embargo, no es cierta:
si a
p1
1 mod p, para todo a, con mcd(a, p) = 1,
entonces p no necesariamente es un n umero primo.
Esto signica que hay n umeros compuestos n tales
que, para todo a con mcd(a, n) = 1, se cumple la
relacion a
n1
1 mod n. R. Carmichael encontro por
el a no de 1910 uno de tales n umeros compuestos, a
saber, n = 561 = 3 11 17. A partir de aqu a estos
n umeros se les llama n umeros de Carmichael.
Una forma equivalente al TPF es que si existe un
n umero a con mcd(a, n) = 1 y a
n1
, 1 mod n, en-
tonces n es un n umero compuesto.
Lo anterior da un metodo para decidir si un n umero
es compuesto, sin embargo es posible tambien usar el
TPF para encontrar n umeros que parecen primos.
El procedimiento consiste en jar un n umero a, que
llamaremos testigo, y evaluar a
n1
mod n. Si el re-
sultado es diferente de 1, entonces el n umero es clara-
mente compuesto, pero si el resultado es 1, entonces
el n umero n es un candidato a ser primo. Lo llamare-
mos entonces un seudoprimo respecto al testigo a. El
detalle aqu es ver que tan fuerte es la candidatura
de n a que sea primo. La respuesta a esto es que
los n umeros de Carmichael son muy raros, por lo que
existe una considerable probabilidad de que si n es
un seudoprimo respecto a un testigo a, entonces real-
mente n ha de ser primo. Para propositos practicos
no son muy molestos los n umeros de Carmichael. Por
ejemplo, R. Rivest verico que de 718 millones de
n umeros aleatorios de 128 bits de longitud, de los
cuales 4 millones fueron seudoprimos respecto al tes-
tigo 2, ninguno dejo de cumplir la prueba de primal-
idad mas fuerte de la epoca. Hoy en da se sabe
que aunque son raros los n umeros de Carmichael hay
una cantidad innita de ellos, lo cual fue mostrado
en 1992 por W. Alford, G. Granville y C. Pomerance.
El ultimo de tales n umeros fue encontrado en 1998 y
tiene 10200 dgitos decimales.
La discusion anterior nos lleva a pensar que es posi-
ble calcular y controlar la probabiliad de error en
el caso de generar un n umero seudoprimo. De he-
cho, esto es la base de los algoritmos probabilsticos,
los cuales son algoritmos que determinan si acaso un
n umero es compuesto y si se falla en esto, entonces
se declara como primo probable, con una probabili-
dad peque na y controlada de error. En la siguiente
seccion hablaremos de como la HER inuye en esos
algoritmos para suprimir su caracter aleatorio.
Input: n 3
Output: A decision whether n is PRIME or
COMPOSITE
1.- Choose randomly a 1, 2, . . . , n 1.
2.- If gcd(a, n) ,= 1 then COMPOSITE; stop
else
3.- If
_
a
n
_
, a
(n1)/2
mod n then
COMPOSITE; stop
4.- else PRIME.
Tabla 5: Algoritmo Aleatorio de Solovay-Strassen
4 Prueba de primalidad de Solovay-
Strassen
Nuestro proposito en esta seccion es ver que en
el metodo de Solovay-Strassen, que es un algoritmo
aleatorio, puede ser omitida su aleatoriedad bajo la
suposicion de que la HER es verdadera.
El metdo de Solovay-Strassen se presenta en la
tabla 5.
Lema 1 Si n es un primo impar, entonces el algo-
ritmo aleatorio de Solovay-Strassen produce el resul-
tado PRIME, y si n es un compuesto impar pro-
duce COMPOSITE al menos para la mitad de posibles
a 1, 2, . . . , n1. El algoritmo corre en tiempo poli-
nomial, respecto al tama no de n. Su complejidad en
tiempo es, precisamente, O(log n)
3
.
Como ya se sabe, este metodo es para certicar real-
mente composicion, en lugar de primalidad. En lo
que sigue se daran las herramientas para demostrar el
lema 1.
Denicion 7 (Smbolos de Jacobi y Legendre)
Sea n un n umero entero impar con factorizacion

p
e
i
i
. Entonces el smbolo de Jacobi de un entero
a, respecto a n, es
_
a
n
_
=

_
a
p
i
_
, donde para cada
primo p
i
,
_
a
p
i
_
es el smbolo de Legendre: vale 1, si
a es un residuo cuadratico modulo p
i
y vale 1 en
otro caso.
El criterio de Euler consiste en que si p es un n umero
primo impar y a es un entero tal que mcd (a, p) = 1
entonces a es un residuo cuadratico modulo p siem-
pre que a
(p1)/2
1 mod p y no lo es si a
(p1)/2

1 mod p.
Denicion 8 Se dene el grupo de falsos testigos de
Euler, para un entero n, como
E(n) =
_
a Z

n
[
_
a
n
_
a
(n1)/2
mod n
_
.
Input: n 3
Output: A decision whether n is PRIME or
COMPOSITE
1.- For a = 2 to 2(log n)
2
do
2.- If mcd (a, n) ,= 1 then COMPOSITE
else
3.- If
_
a
n
_
, a
(n1)/2
(modn) then
COMPOSITE
4.- PRIME
Tabla 6: Algoritmo No-aleatorio de Solovay-Strassen
Por ejemplo E(65) = 1, 8, 14, 18, 47, 51, 57, 64.
Lema 2 Sea n un n umero entero impar mayor que 1.
Entonces n es primo si y solo si E(n) = Z

n
.
Ahora estamos listos para probar el lema 1.
Si n es un primo impar, el primer condicional If
en el algoritmo no se satisfara nunca. En ese caso, de la
denicion del smbolo de Legendre este paso regresara
siempre PRIME.
Si n es un n umero compuesto impar, entonces si
mcd(a, n) ,= 1, el primer condicional regresa COM-
POSITE, en caso contrario a Z

n
, y por el lema
anterior E(n) ,= Z

n
. Pero como E(n) es un subgrupo
de Z

n
, entonces E(n) debe ser un subgrupo propio.
Por lo tanto,
[E(n)[
[Z

n
[
2
=
(n)
2

(n 1)
2

n
2
.
Y con probabilidad mayor o igual a 1/2, a ha de ser
un falso testigo de Euler para la composicion de n, con
el cual el algoritmo regresa COMPOSITE.
Por otro lado se sabe que para el calculo de
_
a
n
_
se
toma un tiempo O((log n)
2
), mientras que el calculo
de a
(n1)/2
mod n requiere O((log n)
3
). Esto termina
la demostracion.
El algoritmo de Solovay-Strassen puede reescribirse
para convertirlo en un algoritmo no-aleatorio, seg un
se puede ver en la tabla 6. La diferencia de los dos
algoritmos se encuentra en la eleccion de a: el primero
lo hace aleatoriamente y el segundo por medio de un
ciclo For desde a = 2 hasta 2(log n)
2
. Los siguientes
resultados nos permitiran ver que esta variacion del
algoritmo es correcta.
Denicion 9 Para cada entero positivo n, sea
G(n) = minx[Z

n
es generado por primos x .
Teorema 2 (Ankeny) Suponiendo verdadera la
HER, entonces G(n) = O((log n)
2
), y para cada
subgrupo H no trivial de Z

n
se puede encontrar un
a Z

n
H en tiempo O((log n)
2
).
En diversas situaciones, se requiere encontrar un
n umero fuera de cierto subgrupo propio de Z

n
. Por el
teorema de Ankeny y la generalizacion de Bach, tales
n umeros son faciles de ser encontrados y lo son me-
diante una b usqueda directa en lugar de una aleato-
ria. El teorema de Ankeny implica el siguiente, el
cual nalmente nos permitira llegar al objetivo que
nos hemos planteado.
Teorema 3 Suponiendo vedadera la HER, si n es un
n umero entero impar compuesto, entonces existe un
entero positivo a 2(log n)
2
, para el cual se cumple
una de las dos relaciones siguientes: mcd (a, n) ,= 1 o
_
a
n
_
, a
(n1)/2
mod n.
En efecto, sea n es un n umero entero impar com-
puesto. Por el lema anterior, E(n) es un subgrupo
propio no-trivial de Z

n
. Por el teorema de Ankeny, se
puede localizar un elemento a Z
n
E(n) en tiempo
O((log n)
2
), puesto que el complemento Z
n
E(n) es
un subgrupo no-trivial de Z

n
. La cota especca en
tiempo es 2(log n)
2
. Si a / Z

n
entonces mcd (a, n) ,=
1. Si a Z

n
, entonces
_
a
n
_
, a
(n1)/2
mod n puesto
que a no esta en E(n).
Finalmente:
Teorema 4 Suponiendo verdadera la HER, la version
no-aleatoria del algoritmo de Solovay-Strassen, re-
gresa PRIME si y solo si n es primo, y lo hace en
tiempo polinomial.
En efecto, por el teorema 3, si n es compuesto, uno
de los dos If del algoritmo regresa COMPOSITE.
En caso contrario, n debe ser primo. Ya que solo se
esta probando hasta 2(log n)
2
valores de a, el tiempo
polinomial es practicamente una consecuencia de que
el algoritmo original corre tambien en tiempo polino-
mial.
5 Algoritmo de Miller Rabin
De manera similar al algoritmo de Solovay-
Strassen, el de Miller-Rabin, el cual se bosqueja en
la tabla 7, es un algoritmo aleatorio que puede evitar
esa aleatoriedad bajo la suposicion de la HER.
Teorema 5 Si n es un n umero primo impar, en-
tonces el algoritmo de Miller-Rabin regresa siempre
Input: n 3
Output: A decision whether n is PRIME or
COMPOSITE
1.- Choose a at random from 1, 2, . . . , n 1
2.- Express n 1 = 2
s
t, t odd.
3.- Compute successively a
0
= a
t
mod n,
a
1
= a
2
0
mod n, . . . , a
k
= a
2
k1
mod n
until k = s or a
k
1 mod n
4.- If (k = s) and a
k
, 1 then COMPOSITE
5.- else If (k = 0) then PRIME
6.- else If (a
k1
, 1) then COMPOSITE
7.- else PRIME
Tabla 7: Algoritmo Aleatorio de Miller-Rabin
PRIME. si n es compuesto entonces el algoritmo re-
gresa COMPOSITE, para al menos 3/4 de todos los
as tales que 1 a n 1. El algoritmo tiene una
complejidad de tiempo O((log n)
3
).
Bajo la suposicion de la HER, una vez mas, el cambio
del algoritmo para suprimir la aleatoriedad esta en
cambiar la instruccion
Choose a at random from 1, 2, . . . , n 1
por la instruccion
For a = 1 to 2(log n)
2
do
Se sugiere para propositos de implementacion elegir el
algoritmo de Miller-Rabin (MR) en vez del algoritmo
de Solovay-Strassen (SS). En primer lugar porque en
SS hay que evaluar el smbolo de Jacobi y en segundo,
la probabilidad de error en SS es 1/2, mientras que en
MR es 1/4.
6 Otras aplicaciones de la conjetura de
Riemann
Como vemos, una de las mas importantes conje-
turas es la HER. En esta seccion simplemente men-
cionaremos algunos resultados en diferentes areas, que
bajo la suposicion de que la HER es valida, ellos
tambien son validos. Existen cientos de aplicaciones
y las aqu enlistadas forman una peque na muestra,
repetimos, siempre suponiendo la HER.
1. En la version de campos numericos algebraicos, se
ha demostrado la conjetura original de Artin [18].
2. Se tiene una diversidad de algoritmos para cam-
pos nitos [26].
3. Se tiene un algoritmo para factorizar polinomios
en F
p
[X] [28].
4. Existe un algoritmo para calcular el n umero de
clase h

del grupo de clase C

, ademas de otros
algoritmos para el mismo grupo [22].
5. Existe un metodo que garantiza la suavidad de
ciertos n umeros, es decir, el que estos n umeros
puedan factorizarse con primos acotados por un
b adecuado [22].
En [5] se puede encontrar una gran cantidad de re-
sultados de la Teora de N umeros apoyados en la su-
posicion de la HER. Otro de los campos abundantes
en aplicaciones de la HER es la Fsica, particular-
mente en aplicaciones relativas al movimiento brow-
niano, osciladores armonicos, ruido, caos y, en gene-
ral, mecanica estadstica. Tambien en la existencia de
ciertos esquemas de comparticion de secretos en crip-
tografa.
7 El algoritmo AKS
En esta seccion describimos el algoritmo de
Agrawal, Kayal y Saxena (AKS) de una manera que
estimamos simple. Al ultimo mencionamos algunas
modicaciones que se han propuesto para mejorar su
eciencia.
7.1 Historia
Uno de los problemas mas estudiados en la histo-
ria de las matematicas, como aqu ya lo hemos men-
cionado, ha sido el determinar si un n umero es primo
o compuesto: desde la criba de Eratostenes, pasando
por Fermat, Lucas, y ya en nuestros tiempos, Solovay-
Strassen y Miller-Rabin.
En 1983, Adleman, Pomerance y Rumely presen-
tan el primer algoritmo determinista, que posee una
complejidad en tiempo O
_
k log n
c log log log n
_
. Este al-
goritmo es conocido como el metodo ciclotomico por
usar precisamente los polinomios ciclotomicos, sin em-
bargo, no es facil de implementar. En 1986, Gold-
wasser y Killian proponen un algoritmo basado en
curvas elpticas, corriendo a un tiempo polinomial.
Sin embargo es poco eciente en la practica. Atkin
propone otro algoritmo conocido como Elliptic Curve
Primality Proving (ECPP) que es mas eciente en
la practica. Finalmente en 1992, Adleman y Huang
modican el algoritmo de Goldwasser y Killian para
obtener un algoritmo probabilstico polinomial que
Input: n 1
Output: A decision whether n is PRIME or COM-
POSITE
1.- If (n = a
b
), with a N, b > 1, then
output COMPOSITE
2.- else r = 2
3.- While (r < n) do
4.- If ( mcd (n, r) ,= 1) then
output COMPOSITE
5.- else If (r is prime) then
6.- let q be the largest prime factor of r 1
7.- If (q 4

r log n) and n
r1
q
, 1 mod r
8.- then break:
9.- r := r + 1
10.-
11.- For a = 1 to 2

r log n do
12.- If (x a)
n
, (x
n
a)mod (x
r
1, n) then
output COMPOSITE
13.- else output PRIME
Tabla 8: Algoritmo AKS-2002
siempre produce un n umero primo. Hasta agosto
del 2002, el mejor algoritmo determinista era el de
Adleman, Pomerance y Rumely con una complejidad
superpolinomial y algunas modicaciones debidas a
Mihailescu.
El 6 de agosto del 2002 varios medios alrededor del
mundo dan a conocer que tres investigadores del Tec-
nologico de Madras, en la India, M. Agrawal, N. Kayal
y N. Sexena encontraron un algoritmo polinomial de-
terminista para certicar que un n umero es primo,
cuando en efecto lo es. Esto quita del camino a la su-
posicion de mostrar primero la conjetura de Riemann
y despues encontrar un algoritmo determinista de pri-
malidad. El nuevo metodo, conocido como AKS, es
simple y no requiere de grandes teoras y se ha con-
siderado como uno de los grandes descubrimientos en
esta area.
7.2 Algoritmo AKS-2002
El algoritmo AKS, en su primera version de agosto
del 2002, es determinista y posee una complejidad
en tiempo O((log n)
12
). Mas al igual que casi todo
metodo, esta sometido a un perodo de continuo per-
feccionamiento. El metodo AKS-2002 se puede ver en
la tabla 8.
7.2.1 Idea del algoritmo
El siguiente teorema es una generalizacion del TPF y
puede tomarse como un criterio determinista.
Teorema 6 Sea n 2 y a < n un entero tal que
mcd(m, a) = 1. Entonces
n es primo (x +a)
n
= (x
n
+a)mod n.
Sin embargo, para n umeros de considerable tama no,
el criterio dado por este teorema no es eciente, ya que
requiere evaluar O(n) coecientes. As, la idea basica
de AKS fue reducir el n umero necesario de pasos para
la vericacion de la primalidad. La aportacion de AKS
es vericar solo (x + a)
n
= (x
n
+ a) mod (x
r
1, n),
para potencias r peque nas, donde mod (x
r
1, n)
signica evaluar los polinomios en el anillo cociente
Z
n
[x]/(x
r
1). Resulta que todos los n umeros primos
cumplen este criterio. Sin embargo tambien algunos
n umeros compuestos lo cumplen para pocas parejas
(a, r), por lo que hay que descartar esos casos. El al-
goritmo elige primero (pasos 3-10) una potencia r ade-
cuada, es decir, tal que sea un n umero primo y r 1
tenga un factor q de valor alrededor de r
1/2
. Se puede
probar que tales potencias r existen. Finalmente el al-
goritmo verica (pasos 11-13) que se cumpla la igual-
dad (x + a)
n
= x
n
+ a mod (x
r
1, n) en el anillo
Z
n
[x]/(x
r
1), para a = 1, . . . , 2

r log n. En caso
que as suceda, esto es suciente para declarar que
n es primo. Veamos primero paso a paso algunos de-
talles de implementacion del algoritmo. Es importante
mencionar que en aplicaciones criptogracas, donde es
necesario generar un n umero primo de cierta longitud,
se procede primero a generar un n umero aleatorio im-
par n, y este se somete a alguna prueba de primalidad.
Si se da como salida COMPUESTO, entonces se in-
tenta con n + 2, y seguidamente con n + 4, n + 6, . . .
hasta obtener el primo deseado. Se garantiza que esto
ha de tener un costo mnimo por el TNP.
Paso 1 Aqu se descarta que el n umero n sea una
potencia b-esima de un n umero entero a, es decir,
se decide si acaso n es una potencia perfecta.
Para encontrar un posible exponente b 2, se
procede a calcular un entero c =
_
n
1/b
_
. Entonces
resultara que n es una potencia perfecta si y solo
si c
b
= n. As pues, el paso 1 se puede vericar
con la siguiente rutina:
For b = 2 to log n| do
If c = n
1/b
is an integer, then COMPOSITE
Paso 2 En esta etapa del algoritmo se busca un
n umero primo r tal que r 1 tenga un factor
q 4

r log n tal que q[o


r
(n), donde o
r
(n) de-
nota al orden de n modulo r. Este n umero r se
busca de manera exhaustiva, es decir, se comienza
desde r = 2 y se detiene hasta que se encuentra el
deseado. La existencia del n umero r esta garanti-
zada por un resultado debido a E. Fouvry en 1985.
El segundo proposito de esta etapa es detectar si
acaso n tiene factores peque nos.
Paso 3 Aqu simplemente se inicializa r = 2. Real-
mente debe de inicializarse con r = 3 para veri-
car solo los n umeros impares. Se ha de proseguir
en la b usqueda de r en tanto r < n.
Paso 4 Si mcd (n, r) ,= 1, entonces hay un divisor
de n. Por lo tanto, el resultado del algoritmo ha
de ser COMPOSITE.
Paso 5 Solo se pasa al siguiente paso si r es primo,
lo que se puede vericar mediante el ensayo de
divisiones. Realmente se verica solo a aquellos
r impares; esto es, el incremento del paso 9 debe
ser +2.
Paso 6 Aqu se localiza el factor primo q mas grande
de r 1. Mediante b usqueda exhaustiva, se en-
cuentra el factor impar mas grande de r 1.
Se puede realizar esta b usqueda mediante el si-
guiente seudocodigo:
For i = 2 to r 1 do
While (r mod i) = 0 do r := r/i;
output as a factor i
Paso 7 Se verica si acaso q 4

r log n y si q di-
vide al orden de n modulo r, mediante la prueba
n
r1
q
, 1 mod r. Como q es primo y un fac-
tor de r 1, entonces si q no fuese un factor de
o
r
(n) tendramos que (r 1)/q = o
r
(n)k. Por lo
tanto n
r1
q
1 mod r. Es decir o
r
(n)[r 1, pero
o
r
(n)[(r 1)/q, por lo cual q[o
r
(n).
Paso 8 Es importante notar que es necesario que n
posea un tama no al menos de 15 bits para poder
encontrar el n umero r buscado.
Paso 9 Si r no es primo, se contin ua buscando. La
actualizacion debera de ser r := r + 2 que es el
siguiente n umero impar.
Paso 10 Se termina la b usqueda de r. Esto queda
garantizado por el resultado de Fouvry.
En la ultima etapa del algoritmo, se revisa si acaso
(x a)
n
(x
n
a) mod (n, x
r
1) para a =
Input: n 1
Output: A decision whether n is PRIME or COM-
POSITE
1.- If n = a
b
then output COMPOSITE
2.- Find the smallest r such that o
r
(n) > 4 log
2
n
3.- If 1 < gcd(a, n) < n, for some a r, then
output COMPOSITE
4.- If n r then ouput PRIME
5.- For a = 1 to
_
2
_
(r) log n
_
do
If ((x +a)
n
, (x
n
+a)mod (x
r
1, n)) then
output COMPOSITE
6.- Output PRIME
Tabla 9: Algoritmo AKS-revisado
1, . . . , 2

r log n. Si no se cumpliera para alg un a, en-


tonces n ha de ser compuesto. De lo contrario n, sera
un n umero primo.
Paso 11 Se recorren los n umeros a que verican si
acaso n satisface todas las congruencias. En tal
caso, n es primo.
Paso 12 Si se encuentra a tal que (xa)
n
, (x
n
a)
mod (x
r
1, n) entonces n es compuesto.
Paso 13 Si, nalmente, n cumple todas las equiva-
lencias del paso 12, con el r encontrado, entonces
n es primo.
7.2.2 Una version nueva del algoritmo AKS
Con observaciones de H. Lenstra, se publica por los
mismos autores una nueva version del algoritmo AKS,
mostrada en la tabla 9.
Esta nueva version del algoritmo tiene tambien tres
etapas, la primera revisa si n es una potencia per-
fecta. Los metodos aqu conocidos pueden perfec-
cionarse hasta lograr un tiempo lineal [8, 9]. La se-
gunda etapa consiste de nuevo en buscar un r ade-
cuado y tambien eliminar la posibilidad de que n tenga
factores peque nos. Finalmente la ultima etapa con-
siste en probar para a = 1 hasta
_
2
_
(r) log n
_
que
se cumpla (x +a)
n
(x
n
+a)mod (x
r
1, n). En tal
caso, se declara que n es primo. Una vez mas el es-
fuerzo mayor se hace en evaluar (x+a)
n
mod (x
r
1)
y particularmente, como se observa en el paso 5 del
ultimo algoritmo, si n fuese primo es necesario eval-
uar todos los as posibles.
7.2.3 Demostracion de AKS
De manera mas formal, el resultado de AKS fue escrito
por D. Bernstein, y se resume en el siguiente teorema.
Teorema 7 (Agrawal, Kayal, Saxena) Sea n un
entero positivo, sean q, r dos n umeros primos y sea
S un conjunto nito de enteros. Suponiendo que:
1. q divide a r 1,
2. n
(r1)/q
mod r , 0, 1,
3. mcd (n, b b

) = 1 para todos elementos diferen-


tes b, b

S,
4.
_
#S+q1
#S
_
n
2

r|
,
5. (x+b)
n
= x
n
+b en el anillo Z
n
[x]/(x
r
1), para
todo b S,
entonces n es una potencia de un primo.
Porteriormente Lenstra propone renar el resultado
reformulandolo de la siguiente manera:
Teorema 8 (Agrawal, Kayal, Saxena, Lenstra)
Sean n, r dos enteros positivos y sea S un conjunto
nito de enteros. Suponiendo que:
1. n es una raz primitiva modulo r,
2. mcd (n, b b

) = 1 para todos elementos diferen-


tes b, b

S,
3.
_
#S+q1
#S
_
n
2

r|
,
4. (x+b)
n
= x
n
+b en el anillo Z
n
[x]/(x
r
1), para
todo b S,
entonces n es una potencia de un primo.
Para mostrar que el algoritmo es correcto hay que ver-
icar dos cosas: primero, si n es primo entonces el
algoritmo debe dar como salida PRIME, pero esto es
claro, ya que n no es una potencia perfecta ni posee
factores peque nos ni satisface el teorema de AKS.
La parte difcil es demostrar que si el algoritmo
produce como salida PRIME, entonces en efecto n es
primo. Para esto ultimo, se construye de manera con-
veniente un grupo cclico G a partir de los elemen-
tos r, q dados por el algoritmo. G es un subgrupo
del grupo multiplicativo (F
p
[x]/h(x))

, siendo h(x)
un polinomio irreducible. Entonces se ha de mostrar
que necesariamente n es una potencia del primo p o
bien n tiene factores peque nos. Mas como esta se-
gunda posibilidad ha sido descartada previamente, se
ha de tener que n es primo. Para ver un bosquejo
de la demostracion del teorema AKS se puede consul-
tar [19]. Para la demostracion completa, detallada y
presentada de varias maneras diferentes se puede con-
sultar [1, 2, 3, 6, 17, 21, 27].
7.3 Estado actual y futuro de AKS
Finalmente revisemos el estado actual de AKS y
algunas predicciones hechas. El problema de primali-
dad haba sido tratado con teoras complicadas, tales
como curvas elpticas, campos ciclotomicos, etc. Ha
sido una gran sorpresa para muchos, que con metodos
de algebra basica se tenga una solucion satisfactoria a
este famoso problema.
El algoritmo AKS, sin embargo, en su forma origi-
nal [1] no es practico, requiere un tiempo de ejecucion
O(log n
10.5
), mientras que el algoritmo mas usado en
la practica (el de Miller-Rabin) tiene una complejidad
en tiempo O(log n
3
). Sin embargo, repetimos, como
en casi todo nuevo invento hay una etapa de perfec-
cionamiento que casi siempre tiene buenos resultados.
En el caso de AKS el primer ajuste lo hizo
Lenstra, como ya se menciono, y fue publicado por
los mismos autores, mejorando el tiempo asintotico
a O(log n
6.5
) [2]. Posteriormente se dan otros per-
feccionamientos, algunos de ellos presentados por D.
Berstein en [6], particularmente con el calculo mejo-
rado de (x+a)
n
en el anillo (Z
n
[x]/(x1)
r
). Tambien
se puede usar el metodo de Berstein para detectar
potencias perfectas, lo cual se describe en [9], en un
tiempo de ejecucion lineal.
Otra propuesta mas fue hecha por P. Berrizbeitia y
consiste en substituir la comprobacion de la igualdad
(x+a)
n
= (x
n
+a) mod (x
r
1) por la de (mx+1)
n
=
(1+mx
n
) mod (x
2
s
a), para valores s, m adecuados.
Esto reduce el n umero de evaluaciones polinomiales, lo
cual, naturalmente es lo mas deseado. La modicacion
da como resultado primos n 1 mod 4.
Por otra parte, se han comparado los metodos AKS
con el que utiliza curvas elpticas [25], y se ha pro-
puesto combinar los dos metodos para hacer mas e-
ciente la b usqueda [15].
Otras propuestas para mejorar el algoritmo se
pueden consultar en [23, 29], as como analisis de su
implementacion en [11, 16]. Si se quiere ver la des-
cripcion de AKS como una lectura general, se puede
ver [14], y para una consulta mas completa y deta-
llada [17, 27].
Finalmente los autores del algoritmo AKS preven
que si se resuelven algunas peque nas conjeturas, (si
n ,= 1 mod r para alg un r > log log n y (x 1)
n
=
(x
n
1) mod (x
r
1, n), entonces n necesariamente
es primo), AKS puede alcanzar un perfeccionamiento
O(log n
3
), lo que sera una muy buena noticia. Los
tiempos practicamente aceptables son O(log n
4
), mas
por el momento uno se conforma con un algoritmo de
tiempo promedio O(log n
6
).
7.4 Problemas a un abiertos sobre
n umeros primos
Como tema nal mencionamos algunos de los pro-
blemas abiertos que quedan a un en el tema de n umeros
primos, as como tambien algunos hechos importantes
acerca de los n umeros primos.
Conjetura de primos gemelos Hay una cantidad
innita de n umeros p tales que p y p + 2 sean
primos?
Conjetura de Goldbach Cada entero par, mayor
a 2, puede escribirse como una suma de dos pri-
mos?
Hay una cantidad innita de primos de la forma
n
2
+ 1?
Existe siempre un primo entre n
2
y (n + 1)
2
?
Primos de Fermat Hay una cantidad innita de
n umeros de Fermat, F
n
= 2
2
n
+ 1 que sean pri-
mos? Mas concretamente, hay un entero n > 4,
tal que F
n
sea de Fermat?
Hay una cantidad innita de n umeros primos de la
forma n! 1?
Hay una cantidad innita de n umeros primos de
la forma n# 1? (donde por n# se denota al
producto de todos los n umeros primos menores o
iguales a n.)
El n umero primo mas grande conocido hasta hoy
(anunciado en febrero del a no 2005), es el 42

primo de Mersenne, 2
25964951
1 de 7816230
dgitos decimales.
La pareja de primos gemelos mas grandes conoci-
dos hasta hoy (reportada en noviembre de 1995)
consta de 242206083 2
38880
1, cada uno con
11713 dgitos decimales.
El primo mas grande conocido hasta hoy de la forma
n! 1, es 3610! 1, con 11277 dgitos, y fue anun-
ciado en 1993.
El primo mas grande conocido hasta hoy de la forma
n#1, es 24029 # + 1, con 10387 dgitos, y fue
reportado en 1993.
Bibliografa
[1] M. Agrawal, N. Kayal, N. Saxena,
Primes is in P, IITK Kanpur, August 6
2002. http://www.cse.iitk.ac.in/news/
primality.pdf
[2] M. Agrawal, N. Kayal, N. Saxena, Primes
is in P, revised version. IITK Kan-
pur. http://www.cse.iitk.ac.in/news/
primality v3.pdf
[3] T. Alexander, C.S. Tou, AKS Algo-
rithm, Draft. University of Ottawa.
http://padic.mathstat.uottawa.ca/
~reports/AKS.pdf
[4] N. C. Ankeny, The Least Quadratic Non
Residue Annals of Mathematics, Vol. 55, No. 1,
January 1952
[5] E. Bach, J. Shallit, Algorithmic Number The-
ory, Ecient Algorithms, Vol 1 The MIT Press.
Cambridge Massachusetts. 1996
[6] D. J. Bernstein, Proving Primality
After Agrawal-Kayal-Saxena, Draft.
University of Illinois at Chicago.
http://cr.yp.to/papers/aks.pdf
[7] D. J. Bernstein, Distinguishing prime num-
bers from composite numbers: the state of
the art in 2004, Draft. University of Illi-
nois at Chicago. http://cr.yp.to/primetests/
prime2004-20041223.pdf
[8] D. J. Bernstein, Detecting Perfect Pow-
ers In Essentially Linear Time, Math-
emtics of Computation, to appear.
http://cr.yp.to/papers/powers.pdf
[9] D. J. Bernstein, H.W. Lenstra, J. Pila,
Detecting Perfect Powers by Factoring
into Coprimes, University of Illinois at
Chicago. http://cr.yp.to/lineartime/
powers2-20050509.pdf
[10] P. Berrizbeitia, Sharpening Primes is in
P for a large family of numbers, Univer-
sidad Simon Bolvar, Caracas Venezuela.
http://arxiv.org/PS cache/math/pdf/0211/
0211334.pdf
[11] V. Bhatt, G.K.Patra, Analysis on Imple-
mentation and its further improvements
of AKS class algorithms,, Research Re-
port CM 0307, Bangalore 560 037, India.
http://www.cmmacs.ernet.in/cmmacs/
Publications/resch rep/rrcm0307.pdf
[12] R. Bhattacharjee, P. Pandey, Primality Test-
ing, A report sunbmitted for the Degree of Bach-
elor of Technology, Department of Computer Sci-
ence and Engineering, Indian Institute of Tech-
nology Kanpur, April 2001.
[13] E. Bombieri, Problems of the Mil-
lennium: The Riemann Hypothesis,
http://www.claymath.org/millennium/
Riemann Hypothesis/
Official Problem Description.pdf
[14] F. Bornemann, Primes Is in P: A Break-
through for Everyman, Notices of the AMS,
May 2003, translation of the German version
2002. http://www.ams.org/notices/200305/
fea-bornemann.pdf
[15] Q. Cheng, Primality proving via one round
in ECPP and one iteration in AKS, The
University of Oklahoma, Norman OK 73019.
http://cr.yp.to/bib/2003/cheng.pdf
[16] R. Crandall, J. Papadopoulos, On the imple-
mentation of AKS-class primality test, Univer-
sity of Maryland, Apple Computer, 18 Mar 2003.
http://images.apple.com/acg/pdf/aks3.pdf
[17] A. Granville, It is easy to determine
whether a given integer is prime, Bul-
letin of the American Mathematical Soci-
ety, Volumen 42, Number 1, Pages 3-38.
http://www.mathematik.uni-wuerzburg.de/
~mueller/Teach/granville.pdf
[18] C. Hooley, On Artins conjecture, J. Reine and
Angew. Math. 225, pp. 209-220.
[19] M.J. Jacobson Jr., An Exposition of the AKS
Polynomial-Time Primality Test, University of
Calgary, November 29, 2002.
[20] N. Kayal, N. Saxena, Towards a determinis-
tic polynomial time Primality Test, Depart-
ment of Computer Science IITK,Kampur 208016,
India. http://www.cse.iitk.ac.in/research/
btp2002/primality.html
[21] A. Klappenecker, An Introduction to the
AKS Primality Test, Texas A&M University.
http://faculty.cs.tamu.edu/klappi/629/
aks.pdf
[22] A.K. Lenstra, H.W. Lenstra, Algorithms in
Number Theory, Handbook of Theoretical Com-
puter Science, Chapter 12., Elsevier Science Pub-
lisher B.V. 1990.
[23] M. Macaj, Some remarks and questions
about the AKS algorithm and related con-
jecture, Comenius University, Slovakia.
http://thales.doa.fmph.uniba.sk/macaj
/aksremarks.pdf
[24] F. Morain, Primalite Theorique
et Primalite Practique ou AKS vs.
ECPP, Laboratoire DInformatique
de L

Ecole Polytechnique, France.


http://www.lix.polytechnique.fr/Labo/
Francois.Morain/aks-f.ps
[25] C. Rotella, An ecient implemen-
tation of the AKS polynimial time
proving algorithm, April 29, 2005.
http://www-2.cs.cmu.edu/afs/cs.cmu.edu/
user/mjs/ftp/thesis-05/rotella-thesis.pdf
[26] I. E. Shparlinski, Finite elds: theory and com-
putation, Kluwer Acad. Publ. Dordrecht 1999.
[27] M. Smid, Primality testing in polynomial
time, Carleton University Ottawa, Ontario.
http://www.scs.carleton.ca/~michiel/
primes.ps.gz
[28] V. Shop, Smoothness and Factoring Polynomials
over Finite Fields, CSD University of Toronto,
1996.
[29] J.F. Voloch, Improvements to AKS,
University of Texas, Austin USA.
http://www.ma.utexas.edu/users/voloch/
Preprints/aks.pdf
[30] J Wojciechowski, The Extended Rie-
mann Hypothesis and its Applica-
tion to Computation, January 2003.
http://wonka.hampshire.edu/~jason/math/
comp2/final paper.pdf

You might also like