Sei sulla pagina 1di 5

Escuela Politécnica Nacional

Seguridad en Redes.

Informe: Cifrador/Descifrador Merkle Hellman

Jorge Guerra
Diego Guzmán
Félix Miño

2018-A

Ing. Fernando Flores


Tema:

Cifrador/Descifrador Merkle Hellman.

Objetivo:

Entender el funcionamiento e importancia del cifrado de mensajes para la protección de


la información.

Implementar un cifrador/descifrador mediante un lenguaje conocido que sea capaz de


cifrar un mensaje con el método Merkle Hellman.

Reseña:

El cifrado moderno tiene varias ramas. Los mensajes pueden ser cifrador como un flujo,
como por ejemplo el método de RC$; o agruparlos mediante bloques. Entre los métodos
mas conocidos entre la cifra de bloques están DES, SDES, 3DES, Lucifer, etc.

Hay que tomar en cuenta que el cifrado en bloque puede ser asimétrico o simétrico según
la manera que gestionen, manejan o envían las claves.

El cifrado simétrico utiliza la misma clave para cifrar y descifrar. La clave se distribuye
con máxima seguridad. Por otro lado, en el cifrado asimétrico, cada usuario tiene un par
de claves una pública y una privada. La pública(cifrado) se distribuye, mientras que la
clave privada constituye la trampa y permite el descifrado del mensaje.

El cifrador de Merkle Hellman está basado en el problema de la mochila que cumple una
condición de suma de subconjuntos. Entonces si se tiene un conjunto de números enteros
positivos los cuales están ordenados de mayor a menor, debe cumplirse que el elemento
i-ésimo es mayor que la suma de sus anteriores elementos.

A este tipo de problema de mochila se lo conoce como supercreciente. Hay que tener en
cuenta que cuando hablamos de cifrado asimétrico se toma el nombre de mochila
tramposa o mochila con trampa. Este algoritmo crea una mochila con trampa (clave
pública) la cual puede ser pasada a una mochila simple únicamente con la trampa (clave
privada). Este diseño de mochila con trampa asimétrico fue creado por Merkle y Hellman
en 1978.

Cifrado

Para el cifrado se tiene una mochila supercreciente de m elementos, por ejemplo:

𝑆 ′ = {3,5,12,21}

Basados en la mochila se debe elegir un entero P que sea mayor a la suma de elementos
de la mochila, como es supercreciente se puede asegurar esto eligiendo un número que
cumpla con:
𝑃 ≥ 2 ∗ 𝑆𝑚

En este caso elegiremos P=49.

Se debe elegir un numero M que representara el módulo Este número debe ser coprimo
del número P anteriormente elegido. Esto significa:

𝑚𝑐𝑑(𝑃, 𝑀) = 1

En este caso elegiremos M=32 y M-1=23

𝑀 ∗ 𝑀−1 = 1 𝑚𝑜𝑑(49)

Este procedimiento lo realizamos para asegurarnos que exista un inverso para el


descifrado. Se recomienda que M no tenga factores en S’.

Una vez que tengamos estos parámetros, se procede a obtener la mochila con trampa,
multiplicando cada elemento de S’ por M mod(P)
𝑆1 = 3 ∗ 32 𝑚𝑜𝑑(49) = 47
𝑆2 = 5 ∗ 32 𝑚𝑜𝑑(49) = 13

𝑆3 = 12 ∗ 32 𝑚𝑜𝑑(49) = 41

𝑆4 = 21 ∗ 32 𝑚𝑜𝑑(49) = 35

Por lo que nuestra clave pública y privada serán:

𝐶𝑙𝑎𝑣𝑒 𝑃ú𝑏𝑙𝑖𝑐𝑎: 𝑆 = {47,13,41,35}

𝐶𝑙𝑎𝑣𝑒 𝑃𝑟𝑖𝑣𝑎𝑑𝑎: 𝑃 = 49 , 𝑀−1 = 23

El mensaje a cifrar será SOL= 01010011011011110110110, debido a que el numero de


elementos en S’ es 4, entonces se deberá agrupar en grupos de cuatro bits el código:

0101 0011 0110 1111 0110 1100

Para cifrar se eligen los elementos de la clave pública los cuales correspondan a bits en
1 en el bloque de bits y se los suma. Los correspondientes a bits en 0 son descartados.

𝑆 = {47,13,41,35}

0101 =13+35=48

0011 =41+35=76

0110 =13+41=54

1111 =47+13+41+35=136

0110 =13+41=54

1100=47+13 =60

C=48,76,54,136,54,60

Descifrado

Para el descifrado se tiene que T=M-1modP, la cual es la calve privada o la trampa.


Usando esta obtendremos la mochila simple multiplicando Ci*T.

C={48,76,54,136,54,60} y 𝑆 ′ = {3,5,12,21}

48 ∗ 23 𝑚𝑜𝑑(49) = 26 = 0 + 5 + 0 + 21 = 0101
76 ∗ 23 𝑚𝑜𝑑(49) = 33 = 0 + 0 + 12 + 21 = 0011

54 ∗ 23 𝑚𝑜𝑑(49) = 17 = 0 + 5 + 12 + 0 = 0110

136 ∗ 23 𝑚𝑜𝑑(49) = 41 = 3 + 5 + 12 + 31 = 1111

54 ∗ 23 𝑚𝑜𝑑(49) = 17 = 0 + 5 + 12 + 0 = 0110

60 ∗ 23 𝑚𝑜𝑑(49) = 8 = 3 + 5 + 0 + 0 = 110

M= 0101001011011110110110 entonces M=SOL

Conclusiones:

 Este sistema de cifrado permite una mejor gestión de claves debido a que cada
usuario tiene su clave privada. Es por esto que no es necesario enviar la clave
por el canal por lo que el sistema es más seguro.
 Comparándolo con otros sistemas de cifrado por mochila, este es mas simple
debido a que su cifrado y descifrado no son nada complejos debido a que la
transformación de la mochila simple a la tramposa se la realiza con la clave
privada.
 Este es un sistema el cual no permite firma debido a que el criptograma es un
número y no un texto.

Recomendaciones:

 En el cifrador, es necesario probar que el multiplicador y modulo elegidos


tengan inverso, debido a que este será la clave privada necesaria para
descifrar el mensaje.
 En el ejemplo se repitió el numero 54, lo que significa que usar un número
de elementos igual a 4 en esta cifra no era recomendable. Si los hubiésemos
agrupado en 5, no habría números repetidos.

Bibliografía

[1]Libro Electrónico de Seguridad Informática y Criptografía.

Potrebbero piacerti anche