You are on page 1of 4

Encriptación de mensajes usando algebra lineal

En el presente articulo veremos como simples conceptos del algebra lineal los podemos
aplicar a la criptografía (esconder mensajes).

Un criptograma es un mensaje escrito en un código secreto (la palabra griega kryptos


significa “oculto”).

Empezamos asignando un número a cada letra del abecedario (con 0 asignado al espacio
en blanco), como sigue.

Así el mensaje se convierte en una secuencia de números que se parte en matrices fila
no codificadas, de n elementos, como ilustra el paso 1.

Paso 1: Formando las matrices filas no codificadas


Escribir las matrices fila no codificadas de tamaño 1x3 para el mensaje MEET ME
MONDAY.

Solución. Partiendo el mensaje (incluidos los espacios en blanco, pero ignorando otros
signos de puntuación) en grupos de tres se obtienen las siguientes matrices fila no
codificadas:

Hemos usado un espacio en blanco para completar la última matriz fila.

Para codificar el mensaje, elegimos una matriz invertible A n x n y multiplicamos las


matrices fila no codificadas por A por la izquierda. Así, se obtienen las matrices fila
codificadas, como ilustra el paso 2.

Paso 2: Codificación de un mensaje


Usando la matriz de codificación.
Codificar el mensaje MEET ME MONDAY

Solución. Las matrices fila codificadas son el resultado de multiplicar a la izquierda por
A cada una de las matrices fila no codificadas del ejemplo 4.

Por tanto, la secuencia de matrices filas codificadas es

Finalmente, suprimiendo la notación matricial, queda el siguiente criptograma:

A quien no conozca la matriz A le será muy difícil descifrar ese criptograma del paso 2.
Pero a un receptor autorizado, conocedor de la matriz A, le bastará multiplicar el
criptograma A por la matriz A-1 para recuperar el mensaje original. En otras palabras, si

es una matriz 1 X n no codificada, Y = XA es la correspondiente matriz codificada. El


receptor puede decodificar Y multiplicando a la derecha por A, con lo que obtendrá

El paso 3 se muestra como funciona este método.


Paso 3: Decodificación de un mensaje
Usar la inversa de la matriz

Para decodificar el criptograma

Solución. En primer lugar, hallamos A por eliminación de Gauss-Jordan.

Ahora para decodificar el mensaje, lo partimos en grupos de tres para formar las
matrices fila codificadas.

Para hallar las matrices fila decodificadas, multiplicamos las codificadas por A (a la
derecha).

Por tanto, la secuencia de matrices fila decodificadas es


Y el mensaje

Implementación:
Su implementación puede realizarse en cualquier lenguaje de programación, pero de
preferencia yo recomendaría usar MATLAB, o algún otro lenguaje de procesamiento
numérico.

Conclusiones:
Bueno este artículo funciona muy bien teóricamente, pero en la implementación se va a
realizar en una computadora lo cual genera un error de redondeo, ya que la aritmética
usada en una computadora involucra números, con un numero finito de dígitos.

En caso que haya números que no se puedan representar con este número de dígitos se
los representa por el número de máquina más cercano, generando un pequeño margen
de error, pero al realizar varias operaciones este margen crece.

Bueno el error que se comete en el presente artículo, es en el cálculo de la matriz


inversa de la matriz de encriptación, ya que este cálculo puede generar fracciones,
algunas de las cuales representadas por el número de maquina más cercano generando
un error de redondeo, pudiendo por ejemplo ocurrir:

Para evitar este error; una posible solución sería que la matriz de encriptación, su
inversa y sus números sean solo números enteros (Como se muestra en este articulo).

“Así como este ejemplo nosotros tenemos la capacidad de abstracción, que a partir de
ciertos conocimientos (en este caso matemáticos) podemos aplicarlos a algún problema
que se nos presente, usemos esa habilidad de abstracción para aplicarla e investigar
en alguna de las áreas de ciencias de la computación”.

Gracias.

Nils Murrugarra Llerena


“Saquemos adelante C.S.”
nineil.cs@gmail.com

You might also like