Sie sind auf Seite 1von 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

1
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 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
1

Donde A-1 es la matriz inversa de A.

-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 1 (65 32 84) * -1 1 1 (65 82 68) * -1 1 1 (69 32 69) * -1 1 1 (78 32 69) * -1 1 1 (76 32 66) * -1 1 1 (79 83 81) * -1 1 1 (85 69 32) * -1 1 -2 1 -1 -2 1 -1 -2 1 -1 -2 1 -1 -2 1 -1 -2 1 -1 -2 1 -1 -2 1 -1 2 3 = (109 -174 -78) =X1 -4 2 3 = (117 -182 -110) =X2 -4 2 3 = (51 -4 -116 104) =X3

2 3 = (106 -175 -4 2 3 = (115 -4 2 3 = (110 -4 2 3 = (77 -4 2 3 = (48 -4 -193

-42) =X4

-24) =X5

-186

-16) =X6

-156

83) =X7

-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 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


La trama de nmeros a enviar sera: 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 -1 -1 0 -1 -1 0 -1 -1 0 -1 -1 0 -1 -1 0 -1 -1 0 -10 -6 -1 -10 -6 -1 -10 -6 -1 -10 -6 -1 -10 -6 -1 -10 -6 -1 -10 -6 -1 -8 -5 -1 -8 -5 -1 -8 -5 -1 -8 -5 -1 -8 -5 -1 -8 -5 -1 -8 -5 -1 = (65 32 76) =Y1

(117 -182 -110) *

= (65 32 84) =Y2

(51

-116 104) *

= (65 82 68) =Y3

(106 -175 -42) *

= (69 32 69) =Y4

(115 -193 -24) *

= (78 32 69) =Y5

(110 -186 -16) *

= (76 32 66) =Y6

(77

-156

83) *

= (79 83 81) =Y7

TP Uso de matrices en encriptacin de mensajes Grupo: 3

Horacio Rodrguez - Jos Biafore Emanuel Montenegro - Matas Lavigne


(48 -133 249) * -1 -1 0 -10 -6 -1 -8 -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

Das könnte Ihnen auch gefallen