Vous êtes sur la page 1sur 1

Politécnico Grancolombiano Ejercicios Proyecto de Aula Corte III Álgebra Lineal, 2017-I

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

Cuadro 1: Codificación numérica del alfabeto.

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.

Vous aimerez peut-être aussi