martes, 26 de octubre de 2010

CRIPTOGRAFIA

CRIPTOGRAFIA:
Definición de la Criptografía:

La criptografía es la técnica que protege documentos y datos. Funciona a través de la utilización de cifras o códigos para escribir algo secreto en documentos y datos confidenciales que circulan en redes locales o en internet. Su utilización es tan antigua como la escritura. Los romanos usaban códigos para ocultar sus proyectos de guerra de aquellos que no debían conocerlos, con el fin de que sólo las personas que conocían el significado de estos códigos descifren el mensaje oculto.

A partir de la evolución de las computadoras, la criptografía fue ampliamente divulgada, empleada y modificada, y se constituyó luego con algoritmos matemáticos. Además de mantener la seguridad del usuario, la criptografía preserva la integridad de la web, la autenticación del usuario así como también la del remitente, el destinatario y de la actualidad del mensaje o del acceso.

Las llaves pueden ser:

Simétricas: Es la utilización de determinados algoritmos para descifrar y encriptar (ocultar) documentos. Son grupos de algoritmos distintos que se relacionan unos con otros para mantener la conexión confidencial de la información.

Asimétrica: Es una fórmula matemática que utiliza dos llaves, una pública y la otra privada. La llave pública es aquella a la que cualquier persona puede tener acceso, mientras que la llave privada es aquella que sólo la persona que la recibe es capaz de descifrar.
Video que muestra sobre criptografía:




Doce videos sobre criptografía:




Criptografía con matrices:
Criptografía


Un "criptograma" es un mensaje escrito en código secreto. Deriva de la palabra griega Kryptos que significa oculto. Actualmente la criptografía ha cobrado un auge inusitado debido a la necesidad de preservar la seguridad en Internet y las transacciones que se hacen por la red.
Nosotros vamos a aplicar lo aprendido en el trabajo con matrices en este caso para practicar un método muy simple, pero efectivo, para codificar y decodificar mensajes. Ten en cuenta que siempre que transmitimos un mensaje cifrado, la persona que lo recibe tiene que tener los mecanismos oportunos para descifrarlo.
Para poner en práctica nuestro método vamos a necesitar una tabla en la que haremos corresponder un número a cada letra del abecedario y también necesitamos una matriz de orden n que sea invertible.
Veamos el proceso
Empezamos construyendo la tabla en la que hacemos corresponder un nº a cada letra (no incluimos ningún signo ni símbolo).
La haremos lo más simple posible (aunque tú puedes decidir su grado de complicación).
A=1 H=8 Ñ=15 U=22
B=2 I=9 O=16 V=23
C=3 J=10 P=17 W=24
D=4 K=11 Q=18 X=25
E=5 L=12 R=19 Y=26
F=6 M=13 S=20 Z=27
G=7 N=14 T=21 SPACE=28
Luego escribimos el mensaje sin codificar dividiéndolo en matrices filas de n elementos.
Veamos un ejemplo de mensaje
"LO MEJOR PARA JUANMA"
Traducido a números sin codificar:
12,16,0,13,5,10,16,19,0,17,1,19,1,0,10,22,1,14,13,1,0
Ahora voy a tomar n=3 y por lo tanto separo el código anterior en matrices filas de 1x3
[12,16,0] [13,5,10] [16,19,0] [17,1,19] [1,0,10] [22,1,14] [13,1,0]
Fíjate que he añadido un espacio al final para que me saliese una matriz de 1x3
Ahora tengo que buscar una matriz invertible de orden 3, esto
es fácil de hacer con la calculadora ya que te puedes inventar una matriz A
de orden 3 y comprobar si tiene inversa con la orden A-1


Ya tengo la matriz invertible A.
Ahora vamos multiplicando cada matriz fila 1x3 obtenida anteriormente por A (por la izquierda)
con lo que obtengo matrices 1x3 x 3x3 -> 1x3

Con lo que obtengo una nueva secuencia de matrices 1x3
[72,-4,80] [41,38,122] [89,-3,102] [37,73,184] [2,31,64] [47,63,174] [29,12,54]
Que expresados en forma de lista de números queda:
72,-4,80,41,38,122,89,-3,102,37,73,184,2,31,64,47,63,174,29,12,54

Para alguien que no tenga la matriz A en su poder esta
lista se puede convertir en un galimatías sin sentido

Pero veamos ahora el proceso para descifrar el mensaje
si somos poseedores de la tabla de equivalencias entre letras
y números y de la matriz A
Miremos la primera matriz que multipliqué por A:
[12 16 0] . A = [72 -4 80]
Multipliquemos por A-1 (la inversa de A) por la derecha
[12 16 0] . A . A-1= [72 -4 80] . A-1
[12 16 0] . I = [72 -4 80] . A-1
[12 16 0] = [72 -4 80] . A-1
( I es la matriz Identidad )
Por lo tanto si multiplico la matriz cifrada por A-1 obtengo la matriz original
que puedo consultar en la tabla y descifrar directamente.
¡¡¡ Cuidado a la hora de multiplicar si lo haces por la derecha o la izquierda !!!
Recuerda que la multiplicación de matrices no tiene la propiedad conmutativa.
(aunque ocasionalmente puedes encontrar dos matrices que si cumplan que A.B = B.A)
Recopilemos:

Así que si tengo la tabla del principio y la matriz A y recibo un mensaje como el siguiente:
72,-4,80,41,38,122,89,-3,102,37,73,184,2,31,64,47,63,174,29,12,54
Lo primero que hago es mirar el orden de A y separo la lista en matrices filas
de orden 1 x n siendo n el orden de A.
Después voy multiplicando las matrices filas obtenidas por la inversa de A.
( las matrices filas multiplican por la izquierda a A-1 )

Después recompongo en orden los resultados obtenidos de los anteriores productos
[12,16,0] [13,5,10] [16,19,0] [17,1,19] [1,0,10] [22,1,14] [13,1,0]
12,16,0,13,5,10,16,19,0,17,1,19,1,0,10,22,1,14,13,1,0
y ya no nos queda nada más que consultar en la tabla de equivalencias.

El proceso que hemos descrito es sumamente sencillo,
pero a quien no posea la tabla de equivalencias y la matriz A
le resultará muy difícil descifrar nuestros mensajes.

¡ 44,14,86,74,-3,84 !



Para ir a:

No hay comentarios:

Publicar un comentario