epespad

Un poco de criptografía digital (I)

Bueno, este post es continuación de

Configurando una red WiFi con D-link DIR600 paso a paso (I)
y
Configurando una red WiFi con D-link DIR600 paso a paso (II)

Configurando una red WiFi con D-link DIR600 paso a paso (III)



Un poco de criptografía digital (I)


Por lo que si todavía no los leíste, te aconsejo que lo hagas antes de entrar con éste, de otra forma va a haber mucho que no va a resultar claro:

Después de un par de meses, paso para completar lo que estába debiendo y empiezo a subir la segunda parte de la serie.

Este post tiene como finalidad completar la configuración básica y mínima de un router inalámbrico Dlink DIR600 para una instalación hogareña, pero sentando las bases para escalar a medianas aplicaciones, tales como por ejemplo, una pequeña empresa.

Aquí se va a hablar de las codificaciones Wireless, y sobre cómo funcionan, por lo que puede parecer un poco pesado al principio, pero vamos a tratar de hacerlo lo mas liviano posible, y lo mas interesante también

Bueno, para no alargar mas el tema (que ya de por si va a ser un poco largo) vamos a lo que te truje:


1 - Un poco sobre criptografía

Bueno, no es el sentido de este post explayarse demasiado sobre criptografía, la cual es una ciencia de mas de dos mil años de antigüedad. La palabra "criptografía" ya nos da una idea de a que apunta, "cripto" significa oculto y "grafía" escritura, de modo que criptografía es literalmente "escritura oculta". A lo largo de la historia el hombre se las ha ingeniado de manera mas o menos efectiva para enviar mensajes ocultos, con diferentes finalidades. Secretos de estado, secretos artesanales, mensajes a amantes, bromas pesadas. En fin en cada uno de los casos siempre ha habido un "código secreto" que permitía a las personas interesadas en comunicarse entender el significado del mensaje tornándolo lo mas oscuro e incomprensible posible para los demás.

Como métodos de encriptación, hay muchísisisimos, y no es el sentido de este post explicarlos a todos, vamos a tomar dos claves por sustitución como ejemplo:

El ejemplo mas sencillo de clave por sustitución es muy conocido, se basa en una tabla de igualdad entre dos caracteres diferentes.

wireless

Cada una de las personas a comunicarse tiene una de estas tablas y para enviar un mensaje símplemente sustituye cada letra por su equivalente. Los caracteres "sustitutos" pueden ser cualquiera y no necesariamente los de esta tabla, siempre que se respete la sustitución 1 a 1. No hay ambiguedad, cada caracter tiene un único sustituto. Con un poquito de tiempo, lápiz y papel es posible romper con facilidad este tipo de claves si se conoce el idioma del mensaje, pues los idiomas tienen ciertos juegos de caracteres correspondientes a sonidos (fonemas) que se repiten con frecuencia, y hay letras que aparecen con mas frecuencias que otras.

Una versión bastante mas dificil de resolver del código de sustitución es el código rotativo, en este tipo de claves los caracteres sustitutos van rotando, Podríamos empezar con una tabla igualdad, por ejemplo A=A, B=B, C=C, etc, y el primer caracter sustituido sería igual al del texto original, pero para el segundo caracter desplazamos la tabla de sustitución un lugar hacia arriba: A=B, B=C, C=D; para el tercer caracter desplazamos de nuevo hacia arriba A=C, B=D, C=E; y así. Aquí lo importante es contar tanto con la tabla de igualdad, como la posición inicial de la tabla y la regla de desplazamiento (desplazar 1 posición, 2 posiciones, 3, en sentido positivo o negativo, etc.), esto se llama "vector de inicialización". Este es un nombre importante para recordar .

Un ejemplo de este tipo de cifrados fue el de la famosa maquina ENIGMA del ejército Nazi durante la segunda guerra mundial, esta máquina hacía de forma mecánica el trabajo de sustitución rotativa, contaba con cinco rotores, tres de los cuales eran intercambiables (por lo que cada caracter ingresado era sustituido cinco veces antes de salir). Para codificar un mensaje se enviaba el "vector de inicialización (posición inicial de los discos y ubicación de los discos en las ranuras)" en forma no cifrada y luego el mensaje cifrado. Los británicos finalmente consigueron romper el código ENIGMA, pero claro, contaban con algunos científicos de la talla de Alan Turing (creador de la moderna teoría de la computación) para hacerlo, un presupuesto casi ilimitado y no sin haber sufrido verdaderos dolores de cabeza

Bueno, los modernos cifrados que se utilizan en seguridad WiFi son en cierta forma herederos del cifrado rotatorio ENIGMA, pero añaden algunas cosas nuevas, que hacen la tarea de descifrado un poco mas dificil (aunque no totalmente imposible).


2 - Elementos de criptografía digital (I)
Bueno, como ya la mayoría sabe, las computadoras, ordenadores y demás no "piensan" en términos de letras o palabras, sino en términos matemáticos, y en concreto la mayoría de los "cerebros" digitales hacen uso de una matemática en particular: la matemática binaria. Trabajan con dos "numeros" (dos estados lógicos en realidad) el cero y el uno. Se hace así porque es mucho mas fácil hacer operaciones en matemática binaria, que en matemática de base diez (la que estamos acostumbrados a utilizar).

La matemática binaria está sujeta a las mismas reglas que la matemática en base diez, pero se expresa en forma diferente, en nuestra matemática habitual utilizamos diferentes símbolos para representar los números que están entre el cero y el nueve, y si tenemos que representar un número mayor que nueve, movemos una posición hacia la cifra de las decenas y seguimos contando. Contamos posicionalmente en múltiplos de diez.

Así por ejemplo

7+1=8
8+1=9

pero

9 + 1 = 10

Cuando ocupamos todos los símbolos, movemos una posición y seguimos contando.

En matemática de base dos, sólo contamos con dos "símbolos", el cero y el uno, cuando consumimos todos los símbolos posibles, nos vemos obligados a mover la posición. Esto tiene algunas particularidades que pueden parecer un poco extrañas a primera vista.

0+1=1 al igual que en la matemática "normal"

pero

1+1=10 !!!!

Como no tenemos un símbolo para representar el 2, nos vemos obligados a cambiar una posición.... y segur contando

De la misma forma

3 se representa como 1+1+1 = 11 (10+1)

Al sumar uno mas, 11+1 la cifra de las unidades se me hace cero, y me llevo 1 que sumado al otro 1 me da 10, en resumen

4 = 11+1 = 100 !!!

También lo puedo ver de esta forma

El 4 es 2*2, que en matemática binaria sería 10*10 = 100

El 8 es 2*2*2, en binario 10*10*10=1000 y así

Al principio resulta un poco confuso, pero después uno se acostumbra.


Por cuestión de espacio este post va a continuar en

Un poco de criptografía digital (II)

0 comentarios - Un poco de criptografía digital (I)