Introducción

La criptografía de clave pública (PKC), también conocida como criptografía asimétrica, es un marco que utiliza una clave pública y una privada, a diferencia de la clave única utilizada en la criptografía simétrica. El uso de pares de claves brinda a PKC un conjunto único de características y capacidades que pueden utilizarse para resolver desafíos inherentes a otras técnicas criptográficas. Esta forma de criptografía 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 esquema PKC, el remitente utiliza la clave pública para cifrar información, mientras que el destinatario utiliza la clave privada para descifrarla. Debido a que las dos claves son diferentes entre sí, la clave pública se puede compartir de forma segura sin comprometer la seguridad de la 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 posee 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 sus claves es mucho mayor que las utilizadas en la criptografía simétrica. Esta mayor longitud (normalmente entre 1.024 y 2.048 bits) hace que sea extremadamente difícil calcular una clave privada a partir de su contraparte pública. Uno de los algoritmos más comunes para el cifrado asimétrico que se utiliza en la actualidad se conoce como RSA.

En el esquema RSA, las claves se generan utilizando un módulo al que se llega multiplicando dos números (a menudo dos números primos grandes). En términos básicos, 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 cifrado

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 que se utiliza tanto para el cifrado como para el descifrado. Al enviar esta clave a través de una conexión insegura se corre el riesgo de exponerla a terceros, quienes luego 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. En cambio, 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.


Generando firmas digitales

Otra aplicación de los algoritmos de criptografía asimétrica es la de autenticar datos mediante el uso de firmas digitales. Básicamente, una firma digital es un hash creado utilizando los datos de un mensaje. Cuando se envía ese mensaje, el destinatario puede verificar la firma utilizando la clave pública del remitente. De esta manera, pueden autenticar la fuente del mensaje y asegurarse de que no haya sido manipulado. En algunos casos, las firmas digitales y el cifrado se aplican juntos, lo que significa 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 del mensaje, 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 criptografía 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 que hayan sido 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 les resulta imposible acceder a los datos cifrados.


Aplicaciones de la criptografía de clave pública

Muchos sistemas informáticos modernos utilizan este tipo de criptografía para proporcionar 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 de capa de conexión segura (SSL) que posibilita conexiones seguras a sitios web también emplea criptografía asimétrica. Los sistemas PKC incluso se han explorado como un medio para proporcionar un entorno de votación electrónica seguro que potencialmente permitiría a los votantes participar en las elecciones desde las computadoras de sus hogares.

PKC también ocupa un lugar destacado en la tecnología blockchain y criptomonedas. Cuando se configura una nueva billetera de criptomonedas, se genera un par de claves (claves públicas y privadas). La dirección de la billetera se genera 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 y, por lo tanto, debe mantenerse en secreto.

Una vez que se ha verificado 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 asegura que solo la persona que tenga la clave privada asociada a la billetera de criptomonedas correspondiente pueda mover los fondos.

Cabe señalar que la criptografía asimétrica utilizada en las aplicaciones de criptomonedas es diferente de la utilizada con fines de seguridad informática. Bitcoin y Ethereum, por ejemplo, utilizan un algoritmo específico para verificar las transacciones, conocido como Algoritmo de Firma Digital de Curva Elíptica (ECDSA). Además, la ECDSA crea firmas digitales sin el uso de cifrado. Esto significa que blockchain no necesita cifrado, a diferencia de lo que muchos tienden a creer.


Pensamientos finales

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 seguridad de los sistemas digitales modernos. Al utilizar claves públicas y privadas emparejadas, los algoritmos de criptografía asimétrica resuelven los problemas de seguridad fundamentales que presentan los cifrados simétricos. Aunque PKC se ha utilizado durante muchos años, periódicamente se desarrollan nuevos usos y aplicaciones, especialmente en el espacio blockchain y las criptomonedas.