Top Banner
127

estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Nov 06, 2018

Download

Documents

dangkiet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Test de primalidad.Un paseo por las clases de complejidad.

Cruz Enrique Borges Hernández

7 de julio de 2005

Page 2: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Contenido

1 Introducción.

2 Algoritmos.Algoritmos Exponenciales.Algoritmos Indeterministas.Algoritmos Esotéricos.Algoritmos Probabilísticos I.Algoritmos Probabilísticos II.Algoritmos Deterministas.

3 Resumen.

4 Implementación.Motivación.Implementación en MAPLE.Implementación en C++Experiencias.

5 Conclusiones.

Page 3: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Contenido

1 Introducción.

2 Algoritmos.Algoritmos Exponenciales.Algoritmos Indeterministas.Algoritmos Esotéricos.Algoritmos Probabilísticos I.Algoritmos Probabilísticos II.Algoritmos Deterministas.

3 Resumen.

4 Implementación.Motivación.Implementación en MAPLE.Implementación en C++Experiencias.

5 Conclusiones.

Page 4: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Contenido

1 Introducción.

2 Algoritmos.Algoritmos Exponenciales.Algoritmos Indeterministas.Algoritmos Esotéricos.Algoritmos Probabilísticos I.Algoritmos Probabilísticos II.Algoritmos Deterministas.

3 Resumen.

4 Implementación.Motivación.Implementación en MAPLE.Implementación en C++Experiencias.

5 Conclusiones.

Page 5: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Contenido

1 Introducción.

2 Algoritmos.Algoritmos Exponenciales.Algoritmos Indeterministas.Algoritmos Esotéricos.Algoritmos Probabilísticos I.Algoritmos Probabilísticos II.Algoritmos Deterministas.

3 Resumen.

4 Implementación.Motivación.Implementación en MAPLE.Implementación en C++Experiencias.

5 Conclusiones.

Page 6: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Contenido

1 Introducción.

2 Algoritmos.Algoritmos Exponenciales.Algoritmos Indeterministas.Algoritmos Esotéricos.Algoritmos Probabilísticos I.Algoritmos Probabilísticos II.Algoritmos Deterministas.

3 Resumen.

4 Implementación.Motivación.Implementación en MAPLE.Implementación en C++Experiencias.

5 Conclusiones.

Page 7: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

El problema PRIMES.

De�nición (Número primo)

Sea n ∈ Nn es primo si y sólo si los únicos divisores que posee son 1 y n

¾Por qué es importante?

Porque sus propiedades matemáticas son bonitas.

Desafío matemático.

God may not play dice with the universe, but somethingstrange is going on with the prime numbers. Paul Erdös.(1913 - 1996)

Imprescindible en los protocolos criptográ�cos actuales.

Page 8: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

El problema PRIMES.

De�nición (Número primo)

Sea n ∈ Nn es primo si y sólo si los únicos divisores que posee son 1 y n

¾Por qué es importante?

Porque sus propiedades matemáticas son bonitas.

Desafío matemático.

God may not play dice with the universe, but somethingstrange is going on with the prime numbers. Paul Erdös.(1913 - 1996)

Imprescindible en los protocolos criptográ�cos actuales.

Page 9: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

El problema PRIMES.

De�nición (Número primo)

Sea n ∈ Nn es primo si y sólo si los únicos divisores que posee son 1 y n

¾Por qué es importante?

Porque sus propiedades matemáticas son bonitas.

Desafío matemático.

God may not play dice with the universe, but somethingstrange is going on with the prime numbers. Paul Erdös.(1913 - 1996)

Imprescindible en los protocolos criptográ�cos actuales.

Page 10: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

El problema PRIMES.

De�nición (Número primo)

Sea n ∈ Nn es primo si y sólo si los únicos divisores que posee son 1 y n

¾Por qué es importante?

Porque sus propiedades matemáticas son bonitas.

Desafío matemático.God may not play dice with the universe, but somethingstrange is going on with the prime numbers. Paul Erdös.(1913 - 1996)

Imprescindible en los protocolos criptográ�cos actuales.

Page 11: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

El problema PRIMES.

De�nición (Número primo)

Sea n ∈ Nn es primo si y sólo si los únicos divisores que posee son 1 y n

¾Por qué es importante?

Porque sus propiedades matemáticas son bonitas.

Desafío matemático.God may not play dice with the universe, but somethingstrange is going on with the prime numbers. Paul Erdös.(1913 - 1996)

Imprescindible en los protocolos criptográ�cos actuales.

Page 12: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Escolares.

Algoritmo (Criba de Eratóstenes)

Input = n ∈ Z1 Escribir todos los números hasta n.

2 Tachar el 1 pues es una unidad.3 Repetir hasta n

Tachar los múltiplos del siguiente

número sin tachar, excepto el

mismo número.

Output = Los números tachados soncompuestos y los no tachados sonprimos.

Page 13: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Escolares.

Algoritmo (Criba de Eratóstenes)

Input = n ∈ Z1 Escribir todos los números hasta n.

2 Tachar el 1 pues es una unidad.3 Repetir hasta n

Tachar los múltiplos del siguiente

número sin tachar, excepto el

mismo número.

Output = Los números tachados soncompuestos y los no tachados sonprimos.

Page 14: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Escolares.

Algoritmo (Criba de Eratóstenes)

Input = n ∈ Z1 Escribir todos los números hasta n.

2 Tachar el 1 pues es una unidad.3 Repetir hasta n

Tachar los múltiplos del siguiente

número sin tachar, excepto el

mismo número.

Output = Los números tachados soncompuestos y los no tachados sonprimos.

Page 15: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Escolares.

Algoritmo (Criba de Eratóstenes)

Input = n ∈ Z1 Escribir todos los números hasta n.

2 Tachar el 1 pues es una unidad.3 Repetir hasta n

Tachar los múltiplos del siguiente

número sin tachar, excepto el

mismo número.

Output = Los números tachados soncompuestos y los no tachados sonprimos.

Page 16: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Escolares.

Algoritmo (Criba de Eratóstenes)

Input = n ∈ Z1 Escribir todos los números hasta n.

2 Tachar el 1 pues es una unidad.3 Repetir hasta n

Tachar los múltiplos del siguiente

número sin tachar, excepto el

mismo número.

Output = Los números tachados soncompuestos y los no tachados sonprimos.

Page 17: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Escolares.

Algoritmo (Criba de Eratóstenes)

Input = n ∈ Z1 Escribir todos los números hasta n.

2 Tachar el 1 pues es una unidad.3 Repetir hasta n

Tachar los múltiplos del siguiente

número sin tachar, excepto el

mismo número.

Output = Los números tachados soncompuestos y los no tachados sonprimos.

Page 18: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Escolares.

Algoritmo (Divisiones Sucesivas)

Input = n ∈ Z1 Mientras i <

√n

Si n = 0 mod i entonces

Output = Compuesto

2 Output = Primo

Hay que realizar muchasoperaciones.

Algoritmos Exponenciales.

Se dice que pertenecen a laclase E.

Más simples y conocidos.

Page 19: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Escolares.

Algoritmo (Divisiones Sucesivas)

Input = n ∈ Z1 Mientras i <

√n

Si n = 0 mod i entonces

Output = Compuesto

2 Output = Primo

Hay que realizar muchasoperaciones.

Algoritmos Exponenciales.

Se dice que pertenecen a laclase E.

Más simples y conocidos.

Page 20: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Escolares.

Algoritmo (Divisiones Sucesivas)

Input = n ∈ Z1 Mientras i <

√n

Si n = 0 mod i entonces

Output = Compuesto

2 Output = Primo

Hay que realizar muchasoperaciones.

Algoritmos Exponenciales.

Se dice que pertenecen a laclase E.

Más simples y conocidos.

Page 21: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Escolares.

Algoritmo (Divisiones Sucesivas)

Input = n ∈ Z1 Mientras i <

√n

Si n = 0 mod i entonces

Output = Compuesto

2 Output = Primo

Hay que realizar muchasoperaciones.

Algoritmos Exponenciales.

Se dice que pertenecen a laclase E.

Más simples y conocidos.

Page 22: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Escolares.

Algoritmo (Divisiones Sucesivas)

Input = n ∈ Z1 Mientras i <

√n

Si n = 0 mod i entonces

Output = Compuesto

2 Output = Primo

Hay que realizar muchasoperaciones.

Algoritmos Exponenciales.

Se dice que pertenecen a laclase E.

Más simples y conocidos.

Page 23: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Tramposos.

Algoritmo (Test indeterminista decomposición)

Input = n ∈ Z1 Guess d divisor de n.

2 Si n = 0 mod d entoncesOutput = Compuesto

en otro caso Output = Primo

Algoritmo (Certi�cado de Pratt(simpli�cado))

Input = n ∈ Z1 Guess x testigo de n.

2 Si on(x) = n − 1 entoncesOutput = Primo.

En otro caso Output = Compuesto.

Utilizan la trampa del Guess.

Algoritmos Indeterministas.

Se dice que pertenecen a laclase NP.

No son implementables, hayque simular el Guess.

Page 24: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Tramposos.

Algoritmo (Test indeterminista decomposición)

Input = n ∈ Z1 Guess d divisor de n.

2 Si n = 0 mod d entoncesOutput = Compuesto

en otro caso Output = Primo

Algoritmo (Certi�cado de Pratt(simpli�cado))

Input = n ∈ Z1 Guess x testigo de n.

2 Si on(x) = n − 1 entoncesOutput = Primo.

En otro caso Output = Compuesto.

Utilizan la trampa del Guess.

Algoritmos Indeterministas.

Se dice que pertenecen a laclase NP.

No son implementables, hayque simular el Guess.

Page 25: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Tramposos.

Algoritmo (Test indeterminista decomposición)

Input = n ∈ Z1 Guess d divisor de n.

2 Si n = 0 mod d entoncesOutput = Compuesto

en otro caso Output = Primo

Algoritmo (Certi�cado de Pratt(simpli�cado))

Input = n ∈ Z1 Guess x testigo de n.

2 Si on(x) = n − 1 entoncesOutput = Primo.

En otro caso Output = Compuesto.

Utilizan la trampa del Guess.

Algoritmos Indeterministas.

Se dice que pertenecen a laclase NP.

No son implementables, hayque simular el Guess.

Page 26: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Tramposos.

Algoritmo (Test indeterminista decomposición)

Input = n ∈ Z1 Guess d divisor de n.

2 Si n = 0 mod d entoncesOutput = Compuesto

en otro caso Output = Primo

Algoritmo (Certi�cado de Pratt(simpli�cado))

Input = n ∈ Z1 Guess x testigo de n.

2 Si on(x) = n − 1 entoncesOutput = Primo.

En otro caso Output = Compuesto.

Utilizan la trampa del Guess.

Algoritmos Indeterministas.

Se dice que pertenecen a laclase NP.

No son implementables, hayque simular el Guess.

Page 27: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Tramposos.

Algoritmo (Test indeterminista decomposición)

Input = n ∈ Z1 Guess d divisor de n.

2 Si n = 0 mod d entoncesOutput = Compuesto

en otro caso Output = Primo

Algoritmo (Certi�cado de Pratt(simpli�cado))

Input = n ∈ Z1 Guess x testigo de n.

2 Si on(x) = n − 1 entoncesOutput = Primo.

En otro caso Output = Compuesto.

Utilizan la trampa del Guess.

Algoritmos Indeterministas.

Se dice que pertenecen a laclase NP.

No son implementables, hayque simular el Guess.

Page 28: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Algoritmos Tramposos.

Algoritmo (Test indeterminista decomposición)

Input = n ∈ Z1 Guess d divisor de n.

2 Si n = 0 mod d entoncesOutput = Compuesto

en otro caso Output = Primo

Algoritmo (Certi�cado de Pratt(simpli�cado))

Input = n ∈ Z1 Guess x testigo de n.

2 Si on(x) = n − 1 entoncesOutput = Primo.

En otro caso Output = Compuesto.

Utilizan la trampa del Guess.

Algoritmos Indeterministas.

Se dice que pertenecen a laclase NP.

No son implementables, hayque simular el Guess.

Page 29: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Otros Algoritmos.

Algoritmo (Test de Wilson)

Input = n ∈ Z1 Si (n − 1)! + 1 = 0 mod n entonces

Output = Primoen otro caso Output = Compuesto

Complejidad desconocida.

Nadie sabe como calcular n!de forma e�ciente.

Page 30: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Otros Algoritmos.

Algoritmo (Test de Wilson)

Input = n ∈ Z1 Si (n − 1)! + 1 = 0 mod n entonces

Output = Primoen otro caso Output = Compuesto

Complejidad desconocida.

Nadie sabe como calcular n!de forma e�ciente.

Page 31: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Otros Algoritmos.

Algoritmo (Test de Wilson)

Input = n ∈ Z1 Si (n − 1)! + 1 = 0 mod n entonces

Output = Primoen otro caso Output = Compuesto

Complejidad desconocida.

Nadie sabe como calcular n!de forma e�ciente.

Page 32: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Otros Algoritmos.

Polinomio de Matijasevic

Soluciones muy difícilesde encontrar.

Expresar secuencias denúmeros recursivamenteenumerables comosoluciones de ecuacionespolinomiales.

Las imagenes positivas de valores enteros, del anterior polinomio, sonexactamente los números primos positivos.

Page 33: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Otros Algoritmos.

Polinomio de Matijasevic

Soluciones muy difícilesde encontrar.

Expresar secuencias denúmeros recursivamenteenumerables comosoluciones de ecuacionespolinomiales.

Las imagenes positivas de valores enteros, del anterior polinomio, sonexactamente los números primos positivos.

Page 34: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Otros Algoritmos.

Polinomio de Matijasevic

Soluciones muy difícilesde encontrar.

Expresar secuencias denúmeros recursivamenteenumerables comosoluciones de ecuacionespolinomiales.

Las imagenes positivas de valores enteros, del anterior polinomio, sonexactamente los números primos positivos.

Page 35: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Tests de composición

Algoritmo (Test Solovay-Strassen)

Input = n, k ∈ Z con k númerorepeticiones

1 Desde i = 1 hasta k haz

a = número aleatorio

∈ {2, . . . , n − 1}aux =

`a

n

´Si aux = 0 o a

p−12 − aux 6= 0

mod n entonces Output =

Compuesto.

2 Output = Probable Primo.

Algoritmo (Test Miller-Rabin)

Input = n, k ∈ Z con k número derepeticiones

1 Escribir n − 1 = 2sd2 Desde i = 1 hasta k haz

a = número aleatorio

∈ {1, . . . , n − 1}Si ad 6= 1 mod n entonces

Output = Compuesto.Desde r = 0 hasta s − 1 haz

Si a2rd 6= −1 mod n entonces

Output = Compuesto.

3 Output = Probable Primo.

Para toda entrada son polinomiales en tiempo.

Si el input es primo entonces siempre devuelven probable primo.

Si el input es compuesto la probabilidad de darlo por probable primoes menor que 1/2k .

Se dice que pertenecen a la clase Co-RP.

Page 36: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Tests de composición

Algoritmo (Test Solovay-Strassen)

Input = n, k ∈ Z con k númerorepeticiones

1 Desde i = 1 hasta k haz

a = número aleatorio

∈ {2, . . . , n − 1}aux =

`a

n

´Si aux = 0 o a

p−12 − aux 6= 0

mod n entonces Output =

Compuesto.

2 Output = Probable Primo.

Algoritmo (Test Miller-Rabin)

Input = n, k ∈ Z con k número derepeticiones

1 Escribir n − 1 = 2sd2 Desde i = 1 hasta k haz

a = número aleatorio

∈ {1, . . . , n − 1}Si ad 6= 1 mod n entonces

Output = Compuesto.Desde r = 0 hasta s − 1 haz

Si a2rd 6= −1 mod n entonces

Output = Compuesto.

3 Output = Probable Primo.

Para toda entrada son polinomiales en tiempo.

Si el input es primo entonces siempre devuelven probable primo.

Si el input es compuesto la probabilidad de darlo por probable primoes menor que 1/2k .

Se dice que pertenecen a la clase Co-RP.

Page 37: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Tests de composición

Algoritmo (Test Solovay-Strassen)

Input = n, k ∈ Z con k númerorepeticiones

1 Desde i = 1 hasta k haz

a = número aleatorio

∈ {2, . . . , n − 1}aux =

`a

n

´Si aux = 0 o a

p−12 − aux 6= 0

mod n entonces Output =

Compuesto.

2 Output = Probable Primo.

Algoritmo (Test Miller-Rabin)

Input = n, k ∈ Z con k número derepeticiones

1 Escribir n − 1 = 2sd2 Desde i = 1 hasta k haz

a = número aleatorio

∈ {1, . . . , n − 1}Si ad 6= 1 mod n entonces

Output = Compuesto.Desde r = 0 hasta s − 1 haz

Si a2rd 6= −1 mod n entonces

Output = Compuesto.

3 Output = Probable Primo.

Para toda entrada son polinomiales en tiempo.

Si el input es primo entonces siempre devuelven probable primo.

Si el input es compuesto la probabilidad de darlo por probable primoes menor que 1/2k .

Se dice que pertenecen a la clase Co-RP.

Page 38: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Tests de composición

Algoritmo (Test Solovay-Strassen)

Input = n, k ∈ Z con k númerorepeticiones

1 Desde i = 1 hasta k haz

a = número aleatorio

∈ {2, . . . , n − 1}aux =

`a

n

´Si aux = 0 o a

p−12 − aux 6= 0

mod n entonces Output =

Compuesto.

2 Output = Probable Primo.

Algoritmo (Test Miller-Rabin)

Input = n, k ∈ Z con k número derepeticiones

1 Escribir n − 1 = 2sd2 Desde i = 1 hasta k haz

a = número aleatorio

∈ {1, . . . , n − 1}Si ad 6= 1 mod n entonces

Output = Compuesto.Desde r = 0 hasta s − 1 haz

Si a2rd 6= −1 mod n entonces

Output = Compuesto.

3 Output = Probable Primo.

Para toda entrada son polinomiales en tiempo.

Si el input es primo entonces siempre devuelven probable primo.

Si el input es compuesto la probabilidad de darlo por probable primoes menor que 1/2k .

Se dice que pertenecen a la clase Co-RP.

Page 39: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Tests de composición

Algoritmo (Test Solovay-Strassen)

Input = n, k ∈ Z con k númerorepeticiones

1 Desde i = 1 hasta k haz

a = número aleatorio

∈ {2, . . . , n − 1}aux =

`a

n

´Si aux = 0 o a

p−12 − aux 6= 0

mod n entonces Output =

Compuesto.

2 Output = Probable Primo.

Algoritmo (Test Miller-Rabin)

Input = n, k ∈ Z con k número derepeticiones

1 Escribir n − 1 = 2sd2 Desde i = 1 hasta k haz

a = número aleatorio

∈ {1, . . . , n − 1}Si ad 6= 1 mod n entonces

Output = Compuesto.Desde r = 0 hasta s − 1 haz

Si a2rd 6= −1 mod n entonces

Output = Compuesto.

3 Output = Probable Primo.

Para toda entrada son polinomiales en tiempo.

Si el input es primo entonces siempre devuelven probable primo.

Si el input es compuesto la probabilidad de darlo por probable primoes menor que 1/2k .

Se dice que pertenecen a la clase Co-RP.

Page 40: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Tests de composición

Algoritmo (Test Solovay-Strassen)

Input = n, k ∈ Z con k númerorepeticiones

1 Desde i = 1 hasta k haz

a = número aleatorio

∈ {2, . . . , n − 1}aux =

`a

n

´Si aux = 0 o a

p−12 − aux 6= 0

mod n entonces Output =

Compuesto.

2 Output = Probable Primo.

Algoritmo (Test Miller-Rabin)

Input = n, k ∈ Z con k número derepeticiones

1 Escribir n − 1 = 2sd2 Desde i = 1 hasta k haz

a = número aleatorio

∈ {1, . . . , n − 1}Si ad 6= 1 mod n entonces

Output = Compuesto.Desde r = 0 hasta s − 1 haz

Si a2rd 6= −1 mod n entonces

Output = Compuesto.

3 Output = Probable Primo.

Para toda entrada son polinomiales en tiempo.

Si el input es primo entonces siempre devuelven probable primo.

Si el input es compuesto la probabilidad de darlo por probable primoes menor que 1/2k .

Se dice que pertenecen a la clase Co-RP.

Page 41: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Test de primalidad.

Test APRCL y ECPP.

Tremendamente complejos y largos de explicar.

Usan matemáticas de alto nivel.

Para toda entrada es polinomial en tiempo.

Si el input es compuesto entonces siempre devuelve probable

compuesto.

Si el input es primo la probabilidad de darlo por probable compuesto

es menor que 1/2k .

Se dice que pertenecen a la clase RP.

Page 42: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Test de primalidad.

Test APRCL y ECPP.

Tremendamente complejos y largos de explicar.

Usan matemáticas de alto nivel.

Para toda entrada es polinomial en tiempo.

Si el input es compuesto entonces siempre devuelve probable

compuesto.

Si el input es primo la probabilidad de darlo por probable compuesto

es menor que 1/2k .

Se dice que pertenecen a la clase RP.

Page 43: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Test de primalidad.

Test APRCL y ECPP.

Tremendamente complejos y largos de explicar.

Usan matemáticas de alto nivel.

Para toda entrada es polinomial en tiempo.

Si el input es compuesto entonces siempre devuelve probable

compuesto.

Si el input es primo la probabilidad de darlo por probable compuesto

es menor que 1/2k .

Se dice que pertenecen a la clase RP.

Page 44: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Test de primalidad.

Test APRCL y ECPP.

Tremendamente complejos y largos de explicar.

Usan matemáticas de alto nivel.

Para toda entrada es polinomial en tiempo.

Si el input es compuesto entonces siempre devuelve probable

compuesto.

Si el input es primo la probabilidad de darlo por probable compuesto

es menor que 1/2k .

Se dice que pertenecen a la clase RP.

Page 45: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Test de primalidad.

Test APRCL y ECPP.

Tremendamente complejos y largos de explicar.

Usan matemáticas de alto nivel.

Para toda entrada es polinomial en tiempo.

Si el input es compuesto entonces siempre devuelve probable

compuesto.

Si el input es primo la probabilidad de darlo por probable compuesto

es menor que 1/2k .

Se dice que pertenecen a la clase RP.

Page 46: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

AKS

Algoritmo (AKS)

Input = n ∈ Z1 Si n = ab para algún a ∈ N y b > 1 entonces Output = Compuesto.

2 Encuentra el menor r tal que or (n) > 4 log2(n)

3 Si 1 < (a, n) < n para algún a ≤ r entonces Output = Compuesto.

4 Si n ≤ r entonces Output = Primo.

5 Desde a = 1 hasta b2√

ϕ(r) log(n)c comprueba

si (x + a)n 6= xn + a mod (x r − 1, n) entonces Output = Compuesto.

6 Output = Primo.

Para toda entrada es polinomial en tiempo.

No falla NUNCA.

Se dice que pertenecen a la clase P.

En la forma actual es más lento que Miller-Rabin o incluso ECPP.

Page 47: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

AKS

Algoritmo (AKS)

Input = n ∈ Z1 Si n = ab para algún a ∈ N y b > 1 entonces Output = Compuesto.

2 Encuentra el menor r tal que or (n) > 4 log2(n)

3 Si 1 < (a, n) < n para algún a ≤ r entonces Output = Compuesto.

4 Si n ≤ r entonces Output = Primo.

5 Desde a = 1 hasta b2√

ϕ(r) log(n)c comprueba

si (x + a)n 6= xn + a mod (x r − 1, n) entonces Output = Compuesto.

6 Output = Primo.

Para toda entrada es polinomial en tiempo.

No falla NUNCA.

Se dice que pertenecen a la clase P.

En la forma actual es más lento que Miller-Rabin o incluso ECPP.

Page 48: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

AKS

Algoritmo (AKS)

Input = n ∈ Z1 Si n = ab para algún a ∈ N y b > 1 entonces Output = Compuesto.

2 Encuentra el menor r tal que or (n) > 4 log2(n)

3 Si 1 < (a, n) < n para algún a ≤ r entonces Output = Compuesto.

4 Si n ≤ r entonces Output = Primo.

5 Desde a = 1 hasta b2√

ϕ(r) log(n)c comprueba

si (x + a)n 6= xn + a mod (x r − 1, n) entonces Output = Compuesto.

6 Output = Primo.

Para toda entrada es polinomial en tiempo.

No falla NUNCA.

Se dice que pertenecen a la clase P.

En la forma actual es más lento que Miller-Rabin o incluso ECPP.

Page 49: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

AKS

Algoritmo (AKS)

Input = n ∈ Z1 Si n = ab para algún a ∈ N y b > 1 entonces Output = Compuesto.

2 Encuentra el menor r tal que or (n) > 4 log2(n)

3 Si 1 < (a, n) < n para algún a ≤ r entonces Output = Compuesto.

4 Si n ≤ r entonces Output = Primo.

5 Desde a = 1 hasta b2√

ϕ(r) log(n)c comprueba

si (x + a)n 6= xn + a mod (x r − 1, n) entonces Output = Compuesto.

6 Output = Primo.

Para toda entrada es polinomial en tiempo.

No falla NUNCA.

Se dice que pertenecen a la clase P.

En la forma actual es más lento que Miller-Rabin o incluso ECPP.

Page 50: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

AKS

Algoritmo (AKS)

Input = n ∈ Z1 Si n = ab para algún a ∈ N y b > 1 entonces Output = Compuesto.

2 Encuentra el menor r tal que or (n) > 4 log2(n)

3 Si 1 < (a, n) < n para algún a ≤ r entonces Output = Compuesto.

4 Si n ≤ r entonces Output = Primo.

5 Desde a = 1 hasta b2√

ϕ(r) log(n)c comprueba

si (x + a)n 6= xn + a mod (x r − 1, n) entonces Output = Compuesto.

6 Output = Primo.

Para toda entrada es polinomial en tiempo.

No falla NUNCA.

Se dice que pertenecen a la clase P.

En la forma actual es más lento que Miller-Rabin o incluso ECPP.

Page 51: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Conclusiones.

El algoritmo AKS pone resuelve un problema abierto de hace más de2.000 años.

Permitirá mejorar los sistemas criptográ�cos.

Actualmente se sigue investigando para mejorar el algoritmo.

Resultado elemental que abre todo una nueva vía de estudio.

Page 52: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Conclusiones.

El algoritmo AKS pone resuelve un problema abierto de hace más de2.000 años.

Permitirá mejorar los sistemas criptográ�cos.

Actualmente se sigue investigando para mejorar el algoritmo.

Resultado elemental que abre todo una nueva vía de estudio.

Page 53: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Conclusiones.

El algoritmo AKS pone resuelve un problema abierto de hace más de2.000 años.

Permitirá mejorar los sistemas criptográ�cos.

Actualmente se sigue investigando para mejorar el algoritmo.

Resultado elemental que abre todo una nueva vía de estudio.

Page 54: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Conclusiones.

El algoritmo AKS pone resuelve un problema abierto de hace más de2.000 años.

Permitirá mejorar los sistemas criptográ�cos.

Actualmente se sigue investigando para mejorar el algoritmo.

Resultado elemental que abre todo una nueva vía de estudio.

Page 55: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Motivación.

Objetivos de la experimentación.

Comprobar la velocidad del algoritmo (cotas asintóticas).

Comprobar la e�cacia de los algoritmos probabilistas.

Comprobar la siguiente conjetura.

Conjetura (Conjetura para la modi�cación del AKS)

Si r es un número primo que no divide a n y (x − 1)n = xn − 1 modx r − 1, n entonces o n es primo o n2 = 1 mod r.

Page 56: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Motivación.

Objetivos de la experimentación.

Comprobar la velocidad del algoritmo (cotas asintóticas).

Comprobar la e�cacia de los algoritmos probabilistas.

Comprobar la siguiente conjetura.

Conjetura (Conjetura para la modi�cación del AKS)

Si r es un número primo que no divide a n y (x − 1)n = xn − 1 modx r − 1, n entonces o n es primo o n2 = 1 mod r.

Page 57: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Motivación.

Objetivos de la experimentación.

Comprobar la velocidad del algoritmo (cotas asintóticas).

Comprobar la e�cacia de los algoritmos probabilistas.

Comprobar la siguiente conjetura.

Conjetura (Conjetura para la modi�cación del AKS)

Si r es un número primo que no divide a n y (x − 1)n = xn − 1 modx r − 1, n entonces o n es primo o n2 = 1 mod r.

Page 58: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

¾Por qué MAPLE?

Familiarizado con el entorno.

Software ampliamenteprobado y �able.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización

=⇒Subrutinas internas.

Cálculo del orden de un elemento

=⇒ Subrutinas internas.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Resultados.

El algoritmo es extremadamente lento.

Suponemos que es debido a la implementación de la funciónexponencial dentro del bucle.

Proponemos una modi�cación.

Page 59: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

¾Por qué MAPLE?

Familiarizado con el entorno.

Software ampliamenteprobado y �able.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización

=⇒Subrutinas internas.

Cálculo del orden de un elemento

=⇒ Subrutinas internas.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Resultados.

El algoritmo es extremadamente lento.

Suponemos que es debido a la implementación de la funciónexponencial dentro del bucle.

Proponemos una modi�cación.

Page 60: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

¾Por qué MAPLE?

Familiarizado con el entorno.

Software ampliamenteprobado y �able.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización

=⇒Subrutinas internas.

Cálculo del orden de un elemento

=⇒ Subrutinas internas.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Resultados.

El algoritmo es extremadamente lento.

Suponemos que es debido a la implementación de la funciónexponencial dentro del bucle.

Proponemos una modi�cación.

Page 61: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

¾Por qué MAPLE?

Familiarizado con el entorno.

Software ampliamenteprobado y �able.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización

=⇒Subrutinas internas.

Cálculo del orden de un elemento

=⇒ Subrutinas internas.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Resultados.

El algoritmo es extremadamente lento.

Suponemos que es debido a la implementación de la funciónexponencial dentro del bucle.

Proponemos una modi�cación.

Page 62: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

¾Por qué MAPLE?

Familiarizado con el entorno.

Software ampliamenteprobado y �able.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento

=⇒ Subrutinas internas.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Resultados.

El algoritmo es extremadamente lento.

Suponemos que es debido a la implementación de la funciónexponencial dentro del bucle.

Proponemos una modi�cación.

Page 63: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

¾Por qué MAPLE?

Familiarizado con el entorno.

Software ampliamenteprobado y �able.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento

=⇒ Subrutinas internas.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Resultados.

El algoritmo es extremadamente lento.

Suponemos que es debido a la implementación de la funciónexponencial dentro del bucle.

Proponemos una modi�cación.

Page 64: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

¾Por qué MAPLE?

Familiarizado con el entorno.

Software ampliamenteprobado y �able.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento=⇒ Subrutinas internas.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Resultados.

El algoritmo es extremadamente lento.

Suponemos que es debido a la implementación de la funciónexponencial dentro del bucle.

Proponemos una modi�cación.

Page 65: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

¾Por qué MAPLE?

Familiarizado con el entorno.

Software ampliamenteprobado y �able.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento=⇒ Subrutinas internas.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Resultados.

El algoritmo es extremadamente lento.

Suponemos que es debido a la implementación de la funciónexponencial dentro del bucle.

Proponemos una modi�cación.

Page 66: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

¾Por qué MAPLE?

Familiarizado con el entorno.

Software ampliamenteprobado y �able.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento=⇒ Subrutinas internas.

Función exponencial dentro delbucle =⇒ Subrutinas internas.

Resultados.

El algoritmo es extremadamente lento.

Suponemos que es debido a la implementación de la funciónexponencial dentro del bucle.

Proponemos una modi�cación.

Page 67: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

¾Por qué MAPLE?

Familiarizado con el entorno.

Software ampliamenteprobado y �able.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento=⇒ Subrutinas internas.

Función exponencial dentro delbucle =⇒ Subrutinas internas.

Resultados.

El algoritmo es extremadamente lento.

Suponemos que es debido a la implementación de la funciónexponencial dentro del bucle.

Proponemos una modi�cación.

Page 68: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

¾Por qué MAPLE?

Familiarizado con el entorno.

Software ampliamenteprobado y �able.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento=⇒ Subrutinas internas.

Función exponencial dentro delbucle =⇒ Subrutinas internas.

Resultados.

El algoritmo es extremadamente lento.

Suponemos que es debido a la implementación de la funciónexponencial dentro del bucle.

Proponemos una modi�cación.

Page 69: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

¾Por qué MAPLE?

Familiarizado con el entorno.

Software ampliamenteprobado y �able.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento=⇒ Subrutinas internas.

Función exponencial dentro delbucle =⇒ Subrutinas internas.

Resultados.

El algoritmo es extremadamente lento.

Suponemos que es debido a la implementación de la funciónexponencial dentro del bucle.

Proponemos una modi�cación.

Page 70: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

¾Por qué MAPLE?

Familiarizado con el entorno.

Software ampliamenteprobado y �able.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento=⇒ Subrutinas internas.

Función exponencial dentro delbucle =⇒ Subrutinas internas.

Resultados.

El algoritmo es extremadamente lento.

Suponemos que es debido a la implementación de la funciónexponencial dentro del bucle.

Proponemos una modi�cación.

Page 71: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

Problemas de la implementación.

Función exponencial dentro del bucle

=⇒Programación propia.

Resultados.

Mucho más lento aún.

Conclusiones.

MAPLE realiza de forma óptima el bucle.

El rendimiento global lo achacamos al propio MAPLE.

Page 72: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

Problemas de la implementación.

Función exponencial dentro del bucle =⇒Programación propia.

Resultados.

Mucho más lento aún.

Conclusiones.

MAPLE realiza de forma óptima el bucle.

El rendimiento global lo achacamos al propio MAPLE.

Page 73: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

Problemas de la implementación.

Función exponencial dentro del bucle =⇒Programación propia.

Resultados.

Mucho más lento aún.

Conclusiones.

MAPLE realiza de forma óptima el bucle.

El rendimiento global lo achacamos al propio MAPLE.

Page 74: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación en MAPLE.

Problemas de la implementación.

Función exponencial dentro del bucle =⇒Programación propia.

Resultados.

Mucho más lento aún.

Conclusiones.

MAPLE realiza de forma óptima el bucle.

El rendimiento global lo achacamos al propio MAPLE.

Page 75: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación sobre la librería NTL.

¾Por qué NTL?

Documentación más clara.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización

=⇒Subrutinas internas.

Cálculo del orden de un elemento

=⇒ Programación propia.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Problema.

Máximo grado que puede alcanzar un polinomio es un número long(números desde 0 hasta 4.294.967.296).

Limita la experimentación.

Impide comparar con el algoritmo de Miller-Rabin en los númerosdonde se podría observar las cotas asintóticas.

Page 76: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación sobre la librería NTL.

¾Por qué NTL?

Documentación más clara.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización

=⇒Subrutinas internas.

Cálculo del orden de un elemento

=⇒ Programación propia.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Problema.

Máximo grado que puede alcanzar un polinomio es un número long(números desde 0 hasta 4.294.967.296).

Limita la experimentación.

Impide comparar con el algoritmo de Miller-Rabin en los númerosdonde se podría observar las cotas asintóticas.

Page 77: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación sobre la librería NTL.

¾Por qué NTL?

Documentación más clara.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización

=⇒Subrutinas internas.

Cálculo del orden de un elemento

=⇒ Programación propia.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Problema.

Máximo grado que puede alcanzar un polinomio es un número long(números desde 0 hasta 4.294.967.296).

Limita la experimentación.

Impide comparar con el algoritmo de Miller-Rabin en los númerosdonde se podría observar las cotas asintóticas.

Page 78: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación sobre la librería NTL.

¾Por qué NTL?

Documentación más clara.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento

=⇒ Programación propia.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Problema.

Máximo grado que puede alcanzar un polinomio es un número long(números desde 0 hasta 4.294.967.296).

Limita la experimentación.

Impide comparar con el algoritmo de Miller-Rabin en los númerosdonde se podría observar las cotas asintóticas.

Page 79: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación sobre la librería NTL.

¾Por qué NTL?

Documentación más clara.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento

=⇒ Programación propia.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Problema.

Máximo grado que puede alcanzar un polinomio es un número long(números desde 0 hasta 4.294.967.296).

Limita la experimentación.

Impide comparar con el algoritmo de Miller-Rabin en los númerosdonde se podría observar las cotas asintóticas.

Page 80: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación sobre la librería NTL.

¾Por qué NTL?

Documentación más clara.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento=⇒ Programación propia.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Problema.

Máximo grado que puede alcanzar un polinomio es un número long(números desde 0 hasta 4.294.967.296).

Limita la experimentación.

Impide comparar con el algoritmo de Miller-Rabin en los númerosdonde se podría observar las cotas asintóticas.

Page 81: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación sobre la librería NTL.

¾Por qué NTL?

Documentación más clara.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento=⇒ Programación propia.

Función exponencial dentro delbucle

=⇒ Subrutinas internas.

Problema.

Máximo grado que puede alcanzar un polinomio es un número long(números desde 0 hasta 4.294.967.296).

Limita la experimentación.

Impide comparar con el algoritmo de Miller-Rabin en los númerosdonde se podría observar las cotas asintóticas.

Page 82: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación sobre la librería NTL.

¾Por qué NTL?

Documentación más clara.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento=⇒ Programación propia.

Función exponencial dentro delbucle =⇒ Subrutinas internas.

Problema.

Máximo grado que puede alcanzar un polinomio es un número long(números desde 0 hasta 4.294.967.296).

Limita la experimentación.

Impide comparar con el algoritmo de Miller-Rabin en los númerosdonde se podría observar las cotas asintóticas.

Page 83: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación sobre la librería NTL.

¾Por qué NTL?

Documentación más clara.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento=⇒ Programación propia.

Función exponencial dentro delbucle =⇒ Subrutinas internas.

Problema.

Máximo grado que puede alcanzar un polinomio es un número long(números desde 0 hasta 4.294.967.296).

Limita la experimentación.

Impide comparar con el algoritmo de Miller-Rabin en los númerosdonde se podría observar las cotas asintóticas.

Page 84: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación sobre la librería NTL.

¾Por qué NTL?

Documentación más clara.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento=⇒ Programación propia.

Función exponencial dentro delbucle =⇒ Subrutinas internas.

Problema.

Máximo grado que puede alcanzar un polinomio es un número long(números desde 0 hasta 4.294.967.296).

Limita la experimentación.

Impide comparar con el algoritmo de Miller-Rabin en los númerosdonde se podría observar las cotas asintóticas.

Page 85: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Implementación sobre la librería NTL.

¾Por qué NTL?

Documentación más clara.

Amplio catálogo desubrutinas y tipos de datosya implementados.

Problemas de la implementación.

Algoritmo de factorización =⇒Subrutinas internas.

Cálculo del orden de un elemento=⇒ Programación propia.

Función exponencial dentro delbucle =⇒ Subrutinas internas.

Problema.

Máximo grado que puede alcanzar un polinomio es un número long(números desde 0 hasta 4.294.967.296).

Limita la experimentación.

Impide comparar con el algoritmo de Miller-Rabin en los númerosdonde se podría observar las cotas asintóticas.

Page 86: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Benchmark.

Objetivos.

Comparar la velocidad del AKScon Miller-Rabin.

Comparar la velocidad delalgoritmo en distintasarquitecturas.

Resultados.

Descripción.

El programa realiza un test deprimalidad AKS y Miller-Rabin a losnúmeros entre 9.000 y 9.100calculando el tiempo de ejecución ydevolviéndolo en una tabla.

MUCHO más rápido que MAPLE.

Page 87: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Benchmark.

Objetivos.

Comparar la velocidad del AKScon Miller-Rabin.

Comparar la velocidad delalgoritmo en distintasarquitecturas.

Resultados.

Descripción.

El programa realiza un test deprimalidad AKS y Miller-Rabin a losnúmeros entre 9.000 y 9.100calculando el tiempo de ejecución ydevolviéndolo en una tabla.

MUCHO más rápido que MAPLE.

Page 88: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Benchmark.

Objetivos.

Comparar la velocidad del AKScon Miller-Rabin.

Comparar la velocidad delalgoritmo en distintasarquitecturas.

Resultados.

Descripción.

El programa realiza un test deprimalidad AKS y Miller-Rabin a losnúmeros entre 9.000 y 9.100calculando el tiempo de ejecución ydevolviéndolo en una tabla.

MUCHO más rápido que MAPLE.

Page 89: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Benchmark.

Objetivos.

Comparar la velocidad del AKScon Miller-Rabin.

Comparar la velocidad delalgoritmo en distintasarquitecturas.

Resultados.

Descripción.

El programa realiza un test deprimalidad AKS y Miller-Rabin a losnúmeros entre 9.000 y 9.100calculando el tiempo de ejecución ydevolviéndolo en una tabla.

MUCHO más rápido que MAPLE.

Page 90: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Benchmark.

Objetivos.

Comparar la velocidad del AKScon Miller-Rabin.

Comparar la velocidad delalgoritmo en distintasarquitecturas.

Resultados.

Descripción.

El programa realiza un test deprimalidad AKS y Miller-Rabin a losnúmeros entre 9.000 y 9.100calculando el tiempo de ejecución ydevolviéndolo en una tabla.

MUCHO más rápido que MAPLE.

Page 91: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Computación GRID.

¾Qué es GRID?

Forma de distribuir grandes volumenes de trabajo entre muchosordenadores. Sólo es útil cuando el trabajo es paralelizable.

Page 92: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Computación GRID.

¾Qué es GRID?

Forma de distribuir grandes volumenes de trabajo entre muchosordenadores. Sólo es útil cuando el trabajo es paralelizable.

Page 93: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Computación GRID.

Objetivos.

Comparar los tiempos deejecución en un amplio rango devalores.

Hallar la curva asintótica decomplejidad del AKS.

Estimar π(x). Esto es, veri�carempíricamente el teorema dedensidad de los números primos.

Encontrar errores en la ejecuciónde Miller-Rabin.

Descripción.

Realizamos el test AKS y Miller-Rabinsobre el máximo conjunto de númerosque podemos alcanzar. Obtenemos lostiempos de ejecución de ambosalgoritmos y el número de primosencontrados. Es una gran cantidad decálculo a realizar. Debemos buscaralternativas al cálculo directo.

Page 94: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Computación GRID.

Objetivos.

Comparar los tiempos deejecución en un amplio rango devalores.

Hallar la curva asintótica decomplejidad del AKS.

Estimar π(x). Esto es, veri�carempíricamente el teorema dedensidad de los números primos.

Encontrar errores en la ejecuciónde Miller-Rabin.

Descripción.

Realizamos el test AKS y Miller-Rabinsobre el máximo conjunto de númerosque podemos alcanzar. Obtenemos lostiempos de ejecución de ambosalgoritmos y el número de primosencontrados. Es una gran cantidad decálculo a realizar. Debemos buscaralternativas al cálculo directo.

Page 95: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Computación GRID.

Objetivos.

Comparar los tiempos deejecución en un amplio rango devalores.

Hallar la curva asintótica decomplejidad del AKS.

Estimar π(x). Esto es, veri�carempíricamente el teorema dedensidad de los números primos.

Encontrar errores en la ejecuciónde Miller-Rabin.

Descripción.

Realizamos el test AKS y Miller-Rabinsobre el máximo conjunto de númerosque podemos alcanzar. Obtenemos lostiempos de ejecución de ambosalgoritmos y el número de primosencontrados. Es una gran cantidad decálculo a realizar. Debemos buscaralternativas al cálculo directo.

Page 96: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Computación GRID.

Objetivos.

Comparar los tiempos deejecución en un amplio rango devalores.

Hallar la curva asintótica decomplejidad del AKS.

Estimar π(x). Esto es, veri�carempíricamente el teorema dedensidad de los números primos.

Encontrar errores en la ejecuciónde Miller-Rabin.

Descripción.

Realizamos el test AKS y Miller-Rabinsobre el máximo conjunto de númerosque podemos alcanzar. Obtenemos lostiempos de ejecución de ambosalgoritmos y el número de primosencontrados. Es una gran cantidad decálculo a realizar. Debemos buscaralternativas al cálculo directo.

Page 97: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Computación GRID.

Objetivos.

Comparar los tiempos deejecución en un amplio rango devalores.

Hallar la curva asintótica decomplejidad del AKS.

Estimar π(x). Esto es, veri�carempíricamente el teorema dedensidad de los números primos.

Encontrar errores en la ejecuciónde Miller-Rabin.

Descripción.

Realizamos el test AKS y Miller-Rabinsobre el máximo conjunto de númerosque podemos alcanzar. Obtenemos lostiempos de ejecución de ambosalgoritmos y el número de primosencontrados. Es una gran cantidad decálculo a realizar. Debemos buscaralternativas al cálculo directo.

Page 98: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Computación GRID.

¾Cómo parelizamos el AKS?

Interna ↪→ Cada iteración del bucle por separado.

Desde a = 1 hasta b2√

ϕ(r) log(n)c comprueba:

si (x + a)n 6= xn + a mod (x r − 1, n) entonces Output= Compuesto.

Externa ↪→ Cada ejecución completa del test por separado.

Resultados.

Fracaso.

Estimación del tiempo de ejecución muy optimista.

El aula fue utilizada y apagaron varios ordenadores.

Page 99: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Computación GRID.

¾Cómo parelizamos el AKS?

Interna ↪→ Cada iteración del bucle por separado.

Desde a = 1 hasta b2√

ϕ(r) log(n)c comprueba:

si (x + a)n 6= xn + a mod (x r − 1, n) entonces Output= Compuesto.

Externa ↪→ Cada ejecución completa del test por separado.

Resultados.

Fracaso.

Estimación del tiempo de ejecución muy optimista.

El aula fue utilizada y apagaron varios ordenadores.

Page 100: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Computación GRID.

¾Cómo parelizamos el AKS?

Interna ↪→ Cada iteración del bucle por separado.

Desde a = 1 hasta b2√

ϕ(r) log(n)c comprueba:

si (x + a)n 6= xn + a mod (x r − 1, n) entonces Output= Compuesto.

Externa ↪→ Cada ejecución completa del test por separado.

Resultados.

Fracaso.

Estimación del tiempo de ejecución muy optimista.

El aula fue utilizada y apagaron varios ordenadores.

Page 101: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Computación GRID.

¾Cómo parelizamos el AKS?

Interna ↪→ Cada iteración del bucle por separado.

Desde a = 1 hasta b2√

ϕ(r) log(n)c comprueba:

si (x + a)n 6= xn + a mod (x r − 1, n) entonces Output= Compuesto.

Externa ↪→ Cada ejecución completa del test por separado.

Resultados.

Fracaso.

Estimación del tiempo de ejecución muy optimista.

El aula fue utilizada y apagaron varios ordenadores.

Page 102: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Computación GRID.

¾Cómo parelizamos el AKS?

Interna ↪→ Cada iteración del bucle por separado.

Desde a = 1 hasta b2√

ϕ(r) log(n)c comprueba:

si (x + a)n 6= xn + a mod (x r − 1, n) entonces Output= Compuesto.

Externa ↪→ Cada ejecución completa del test por separado.

Resultados.

Fracaso.

Estimación del tiempo de ejecución muy optimista.

El aula fue utilizada y apagaron varios ordenadores.

Page 103: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Computación GRID.

¾Cómo parelizamos el AKS?

Interna ↪→ Cada iteración del bucle por separado.

Desde a = 1 hasta b2√

ϕ(r) log(n)c comprueba:

si (x + a)n 6= xn + a mod (x r − 1, n) entonces Output= Compuesto.

Externa ↪→ Cada ejecución completa del test por separado.

Resultados.

Fracaso.

Estimación del tiempo de ejecución muy optimista.

El aula fue utilizada y apagaron varios ordenadores.

Page 104: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Test de estrés a Miller-Rabin.

Objetivos.

Hacer fallar al algoritmo deMiller-Rabin.

Descripción.

Realizamos 1.000.000 de iteracionesdel algoritmo de Miller-Rabin (con unaiteración) sobre un número decarmichael para ver si produce errores.

Resultados.

El algoritmo NO falló ni una sola vez.

Sospechamos que la implementación NO es el test de Miller-Rabinclásico.

Page 105: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Test de estrés a Miller-Rabin.

Objetivos.

Hacer fallar al algoritmo deMiller-Rabin.

Descripción.

Realizamos 1.000.000 de iteracionesdel algoritmo de Miller-Rabin (con unaiteración) sobre un número decarmichael para ver si produce errores.

Resultados.

El algoritmo NO falló ni una sola vez.

Sospechamos que la implementación NO es el test de Miller-Rabinclásico.

Page 106: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Test de estrés a Miller-Rabin.

Objetivos.

Hacer fallar al algoritmo deMiller-Rabin.

Descripción.

Realizamos 1.000.000 de iteracionesdel algoritmo de Miller-Rabin (con unaiteración) sobre un número decarmichael para ver si produce errores.

Resultados.

El algoritmo NO falló ni una sola vez.

Sospechamos que la implementación NO es el test de Miller-Rabinclásico.

Page 107: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Test de estrés a Miller-Rabin.

Objetivos.

Hacer fallar al algoritmo deMiller-Rabin.

Descripción.

Realizamos 1.000.000 de iteracionesdel algoritmo de Miller-Rabin (con unaiteración) sobre un número decarmichael para ver si produce errores.

Resultados.

El algoritmo NO falló ni una sola vez.

Sospechamos que la implementación NO es el test de Miller-Rabinclásico.

Page 108: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Veri�cación de la conjetura.

Objetivos.

Comprobar si la modi�cación delAKS, asumiendo la conjetura, esválida.

Comprobar la velocidad delalgoritmo modi�cado.

Conjetura

Si r es un número primo que no divide an y (x − 1)n = xn − 1 mod (x r − 1, n)entonces o n es primo o n2 = 1 mod r.

Descripción.

Realizamos una prueba similar al testde computación GRID, pero esta vezcon el algoritmo modi�cado.

Resultados.

Sólo es un poco más lento queMiller-Rabin.

Sorprendentemente Miller-Rabinpresenta errores. Repetimos eltest de estrés en esos valores.

Los errores siempre se producenen los mismos números. Semillade aleatoriedad.

Falla la conjetura. Posible erroren la implementación.

Page 109: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Veri�cación de la conjetura.

Objetivos.

Comprobar si la modi�cación delAKS, asumiendo la conjetura, esválida.

Comprobar la velocidad delalgoritmo modi�cado.

Conjetura

Si r es un número primo que no divide an y (x − 1)n = xn − 1 mod (x r − 1, n)entonces o n es primo o n2 = 1 mod r.

Descripción.

Realizamos una prueba similar al testde computación GRID, pero esta vezcon el algoritmo modi�cado.

Resultados.

Sólo es un poco más lento queMiller-Rabin.

Sorprendentemente Miller-Rabinpresenta errores. Repetimos eltest de estrés en esos valores.

Los errores siempre se producenen los mismos números. Semillade aleatoriedad.

Falla la conjetura. Posible erroren la implementación.

Page 110: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Veri�cación de la conjetura.

Objetivos.

Comprobar si la modi�cación delAKS, asumiendo la conjetura, esválida.

Comprobar la velocidad delalgoritmo modi�cado.

Conjetura

Si r es un número primo que no divide an y (x − 1)n = xn − 1 mod (x r − 1, n)entonces o n es primo o n2 = 1 mod r.

Descripción.

Realizamos una prueba similar al testde computación GRID, pero esta vezcon el algoritmo modi�cado.

Resultados.

Sólo es un poco más lento queMiller-Rabin.

Sorprendentemente Miller-Rabinpresenta errores. Repetimos eltest de estrés en esos valores.

Los errores siempre se producenen los mismos números. Semillade aleatoriedad.

Falla la conjetura. Posible erroren la implementación.

Page 111: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Veri�cación de la conjetura.

Objetivos.

Comprobar si la modi�cación delAKS, asumiendo la conjetura, esválida.

Comprobar la velocidad delalgoritmo modi�cado.

Conjetura

Si r es un número primo que no divide an y (x − 1)n = xn − 1 mod (x r − 1, n)entonces o n es primo o n2 = 1 mod r.

Descripción.

Realizamos una prueba similar al testde computación GRID, pero esta vezcon el algoritmo modi�cado.

Resultados.

Sólo es un poco más lento queMiller-Rabin.

Sorprendentemente Miller-Rabinpresenta errores. Repetimos eltest de estrés en esos valores.

Los errores siempre se producenen los mismos números. Semillade aleatoriedad.

Falla la conjetura. Posible erroren la implementación.

Page 112: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Veri�cación de la conjetura.

Objetivos.

Comprobar si la modi�cación delAKS, asumiendo la conjetura, esválida.

Comprobar la velocidad delalgoritmo modi�cado.

Conjetura

Si r es un número primo que no divide an y (x − 1)n = xn − 1 mod (x r − 1, n)entonces o n es primo o n2 = 1 mod r.

Descripción.

Realizamos una prueba similar al testde computación GRID, pero esta vezcon el algoritmo modi�cado.

Resultados.

Sólo es un poco más lento queMiller-Rabin.

Sorprendentemente Miller-Rabinpresenta errores. Repetimos eltest de estrés en esos valores.

Los errores siempre se producenen los mismos números. Semillade aleatoriedad.

Falla la conjetura. Posible erroren la implementación.

Page 113: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Veri�cación de la conjetura.

Objetivos.

Comprobar si la modi�cación delAKS, asumiendo la conjetura, esválida.

Comprobar la velocidad delalgoritmo modi�cado.

Conjetura

Si r es un número primo que no divide an y (x − 1)n = xn − 1 mod (x r − 1, n)entonces o n es primo o n2 = 1 mod r.

Descripción.

Realizamos una prueba similar al testde computación GRID, pero esta vezcon el algoritmo modi�cado.

Resultados.

Sólo es un poco más lento queMiller-Rabin.

Sorprendentemente Miller-Rabinpresenta errores. Repetimos eltest de estrés en esos valores.

Los errores siempre se producenen los mismos números. Semillade aleatoriedad.

Falla la conjetura. Posible erroren la implementación.

Page 114: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Veri�cación de la conjetura.

Objetivos.

Comprobar si la modi�cación delAKS, asumiendo la conjetura, esválida.

Comprobar la velocidad delalgoritmo modi�cado.

Conjetura

Si r es un número primo que no divide an y (x − 1)n = xn − 1 mod (x r − 1, n)entonces o n es primo o n2 = 1 mod r.

Descripción.

Realizamos una prueba similar al testde computación GRID, pero esta vezcon el algoritmo modi�cado.

Resultados.

Sólo es un poco más lento queMiller-Rabin.

Sorprendentemente Miller-Rabinpresenta errores. Repetimos eltest de estrés en esos valores.

Los errores siempre se producenen los mismos números. Semillade aleatoriedad.

Falla la conjetura. Posible erroren la implementación.

Page 115: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Estimación del error en Miller-Rabin.

Objetivos.

Observar el impacto del númerode iteraciones en la probabilidadde error en el algoritmo deMiller-Rabin.

Resultados.

Descripción.

El programa se ejecuta 20 veces,aumentando cada vez el número deiteraciones del algoritmo. En cadaejecución se realizan 100.000 testsobre uno de los númerosproblemáticos.

La probabilidad cae de formaexagerada.

Hay muy poco impacto en lavelocidad de ejecución.

Page 116: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Estimación del error en Miller-Rabin.

Objetivos.

Observar el impacto del númerode iteraciones en la probabilidadde error en el algoritmo deMiller-Rabin.

Resultados.

Descripción.

El programa se ejecuta 20 veces,aumentando cada vez el número deiteraciones del algoritmo. En cadaejecución se realizan 100.000 testsobre uno de los númerosproblemáticos.

La probabilidad cae de formaexagerada.

Hay muy poco impacto en lavelocidad de ejecución.

Page 117: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Estimación del error en Miller-Rabin.

Objetivos.

Observar el impacto del númerode iteraciones en la probabilidadde error en el algoritmo deMiller-Rabin.

Resultados.

Descripción.

El programa se ejecuta 20 veces,aumentando cada vez el número deiteraciones del algoritmo. En cadaejecución se realizan 100.000 testsobre uno de los númerosproblemáticos.

La probabilidad cae de formaexagerada.

Hay muy poco impacto en lavelocidad de ejecución.

Page 118: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Estimación del error en Miller-Rabin.

Objetivos.

Observar el impacto del númerode iteraciones en la probabilidadde error en el algoritmo deMiller-Rabin.

Resultados.

Descripción.

El programa se ejecuta 20 veces,aumentando cada vez el número deiteraciones del algoritmo. En cadaejecución se realizan 100.000 testsobre uno de los númerosproblemáticos.

La probabilidad cae de formaexagerada.

Hay muy poco impacto en lavelocidad de ejecución.

Page 119: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Estimación del error en Miller-Rabin.

Objetivos.

Observar el impacto del númerode iteraciones en la probabilidadde error en el algoritmo deMiller-Rabin.

Resultados.

Descripción.

El programa se ejecuta 20 veces,aumentando cada vez el número deiteraciones del algoritmo. En cadaejecución se realizan 100.000 testsobre uno de los númerosproblemáticos.

La probabilidad cae de formaexagerada.

Hay muy poco impacto en lavelocidad de ejecución.

Page 120: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Conclusiones de la experimentación.

Los algoritmos probabilistas son perfectamente válidos.

El AKS estándar NO puede competir con Miller-Rabin.

De con�rmarse la conjetura, el AKS modi�cado si podría competircon Miller-Rabin.

Page 121: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Conclusiones de la experimentación.

Los algoritmos probabilistas son perfectamente válidos.

El AKS estándar NO puede competir con Miller-Rabin.

De con�rmarse la conjetura, el AKS modi�cado si podría competircon Miller-Rabin.

Page 122: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Conclusiones de la experimentación.

Los algoritmos probabilistas son perfectamente válidos.

El AKS estándar NO puede competir con Miller-Rabin.

De con�rmarse la conjetura, el AKS modi�cado si podría competircon Miller-Rabin.

Page 123: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Trabajo futuro.

Prueba de estrés al AKS modi�cado para averiguar en qué númerosfalla.

Revisar la programación de la modi�cación y optimizarla.

Revisar la implementación de Miller-Rabin (aleatoriedad yalgoritmo).

Modi�car la librería NTL para poder realizar cálculos con exponentesde longitud arbitraria.

Estudio de los algoritmos de factorización y de los test de nulidad.

Page 124: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Trabajo futuro.

Prueba de estrés al AKS modi�cado para averiguar en qué númerosfalla.

Revisar la programación de la modi�cación y optimizarla.

Revisar la implementación de Miller-Rabin (aleatoriedad yalgoritmo).

Modi�car la librería NTL para poder realizar cálculos con exponentesde longitud arbitraria.

Estudio de los algoritmos de factorización y de los test de nulidad.

Page 125: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Trabajo futuro.

Prueba de estrés al AKS modi�cado para averiguar en qué númerosfalla.

Revisar la programación de la modi�cación y optimizarla.

Revisar la implementación de Miller-Rabin (aleatoriedad yalgoritmo).

Modi�car la librería NTL para poder realizar cálculos con exponentesde longitud arbitraria.

Estudio de los algoritmos de factorización y de los test de nulidad.

Page 126: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Trabajo futuro.

Prueba de estrés al AKS modi�cado para averiguar en qué númerosfalla.

Revisar la programación de la modi�cación y optimizarla.

Revisar la implementación de Miller-Rabin (aleatoriedad yalgoritmo).

Modi�car la librería NTL para poder realizar cálculos con exponentesde longitud arbitraria.

Estudio de los algoritmos de factorización y de los test de nulidad.

Page 127: estT de primalidad. - IIS Windows Serverpaginaspersonales.deusto.es/cruz.borges/Papers/06tFinCarrera.pdf · Introducción. Algoritmos. Resumen. Implementación. Conclusiones. estT

Introducción. Algoritmos. Resumen. Implementación. Conclusiones.

Trabajo futuro.

Prueba de estrés al AKS modi�cado para averiguar en qué númerosfalla.

Revisar la programación de la modi�cación y optimizarla.

Revisar la implementación de Miller-Rabin (aleatoriedad yalgoritmo).

Modi�car la librería NTL para poder realizar cálculos con exponentesde longitud arbitraria.

Estudio de los algoritmos de factorización y de los test de nulidad.