Beruflich Dokumente
Kultur Dokumente
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.
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
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
-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.
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
-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).
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
(51
-116 104) *
(77
-156
83) *
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.