
En criptografía clásica , el cifrado de Hill es un cifrado de sustitución poligráfico basado en álgebra lineal . Inventado por Lester S. Hill en 1929, fue el primer cifrado poligráfico en el que resultaba práctico (aunque con dificultad) operar con más de tres símbolos a la vez.
La siguiente explicación presupone un conocimiento básico de matrices .
Cifrado
Cada letra está representada por un número módulo 26. Aunque esta no es una característica esencial del cifrado, este sencillo esquema se utiliza con frecuencia:
Para cifrar un mensaje, cada bloque de n letras (considerado como un vector de n componentes ) se multiplica por una matriz invertible de n × n , con módulo 26. Para descifrar el mensaje, cada bloque se multiplica por la inversa de la matriz utilizada para el cifrado.
La matriz utilizada para el cifrado es la clave de cifrado , y debe elegirse aleatoriamente del conjunto de matrices invertibles n × n ( módulo 26). El cifrado puede, por supuesto, adaptarse a un alfabeto con cualquier número de letras; simplemente, todas las operaciones aritméticas deben realizarse módulo el número de letras en lugar de módulo 26.
Considere el mensaje 'ACT' y la clave que aparece a continuación (o GYB / NQK / URP en letras):
Dado que 'A' es 0, 'C' es 2 y 'T' es 19, el mensaje es el vector:
Por lo tanto, el vector cifrado viene dado por:
lo que corresponde a un texto cifrado de 'POH'. Ahora, supongamos que nuestro mensaje es 'CAT', o:
En esta ocasión, el vector cifrado viene dado por:
lo que corresponde a un texto cifrado de 'FIN'. Cada letra ha cambiado. El cifrado de Hill ha alcanzado la difusión de Shannon , y un cifrado de Hill n -dimensional puede difundirse completamente a través de n símbolos a la vez.
Descifrado
Para descifrar, convertimos el texto cifrado de nuevo en un vector y luego simplemente lo multiplicamos por la matriz inversa de la matriz clave (IFK / VIV / VMI en letras). Encontramos que, módulo 26, la inversa de la matriz utilizada en el ejemplo anterior es:
Tomando el ejemplo anterior del texto cifrado 'POH', obtenemos:
lo que nos lleva de nuevo a 'ACT', como era de esperar.
Existe una complicación al elegir la matriz de cifrado:
- No todas las matrices tienen inversa . Una matriz tendrá inversa si y solo si su determinante es invertible módulo n, donde n es la base modular.
Así, si trabajamos módulo 26 como se indicó anteriormente, el determinante debe ser distinto de cero y no debe ser divisible por 2 ni por 13. Si el determinante es cero o tiene factores comunes con la base modular, la matriz no se puede utilizar en el cifrado de Hill y se debe elegir otra matriz (de lo contrario, no será posible descifrarla). Afortunadamente, las matrices que cumplen las condiciones para ser utilizadas en el cifrado de Hill son bastante comunes.
Para nuestra matriz de claves de ejemplo:
Entonces, módulo 26, el determinante es 25. Dado quey, 25 no tiene factores comunes con 26, y esta matriz se puede utilizar para el cifrado de Hill.
El riesgo de que el determinante tenga factores comunes con el módulo se puede eliminar haciendo que el módulo sea primo . En consecuencia, una variante útil del cifrado de Hill añade 3 símbolos adicionales (como un espacio, un punto y un signo de interrogación) para aumentar el módulo a 29, ya que 27 es 3 al cubo y 28 es 2 veces 14 o 4 veces 7.
Ejemplo
Dejar
Sea la clave y supongamos que el mensaje de texto plano es 'HELP'. Entonces este texto plano está representado por dos pares
Luego calculamos
- y
y continuar el cifrado de la siguiente manera:
La matriz K es invertible, por lo tantoexiste tal queEl inverso de K se puede calcular utilizando la fórmula
Esta fórmula sigue siendo válida después de una reducción modular si se utiliza un inverso multiplicativo modular para calcularPor lo tanto , en este caso, calculamos
Luego calculamos
- y
Por lo tanto,
- .
Seguridad
El cifrado básico de Hill es vulnerable a un ataque de texto plano conocido porque es completamente lineal . Un oponente que interceptaLos pares de caracteres de texto plano/texto cifrado pueden configurar un sistema lineal que (generalmente) se puede resolver fácilmente; si este sistema resulta indeterminado, basta con añadir algunos pares más de texto plano/texto cifrado. Calcular esta solución mediante algoritmos estándar de álgebra lineal requiere muy poco tiempo.
Si bien la multiplicación de matrices por sí sola no da como resultado un cifrado seguro, sigue siendo un paso útil cuando se combina con otras operaciones no lineales , ya que puede proporcionar difusión . Por ejemplo, una matriz elegida adecuadamente puede garantizar que pequeñas diferencias antes de la multiplicación de matrices resulten en grandes diferencias después de la misma. De hecho, algunos cifrados modernos utilizan un paso de multiplicación de matrices para proporcionar difusión. Por ejemplo, el paso MixColumns en AES es una multiplicación de matrices. La función g en Twofish es una combinación de cajas S no lineales con una multiplicación de matrices (MDS) cuidadosamente seleccionada.
Tamaño del espacio de claves
El espacio de claves es el conjunto de todas las claves posibles. El tamaño del espacio de claves es el número de claves posibles. El tamaño efectivo de la clave , expresado en bits, es el logaritmo binario del tamaño del espacio de claves.
Haymatrices de dimensión n × n . Por lo tantoo sobrees una cota superior para el tamaño de la clave del cifrado de Hill usando matrices n × n . Esta es solo una cota superior porque no todas las matrices son invertibles y, por lo tanto, utilizables como clave. El número de matrices invertibles se puede calcular mediante el Teorema Chino del Resto . Es decir, una matriz es invertible módulo 26 si y solo si es invertible tanto módulo 2 como módulo 13. El número de matrices n × n invertibles módulo 2 es igual al orden del grupo lineal general GL(n, Z 2 ). Es
Igualmente, el número de matrices invertibles módulo 13 (es decir, el orden de GL(n, Z 13 )) es
El número de matrices invertibles módulo 26 es el producto de esos dos números. Por lo tanto, es
Además, parece prudente evitar demasiados ceros en la matriz de claves, ya que reducen la difusión. El efecto neto es que el espacio de claves efectivo de un cifrado Hill básico es aproximadamentePara un cifrado Hill de 5 × 5, eso equivale a unos 114 bits. Por supuesto, la búsqueda de clave no es el ataque conocido más eficiente.
Implementación mecánica
Al operar con dos símbolos simultáneamente, el cifrado de Hill no ofrece ninguna ventaja particular sobre el cifrado de Playfair o el cifrado bífido ; de hecho, es más débil que ambos y ligeramente más laborioso de realizar con lápiz y papel. A medida que aumenta la dimensión, el cifrado se vuelve rápidamente inviable para que un ser humano lo realice manualmente.
Se implementó mecánicamente un cifrado de Hill de dimensión 6. Hill y un socio obtuvieron una patente ( patente estadounidense 1.845.947 ) para este dispositivo, que realizaba una multiplicación de matrices de 6 × 6 módulo 26 mediante un sistema de engranajes y cadenas.
Desafortunadamente, la configuración de los engranajes (y, por lo tanto, la clave) era fija para cada máquina, por lo que se recomendaba el cifrado triple para mayor seguridad: un paso no lineal secreto, seguido del paso difusivo amplio de la máquina, seguido de un tercer paso no lineal secreto. (El cifrado Even-Mansour, mucho posterior , también utiliza un paso intermedio difusivo sin clave). Esta combinación era realmente muy potente para 1929 e indica que Hill aparentemente comprendía los conceptos de un ataque de encuentro en el medio, así como la confusión y la difusión. Lamentablemente, su máquina no se vendió.
Véase también
Otros cifrados poligráficos prácticos que se pueden realizar con lápiz y papel incluyen:
Referencias
- Lester S. Hill, Criptografía en un alfabeto algebraico, The American Mathematical Monthly, vol. 36, junio-julio de 1929, págs. 306-312 . ( PDF )
- Lester S. Hill, Sobre ciertos aparatos de transformación lineal de criptografía, The American Mathematical Monthly Vol. 38 , 1931, págs. 135-154 .
- Jeffrey Overbey, William Traves y Jerzy Wojdylo, Sobre el espacio de claves del cifrado Hill, Cryptologia , vol. 29, n.º 1, enero de 2005, págs. 59-72 . ( CiteSeerX ) ( PDF )
Enlaces externos
- La aplicación web " Hill Cipher " implementa el cifrado de Hill y muestra las matrices involucradas.
- " El cifrado de Hill explicado " ilustra el álgebra lineal que hay detrás del cifrado de Hill.
- La " Calculadora del Cifrado de Hill " describe el Cifrado de Hill en una página web.
- Cifrados clásicos