Académique Documents
Professionnel Documents
Culture Documents
En esta tercera fase del proyecto de aula se analizará el sistema clásico de cifrado de Hill1 basado en ideas provenientes del álgebra
lineal. Para comenzar, a algunos de los sı́mbolos del alfabeto usado en el español, se les asigna un entero como se muestra en el
siguiente cuadro:
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 . , ?
l l l l l l l l l l l l l l l l l l l l l l l l l l l l l
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
A continuación se escoge (en este ejercicio y por conveniencia) una matriz de n × n con entradas en los números enteros y con
determinante igual a uno. Dicha matriz será la llave de cifrado, y el caso de 3 × 3, se podrı́a usar la siguiente llave A:
1 3 2
A = 3 10 12
4 15 27
Para cifrar un mensaje en texto plano, como es el caso de HOLA.MUNDO , primero se parte dicho mensaje en bloques de longitud
tres para obtener HOL , A.M , UND , O.. . En caso de ser necesario, se pueden añadir puntos al final del texto para completar
bloques de longitud tres. Posteriormente se procede a usar el cuadro 1 para obtener el equivalente numérico de los bloques en forma
de vectores renglón v1 = (7, 14, 11), v2 = (0, 26, 12), v3 = (20, 13, 3), v4 = (14, 26, 26). En este instante se procede a calcular
T T T T
los productos A(v1 ) , A(v2 ) , A(v3 ) , A(v4 ) y hacer reducción módulo 29, donde lo último indica dividir por 29, descartar el
2
cociente y considerar el residuo . Esta operación se hace por componentes para obtener los vectores:
13 15 7 28
T T T T
A(v1 ) = 3 A(v2 ) = 27 A(v3 ) = 23 A(v4 ) = 5
13 18 8 17
Para terminar el cifrado, se realiza el proceso inverso a la obtención de los vectores v1 , v2 , v3 y v4 . Se usa de nuevo el cuadro 1
para obtener caracteres del alfabeto y se procede a ensamblar los bloques en un solo mensaje. En este ejemplo se obtiene el mensaje
cifrado NDNP,SHXI?FR .
Si se desea descifrar el mensaje, se repite el procedimiento de cifrado, pero se debe usar la matriz inversa de la llave A, que en este
caso corresponde a:
90 −51 16
A−1 = −33 19 −6
5 −3 1
Ejercicio 01. Construir una matriz de 4 × 4 conveniente para ser usada como una llave en el sistema de cifrado de Hill.
Sugerencia: Construir A de la forma A = LU, donde L es triangular inferior y U es triangular superior. Hacer que tanto L como
U tengan determinante igual a uno.
Ejercicio 02. Con la llave anteriormente construida, cifrar el mensaje ALGEBRA.LINEAL . Calcular la llave inversa y descifrar el
mensaje.
Ejercicio 03. Suponer que se ha recibido el mensaje:
.DERGJBHPYIVN.SGUNUIPEOVS.QSVISPQ.KIOLFF,RXYPZKDXFM?,RJM?CSCJ,TRERLJPZGEXTMSJ.XYPCQ,A?EWBXFHJ.LA?FI?AOOFAGNR
y que no se conoce ninguna de las llaves A o A−1 . No obstante, después de una labor de inteligencia, se conoce que la llave es
una matriz de 3 × 3 y que el bloque cifrado RGJBHPYIV presente en el mensaje recibido, corresponde con la palabra no cifrada
.DOS.COSA . Descifrar el resto del mensaje.
Sugerencia: Plantear un sistema de ecuaciones dado por esta información y solucionarlo módulo 29. El comando Solve de Mathe-
matica permite hacer lo anterior3 .
Ejercicio 04. Suponer que se ha recibido el mensaje:
LERASOBRPYIVCKQBKTYWCKKTZV.RLERASOBRPYIVCKTZQX,ZRKS?MEWW.RAOJGT?PYYDFMAIRKEZ
y se conoce que la llave es una matriz de 2 × 2, y que la palabra no cifrada IDEAS se encuentra presente en el mensaje original.
Descifrar el mensaje.
Sugerencia: ¿Cómo modificarı́a la solución del problema anterior?
1 http://en.wikipedia.org/wiki/Lester_S._Hill
2 Se puede usar la función Mod[m, n] de Mathematica. Ejemplos: Mod[-67, 29] = 20, Mod[101, 29] = 14
3A 2 5
x 13
manera de ejemplo, Solve[2*x+5*y==13 && 4*x+17*y==11, {x, y}, Modulus -> 29] soluciona el sistema 4 17 y = 11 módulo 29.