La criptografía de clave simétrica (o cifrado simétrico) es un tipo de esquema de cifrado en el que se utiliza la misma clave tanto para cifrar como para descifrar mensajes. Este método de codificación de información se ha utilizado en gran medida en las últimas décadas para facilitar la comunicación secreta entre los gobiernos y los militares. Hoy en día, los algoritmos de clave simétrica se aplican ampliamente en varios tipos de sistemas informáticos para mejorar la seguridad de los datos.
¿Cómo funciona el cifrado simétrico?
Los esquemas de cifrado simétricos se basan en una clave única que se comparte entre dos o más usuarios. La misma clave se utiliza para cifrar y descifrar el denominado texto sin formato (que representa el mensaje o parte de los datos que se están codificando). El proceso de cifrado consiste en ejecutar un texto plano (entrada) a través de un algoritmo de cifrado denominado Cipher, que a su vez genera un texto cifrado (salida).
Si el esquema de encriptación es lo suficientemente fuerte, la única forma en que una persona puede leer o acceder a la información contenida en el texto cifrado es usar la clave correspondiente para descifrarlo. El proceso de descifrado es básicamente convertir el texto cifrado de nuevo a texto sin formato.
La seguridad de los sistemas de cifrado simétricos se basa en la dificultad de adivinar aleatoriamente la clave correspondiente para forzarlos. Una clave de 128 bits, por ejemplo, llevaría miles de millones de años para adivinar el uso de hardware de computadora común. Cuanto más larga sea la clave de cifrado, más difícil será descifrarla. Las claves que tienen una longitud de 256 bits generalmente se consideran altamente seguras y teóricamente resistentes a los ataques de fuerza bruta de computadora cuántica.
Dos de los esquemas de encriptación simétricos más comunes que se usan en la actualidad se basan en cifrados y flujos de datos. Los cifrados de bloque agrupan los datos en bloques de tamaño predeterminado y cada bloque se cifra con la clave y el algoritmo de cifrado correspondiente (por ejemplo, el texto simple de 128 bits se cifra en el texto cifrado de 128 bits). Por otro lado, los cifrados de flujo no cifran los datos de texto sin formato por bloques, sino en incrementos de 1 bit (el texto sin formato de 1 bit se cifra a la vez en el texto cifrado de 1 bit).
Cifrado simétrico vs. asimétrico
El cifrado simétrico es uno de los dos métodos principales de cifrado de datos en los sistemas informáticos modernos. El otro es el cifrado asimétrico, también conocido como criptografía de clave pública. La principal diferencia entre estos métodos es el hecho de que los sistemas asimétricos utilizan dos claves en lugar de la empleada por los esquemas simétricos. Una de las claves puede compartirse públicamente (clave pública), mientras que la otra debe mantenerse en privado (clave privada).
El uso de dos claves en lugar de una también produce una variedad de diferencias funcionales entre el cifrado simétrico y el asimétrico. Los algoritmos asimétricos son más complejos y más lentos que los simétricos. Debido a que las claves públicas y privadas empleadas en el cifrado asimétrico se relacionan matemáticamente en cierto grado, las propias claves también deben ser considerablemente más largas para proporcionar un nivel de seguridad similar al ofrecido por claves simétricas más cortas.
Usos en los sistemas informáticos modernos.
Los algoritmos de cifrado simétricos se emplean en muchos sistemas informáticos modernos para mejorar la seguridad de los datos y la privacidad del usuario. El Estándar de cifrado avanzado (AES) que se usa ampliamente tanto en aplicaciones de mensajería segura como en el almacenamiento en la nube es un ejemplo prominente de un cifrado simétrico.
Además de las implementaciones de software, AES también se puede implementar directamente en hardware de computadora. Los esquemas de cifrado simétricos basados en hardware usualmente aprovechan el AES 256, que es una variante específica del Estándar de cifrado avanzado que tiene un tamaño de clave de 256 bits.
Vale la pena señalar que la Blockchain de Bitcoin no hace uso del cifrado como muchos tienden a creer. En su lugar, utiliza un tipo específico de algoritmo de firmas digitales (DSA) conocido como el algoritmo de firma digital de curva elíptica (ECDSA, por sus siglas en inglés) que genera firmas digitales sin usar cifrado.
Un punto de confusión común es que el ECDSA se basa en la criptografía de curva elíptica (ECC), que a su vez se puede aplicar para múltiples tareas, incluidas el cifrado, las firmas digitales y los generadores seudoaleatorios. Sin embargo, la ECDSA en sí no se puede utilizar para el cifrado en absoluto.
Ventajas y desventajas
Los algoritmos simétricos proporcionan un nivel de seguridad bastante alto y, al mismo tiempo, permiten que los mensajes se cifren y descifren rápidamente. La relativa simplicidad de los sistemas simétricos también es una ventaja logística, ya que requieren menos poder de computación que los asimétricos. Además, la seguridad proporcionada por el cifrado simétrico se puede ampliar simplemente incrementando la longitud de las claves. Por cada bit que se agrega a la longitud de una clave simétrica, la dificultad de descifrar el cifrado mediante un ataque de fuerza bruta aumenta exponencialmente.
Si bien el cifrado simétrico ofrece una amplia gama de beneficios, hay una desventaja importante asociada con él: el problema inherente de transmitir las claves utilizadas para cifrar y descifrar datos. Cuando estas claves se comparten a través de una conexión no segura, son vulnerables a ser interceptadas por terceros malintencionados. Si un usuario no autorizado obtiene acceso a una clave simétrica en particular, se compromete la seguridad de los datos cifrados con esa clave. Para resolver este problema, muchos protocolos web utilizan una combinación de cifrado simétrico y asimétrico para establecer conexiones seguras. Entre los ejemplos más destacados de dicho sistema híbrido se encuentra el protocolo criptográfico de Seguridad de la capa de transporte (TLS) utilizado para proteger grandes porciones de la Internet moderna.
También se debe tener en cuenta que todos los tipos de cifrado por computadora están sujetos a vulnerabilidades debido a una implementación incorrecta. Si bien una clave suficientemente larga puede hacer matemáticamente imposible un ataque de fuerza bruta, los errores en la implementación cometidos por los programadores a menudo crean debilidades que abren el camino para los ataques cibernéticos.
En conclusión
Gracias a su relativa velocidad, simplicidad y seguridad, el cifrado simétrico se usa ampliamente en aplicaciones que van desde proteger el tráfico de Internet hasta proteger los datos almacenados en servidores en la nube. Aunque con frecuencia se combina con el cifrado asimétrico para resolver el problema de la transferencia segura de claves, los esquemas de cifrado simétrico siguen siendo un componente crítico de la seguridad informática moderna.