Está en la página 1de 31

Captulo 8

Teora de la Complejidad Algortmica


Seguridad Informtica y Criptografa
Ultima actualizacin del archivo: 01/03/06
Este archivo tiene: 31 diapositivas

v 4.1

Material Docente de
Libre Distribucin

Dr. Jorge Rami Aguirre


Universidad Politcnica de Madrid

Este archivo forma parte de un curso completo sobre Seguridad Informtica y Criptografa. Se autoriza el
uso, reproduccin en computador y su impresin en papel, slo con fines docentes y/o personales,
respetando los crditos del autor. Queda prohibida su comercializacin, excepto la edicin en venta en el
Departamento de Publicaciones de la Escuela Universitaria de Informtica de la Universidad Politcnica de
Madrid, Espaa.
Curso de Seguridad Informtica y Criptografa JRA

Captulo 8: Teora de la Complejidad Algortmica

Pgina 2

Introduccin a la teora de la complejidad


La teora de la complejidad de los algoritmos permitir, entre otras
cosas, conocer la fortaleza de un algoritmo y tener as una idea de su
vulnerabilidad computacional.
Complejidad Computacional
Los algoritmos pueden clasificarse segn su tiempo de ejecucin, en
funcin del tamao u orden de la entrada. Hablamos as de
complejidad:
Polinomial comportamiento similar al lineal
Polinomial No Determinsta comportamiento exponencial
Esto dar lugar a problemas fciles y problemas difciles cuyo
uso ser muy interesante en la criptografa.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 3

Operaciones bit en la suma


Si deseamos sumar dos nmeros binarios n y m, ambos de k bits
realizaremos k operaciones bit puesto que cada operacin bsica
con los dgitos de una columna es una operacin bit.
Recuerde que 0+0 = 0, 0+1=1, 1+0 = 1, 1+1 = 0 con bit 1 de acarreo.
Si un nmero tiene menos bits, se rellena con ceros por la izquierda.

Ejemplo: encontrar el nmero de operaciones bit necesarias en la


suma en binario de 13+7 1101 + 0111 (de k = 4 bits)
1 1
1
+
0
1 0

1
1
1
1

1
(bits de acarreo)
0 1
1 1
0 0

Cada operacin bsica que hacemos con una columna se conoce


como operacin bit, luego necesitamos k = 4 operaciones bit.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 4

Operaciones bit en la multiplicacin


Para la multiplicacin de un nmero n de k bits por un nmero m
de h bits, el nmero de operaciones bit ser igual a 2kh.
Suponemos que k h.
Recuerde que 0x0 = 0, 0x1=0, 1x0 = 0, 1x1 = 1.

Ejemplo: encontrar el nmero de operaciones bit necesarias en la


multiplicacin en binario 10x5 1010 x 101 (4 y 3 bits)
1
1
0 0
+ 1 0 1
1 1 0

0
0
0
0
0

1 0 x 1 0 1
1 0
0
(procedemos ahora a sumar)
1 0

Como cada operacin bsica entre dos bits es una operacin bit,
hemos realizado hk = 34 multiplicaciones y luego kh = 43
sumas, es decir en total 2kh = 24 operaciones bit.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 5

Captulo 8: Teora de la Complejidad Algortmica

La funcin O(n)
Las operaciones dependern del tamao de la entrada por lo
que esta complejidad se expresar en trminos del tiempo T
necesario para el clculo del algoritmo y del espacio S que
utiliza en memoria, y se expresar mediante una funcin
f (n), donde n es el tamao de la entrada.
Esta funcin ser una aproximacin pues el resultado exacto
depender de la velocidad del procesador.
f (n) = O(g(n))
Y se define as:

Ejemplo

f = O(n) ssi co,no / f(n) cog(n)

http://www.mm.informatik.tu-darmstadt.de/courses/2002ws/ics/lectures/v14.pdf
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 6

Captulo 8: Teora de la Complejidad Algortmica

Complejidad de una funcin f(n)


Si

f (n) = 4n2 + 2n + 5

f = O(n2)?

se cumple que cog(n) = con2 f (n)?


cono2

Sea co = 6

f (n) = 4n2 + 2n + 5 con2 f (n)?

co

no

11

No

24

25

No

54

38

96

77

Luego, la complejidad de f (n) es exponencial.


Jorge Rami Aguirre

Madrid (Espaa) 2006

Se cumple
siempre

Captulo 8: Teora de la Complejidad Algortmica

Pgina 7

Tiempos de ejecucin
En la expresin O(n) aparecer el trmino que domina al
crecer el valor de n.
El tiempo de ejecucin de un algoritmo T1 que realiza 2n+1
operaciones es de tipo O(n); uno T2 que realiza 3n2+n+3
operaciones ser de tipo O(n2), etc.
Para realizar la suma de la diapositiva anterior necesitamos
O(n) = O(log n) operaciones bit y para el caso de la
multiplicacin, stas sern O(nm) = O(log n log m)
operaciones bit.

+ Operacin binaria: n+m (de k bits cada uno)


Operacin binaria: nm (de k y h bits respectivamente)
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 8

Captulo 8: Teora de la Complejidad Algortmica

Algoritmos de complejidad polinomial


Un algoritmo se dice que tiene tiempo de ejecucin
polinomial (no confundir con lineal) si ste depende
polinmicamente del tamao de la entrada.
Si la entrada es de tamao n y t es un entero, el
nmero de operaciones bit ser O(logt n). Ejemplos
Si t = 1, el sistema es lineal

Suma

Si t = 2, el sistema es cuadrtico

Producto

Si t = 3, el sistema es cbico

Mximo Comn
Divisor (Euclides)

Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 9

Ejemplo de complejidad polinomial


Pregunta: El tiempo de ejecucin de un algoritmo es
O(log3 n). Si doblamos el tamao de la entrada, en
cunto aumentar este tiempo?
Solucin: En el primer caso el tiempo es O(log3 n) y en
el segundo O(log3 2n). Para este sistema polinomial, el
tiempo se incrementar slo en log3 2 operaciones bit.
Estos son los denominados problemas fciles y son
los que involucrarn un proceso de cifra y descifrado
(o firma) por parte del o de los usuarios autorizados.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 10

Captulo 8: Teora de la Complejidad Algortmica

Algoritmos de complejidad no determinista


Un algoritmo se dice que tiene tiempo de ejecucin
polinomial no determinista (en este caso exponencial)
si ste depende exponencialmente del tamao de la
entrada.
Si la entrada es de tamao n y t es un entero, el
nmero de operaciones bit ser O(nt).
Ejemplo

Para t = 2, ser exponencial de orden 2


Para t = 3, ser exponencial de orden 3
Jorge Rami Aguirre

Madrid (Espaa) 2006

n!

Captulo 8: Teora de la Complejidad Algortmica

Pgina 11

Ejemplo de complejidad no determinista


Pregunta: El tiempo de ejecucin de un algoritmo es
O(n3). Si doblamos el tamao de la entrada, en cunto
aumentar este tiempo?
Solucin: En el primer caso el tiempo es O(n3) y en el
segundo O((2n)3) = O(8n3). El tiempo para este sistema
exponencial, se incrementar en 8 operaciones bit.
Estos son los denominados problemas difciles y son a
los que deber enfrentarse un criptoanalista o atacante
que desea romper una cifra o la clave de un usuario.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Comparativas de complejidad
Los algoritmos polinmicos y exponenciales se
comparan por su complejidad O(nt).

Polinmico constante
O(1)
Polinmico lineal
O(n)
Polinmico cuadrtico O(n2)
Polinmico cbico
O(n3) ... etc.
Exponencial
O(dh(n))
donde d es una constante y h(n) un polinomio

Si suponemos un ordenador capaz de realizar 109


instrucciones por segundo obtenemos este cuadro:
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 12

Pgina 13

Captulo 8: Teora de la Complejidad Algortmica

Tabla comparativa de tiempos


Entrada

O(n)

O(n2)

O(n3)

n = 10

10-8 seg

10-7 seg

10-6 seg

10-6 seg

n = 102

10-7 seg

10-5 seg

10-3 seg

41013 aos

n = 103

10-6 seg

10-3 seg

1 seg

Muy grande

Incrementos de un
orden de magnitud

O(2n)

Computacionalmente
imposible

Entrada/109: Para n = 100 O(n2) = 1002/109 = 10-5 seg


Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 14

Problemas de tipo NP
En criptografa nos interesan las funciones f(x) de un solo
sentido, es decir:
Fcil calcular f(x) pero muy difcil calcular f -1(x)
salvo que conozcamos un secreto o trampa.
Porque dan lugar a problemas de tipo NP, polinomiales no
deterministas, computacionalmente difciles de tratar:
Problema de la mochila
Definicin del
Problema de la factorizacin
problema y
ejemplos
Problema del logaritmo discreto
Problema logaritmo discreto en curvas elpticas
Otros
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 15

El problema de la mochila
Es un problema de tipo NP en el
que el algoritmo debe realizar en
cada paso una seleccin iterativa
entre diferentes opciones.
Enunciado:
Dada una mochila de determinadas dimensiones de alto,
ancho y fondo, y un conjunto de elementos de distintos
tamaos menores que ella y de cualquier dimensin, ... es
posible llenar la mochila (completa) con distintos elementos
de ese conjunto sin repetir ninguno de ellos?
http://en.wikipedia.org/wiki/Knapsack_problem
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 16

Captulo 8: Teora de la Complejidad Algortmica

Ejemplo del problema de la mochila


S = a 1 + a 2 + a3

A = {a1, a2, a3}

Se incluye a1 en la suma S?

a1

No

Los resultados son todos


distintos: una casualidad

Se incluye a2 en la suma?
S

a2

No

a2

No

Se incluye a3?
a3

S
S1

a3

No
S2

a3

No
S3

S4

a3

No
S5

S6

No
S7

S1 = a1+a2+a3

S2 = a1+a2

S3 = a1+a3

S4 = a 1

S5 = a2+a3

S 6 = a2

S7 = a3

S8 =

S8

Sea una mochila


con 4 elementos
{2, 4, 9, 10}
Cuntas sumas
posibles hay?
Solucin: 24 = 16
, 2, 4, 6,
9, 10, 11, 12,
13, 14, 15, 16,
19, 21, 23, 25.
Reptalo con
{2, 4, 6, 10}

Hemos tenido que evaluar 23 = 8 valores (carcter exponencial)


Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 17

Inters de las mochilas en criptografa


Por qu tiene inters este problema en criptografa?
a) Es de tipo NP completo: su resolucin por lo general
implica una complejidad exponencial. Luego, ser
difcil de atacar o criptoanalizar.
b) Existe un caso en el que su resolucin es lineal y, si la
solucin existe, sta ser nica. Este caso se dar cuando
A = {a1, a2, a3, .., an} est ordenado de menor a mayor de
forma que ai es mayor que la suma de los aj que le
preceden: a2 > a1; a3 > a1 + a2; a4 > a1 + a2 + a3; etc.
Esto dar lugar a los criptosistemas de mochila
tramposa que veremos en un prximo captulo.

Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 18

Problemas usados en criptografa asimtrica


Los problemas ms usados en la criptografa asimtrica o de
clave pblica actualmente son:
- El problema de la factorizacin de nmeros grandes PFNG
- El problema del logaritmo discreto PLD
En estos casos, cuando los nmeros son del orden de mil bits
(unos 310 dgitos) su clculo se vuelve computacionalmente
imposible debido al tiempo que deberamos emplear.
Si lo desea, puede comprobar los ejemplos de las siguientes
diapositivas usando el software de prcticas Fortaleza de libre
distribucin y que puede descargarlo desde esta direccin.
http://www.criptored.upm.es/software/sw_m001e.htm
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 19

El problema de la factorizacin PFNG


Dado un nmero n que es el resultado del producto de dos o
ms primos, se pide encontrar estos factores.
Por ejemplo, cuando el valor n = pq es muy grande, el
Problema de la Factorizacin de Nmeros Grandes PFNG se
vuelve computacionalmente intratable.
No obstante, el caso inverso, dado dos nmeros primos p y q,
encontrar el resultado pq = n, se trata de un problema de tipo
polinomial.
Este problema se usar en la generacin del par de claves del
sistema de cifra con clave pblica RSA.
http://home.netcom.com/~jrhowell/math/factor.htm
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 20

Compruebe lo que significa el PFNG


Clculo fcil o polinomial (funcin directa)
Calcule a mano los siguientes productos de dos primos y
tome el tiempo aproximado que tarda en la operacin:
a) 1331 b) 113131 c) 1.0131.031
calcule...
No vale usar
calculadora...

Qu puede concluir
de estos clculos?

Clculo difcil o no polinomial (funcin inversa)


Usando la criba de Eratstenes, factorice en dos primos los
siguientes nmeros y vuelva a tomar el tiempo empleado:
a) 629 b) 17.399 c) 1.052.627
calcule...
En el caso a) son primos de 2 dgitos, en b) de 3 y en c) de 4.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 21

Captulo 8: Teora de la Complejidad Algortmica

Solucin al ejemplo anterior


Dificultad polinomial (rpido)
a) 1331 = 403 b) 113131 = 14.803 c) 10131031 = 1.044.403
A medida que aumenta el tamao de la entrada, el tiempo de clculo
aumenta proporcionalmente con el nmero de dgitos.
Dificultad no determinista (lento)
a) 629 b) 17.399 c) 1.052.627

Paciencia, un
computador va a
sufrir lo mismo ...

Da igual que el algoritmo sea ste muy elemental u otro ms eficaz;


aqu resulta evidente que el tiempo de clculo aumenta mucho al
incrementar en un dgito los nmeros en cuestin. Es no lineal.
Solucin: Los resultados a), b) y c) son el producto de los nmeros
primos inmediatamente superiores a los que se usaron en el clculo
polinomial es decir 17*37; 127*137; 1019*1033.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 22

El problema del logaritmo discreto PLD


Dado un par de enteros y que pertenecen al Campo de
Galois GF(p), se pide encontrar un entero x de forma tal que
x = log mod p.
Si el valor p es muy grande, el Problema del Logaritmo
Discreto PLD es computacionalmente intratable.
No obstante, el caso inverso, dado dos nmeros y x,
encontrar = x mod p es un problema polinomial.
Este problema se usar, entre otros, en la creacin de las
claves del sistema de cifra con clave pblica ElGamal y en el
protocolo de intercambio de clave de Diffie y Hellman.
http://en.wikipedia.org/wiki/Discrete_logarithm
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 23

El PLD en su funcin directa o fcil


Clculo fcil o polinomial (funcin directa)
Calcule a mano las siguientes exponenciaciones mod p y
tome el tiempo aproximado que tarda en la operacin:
a) 54 mod 7 b) 817 mod 41 c) 9211 mod 251
54 = 625
817 = 2.251.799.813.685.248
9211 = 3.996.373.778.857.415.671.808
Haciendo uso de la propiedad de reducibilidad
vista en el apartado de matemticas discretas,
podr bajar significativamente el tiempo de
clculo. Este tiempo ser de tipo polinomial
segn el tamao de la entrada.
Jorge Rami Aguirre

Madrid (Espaa) 2006

Solucin:
54 mod 7 = 2
817 mod 41 = 39
9211 mod 251 = 217

Pgina 24

Captulo 8: Teora de la Complejidad Algortmica

El PLD y su funcin inversa o difcil


Clculo difcil o no determinista (funcin inversa)
Aunque existen varios algoritmos para este tipo de clculos
(al igual que para la factorizacin) use la fuerza bruta que se
explica a continuacin para encontrar los siguientes valores y
vuelva a tomar el tiempo empleado:
a) log5 2 mod 7 b) log8 39 mod 41 c) log92 217 mod 251
Aplicando fuerza bruta en el 1er caso (la base elevada a todos los restos de
p) al final se obtiene que log5 2 mod 7 = 4.
Solucin:
51 mod 7 = 5 52 mod 7 = 4 53 mod 7 = 6
log5 2 mod 7 = 4
54 mod 7 = 2 55 mod 7 = 3 56 mod 7 = 1
log 39 mod 41 = 17
En trmino medio deber recorrer la mitad del
espacio de valores para encontrarlo ...
Jorge Rami Aguirre

Madrid (Espaa) 2006

log92 217 mod 251 = 11

Pgina 25

Captulo 8: Teora de la Complejidad Algortmica

Logaritmo discreto con generador


En el cuerpo p = 13, el 2 es un generador, luego:
log2 1 mod 13 = 0
log2 4 mod 13 = 2
log2 7 mod 13 = 11
log2 10 mod 13 = 10

Es
decir

log2 2 mod 13 = 1
log2 5 mod 13 = 9
log2 8 mod 13 = 3
log2 11 mod 13 = 7

21 mod 13 = 2
24 mod 13 = 3
27 mod 13 = 11
210 mod 13 = 10

22 mod 13 = 4
25 mod 13 = 6
28 mod 13 = 9
211 mod 13 = 7

log2 3 mod 13 = 4
log2 6 mod 13 = 5
log2 9 mod 13 = 8
log2 12 mod 13 = 6
23 mod 13 = 8
26 mod 13 = 12
29 mod 13 = 5
212 mod 13 = 1

Se cumplir siempre que a0 mod p = ap-1 mod p = 1.


Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 26

Captulo 8: Teora de la Complejidad Algortmica

Logaritmo discreto con no generador


En p=13 el 2
era generador,
pero no as el
nmero 3...
Luego

30 mod 13 = 1
33 mod 13 = 1
36 mod 13 = 1
39 mod 13 = 1

31 mod 13 = 3
34 mod 13 = 3
37 mod 13 = 3
310 mod 13 = 3

32 mod 13 = 9
35 mod 13 = 9
38 mod 13 = 9
311 mod 13 = 9

log3 1 mod 13 = 0

log3 2 mod 13 = NE

log3 3 mod 13 = 1

log3 4 mod 13 = NE

log3 5 mod 13 = NE

log3 6 mod 13 = NE

log3 7 mod 13 = NE

log3 8 mod 13 = NE

log3 9 mod 13 = 2

log3 10 mod 13 = NE

log3 11 mod 13 = NE

log3 12 mod 13 = NE

NE: no existe el logaritmo discreto en ese cuerpo


Jorge Rami Aguirre

Madrid (Espaa) 2006

Pgina 27

Captulo 8: Teora de la Complejidad Algortmica

Hay ms funciones NP?


Existen otros muchos problemas matemticos que dan
lugar a problemas del tipo NP, algunos de ellos basados en
estas funciones unidireccionales one-way functions que
tanto interesan en criptografa.
Las dos ltimas funciones vistas, la factorizacin de
nmeros grandes y el logaritmo discreto, son las que ms
uso tienen de momento en la criptografa actual.
En la siguiente pgina Web encontrar una interesante lista
con 88 problemas de tipo NP.
http://www.csc.liv.ac.uk/~ped/teachadmin/COMP202/annotated_np.html

Fin del captulo


Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 28

Cuestiones y ejercicios (1 de 2)
1.

2.
3.
4.
5.

6.

Deseamos sumar de forma binaria el nmero 15 (1111) y el nmero


10 (1010), ambos de k = 4 bits. Haga la suma binaria y verifique
que el nmero de operaciones bit desarrolladas es k = 4.
Si multiplicamos en binario 101011, donde k = 4 bits y h = 2 bits,
compruebe que el nmero de operaciones bit realizadas es 2kh.
Por qu son interesantes los problemas de tipo NP en criptografa?
Defina el problema de la mochila y su posible utilizacin en un
sistema de cifra.
Es siempre nica la solucin de una mochila? Piense sobre el
particular y su trascendencia si las utilizamos sin ningn control en
sistemas de cifra.
Factorice mentalmente el valor n = 143. Intente hacer lo mismo
para n = 1.243. Qu opina ahora del problema de la factorizacin?

Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 29

Cuestiones y ejercicios (2 de 2)
7.
8.
9.

Se le ocurre alguna forma de utilizar este problema de un solo


sentido para cifrar informacin?
A partir de la ecuacin = x mod p, defina el problema del
logaritmo discreto.
Calcule 713 mod 31 = C usando la propiedad de reducibilidad.
Compruebe con Fortaleza que el exponente 13 = log 7 C mod 31.

10. Qu utilidad le encuentra a este problema en criptografa?


11. Qu relacin existe entre generadores de un cuerpo, el conjunto
completo de restos y el clculo del logaritmo discreto?
12. Qu sucede si deseamos encontrar un logaritmo discreto que no
existe, por ejemplo log5 19 mod 31?
Nota: si usa el software Fortaleza, deber detener la operacin al
no contemplarse en su cdigo este hecho .
Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 30

Prcticas del tema 8 (1/2)


Software Fortaleza:
1.
2.
3.
4.

5.

http://www.criptored.upm.es/software/sw_m001e.htm

Encuentre el tiempo que tarda el programa en calcular los siguientes


productos de primos: 23x61; 281x829; 3001x5477; 26317x63901.
Encuentre cunto tarda el programa en realizar un producto de dos
nmeros de 300 dgitos cada uno.
Factorice por Pollard Rho los siguientes productos y encuentre el tiempo
que tarda el programa: 1403; 232949; 16436477; 1681682617.
Factorice por Pollard Rho los nmeros de 16 dgitos que se indican y
observe el tiempo empleado: 3745667802664727; 4044773133465121;
3907781049017851; 41710432708253. Saque conclusiones.
Cunto tarda el programa en demostrar la primalidad de estos nmeros
50000000000000000059; 500000000000000000000000000009;
5000000000000000000000000000000000000021; de 20, 30 y 40 dgitos?
Comprelos con los tiempos de factorizacin y saque conclusiones.

Jorge Rami Aguirre

Madrid (Espaa) 2006

Captulo 8: Teora de la Complejidad Algortmica

Pgina 31

Prcticas del tema 8 (2/2)


6.

7.

8.

9.

Encuentre el tiempo que tarda el programa en calcular las siguientes


potencias modulares: 351215 mod 3456; 782487652456 mod 34654783;
891278265367876254356758778234002462 mod 762488740981009687272345.
Si d = dgitos, cunto tiempo tarda el programa en calcular una potencia
en los siguientes rangos de valores: 50d100d mod 100d; 50d100d mod 150d,
50d100d mod 200d, 50d100d mod 250d? Saque conclusiones.
Si d = dgitos, cunto tiempo tarda el programa en calcular una potencia
en los siguientes rangos de valores: 50d25d mod 200d; 50d50d mod 200d,
50d75d mod 200d, 50d100d mod 200d? Saque conclusiones.
Compruebe las siguientes potencias y luego mediante los algoritmos de
Bsqueda Exhaustiva, Paso Gigante - Paso Enano y Pohlig - Hellman,
calcule el correspondiente logaritmo discreto. El mdulo p es primo y es
un generador en p. Observe los tiempos de ejecucin y saque conclusiones.
- 401357 mod 87211 = 31211
log401 31211 mod 87211 = 357.
- 2468924 mod 384773 = 67350 log246 67350 mod 384773 = 8924.

Jorge Rami Aguirre

Madrid (Espaa) 2006

También podría gustarte