Esta semana en eKameno ha tocado crear el sistema de cifrado que mantendrá seguros los hogares y entornos de todos los usuarios del sistema y para ello nos hemos puesto a estudiar a fondo todas las posibilidades existentes hasta dar con el sistema perfecto.

Durante todo este recorrido, en desarrollo, hemos aprendido mucho y nos parece un mal comienzo no compartir ese conocimiento. Sobretodo en estos momentos en los que lo tienes fresco y ya no recuerdas muy bien las preguntas (quizás muchas veces estúpidas) que te vinieron a la mente en los momentos que no tenías ni idea.

Para empezar.. todo el que quiere un sistema de cifrado quiere enviar un mensaje entre emisor y receptor sin que ningún elemento que pueda estar escuchando ( le podríamos llamar “cotorra” ) el canal de comunicación entienda lo que se está intentando decir.

Una de las premisas que debemos tener en cuenta para que un cifrado sea efectivo, es que el sistema de cifrado acabará siendo conocido por la cotorra. Vamos.. que cambiamos todas las letras por la siguiente de su abecedario, el sistema no será seguro, porque la cotorra viendo varios mensajes acabará dando en el clavo y descifrará desde ese momento cualquier mensaje.

Entonces, ¿Como hacemos un sistema seguro? La seguridad de un sistema no reside en lo complicado de las operaciones del sistema de cifrado, sino en la fuerza de su llave y en la ocultación de la misma.

No vamos a entrar en teoría matemática de cada algoritmo de cifrado y tampoco explicaremos todos los los que existen ni sus categorías, porque como hemos comentado antes esto es un artículo para dummies como nosotros. Nos vamos a centrar en la base de casi todos los cifrados del planeta actualmente: RSA y AES. O lo que es lo mismo. claves simétrica y asimétrica respectivamente.

¿Empezamos a hablar un poco raro? No te preocupes parecen conceptos difíciles pero son extremadamente simples si nos abstraemos de su contenido matemático real. Y la explicación para dummies quedaría mas o menos así:

  • Simétrica: Los cifrados de clave simétrica son los más simples. Emisor y receptor utilizan una clave privada pactada y que los dos conocen. Los mensajes solo los pueden descifrar ellos porque se supone que el resto no conoce esa clave. Pero ¿Como pasas la llave de forma segura al receptor? y ¿donde la guardas de forma totalmente segura? Estos problemas son de difícil solución con un cifrado simétrico. AES utiliza este cifrado.
  • Asimétrica: Los cifrados asimétricos son bastante mas complicados matemáticamente, pero nosotros en eso no entramos de momento. Así que la explicación la daremos muy simplificada. Un cifrado de este tipo tiene dos claves (una pública y otra privada) y básicamente lo que ciframos con una únicamente se puede descifrar con la otra. La magia de esto es que podemos descifrar un mensaje sin conocer la clave privado del emisor y funciona en las dos direcciones. Por lo tanto, si hacemos pública la clave que llamamos clave pública y la otra nos la guardamos y escondemos, cualquiera podrá enviarnos mensajes que sean indescifrables para todo el que no posea la clave privada. Y.. (y esto también es muy interesante) Si ciframos un mensaje con la clave privada que únicamente nosotros conocemos, todo el mundo puede verlo y descifrarlo, ¿Que estúpido no? Pues no tanto, porque la única persona capaz de haber escrito ese mensaje que todo el mundo puede descifrar y leer es el poseedor de la clave privada, por lo que se convierte en un sistema de autenticación personal inmejorable y en lo que se basan las actuales firmas digitales. El problema de este cifrado es que es excesivamente lento y claves de 1024 no pueden cifrar mas que 256 bytes (Todo resumido para dummies).

¿Entonces? Hemos quedado que en AES es imposible guardar y compartir la clave de forma segura y que RSA no me ayuda para cifrar datos porque tiene unas limitaciones excesivas. ¿Haga lo que haga me va a salir un cifrado cutre? La respuesta es no. En la actualidad lo que la gente suele hacer es utilizar RSA para compartir las llaves de AES o cualquier otra clave simétrica y cifrar desde ese momento con ese simétrico. Así conseguimos compartir la llave de forma segura y como hemos comentado antes si la clave es fuerte el cifrado es fuerte.

Pero.. ¿Al final que cifrado usamos en eKameno? Bueno.. antes os expliqué que teníamos que asumir que el formato de ese cifrado iba a acabar siendo conocido y que hay que dificultar el descifrarlo sin clave pero conociendo el cifrado. Esto es cierto, pero que tengamos que asumir esto no significa que lo vayamos a poner fácil ;) Digamos que lo que hemos explicado es una parte muy importante del cifrado de eKameno.. y hasta ahí puedo leer.

P.D.: Sobre la bibliografía de lo aprendido, creo que lo mejor que os podemos entregar es esta serie de vídeos, de Intypedia. Una gozada aunque os estéis una hora viéndolos todos, merecen la pena. Si os interesa el tema del cifrado os dejamos el primero de lo vídeos, entrad en youtube para seguir el resto de lecciones. ¡No tienen desperdicio! :

Share →

One Response to Cifrado para dummies

  1. No dice:

    Jajajaja
    Es simetrico y asimetrico

    Me has alegrado el dia
    Jajajaja

Deja un comentario