Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
.
17
f (n) = f (p
a
1
)f (p
a
2
) . . . f (p
a
s
)
Funcin de Euler
Ejemplo
Sea p = 5 y a = 3, entonces (5
3
) = 5
3
- 5
3
1
= 100.
Teorema 4: Sean m y n nmeros enteros positivos
relativamente primos, entonces (m*n) = (m)(n).
Ejemplo
Sea m = 5 y n = 3, entonces (5 3) = (5) (3)
= (5 - 1) (3 - 1)
= 8
18
Funcin de Euler
19
Teorema 5: Sean a
i
E Z
+
, p
j
numeros
primos, donde i, j = 1 . . . k, n =
p
2
. . . P
k
entonces
(n) = n(1 -
1
)(1 -
1
) . . . (1 -
1
)
p
1
p
2
p
k
Ejemplo
(720) = (2
4
3
2
5
1
) = 720(1-
1
)(1 -
1
)(1 -
1
) = 192
2 3 5
Funcin de Euler
Teorema 6: Sea 2 < n E Z
+
, entonces (n) es
par.
Un criptosistema asimtrico es seguro si esta
basado en la intratabilidad
de ciertos problemas
computacionales, tales como los problemas de
la factorizacin entera, la raz cuadrada modulo
n, etc.
20
Problema de factorizacin entera
21
Por el teorema fundamental de la aritm'etica se sabe que
cada nu'mero entero positivo puede ser escrito como el
producto de nu'meros primos. En la presente secci'on nos
centramos en este problema comentando los tipos de
factorizaci'on los cuales son importantes para la
criptograf'a, pues es la base para la seguridad de los
criptosistemas RSA y de Rabin. El problema se establece
del modo siguiente:
Dado un nu'mero entero n E Z
+
, el problema es
hallar la factorizaci'on de n en factores primos, es
decir
n = p
e
1
p
e
2
. . . p
e
k
, con p
i
= p
j
, i = j, e
i
1
1
2
k
Problema de factorizacin entera
El problema de decidir cuando un nmero
entero es compuesto o es primo, en general es
mas fcil que el problema de factorizar, por ello
antes de factorizar un nmero es mejor primero
testar para comprobar si tal nmero es o no es
compuesto.
22
Problema de factorizacin entera
La factorizacin no trivial de n es de la forma
n = ab, donde 1 < a < n y 1 < b < n, con a y
b no necesariamente nmeros primos. Si el
valor de n es grande, entonces es necesario
contar con algoritmos que faciliten el trabajo
en dos etapas, es decir que primero se
obtengan los factores a y b y luego testar la
primalidad de tales factores.
23
Problema de factorizacin entera
De acuerdo a su comportamiento computacional, tenemos
diversos algoritmos los cuales son clasificados en dos tipos a
seguir:
Factorizacin de propsito especial
En este tipo de factorizacin el tiempo de ejecucin de los
algoritmos dependen de las propiedades de los factores de n.
Los algoritmos conocidos son:
1. Algoritmo de divisin trial.
2. Algoritmo de Rho Pollard
3. Algoritmo de (p - 1) Pollard.
4. Algoritmo de curva elptica.
24
Problema de factorizacin entera
Factorizacin de propsito especial
En este tipo de factorizacin el tiempo de
ejecucin de los algoritmos dependen del
tamao de n.
1. Algoritmo de quadratic sieve.
2. Algoritmo de number field sieve.
25
El algoritmo de Rho Pollard
El algoritmo de Rho Pollard es utilizado para hallar factores
pequeos de cierto nmero compuesto. En efecto:
Entrada: Un nmero entero n que no sea una potencia
prima.
Salida : Factor no trivial d de n
a 2;
b 2;
PARA (i = 1, 2, . . .);
a a
2
+ 1 mod n;
b b
2
+ 1 mod n;
b b
2
+ 1 mod n;
d mcd(abs(a b), n);
SI (1 < d < n)
Retornar d;
SI (d >= n)
Retornar Sin exito;
FIN PARA;
26
El algoritmo de Rho Pollard
El algoritmo de Rho Pollard es utilizado para hallar factores
pequeos de cierto nmero compuesto. En efecto:
Entrada: Un nmero entero n que no sea una potencia
prima.
Salida : Factor no trivial d de n
a 2;
b 2;
PARA (i = 1, 2, . . .);
a a
2
+ 1 mod n;
b b
2
+ 1 mod n;
b b
2
+ 1 mod n;
d mcd(abs(a b), n);
SI (1 < d < n)
Retornar d;
SI (d >= n)
Retornar Sin exito;
FIN PARA;
27
una potencia prima es una
potencia entera y positiva de
un nmero primo. Por
ejemplo 5=5, 9=3 y 16=2
4
son potencias primas,
mientras que 6=23, 15=35
y 36=6=23 no lo son....
El algoritmo de Rho Pollard
Los algoritmos Rho Pollard y (p - 1) Pollard, creados en 1974 por
J.M. Pollard, tienen como caracterstica su lentitud para factorizar
problemas difciles, a menos que los nmeros a factorizar tengan
propiedades especiales.
Ejemplo
Sea n = 455459 un nmero entero, al aplicar el algoritmo se
obtiene el factor 743. El otro factor se obtiene al dividir n entre
el factor reportado por el algoritmo, es decir 613.
Ejemplo
Sea n = 8051 un nmero entero, el algoritmo reporta el factor no
trivial 97. El otro factor es 83.
28
El algoritmo Quadratic sieve
El mtodo descrito mediante el algoritmo de
Quadratic sieve creado por Carl Pomerance
en 1981, hizo posible por primera vez
factorizar nmeros de mas cien dgitos. Tuvo
gran suceso cuando factoriz un entero de
129 dgitos, conocido como RSA-129 cuya
factorizacin fue considerado como un
descubrimiento por los creadores del RSA.
29
El algoritmo Quadratic sieve
30
El algoritmo Quadratic sieve
31
El algoritmo Quadratic sieve
32
El algoritmo Quadratic sieve
El valor de b es llamado suave si se cumple que:
En la actualidad el mejor algoritmo para factorizar
nmeros enteros con mas de 115 dgitos es el
number field sieve, que inicialmente fue propuesto
por J.M. Pollard y mejorado posteriormente por
Buhler, Lenstra y Pomerance. Su xito lo tuvo
cuando factoriz el nmero entero de 160 dgitos en
el ao 2003, conocido como RSA-160.
33
j
Residuo cuadrtico y Residuo no
cuadrtico
Definicin (residuo cuadrtico): Si n es un
nmero primo impar, entonces a es un residuo
cuadrtico de n, si el mcd(a,n) = 1 y la
congruencia x
2
a(mod n) tiene solucin.
Podemos deducir que si la congruencia
x
2
a(mod n) no tiene solucin, entonces se
dice que a no es residuo cuadrtico de n.
34
Residuo cuadrtico y Residuo no
cuadrtico
Ejemplo
Sea n = 11. Entonces para determinar que enteros son residuos cuadrticos de 11,
debemos computar los cuadrados de los nmeros enteros 1, 2, . . . , 10, es decir
x
2
a(mod m) = 1
2
1(mod 11) x
2
a(mod m) = 9
2
4(mod 11)
x
2
a(mod m) = 2
2
4(mod 11) x
2
a(mod m) = 10
2
1(mod 11)
x
2
a(mod m) = 3
2
9(mod 11)
x
2
a(mod m) = 4
2
5(mod 11)
x
2
a(mod m) = 5
2
3(mod 11)
x
2
a(mod m) = 6
2
3(mod 11)
x
2
a(mod m) = 7
2
5(mod 11)
x
2
a(mod m) = 8
2
9(mod 11)|
35
Residuo cuadrtico y Residuo no
cuadrtico
Por lo tanto, los residuos cuadrticos son: 1, 3,
4, 5, 9 y los residuos no cuadrticos son: 2, 6,
7, 8, 10.
Lema 3.22: Sean p un nmero primo impar,
a un entero no divisible por p. Entonces la
expresin x
2
a(mod p) no tiene soluciones o
tiene exactamente dos soluciones incongruentes
modulo p.
36
Residuo cuadrtico y Residuo no
cuadrtico
Teorema 3.23: Sea p un nmero primo
impar, entonces existen exactamente (p-1)/2
residuos cuadrticos de p y (p-1)/2 residuos
no cuadrticos de p entre los nmeros enteros
1, 2, . . . , p - 1.
37
Smbolo de Legendre
Definicin: Sean p un nmero primo e
impar, a un nmero entero no divisible por
p. Entonces el smbolo de Legendre
(
) se
define por:
(
)
38
1 si a es residuo cuadrtico de p.
-1 si a no es residuo cuadrtico de p.
Smbolo de Legendre
39
Smbolo de Jacobi
El smbolo de Jacobi
es una generalizacin
del smbolo de Legendre y es til para
evaluar los smbolos de Legendre as como en
la definicin de un tipo de nmeros llamados
pseudoprimos.
El siguiente algoritmo permite obtener el
smbolo de Jacobi:
40
Smbolo de Jacobi
Algoritmo previo necesario
Func_exp(x)
cont=0
Mientras (x mod 2 == 0) hacer
x=x/2
cont=cont+1
Fin mientras
retornar (cont)
41
Smbolo de Jacobi
42
Smbolo de Jacobi
43
FIN SI
FIN SI
FIN SI
Smbolo de Jacobi
44
FIN SI
FIN SI
Smbolo de Jacobi
Teorema 3.26: Existe un algoritmo de tiempo
polinomial que computa el smbolo de Jacobi
(