La criptografía es el desarrollo de un conjunto de técnicas que permiten alterar y modificar mensajes o archivos con el objetivo de que no puedan ser leídos por todos aquellos usuarios que no estén autorizados a hacerlo. Hoy en día, en pleno auge de las comunicaciones digitales, funciona como la base para cualquier proceso de seguridad informática.
Esta disciplina nació en la Antigua Grecia con el objetivo de evitar que se difundan secretos militares. Los mensajes se encriptaban con métodos sencillos como, por ejemplo, alternando las letras del abecedario. Con el correr de los siglos esas técnicas se fueron complejizando considerablemente y actualmente atraviesan gran parte de nuestra vida cotidiana: garantizan la seguridad de nuestras transacciones mediante banca online por ejemplo. También van ganado protagonismo en la comunicación entre usuarios: aplicaciones de mensajería como Signal o Telegram desde hace años nos permiten enviar mensajes encriptados de “punta a punta”, desde el origen hasta el destino. Así, ni siquiera accediendo a sus servidores se podría leer el contenido de los chats. WhatsApp se integró a la tendencia en 2016 y Skype recién a principios de 2018, confirmando un rumbo claro hacia paltaformas de comunicación más seguras.
Pero ¿cómo funcionan hoy en día estos métodos de encriptación? Cuando convertimos un mensaje que puede ser leído a uno que es ilegible, es decir que a un mensaje lo transformamos en caracteres que no construyen sentido, estamos realizando lo que denominamos un proceso de cifrado. Y si queremos que, nuevamente, ese mensaje sea legible, hacemos el proceso inverso, al que denominamos descifrado. Por lo general estos mecanismos, que conforman la base de la criptografía, se realizan mediante algoritmos y claves.
En la actualidad existen diversos tipos de criptografía:
Criptografía simétrica
Solo utiliza una clave para cifrar y descifrar. Ésta debe ser previamente conocida por todas las partes involucradas.
Podemos imaginar este sistema como algo similar a la seguridad de nuestra casa. Tenemos una llave para cerrar la puerta y estamos tranquilos que solo las personas con esa misma llave la van a poder abrir. Tenemos la ventaja que podemos compartirla con cualquier persona de confianza, pero también existe la posibilidad de que se extravíe, o de que alguien la robe. Esa es la principal desventaja de la criptografía simétrica.
Criptografía simétrica
Criptografía asimétrica o criptografía de clave pública
Esta metodología tiene como base la utilización de dos claves diferentes, pero vinculadas matemáticamente entre sí, utilizadas para cifrar y descifrar el mensaje. Una de ellas debe ser pública, propia de cada participante pero puesta a disposición de cualquier usuario, sea participante en el intercambio de información o no. La otra es una clave privada, también propia de cada uno de ellos, pero que debe permanecer en secreto y nunca ser revelada. Al requerir que cada usuario posea un par de claves, y que una de ellas no se comunique nunca a nadie, todo el proceso se vuelve más seguro.
Una característica importante de este sistema es que nos permite garantizar la privacidad de un mensaje. El emisor puede cifrarlo con la clave pública del destinatario (que, como vimos, tiene a su disposición) y con esto se asegura que solo ese destinatario podrá descifrarlo con su clave privada.
Criptografía Asimétrica
Caso contrario, si el emisor codifica el mensaje con su propia clave privada, cualquiera podría leerlo mediante la clave pública complementaria, pero teniendo la certeza que ese mensaje solo pudo haber sido firmado por ese emisor particular. Esta propiedad hace que la criptografía asimétrica sea ideal, por ejemplo, para sistemas de firma digital.
Estos procesos no necesariamente tienen que ser lineales. En muchas instancias, como las aplicaciones de chat, se generan a partir de un ida y vuelta constante que garantiza que la comunicación sea segura en todas sus instancias.
Uno de los principales límites de la “criptografía de clave pública” es que al requerir cálculos muy complejos se convierte en un proceso más lento. Es por eso que, para economizar procesamiento, generalmente en la práctica se trabaja con una combinación de ambos tipos de sistemas: inicialmente se utilizan métodos asimétricos (lentos) para comunicarse una clave simétrica entre los involucrados en la comunicación y, una vez comunicada esta clave, se la utiliza con métodos simétricos (rápidos) para mantener la comunicación.
Estos mecanismos pueden parecer muy abstractos, pero en nuestra vida cotidiana los usamos constantemente, aunque no nos estemos dando cuenta. Cada vez que visitamos un sitio web, y en la barra de direcciones del navegador aparezca un ícono de un candado (SSL), tenemos la garantía que toda la información que compartamos por ese sitio está cifrada mediante algoritmos criptográficos. Por eso, en el caso de que nuestros datos (nombres de usuario, contraseña, números de tarjetas de crédito, etc.) sean interceptados por un tercero, éste no los podrá descifrar ya que no posee las claves para hacerlo.
De todas formas, si bien este tipo de sistemas proporcionan altos niveles de seguridad, no son infalibles. Todos los algoritmos criptográficos tienden a degradarse con el tiempo ya que a medida que crece el poder de procesamiento de las computadoras, pueden ser quebrados con mayor facilidad. Debido a ello el esfuerzo de los expertos en investigar y desarrollar funciones de mayor complejidad es fundamental en el camino hacia una Internet más segura, sobre todo si consideramos que todos estos mecanismos de encriptación ya no son monopolio de sectores privados o de gobierno que prentenden intercambiar información de forma secreta. Hoy en día el paradigma ha virado y ha ganado protagonismo la Sociedad Civil en el reclamo por canales de comunicación que garanticen la privacidad de los ciudadanos, y por mecanismos criptográficos que permitan un intercambio de información entre pares, sin que otros puedan acceder a ella.