Está en la página 1de 18

Cifrado matricial o cifrado Hill

Lester S. Hill publica en 1929 su libro Cryptography in an Algebraic Alphabet, en el


cual un bloque de texto claro se cifra a través de una operación con matrices.

En su época no tuvo mucho éxito por la


dificultad operacional (Se diseñó una máquina
para este cifrado pero no pudo competir con
máquinas como Enigma o Hagelin)

Actualmente este sistema se puede


implementar fácilmente en los ordenadores que
tenemos a nuestro alcance.

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Originariamente, Hill trabajaba módulo 26 (usaba alfabeto inglés)
Con el alfabeto de cifrado arbitrario
A B C D E F G H I J K L M
5 23 2 20 10 15 8 4 18 25 0 16 13

N O P Q R S T U V W X Y Z
7 3 1 19 6 12 24 21 17 14 22 11 9

Para cifrar un mensaje utilizaba el sistema lineal de ecuaciones (1):


y1 = (8x1 + 6x2 + 9x3 + 5x4) mod 26
y2 = (6x1 + 9x2 + 5x3 + 10x4) mod 26
y3 = (5x1 + 8x2 + 4x3 + 9x4) mod 26
y4 = (10x1 + 6x2 + 11x3 + 4x4) mod 26

Nosotros usaremos un método generalizado (podemos seleccionar la matriz y Zn)

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Aprendemos a cifrar: Hill

Texto claro: Se cifra en bloques de d elementos: X = {x1, x2,…., xd}


Texto cifrado: El resultado de cifrar cada bloque: Y = {y1, y2,…., yd}
Clave: Una matriz Mdxd con inversa en Z30
Cifrado: M.X = Y
Descifrado: X = M-1Y

Vamos a cifrar el mensaje:


X: es interesante conocer métodos de cifrado
Primer paso: Se elige un entero d, que determina bloques de d elementos y que trataremos
como vectores de dimensión igual a d.
d=4
Es*i nter esan te*c onoc er*m etod os*d e*ci frad o ***
¿Qué hago con el último bloque?

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Aprendemos a cifrar: Hill

Segundo paso: Se elige una matriz cuadrada M de orden d que será la clave a utilizar. Los
elementos de esta matriz M serán números enteros entre 0 y 29, además la matriz debe
ser inversible en Z30. ¿por qué?

8 6 9 5
 
6 9 5 10 
M=  .
5 8 4 9
 
10 6 11 4 

¿Estoy seguro/a de que M tiene inversa en Z30?


¿Cómo lo puedo saber?
¿Cuál es el determinante de M ?

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Inversa de una matriz módulo 30
8 6 9 5
6 9 5 10
M ;
5 8 4 9
10 6 11 4
Print "vamos a trabajar con la matriz ", MatrixForm M
Print "el determinante de M es ", Det M
Print "pero en módulo 30 es ", Mod Det M , 30
Print "Para descifrar debo calcular la inversa de M"
Print "la inversa de M es ", MatrixForm Inverse M
Print "Pero la inversa de M , módulo 30 es ", 8 6 9 5
MatrixForm Mod Inverse M , 30 6 9 5 10
vamos a trabajar con la matriz
5 8 4 9
10 6 11 4
el determinante de M es 1
pero en módulo 30 es 29
Para descifrar debo calcular la inversa de M
3 20 21 1
2 41 44 1
la inversa de M es
2 6 6 1
1 28 30 1

27 20 9 1
2 19 14 1
Pero la inversa de M , módulo 30 es
2 24 6 29
29 28 0 29

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Aprendemos a cifrar: Hill

Tercer Paso: Expresamos los caracteres en números

ES*I NTER ESAN TE*C ONOC ER*M ETOD


4,19,27,8 13,20,4,18 4,19,0,13 20,4,27,2 15,13,15,2 4,18,27,12 4,20,15,3

OS*D E*CI FRAD O***


15,19,27,3 4,27,2,8 5,18,0,3 15,27,27,27

Obtenemos 11 bloques

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Aprendemos a cifrar: Hill

A cada bloque le aplicamos la transformación MXi = Ci


Para el primer bloque 8 6 9 5   4   429  9
      
6 9 5 10   19   410   20 
5 = 
8 4 9   27   352   22 
      
10 6 11 4   8   483  3
  
Haciendo lo mismo para todos los bloques:

ES*I NTER ESAN TE*C ONOC ER*M ETOD


4,19,27,8 13,20,4,18 4,19,0,13 20,4,27,2 15,13,15,2 4,18,27,12 4,20,15,3
9,20,22,3 20,8,13,6 1,25,19,26 17,11,18,19 13,2,17,11 23,21,20,13, 2,9,27,7

OS*D E*CI FRAD O***


15,19,27,3 4,27,2,8 5,18,0,3 15,27,27,27
12,6,2,3 12,27,16,16 13,12,16,20 0,18,12,27

jtvdtinzbyszqlrsncqlwutncj*hmgcdm*ppnmptarm*

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Cifrado de Hill

¿Cualquier matriz sirve para cifrar con este método?


• La matriz M será siempre cuadrada, y sus elementos serán nuestra clave secreta.
• Son el punto más importante del criptosistema, donde reside su seguridad.
• Los elementos serán números enteros que formen parte del conjunto Zn en el que
se trabaja
• Para recordar la matriz clave se pueden asignar letras. Esto es muy útil para el
intercambio de claves
Por ejemplo una clave si trabajamos con un alfabeto de 29 letras puede ser:

 M A G  12 0 6 
   
A =  N O L  =  13 15 11
   
 I A S   8 0 19 

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Cifrado de Hill

• La matriz K no deberá ser singular, es decir, tendrá inversa para poder descifrar
• Además como estamos trabajando en Zn la matriz M de cifrado debe tener
determinante no nulo en este conjunto:
|M| mod n  0
• Como trabajamos con números comprendidos entre 0 y n-1 no nos servirán los
números fraccionarios. Al calcular la inversa de M dividimos por su determinante
entonces para que una matriz M sea buena clave se cumplirá que
1
M  1(mod n)
M

• El valor de este inverso no siempre existe, la condición necesaria para su existencia


es que |M| y el módulo n sean primos entre sí
MCD( |M|, n) = 1

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Descifrado de Hill

Descifra el mensaje zcrd,a.stñmkqjtg cifrado con la matriz


8 6 9 5
 
6 9 5 10 
M=  .
5 8 4 9
 
10 6 11 4 

Pasamos a números
z c r d , a . s t ñ m k q j t g
26 2 18 3 29 0 28 19 20 14 12 10 17 9 20 6
Separamos en bloques de 4
26, 2, 18, 3 29, 0, 28, 19 20, 14, 12, 10 17, 9, 20, 6
Aplicamos la transformación (M-1.Y) a cada bloque (módulo 30)

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Descifrado de Hill

Aplicamos la transformación( M-1.Y) a cada bloque (módulo 30)

27 20 9 1 26 7
2 19 14 1 2 15
Modulo . , 30 hoy*
2 24 6 29 18 25
29 28 0 29 3 27

27 20 9 1 29 4
2 19 14 1 0 19
Módulo . , 30 es*m
2 24 6 29 28 27
29 28 0 29 19 12
27 20 9 1 20 8
2 19 14 1 14 4 ierc
Modulo . , 30
2 24 6 29 12 18
29 28 0 29 10 2
27 20 9 1 17 15
2 19 14 1 9 11 oles
Modulo . , 30
2 24 6 29 20 4
29 28 0 29 6 19

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Atacando el cifrado de Hill

En la matriz clave está la seguridad del sistema.

no todas las matrices sirven como clave en Zn

– En Z2 sólo hay 6 matrices válidas como clave.

Se puede probar con cada una de ellas hasta obtener un mensaje claro

– En Z3 hay 48 matrices válidas como clave.

Es un poco más complicado el ataque pero con un ordenador será rápido

– En Z27, tendremos 274 = 531.441 matrices distintas de orden 2. Si se descartan las


matrices en las que el determinante es igual a cero o bien tienen factor común con
el módulo 27, el número de matrices válidas se reduce a 314.928.

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Atacando el cifrado de Hill

• Para aumentar la seguridad de la clave, se puede trabajar con un módulo primo, este
caso prácticamente sólo se eliminan matrices cuyo determinante sea cero.

por ej: en Z37 con un alfabeto de letras más los dígitos del 0 al 9, el número de
matrices 2x2 crece hasta 1.874.161 y más de 1.800.000 son claves válidas.

• El método es inmune al análisis de frecuencia; la misma letra en diferentes bloques se


cifra de diferente manera

• ¿ Podremos hacer un análisis de PARES de letras?.

Hay 26x26 = 676 pares de letras, son bastantes pero es manejable porque unos
pares destacan bastante en su frecuencia de aparición sobre los otros.

El par de letras más frecuente en el mensaje cifrado corresponde a DE y entonces


unas cuantas operaciones con matrices nos dan la matriz clave

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Atacando el cifrado de Hill

• Si se usan los 256 caracteres posibles en un fichero de tipo binario habrá


256x256=65536 combinaciones, bastante más difícil para el criptoanalista,
• Si analizamos palabras de 3 letras, ahora tenemos 26x26x26=17576 casos, son
bastantes pero aún tenemos estadísticas para combinaciones de tres letras en
castellano.
• Con bloques de tamaño 10, el número de bloques posibles es 2610 es decir
aproximadamente 140.000.000.000.000, un análisis de frecuencias de bloques de 10
caracteres es muy improbable por no decir imposible.
• A pesar de esto el sistema no es seguro, se puede hacer un ataque (método de Gauss
Jordan) con texto claro y encontrar la matriz clave
• El método se basa en la linealidad del cifrado ya que en el texto claro o en el
criptograma aparecen los vectores unitarios

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Método de Gauss Jordan para ataque a Hill

Si se conoce el mensaje original y el criptograma

A L A L A R G A T O D O S E S A B E
0 11 0 11 0 18 6 0 20 15 3 15 19 0 19 0 1 4
Y K N K R N Y G C U G O D W F P I J
25 10 13 10 18 13 25 6 2 21 6 15 3 23 5 16 8 9

Se escribe una matriz con los elementos del texto en claro y del criptograma
0 11 0 25 10 13
11 0 18 10 18 13 Se realizan operaciones elementales en esta
6 0 20 25 6 2
15 3 15 21 6 15
matriz hasta conseguir columnas de ceros y
19 4 19 3 23 5 unos
0 1 4 16 8 9
Si es necesario se pueden intercambiar filas

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Método de Gauss Jordan para ataque a Hill

Para esta matriz el proceso es:


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

1 0 9 23 9 11 1 0 0 5 9 2
0 1 0 17 23 11 0 1 0 17 23 11
0 0 20 22 6 17 0 0 1 20 3 13
0 0 15 3 18 6 0 0 0 0 0 0
0 0 10 11 3 22 0 0 0 0 0 0
0 0 4 26 12 25 0 0 0 0 0 0

En la matriz izquierda estaba el texto claro, la parte derecha de esta última matriz con
vectores unitarios será la traspuesta de la clave 5 17 20
9 23 3
2 11 13

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Ventajas del Cifrado de Hill

• Los algoritmos simétricos son generalmente más rápidos que los sistemas de clave-
pública.

• El método es inmune al análisis de frecuencia de letras, a diferencia de los sistemas


monoalfabéticos.

• Para un tamaño de clave grande y sin método para conseguir el texto original y
codificado se vuelve "seguro“. Si n=27 el espacio de claves aumenta de forma
espectacular (comparable con DES)

Criptografía como recurso para el aula de matemáticas. El arte de esconder


Inconvenientes del Cifrado de Hill

• La clave debe ser distribuida en secreto. Es tan valiosa como todos los mensajes a
encriptar.
• Si la clave se ve comprometida (robada, averiguada, extorsionada, sobornada, ....)
todos los textos podrán ser desencriptados y se puede suplantar la personalidad del
emisor para enviar falsos mensajes.
• La longitud del texto cifrado es el mismo que la del texto original.
• La seguridad depende básicamente de saber o no el tamaño de la matriz elegida.
• El sistema se convierte muy débil ante el conocimiento de una cadena de texto
original y su correspondiente texto codificado.

Criptografía como recurso para el aula de matemáticas. El arte de esconder

También podría gustarte