Está en la página 1de 6

Horacio Rodrguez - Jos Biafore

Emanuel Montenegro - Matas Lavigne

Uso de Matrices para encriptado de mensajes


Desde que el ser humano logr comunicarse, existi la necesidad de hacer selectivos sus comentarios. El
hombre de las cavernas coloreaba sus pinturas rupestres segn a quien estaban dirigidas informando sobre
mtodos de ataque y caza de sus presas.
Los egipcios tenan una codificacin de sus jeroglficos dependiendo de la clase social, existiendo
codificaciones para el pueblo comn, los emperadores, faraones, etc.
Ya en nuestra poca, tambin se hizo necesaria esta necesidad, tanto en pocas de guerra, para informar
sobre ubicacin de tropas sin que el enemigo lo sepa, como en la transmisin de seales de TV donde solo
el cliente con abono pago puede ver ciertos canales codificados.

Codificar o encriptar?
Codificar significa convertir una cierta informacin en otra a travs del uso de una tabla que le asigna un
cdigo un unvoco a cada carcter del mensaje. En cambio encriptar, es pasar el mensaje por algn
algoritmo, normalmente matemtico, el cual lo modifica de tal manera que se hace muy difcil obtener el
mensaje original.
En ambos procesos, el destinatario del mismo, debe conocer o la tabla de codificacin o la clave de
encriptado.
La desventaja de la codificacin es su vulnerabilidad, ya que a cada carcter le corresponde el mismo
cdigo, por lo tanto sabiendo esto, una persona entenada, estudiando el cdigo final sabra que caracteres
son los mas repetidos (como la a y los espacios) y podra obtener un mensaje original comprensible,
con lo que rompera la codificacin.
En el caso del encriptado, esto no sucedera, ya que se toma un grupo de caracteres del mensaje y se los
encripta en grupo, de modo tal que el cdigo final de un determinado carcter, depende de los que tena a
su lado en el mensaje original. Por ejemplo en las palabras ALAS y GALAS las As no tendran
asignado el mismo cdigo.
Por otro lado en ambos sistemas se hace necesario junto con el mensaje enviar un dato importante tal
como es el destinatario hacia quien se dirige el mensaje, ya que, si no es para mi, para que lo voy a
decodificar y dado que esto hace selectiva la necesidad de decodificarlo o no, este dato debe ser uno de
los primeros que se debe enviar.
Esta serie de cdigos que conforman nuestro mensaje, se trasladarn de destinador a destinatario a travs
de algn canal de comunicacin que puede alterar el contenido del mismo, recordemos que en el caso del
encriptado, un dato mal no significa un carcter mal, sino un grupo de caracteres errado. Para evitar esto
se utilizan distintas tcnicas como son entre otras el control de paridad de la cantidad de caracteres que
son enviados la cual debe coincidir con la paridad de los caracteres recibidos y de no ser as, solicitar el
re-envo del mensaje.
Todo esto que comentamos se denomina protocolo de comunicacin, en este trabajo se desarrollar un
protocolo personal, que no respeta los estndares, para enviar un mensaje codificado, encriptado y
selectivo.

Codificacin
Para esto se utilizar una codificacin estndar en comunicaciones que es la ASCII a la cual se le asigna a
cada carcter un nmero y es un cdigo abierto, o sea, de uso pblico.
Como se ve en la tabla que se adjunta, se encuentran codificadas todas las letras del alfabeto en
maysculas y minsculas como los nmeros, signos de puntuacin y caracteres especiales.
Para nuestro protocolo utilizaremos los caracteres codificados bajo los nmeros decimales 32 al 90 para
utilizar solamente nmeros de 2 dgitos.

TP Uso de matrices en encriptacin de mensajes


Grupo: 3

Horacio Rodrguez - Jos Biafore


Emanuel Montenegro - Matas Lavigne

Tabla de caracteres ASCII

Descripcin del protocolo


A continuacin se muestra la estructura que tomar la organizacin de los datos en nuestro mensaje.
AAAA MMMMMM..........MMMMM

CCCC

Donde:
1) Direccin codificada del destinatario, 2 caracteres lo que representan 100 destinos posibles.
La direccin 00 se suele denominar direccin masiva o de broadcast y tiene la particularidad de
notificar de algo a todos los destinatarios a la vez. Como por ejemplo enviar un cambio en la
clave de encriptado, que es un dato que todos los usuarios de este mtodo deben saber.
2) Cuerpo del mensaje, esta compuesto por los caracteres que lo componen pero afectados por la
tabla de codificacin y a la vez encriptados con el cdigo.
3) Control, son 2 caracteres codificados que informan de la cantidad de caracteres de la que est
compuesto el mensaje, esto forma parte del control de errores de la transmisin. Al recibir el
mensaje se cuentan los caracteres recibidos y deben coincidir con el nmero de control incluido

TP Uso de matrices en encriptacin de mensajes


Grupo: 3

Horacio Rodrguez - Jos Biafore


Emanuel Montenegro - Matas Lavigne
en la recepcin, el cual no interviene dentro del conteo. Para este control se
incluyen los caracteres del mensaje junto con los de direccin, como as tambin los caracteres de
control.
Es de notar que solamente el bloque correspondiente al mensaje est encriptado, ya que la direccin es
necesaria que sea rpidamente reconocida para decidir si iniciar el procedimiento de decodificacin del
mensaje, en caso de ser el destinatario, o desecharlo por no ser para mi.
Algo parecido ocurre con los caracteres de control, necesito tener acceso rpidamente a ellos para
constatar si lo recibido corresponde fielmente a lo transmitido y en caso contrario, solicitar el re envo del
mismo.
Decodificar un mensaje con un posible error implica una prdida de tiempo y recursos, ya que es muy
posible que su contenido sea ilegible.
Con respecto a este control, existen formas mas seguras de verificar y hasta de corregir errores en los
mensajes recibidos, para esto se usan algoritmos matemticos con polinomios llamados CRC (siglas de
cdigo de redundancia cclica).

Encriptado del mensaje


Vamos a explicar la teora de este procedimiento.
Sea A una matriz de orden N x N elegida de tal manera que sus elementos pertenezcan a los naturales,
tenga inversa y los elementos de ella tambin pertenezcan a los naturales 1, sea X una matriz fila (orden
1 x N) formada por los caracteres, codificados segn tabla ASCII, del mensaje.
X * A= Y

Donde X es de orden 1 x N (Vector fila) y A de orden N x N es la matriz de encriptado.


Y ser el vector fila del mensaje a transmitir de orden 1 x N.

El destinatario debe realizar la siguiente operacin.


Y*A-1 = (X*A ) * A-1 = X

-1

Donde A-1 es la matriz inversa de A.

Recordemos que:
(A)-1 * (A) = (I) Matriz identidad del mismo orden que A
Observamos que obtenemos nuevamente el vector fila X que no es mas que nuestro mensaje original.
Solo resta comparar si la cantidad de caracteres enviados es igual a la cantidad de caracteres recibidos y
decodificar con la tabla ASCII para reconstruir el mensaje original enviado por nuestro emisor.
Veamos un ejemplo para que quede claro.
Supongamos que queremos enviar al destinatario 19 el mensaje A LA TARDE EN EL BOSQUE .
1) Codifiquemos con la tabla ASCII el nmero 19 y cada carcter del mensaje.
19: 49, 57
A LA TARDE EN EL BOSQUE: 65, 32, 76, 65, 32, 84, 65, 82, 68, 69, 32, 69, 78, 32, 69, 76 ,32, 66, 79,
83, 81, 85, 69, 322
La cantidad de caracteres a transmitir son 26 que codificado sera: 50,54.
2) Elegimos la matriz A de 3x3
1
-1
1

-2
1
-1

2
3
-4

=A

Se busca esta caracterstica para que al obtener los elementos encriptados estos sean enteros y no tener
inconvenientes con el cdigo obtenido del carcter final.
2
Se observa la vulnerabilidad de esta codificacin ya que los cdigos 32: espacio y 65: a son los mas
repetidos.

TP Uso de matrices en encriptacin de mensajes


Grupo: 3

Horacio Rodrguez - Jos Biafore


Emanuel Montenegro - Matas Lavigne
3) Formamos los vectores fila con los caracteres codificados del mensaje
Y1: (65
Y2: (65
Y3: (65
Y4: (69
Y5: (78
Y6: (76
Y7: (79
Y8: (85

32
32
82
32
32
32
83
69

76)
84)
68)
69)
69)
66)
81)
32)3

4) Realizamos la operacin Y * A
1
(65 32 76) * -1
1

-2
1
-1

2
3 = (109 -174 -78) =X1
-4

1
(65 32 84) * -1
1

-2
1
-1

2
3 = (117 -182 -110) =X2
-4

1
(65 82 68) * -1
1

-2
1
-1

2
3 = (51
-4

-116

104) =X3

1
(69 32 69) * -1
1

-2
1
-1

2
3 = (106 -175
-4

-42) =X4

1
(78 32 69) * -1
1

-2
1
-1

2
3 = (115
-4

-193

-24) =X5

1
(76 32 66) * -1
1

-2
1
-1

2
3 = (110
-4

-186

-16) =X6

1
(79 83 81) * -1
1

-2
1
-1

2
3 = (77
-4

-156

83) =X7

1
(85 69 32) * -1
1

-2
1
-1

2
3 = (48
-4

-133

249) =X8

4) La cadena de nmeros a enviar es:


49, 57, X1, X2, X3, X4, X5, X6, X7, X8, 50, 54
XXXX : Direccin del destinatario (Codificada)
XXXX : Mensaje (Codificado y encriptado)
XXXX : Caracteres de control (Codificado)

La trama de nmeros a enviar sera:


3

La cantidad de caracteres del mensaje a encriptar no es mltiplo de 3 por lo que se completa al final con
caracteres espacio (ASCII 32).

TP Uso de matrices en encriptacin de mensajes


Grupo: 3

Horacio Rodrguez - Jos Biafore


Emanuel Montenegro - Matas Lavigne
49, 57, 109, -174, -78, 117, -182, -110, 51, -116, 104, 106, -175, -42, 115, -193, -24, 110, -186, -16, 77,
-156, 83, 48, -133, 249, 50, 54
Ahora hagamos el camino contrario para obtener el mensaje original.
1) Verifico la direccin del destinatario:
49, 57 que corresponden a los caracteres 1 y 9 o sea la direccin 19 en decimal.
2) Sabiendo la matriz con la que se encript el mensaje, obtengo su inversa:
A=

1
-1
1

-2
1
-1

2
3
-4

Obtengo su inversa
A-1 =

-1
-1
0

-10
-6
-1

-8
-5
-1

3) Cuento los caracteres del mensaje recibido y lo comparo con el cdigo de verificacin incluido
al final del mensaje.
2 caracteres de direccin + 24 caracteres de mensaje = 26 caracteres
Cdigo de verificacin 50, 54 correspondientes a 2 y 6 o sea 26 caracteres
El mensaje no tiene errores por lo que se puede tomar como vlido.
4) Inicio el proceso de desencriptado usando los vectores fila recibidos y la matriz inversa obtenida
(109 -174 -78) *

-1
-1
0

-10
-6
-1

-8
-5
-1

= (65 32 76) =Y1

(117 -182 -110) *

-1
-1
0

-10
-6
-1

-8
-5
-1

= (65 32 84) =Y2

(51

-116 104) *

-1
-1
0

-10
-6
-1

-8
-5
-1

= (65 82 68) =Y3

(106 -175 -42) *

-1
-1
0

-10
-6
-1

-8
-5
-1

= (69 32 69) =Y4

(115 -193 -24) *

-1
-1
0

-10
-6
-1

-8
-5
-1

= (78 32 69) =Y5

(110 -186 -16) *

-1
-1
0

-10
-6
-1

-8
-5
-1

= (76 32 66) =Y6

(77

-1
-1
0

-10
-6
-1

-8
-5
-1

= (79 83 81) =Y7

-1

-10

-8

-156

83) *

TP Uso de matrices en encriptacin de mensajes


Grupo: 3

Horacio Rodrguez - Jos Biafore


Emanuel Montenegro - Matas Lavigne
(48

-133 249) *

-1
0

-6
-1

-5
-1

= (85 69 32) =Y8

5) Agrupamos los cdigos obtenidos y buscamos su carcter correspondiente en la tabla ASCII.


65: A, 32: esp, 76: L, 65: A, 32: esp, 84: T, 65: A, 82; R, 68:D, 69: E, 32: esp, 69: E, 78: N, 32: esp, 69:
E, 76: L, 32: esp, 66: B, 79: O, 83: S, 81: Q, 85: U, 69: E, 32: esp
Obteniendo el mensaje A LA TARDE EN EL BOSQUE que era nuestra cadena de caracteres original.

TP Uso de matrices en encriptacin de mensajes


Grupo: 3

También podría gustarte