Está en la página 1de 7

UNIVERSIDAD NACIONAL DE TRUJILLO

Facultad de Ciencias fsicas y matemticas


Escuela de Ingeniera Informtica
ALGORITMO QUADRATIC SIEVE
Materia:
ALGEBRA UNIVERSAL PARA C.C
Alumno:
ULLOA PAREDES IVN ENRIQUE

Docente:
MITCHELL PAULO BLANCAS NUEZ

TRUJILLO PERU
2014

ALGORITMO QUADRATIC SIEVE

1- INTRODUCCION:
La base del algoritmo ms popular de clave pblica criptografa en uso hoy en da,
RSA, se basa en la dificultad de factorizar nmeros enteros grandes. Cuando se
generan las claves, algoritmos eficientes se utilizan para generar dos nmeros primos
muy grandes y se multiplican juntos. La persona que genera las claves sabe estos dos
nmeros, pero todo el mundo sabe solamente el producto. El producto contiene
suficiente informacin para cifrar un mensaje a la persona; los dos nmeros primos
permiten al receptor para descifrarlo. No se conoce ninguna manera de descifrarlo sin
usar los nmeros primos, pero por factorizacin, podemos extraer los dos factores
primos del producto y romper el cifrado.

2- DEFINICION:
El algoritmo de criba cuadrtica (QS del ingls quadratic sieve), es un algoritmo
de factorizacin de enteros y, en la prctica, el segundo mtodo ms rpido conocido
(despus de la criba general del cuerpo de nmeros). Es todava el ms rpido para enteros
que tienen 100 o menos dgitos decimales, y es considerado mucho ms sencillo que la criba
de cuerpos numricos. Es un algoritmo de factorizacin de propsito general, lo que
significa que su tiempo de ejecucin nicamente depende el tamao del entero a ser
factorizado, y no sobre una estructura especial o propiedades. Fue inventado por Carl
Pomerance en 1981 como una mejora a la criba lineal de Schroeppel.

3- PROPOSITO:
Los intentos de algoritmo para establecer una congruencia de cuadrados modulo n (el
nmero entero a factorizar), que a menudo conduce a una factorizacin de n . El algoritmo
funciona en dos fases: la recopilacin de datos de fase, donde se recoge la informacin que
puede conducir a una congruencia de las plazas; y el procesamiento de los datos de fase,
donde se pone todos los datos que ha recogido en una matriz y lo resuelve para obtener una
congruencia

de

cuadrados. La

fase

de

recopilacin

de

datos

puede

ser

fcilmente parallelized a muchos procesadores, pero la fase de procesamiento de datos


requiere de grandes cantidades de memoria, y es difcil de poner en paralelo de manera
eficiente a travs de muchos nodos o si los nodos de procesamiento no lo hacen cada uno
tiene memoria suficiente para almacenar toda la matriz.
El algoritmo de Wiedemann bloque se puede utilizar en el caso de unos sistemas de cada
uno capaz de mantener la matriz.
El enfoque ingenuo para encontrar una congruencia de los cuadrados es escoger un nmero
al azar, cuadrar, y espero que el mnimo no negativo modulo resto n es un cuadrado
perfecto(en los nmeros enteros). Por ejemplo, 80 2 mod 5959 es 441, que es 21 .

Este enfoque encuentra una congruencia de plazas slo en raras ocasiones para grandes n ,
pero cuando lo hace encontrar uno, ms de las veces, la congruencia no es trivial, y la
factorizacin se ha completado.

Esto es ms o menos la base del mtodo de factorizacin de Fermat . La criba cuadrtica es


una modificacin del mtodo de factorizacin de Dixon .
El tiempo de funcionamiento general requerida para la criba cuadrtica (factorizar un
entero n ) es

en el L-notacin
La constante e es la base del logaritmo natural.

4- ALGORITMO (EN GENERAL):


En resumen, el algoritmo bsico criba cuadrtica tiene estos pasos principales:

1. Elija una suavidad obligado B . El nmero ( B ), que indica el nmero de


nmeros primos de menos de B , ser controlar tanto la longitud de los vectores
y el nmero de vectores necesarios.
2. Utilice tamizado para localizar ( B ) + 1 nmeros un i tal que b i =
( un i 2 mod n ) es B -liso.
3. Factoriza el b i y generar vectores exponente mod 2 para cada uno.
4. Use el lgebra lineal para encontrar un subconjunto de estos vectores que se
suman al vector cero. Multiplique el correspondiente a i juntos nombrar el
resultado mod n : un y el b ijuntos, lo que arroja un B cuadrados lisa b 2 .
5. Ahora nos quedamos con la igualdad a 2 = b 2 mod n de la que obtenemos dos
races cuadradas de ( un 2 mod n ), uno tomando la raz cuadrada de los nmeros
enteros de b 2 es decir, b , y el otro el de un computarizada en el paso 4.

6. Ahora tenemos la identidad deseada:


. Calcular el MCD de N con la diferencia (o suma) de una y b . Esto produce un
factor, aunque puede ser un factor trivial ( n o 1). Si el factor es trivial, intntelo
de nuevo con una dependencia lineal diferente o diferente una .
El resto de este artculo se explican los detalles y extensiones de este algoritmo bsico.

5- EJEMPLO DE APLICACIN:
Factorizacin de n = 87.463 con el quadrtic sieve
Para encontrar una base de factor de considerar los valores de

As Seleccionamos la base del factor 2, 3, 13, 17, 19, 29.


Soluciones para

son:

Ahora comenzamos tamizado, utilizando un intervalo de cribado de la longitud 2


30
alrededor

Para los valores de x para los cuales


exponente vector de mdulo 2 es:

divide

completamente,

el

Ahora resolvemos (la matriz es transpuesta como resolvemos Av = 0 y no vA = 0):

mdulo 2. Una solucin es

Por tanto, nos tomamos el primero, segundo, tercero y cuarto del valor de x y
conseguir

Esto produce los GCDS:

que dan una factorizacin