La criptografía de clave pública (PKC), también conocida como criptografía asimétrica, es un marco que utiliza claves públicas y privadas, a diferencia de las claves únicas utilizadas en el sistema de criptografía simétrica. El uso de pares de claves proporciona a PKC un conjunto único de características y capacidades que pueden usarse para resolver desafíos inherentes a otras técnicas criptográficas. Esta forma de cifrado se ha convertido en un elemento importante de la seguridad informática moderna, así como en un componente crítico del creciente ecosistema de criptomonedas.


¿Cómo funciona la criptografía de clave pública?

En un sistema PKC, el remitente utiliza la clave pública para cifrar información, mientras que el receptor utiliza la clave privada para descifrar esa información. Dado que las dos claves son diferentes entre sí, la clave pública se puede compartir libremente sin comprometer la seguridad de la clave privada. Cada par de claves asimétricas es único, lo que garantiza que un mensaje cifrado con una clave pública solo pueda ser leído por la persona que tiene la clave privada correspondiente.

Debido a que los algoritmos de cifrado asimétrico generan pares de claves que están vinculadas matemáticamente, la longitud de estas claves es mucho mayor que la que se encuentra en los algoritmos de cifrado simétrico. Esta mayor longitud (normalmente entre 1024 y 2048 bits) hace que sea extremadamente difícil calcular una clave privada utilizando la clave pública como base. Uno de los algoritmos de cifrado asimétrico más comunes que se utilizan en la actualidad se conoce como RSA. En el esquema RSA, las claves se generan utilizando un módulo que se obtiene multiplicando dos números (normalmente dos números primos grandes). Básicamente, el módulo genera dos claves (una pública que se puede compartir y otra privada que debe mantenerse en secreto). El algoritmo RSA fue descrito por primera vez en 1977 por Rivest, Shamir y Adleman (de ahí RSA) y sigue siendo un componente importante de los sistemas de criptografía de clave pública.


PKC como herramienta de criptografía

La criptografía de clave pública resuelve uno de los problemas de larga data de los algoritmos simétricos, que es la comunicación de la clave utilizada tanto para el cifrado como para el descifrado al mismo tiempo. Enviar esta clave a través de una conexión insegura puede exponerla a terceros, quienes pueden leer cualquier mensaje cifrado con la clave compartida. Aunque existen técnicas criptográficas (como el protocolo de intercambio de claves Diffie-Hellman-Merkle) para resolver este problema, siguen siendo vulnerables a los ataques. Por otro lado, en la criptografía de clave pública, la clave utilizada para el cifrado se puede compartir de forma segura a través de cualquier conexión. Como resultado, los algoritmos asimétricos ofrecen un mayor nivel de protección en comparación con los simétricos.


Uso en generación de firma digital

Otra aplicación de los algoritmos de cifrado asimétrico es la autenticación de datos mediante el uso de firmas digitales. Básicamente, una firma digital es un hash creado a partir de datos de un mensaje. Cuando se envía este mensaje, el destinatario puede verificar la firma utilizando la clave pública del remitente para autenticar el origen del mensaje y garantizar que no haya sido manipulado. En algunos casos, las firmas digitales y el cifrado se aplican juntos, ya que el propio hash puede cifrarse como parte del mensaje. Sin embargo, cabe señalar que no todos los esquemas de firma digital utilizan técnicas de cifrado.


Limitaciones

Aunque se puede utilizar para mejorar la seguridad informática y proporcionar verificación de la integridad de los mensajes, PKC tiene algunas limitaciones. Debido a las complejas operaciones matemáticas involucradas en el cifrado y descifrado, los algoritmos asimétricos pueden ser bastante lentos cuando se ven obligados a manejar grandes cantidades de datos. Este tipo de cifrado también depende en gran medida del supuesto de que la clave privada permanecerá secreta. Si una clave privada se comparte o se expone accidentalmente, la seguridad de todos los mensajes cifrados con su clave pública correspondiente se verá comprometida. También es posible que los usuarios pierdan accidentalmente sus claves privadas, en cuyo caso resulta imposible acceder a los datos cifrados.


Aplicaciones de la criptografía de clave pública

Este tipo de cifrado lo utilizan muchos sistemas informáticos modernos para brindar seguridad a la información confidencial. Los correos electrónicos, por ejemplo, se pueden cifrar utilizando técnicas de criptografía de clave pública para mantener la confidencialidad de su contenido. El protocolo Secure Sockets Layer (SSL), que permite conexiones seguras a sitios web, también emplea cifrado asimétrico. Los sistemas PKC incluso se han explorado como una forma de proporcionar un entorno seguro para la votación electrónica que potencialmente permitiría a los votantes participar en las elecciones desde las computadoras de sus hogares.

PKC también destaca en el mundo de Blockchains y criptomonedas. Cuando se configura una nueva billetera de criptomonedas, se genera un par de claves (pública y privada). La dirección pública se crea utilizando la clave pública y se puede compartir de forma segura con otros. La clave privada, por otro lado, se utiliza para crear firmas digitales y verificar transacciones, por lo que debe mantenerse en secreto. Una vez que se verifica una transacción confirmando el hash contenido en la firma digital, esa transacción se puede agregar al libro mayor de Blockchain. Este sistema de verificación de firma digital garantiza que solo la persona que tenga la clave privada asociada a la billetera de criptomonedas correspondiente pueda liberar fondos de la misma. Cabe señalar que los cifrados asimétricos utilizados en las aplicaciones de criptomonedas son diferentes de los utilizados con fines de seguridad informática. Bitcoin y Ethereum, por ejemplo, utilizan una codificación especializada conocida como Algoritmo de Firma Digital de Curva Elíptica (ECDSA) para verificar las transacciones.

Desde la seguridad informática hasta la verificación de transacciones de criptomonedas, la criptografía de clave pública desempeña un papel importante en la protección de los sistemas digitales modernos. Utilizando claves públicas y privadas emparejadas, los algoritmos de cifrado asimétrico resuelven los problemas de seguridad fundamentales que presentan los cifrados simétricos. Aunque PKC existe desde hace muchos años, regularmente se desarrollan nuevos usos y aplicaciones, particularmente en el espacio Blockchain y las criptomonedas.