En la actualidad, los sistemas criptográficos se dividen en dos campos de estudio principales: criptografía simétrica y asimétrica. Mientras la encriptación simétrica se emplea a menudo como sinónimo de criptografía simétrica, la criptografía asimétrica abraza dos usos primarios: encriptación asimétrica y firmas digitales.
Por consiguiente, podemos representar ambos grupos de la siguiente manera:
- Criptografía de clave simétrica
- Encriptación simétrica
- Criptografía asimétrica (o criptografía de clave pública)
- Encriptación asimétrica (o encriptación de clave pública)
- Firmas digitales (puede incluir o no encriptación)
Este artículo se centrará en los algoritmos de encriptación simétricos y asimétricos.
Encriptación simétrica vs. asimétrica
Los algoritmos de encriptación o cifrado a menudo se dividen en dos categorías: encriptación simétrica y asimétrica. La diferencia fundamental entre estos dos métodos de encriptación radica en el hecho de que los algoritmos de cifrado simétricos emplean una única clave, mientras que los asimétricos utilizan dos claves distintas pero vinculadas. Dicha distinción, a pesar de ser simple en apariencia, explica las diferencias funcionales entre los dos tipos de técnicas de encriptación y la forma en que son empleadas.
Comprensión de las “claves de encriptación”
En criptografía, los algoritmos de cifrado generan claves en forma de series de bits que se emplean para encriptar y desencriptar fragmentos de información. La forma en que dichas claves se utilizan da cuenta de la diferencia entre encriptación simétrica y asimétrica.
Mientras los algoritmos de encriptación simétrica utilizan la misma llave para llevar a cabo las funciones de encriptación y desencriptación; un algoritmo de encriptación asimétrico, por contra, emplea una clave para encriptar los datos y otra distinta para desencriptarlos. En los sistemas asimétricos, la clave utilizada para la encriptación se conoce como “clave pública” y puede ser compartida libremente con el resto de la gente. Por el contrario, la clave empleada para la desencriptación, denominada “clave privada”, debe ser guardada en secreto.
Por ejemplo, si Alice le envía a Bob un mensaje protegido por encriptación simétrica, deberá compartir también la clave empleada para el cifrado, para que éste puede desencriptarlo y leerlo. Esto significa que si un actor malicioso intercepta la clave será capaz de acceder a la información encriptada.
En cambio, si Alice decide emplear un esquema asimétrico, encriptará el mensaje con la “clave pública” de Bob para que éste pueda desencriptarlo con su propia “clave privada”. Como se deduce, la encriptación asimétrica ofrece un nivel de seguridad más elevado porque, incluso en el caso de que alguien intercepte y encuentre la clave pública de Bob, no podrá desencriptar el mensaje.
Longitud de las claves
Otra diferencia funcional entre la encriptación simétrica y asimétrica está relacionada con la longitud de las claves, medidas en bits, y directamente vinculadas al nivel de seguridad proporcionado por cada algoritmo criptográfico.
En los esquemas simétricos, las claves son seleccionadas de forma aleatoria, y su longitud suele establecerse en 128 o 256 bits, dependiendo del nivel de seguridad requerido. En la encriptación asimétrica, sin embargo, debe existir una relación matemática entre la clave pública y privada, lo que significa que un patrón matemático vinculará a las dos. Dado que este patrón podría ser potencialmente explotado por atacantes para vulnerar el cifrado, las claves asimétricas requieren una mayor longitud para alcanzar un nivel de seguridad equivalente. La diferencia en la longitud requerida para cada clave es tan pronunciada, que una clave simétrica de 128 bits y una asimétrica de 2,048 bits ofrecen aproximadamente los mismos niveles de seguridad.
Ventajas y desventajas
Ambos tipos de encriptación presentan ventajas y desventajas comparativas. Los algoritmos de encriptación simétricos son mucho más rápidos y requieren menos potencia computacional, pero su principal flaqueza es la distribución de las claves. Dado que la misma clave se utiliza para encriptar y desencriptar la información, ésta debe distribuirse a todo aquel que necesite acceder a los datos, lo que, como es lógico, conlleva una serie de riesgos de seguridad (como se ha explicado anteriormente).
Por el contrario, la encriptación asimétrica resuelve el problema de la distribución de claves al utilizar claves públicas para el cifrado y claves privadas para la desencriptación. La contraprestación, sin embargo, es que los sistemas de cifrado asimétricos son mucho más lentos que los simétricos y requieren mucha más potencia computacional como resultado de la mayor longitud de sus claves.
Casos de uso
Encriptación simétrica
Debido a su mayor velocidad, la encriptación simétrica se emplea de forma generalizada para la protección de información en muchos sistemas de computación modernos. El Advanced Encryption Standard (AES), por ejemplo, es empleado por el gobierno de los Estados Unidos para encriptar información clasificada y sensible. El AES reemplazó a su predecesor, el Data Encryption Standard (DES), desarrollado en la década de 1970 como estándar de encriptación simétrica.
Encriptación asimétrica
La encriptación asimétrica puede aplicarse en sistemas en los que muchos usuarios pueden requerir la encriptación y desencriptación de mensajes o conjuntos de datos, especialmente, cuando la velocidad y la potencia computacional no son preocupaciones primarias. Un ejemplo de este tipo de sistemas es el correo electrónico cifrado, en el que una clave pública puede ser empleada para encriptar un mensaje, y una clave privada para desencriptarlo.
Sistemas híbridos
En muchas aplicaciones, la encriptación simétrica y la asimétrica se utilizan de forma conjunta. Ejemplos típicos de estos sistemas híbridos son los protocolos criptográficos Secure Sockets Layer (SSL) y Transport Layer Security (TLS), diseñados para proporcionar comunicaciones seguras en Internet. Los protocolos SSL se consideran en la actualidad poco seguros y su uso se desaconseja. Por el contrario, los protocolos TLS se catalogan como seguros y han sido ampliamente utilizados por los principales navegadores web.
¿Emplean las criptomonedas la encriptación?
Las técnicas de encriptación son utilizadas por muchos monederos de criptomonedas para proporcionar un nivel de seguridad más elevado para los usuarios finales. Los algoritmos de cifrado se aplican, por ejemplo, cuando los usuarios establecen una contraseña para sus monederos de criptomonedas, lo que significa que el archivo empleado para acceder al software ha sido encriptado.
Ahora bien, debido a que Bitcoin y otras criptomonedas emplean pares de claves público-privadas, se ha popularizado la idea errónea de que los sistemas blockchain utilizan algoritmos de encriptación asimétricos. Como se ha señalado previamente, la encriptación asimétrica y las firmas digitales son dos de los casos de uso principales de la criptografía asimétrica (criptografía de clave pública).
Pero no todas las firmas digitales, incluso en el caso de que presenten una clave pública y privada, emplean técnicas de encriptación. De hecho, un mensaje puede ser firmado digitalmente sin ser encriptado. El RSA es un ejemplo de algoritmo que puede ser utilizado para firmar mensajes encriptados, pero el algoritmo de firma digital empleado por Bitcoin (denominado ECDSA) no usa la encriptación en ningún caso.
Reflexiones finales
Tanto la encriptación simétrica como la asimétrica juegan un rol destacado en la preservación de la seguridad de informaciones sensibles y comunicaciones del mundo digitalmente dependiente en el que vivimos. A pesar de que ambas pueden resultar útiles, cada una presenta sus propias ventajas y desventajas, por lo que se destinan a distintas aplicaciones. Mientras la ciencia criptográfica continúa evolucionando para así defenderse de amenazas nuevas y más sofisticadas, ambos tipos de sistemas criptográficos (simétricos y asimétricos) seguirán siendo, con toda probabilidad, muy relevantes para la seguridad informática.