Comparte

martes, 4 de enero de 2011

Encriptar mensajes

¡Saludos! el tema que quiero traerles hoy nació despúes de leer un libro de mi escritor favorito de thrillers, me refiero a Dan Brown. Bueno, luego de leerme la fortaleza digital (un libro un tanto viejo, ps hay que tener en cuenta que su último libro es el símbolo perdido del 2009 y este es del 97 creo) quedé encantado con la encriptación y como hacerlo, pues las matemáticas (un área que me gusta mucho) es muy utilizada para esto. Aquí voy a explicar unas bases muy sencillas de como encriptar mensajes de forma fácil y pues para los más interesados explicaré tambien una forma un poco más compleja e ingeniosa de hacerlo a través de matrices, además de eso dejaré sentada las bases de cómo hacer un programa en java (para los programadores) que encripte y desencripte mensajes.

Bueno, comenzaré explicando la caja de Julio Cesar. Este método de encriptación lo desarrolló (como su nombre lo dice) el emperador romano Julio Cesar para enviar mensajes secretos a sus generales en el frente de batalla. El proceso es simple y sencillo, lo primero que se necesita es un mensaje que la cantidad de letras sea el cuadrado de un número. Se debe obtener la raiz cuadrada de esa cantidad de letras y luego el resultado será el número de filas y columnas, es decir, un cuadrado perfecto (algo un poco mas técnico sería, el área de ese cuadrado debe ser igual al número de letras del mensaje). Luego de tener el mensaje con el anterior requisito se debe escribir el mensaje de forma vertical, sin espacios, hasta completar todo el cuadro y finalmente el mensaje encriptado será las lienas horizontales seguidas unas de otras.

por ejemplo encriptemos Yolanda buenisima quedaría algo asi

Y N U S
O D E I
L A N M
A B I A
y el mensaje sería YNUSODEILANMABIA
Ahora, si el lector tiene conocimientos básicos sobre matrices se puede hacer un encriptación más interesante y compleja. Lo primero que de debe hacer es numerar cada letra del abecedario donde el cero es el espacio, 1=a 2=b 3=c asi sucesivamente hasta la z, luego pasar el mensaje a los números creando vectores fila en R3 (es decir con 3 elementos, los número de dos cifras cuentan como uno solo) se debe tener una matriz de encriptación, que en este caso debe ser una matriz de dimension 3x3 ya que el resultado será otro vector fila y multiplicar el vector fila con la matriz de encriptación para obtener el mensaje cifrado. Este método es poderoso, ya que si la persona no tiene la matriz desencriptadora (que sería la inversa de la matriz encriptadora) no puede decifrar el mensaje o le sería muy complejo. Hay que tener en cuenta que al múltiplicar la matriz encriptadora con el vector fila, dependiendo de la matriz, se puede generar un nivel de error si el resultado son números fraccionarios.
Con este método, se puede crear un programa muy sencillo en java que haga lo anterior, así que los que les gusta la programación he aquí un metodo lindo y sencillo, tambien pueden convinar métodos, es decir, primero aplicar la caja de Julio Cesar y luego encriptar con las matrices, sería aun un poco mas complejo el mensaje cifrado!!.
Saludos! no se les olvide seguirme en twitter MaoArcilaV

1 comentario:

  1. ole mao ya me he vuelto un poco adicta de tu blog .. casi como la columna de Daniel Samper, estan buenos tus temas sobre porque son datos interesantes diversos y concretos.. me gusta este y la muerte de Jesus en japon
    att: MAPRADICRELAILAL

    ResponderEliminar