Trabajo de Matematica Discreta
Trabajo de Matematica Discreta
Trabajo de Matematica Discreta
Sergio Gallego Álvarez, Luis Sainz Garcia, Marian Milad Fernandez y Jose Manuel Olavarria
Echevarria
Cuestión 1
El criptosistema “El Gamal” es un tipo de cifrado basado en el problema matemático del
“logaritmo discreto” (explicado en el ejercicio 4).
El Gamal está compuesto de 3 partes:
Generación de la clave: se escoge un numero primo p el cual cumple que p-1 tenga un
factor primo grande.
A demás se eligen dos números aleatorios g y α tal que a ∈ {0 , … , p−1 }.
Se calcula el valor de K=g a (mod p). La clave pública será ( g , p , k) , mientras que el
valor de α lo mantendrá en secreto. Despejando a de K=g a ( mod p ) obtenemos la
relación entre los componentes de la clave pública y la privada log g k ( mod p )=a .
Cifrado: lo primero por hacer es convertir el texto que se desee cifrar en un entero m
entre 1 y p−1( m∈ Z p) . Luego se escoge aleatoriamente un número b ∈ {2 , … , p−1}
para finalmente calcular.
y 1=gb (mod p)
y 2=k b m¿
Cuestión 2
El primo p tiene que ser grande porque dificulta el problema del logaritmo discreto, siendo de
esta manera más fiable ya que en el grupo ¿, la k-esima potencia de uno de los números en este
grupo puede ser calculada encontrando la potencia k-esima común entero y luego obteniendo el
resto de su división por p.
G es preferible que sea un elemento primitivo, porque entonces todos los elementos
2 x−1
a p , a p , a p también lo son.
Cuestión 3
Escogemos los valores:
p=13 (primo aleatorio y suponemos que p−1=12 tiene un factor primo grande lo
cual no es cierto)
g=4 (generador aleatorio)
a=8 (clave privada aleatoria)
Calculamos:
m=9
Escogemos un b=7aleatorio
Cuestión 4
El logaritmo discreto se define de la siguiente manera, b en base a como el entero
k , 0≤k ≤n−1, tal que:
b=a k ( mod p)