Metodo de Hill

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

PROYECTO THOTH Píldoras Formativas

http://www.criptored.upm.es/thoth/index.php

Píldora nº 21: ¿Qué es la cifra por matrices de Hill?

Escena 1: La figura de Lester Hill

Lester Hill fue un matemático neoyorquino que nace en 1891 y fallece a los 70 años en 1961.
Profesor en las universidades de Yale, Princeton, Montana y Hunter College, gran parte de su
investigación la dedica a la criptografía, siendo su aporte más conocido el invento en 1929 del
sistema de cifra que lleva su nombre, basado en operaciones con matrices.

Se trata de una cifra por sustitución poligrámica mediante la multiplicación de matrices, de la


que también crea una máquina con engranajes y cadenas para operar con claves de seis letras.
Como la clave debía quedar fija para cada máquina, su sistema no pudo competir con otras
máquinas de cifrar de la época con mayor fortaleza, como era el caso de la Enigma con rotores
intercambiables y ajustables. Aunque el sistema de cifra de Hill puede llegar a tener espacios
de clave inmensos, mayores incluso que los sistemas de cifra modernos, su talón de Aquiles es
que no resiste un ataque con texto en claro conocido.

Escena 2: El cifrado y descifrado propuesto por Hill

Hill plantea el problema de la cifra como un conjunto de cuatro ecuaciones, cifrando bloques
de cuatro letras.
y1 = 8 x1 + 6 x2 + 9 x3 + 5 x4 mod 26
y2 = 6 x1 + 9 x2 + 5 x3 + 10 x4 mod 26
y3 = 5 x1 + 8 x2 + 4 x3 + 9 x4 mod 26
y4 = 10 x1 + 6 x2 + 11 x3 + 4 x4 mod 26

Donde xi es cada una de las cuatro letras del bloque de texto en claro, yi es el resultado de la
cifra y los valores (8, 6, 9, 5) (6, 9, 5, 10) (5, 8, 4, 9) (10, 6, 11, 4) forman la clave aleatoria K
para cifrar cada bloque de cuatro letras. Para ello utiliza el alfabeto de 26 elementos con las
letras mayúsculas del inglés, pero distribuidas de una manera particular definida por Hill.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

5 23 2 20 10 15 8 4 18 25 0 16 13 7 3 1 19 6 12 24 21 17 14 22 11 9

Así, el mensaje DELAY OPERATIONS que originalmente usó su creador, vendrá expresado por
estos cuatro vectores: DELA (20 10 16 5), YOPE (11 3 1 20), RATI (6 5 24 18) y ONSU (3 7 12
21), en donde la letra U=21 ha sido usada como relleno. La cifran del primer bloque de cuatro
letras se muestra a continuación:
y1 = 8 x1 + 6 x2 + 9 x3 + 5 x4 mod 26
y1 = (8 x 20) + (6 x 10) + (9 x 16) + (5 x 5) mod 26 = 4 + 8 + 14 + 25 mod 26 = 25; y1 = J
y2 = 6 x1 + 9 x2 + 5 x3 + 10 x4 mod 26
y2 = (6 x 20) + (9 x 10) + (5 x 16) + (10 x 5) mod 26 = 16 + 12 + 2 + 24 mod 26 = 2; y2 = C
y3 = 5 x1 + 8 x2 + 4 x3 + 9 x4 mod 26
y3 = (5 x 20) + (8 x 10) + (4 x 16) + (9 x 5) mod 26 = 22 + 2 + 12 + 19 mod 26 = 3; y3 = O
y4 = 10 x1 + 6 x2 + 11 x3 + 4 x4 mod 26
y4 = (10 x 20) + (6 x 10) + (11 x 16) + (4 x 5) mod 26 = 18 + 8 + 20 + 20 mod 26 = 14; y4 = W

El primer bloque de texto en claro DELA se ha cifrado como JCOW. Finalmente la cifra del
mensaje DELAY OPERATIONS será JCOW ZLVB DVLE QMXC. Para descifrar yi con esta clave y
encontrar los valores xi del mensaje, se usará en este caso otro sistema de cuatro ecuaciones:
x1 = 23 y1 + 20 y2 + 5 y3 + 1 y4 mod 26
x2 = 2 y1 + 11 y2 + 18 y3 + 1 y4 mod 26
x3 = 2 y1 + 20 y2 + 6 y3 + 25 y4 mod 26
x4 = 25 y1 + 2 y2 + 22 y3 + 25 y4 mod 26

Observa que la clave para el descifrado (23 20 5 1) (2 11 18 1) (2 20 6 25) (25 2 22 25) es


diferente a la clave usada en el cifrado. Si la clave para cifrado era aleatoria, ¿cómo se obtiene
entonces la clave para el descifrado? La respuesta está en que la cifra de Hill es una cifra por
multiplicación de matrices y esa matriz clave de descifrado deberá ser la matriz inversa a la
matriz clave cifrado en el módulo, en este caso 26.

Escena 3: Cifrando y descifrando con Hill usando matrices


Podemos representar en forma de matrices los dos sistemas de ecuaciones propuestos por Hill
para el cifrado y el descifrado:

 y1  1  1 
   8 6 9 5   x1   x1   23 20 5 y
  
y      
 =  6 9 5 10   x2   x2   2 11 18 1  y2 
  mod 26  =
2

 y   5 8 4 9  x   mod 26
 x3   2 20 6 25   y3 
 3    3
      
 y   10 6 11 4   x     25 2 22 25   
 4  4  x4   y4 

En otras palabras, para cifrar y descifrar se realizarán dos operaciones matriciales diferentes:
Cifrado: [y] = [k] [x] mod n Descifrado: [x] = [k-1] [y] mod n

La matriz inversa de k en el cuerpo de cifra n, que se escribe k-1 es: k-1 = [adj (k)]T/det k mod n.

Escena 4: Condiciones que debe cumplir la matriz clave K

La cifra poligrámica de Hill con d caracteres requerirá una matriz clave k que tenga inversa en
ese cuerpo de cifra.

 k11 k12 ... k1d 


 
 k 21 k 22 ... k 2d 
k   mod n
 ... ... ... ... 
 
 kd1 kd 2 ... kdd 

Los valores kij serán números enteros aleatorios que se encuentren dentro del módulo de cifra
n, aunque en general puede ser cualquier número entero.

Como en la ecuación de la inversa aparece la expresión (1/det k), la matriz k deberá cumplir las
siguientes condiciones para que sea válida:
a) No puede ser singular, es decir su determinante no puede ser cero en tanto se
encuentra en el denominador de la ecuación de la matriz inversa.
b) El determinante de k no podrá tener factores en común con el módulo n porque en
ese caso no existiría el inverso en el cuerpo de cifra.

Madrid, diciembre de 2014

Autor del guion: Jorge Ramió Aguirre


Dirección Proyecto Thoth: Jorge Ramió Aguirre, Alfonso Muñoz Muñoz