Beruflich Dokumente
Kultur Dokumente
Criptograf a
1/8
Teorema
Un entero n es primo si y slos si se satisface la congruencia o (x a)n (x n a) (mod n) (1)
para todo entero a primo con n (o, para un a, en particular para a = 1).
La base del resultado anterior es la frmula del binomio de Newton junto o con el hecho de que n k 0 (mod n) para todo 0 < k < n n es primo.
Aunque el Teorema anterior es en si mismo un test de primalidad, la comprobacin de la congruencia (1) tiene complejidad exponencial. o
Delgado - Nnez (Univ. Valladolid) u Criptograf a Curso 2010 - 2011 3/8
Reduccin o
Sin embargo admite la siguiente reduccin que es una de las claves para o llegar a complejidad polinmica: o (x a)n (x n a) o equivalentemente: (x a)n (x n a) = nf + (x r 1)g (3) (mod n, x r 1) (2)
para ciertos polinomios f y g . La congruencia anterior requiere solo tiempo polinmico para comprobarla, o pero hay nmeros compuestos n para los cuales es tambin cierta. u e El hecho fundamental que prueban Agrawal, Kayal y Saxena es que existen un entero r pequeo y un conjunto de bases A ambos computables en n tiempo polinmico y de longitud limitada de manera que es suciente o comprobar la congruencia anterior para dicho r y las bases a A.
Delgado - Nnez (Univ. Valladolid) u Criptograf a Curso 2010 - 2011 4/8
Algoritmo AKS
Algoritmo AKS Entrada Un entero n > 1. 1. Si n = ab para ciertos enteros a > 0 y b > 1, entonces compuesto. 2. Encontrar el menor r de manera que or (n) > log2 (n). or (n) el orden de n mdulo r o Se tiene que r < max{3, log5 (n)} 3. Si 1 < mcd (a, n) < n para algn a < r entonces compuesto. u 4. Si n < r , entonces n es primo. Solo es necesario comprobar para n 5, 690, 034 Por el comentario en el apartado 2 5. Para a = 1, 2, . . . , (r ) log(n) hacer: Si (X + a)n = X n + a (mod X r 1, n) entonces compuesto. 6. Salida n es primo.
Criptograf a
5/8
Historia y eciencia
2002 Primera versin de AKS. Complejidad probada de O(log12 (n)). o La complejidad baja a O(log6 (n)) cuando r = O(log2 (n)). Esta posibilidad (conjetural) est soportada por varias conjeturas de a Teor de Nmeros, la ms conocida es la de Sophie Germain. a u a 2002 Lenstra 2003 Berrizabeitia, Cheng, Bernstein (a/b), Lenstra y Pomerance. 2004 Se publica la versin revisada de AKS: o Manindra Agrawal, Neeraj Kayal, Nitin Saxena, PRIMES is in P Annals of Mathematics 160 (2004), no. 2, pp. 781-793. Incluye mejoras en la eleccin de r y unica los mtodos de prueba o e (polinomios ciclotmicos sobre cuerpos nitos). o La complejidad desciende a O(log10.5 (n)) y con resultados adicionales de cribas a O(log7.5 (n)). 2005 Carl Pomerance y H.W. Lenstra Jr. prueban una variante del test AKS con complejidad O(log6 (n)).
Delgado - Nnez (Univ. Valladolid) u Criptograf a Curso 2010 - 2011 6/8
Criptograf a
7/8
Importancia
La importancia del AKS es que es el primer algoritmo de primalidad que es a la vez: general, polinmico, determinista e incondicional. o AKS es vlido para cualquier entero. Muchos test conocidos son a utiles solo para determinadas clases de nmeros. Por ejemplo, u Lucas-Lehmer es slo util para primos de Mersenne, el test de Ppin o e para nmeros de Fermat, etc. u Es de complejidad polinmica. Otros como ECPP (basado en curvas o el pticas) son subexponenciales. Es un test determinista, hay otros test ecientes que son probabil sticos (p.e. Rabin-Miller, Solovay-Strassen) por tanto sujetos a errores. No est sujeto condiciones no demostradas. Por ejemplo el test de a Miller es de complejidad polinmica slo si la conjetura de Riemann o o fuese cierta.
Delgado - Nnez (Univ. Valladolid) u Criptograf a Curso 2010 - 2011 8/8