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 le da a PKC un conjunto único de características y capacidades que pueden usarse para resolver problemas inherentes a otros métodos criptográficos. Esta forma de criptografía se ha convertido en un elemento importante de la seguridad informática moderna, así como en un componente importante del creciente ecosistema de las criptomonedas.
¿Cómo funciona la criptografía de clave pública?
En el esquema PKC, el remitente utiliza la clave pública para cifrar la información y el receptor utiliza la clave privada para descifrarla. Debido a que las dos claves son diferentes entre sí, la clave pública se puede utilizar de forma segura sin comprometer la seguridad de la clave privada. Cada par de claves asimétricas es único, lo que garantiza que un mensaje cifrado con la clave pública sólo pueda ser leído por la persona que tenga la clave privada correspondiente.
Dado que los algoritmos de cifrado asimétrico generan pares de claves que están matemáticamente relacionados, la longitud de sus claves es mucho mayor que las de la criptografía simétrica. Esta gran longitud, normalmente entre 1024 y 2048 bits, hace que sea extremadamente difícil calcular una clave privada a partir de su contraparte pública. 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 el módulo obtenido al multiplicar dos números (a menudo dos números primos grandes). En pocas palabras, 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 central de los sistemas de criptografía de clave pública.
PKC como herramienta de cifrado
La criptografía de clave privada resuelve uno de los antiguos problemas de los algoritmos simétricos, a saber, la transmisión de una clave que se utiliza tanto para el cifrado como para el descifrado. Enviar esta clave a través de una conexión insegura podría exponerla a terceros, quienes luego podrían leer cualquier mensaje cifrado con la clave compartida. Aunque existen métodos criptográficos (como el protocolo de intercambio de claves Diffie-Hellman-Merkle) para resolver este problema, siguen siendo vulnerables a los ataques. Por el contrario, en la criptografía de clave privada, la clave utilizada para el cifrado se puede transmitir de forma segura a través de cualquier conexión. Como resultado, los algoritmos asimétricos proporcionan un mayor nivel de protección que los simétricos.
Creación de firmas digitales
Otra aplicación de los algoritmos de criptografía asimétrica es la autenticación de datos con firmas digitales. Básicamente, una firma digital es un hash creado utilizando los datos del mensaje. Cuando se envía este mensaje, el destinatario puede verificar la firma utilizando la clave pública del remitente. De esta manera, pueden identificar la fuente del mensaje y asegurarse de que no ha sido manipulado. En algunos casos, las firmas digitales y el cifrado se utilizan 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 métodos de cifrado.
Limitación
Aunque se puede utilizar para mejorar la seguridad informática y proporcionar comprobaciones de integridad de mensajes, PKC tiene algunas limitaciones. Debido a las complejas operaciones matemáticas asociadas con el cifrado y descifrado, los algoritmos asimétricos pueden resultar bastante lentos cuando se trabaja con grandes volúmenes de datos. Este tipo de criptografía también depende del supuesto de que la clave privada siempre permanecerá secreta. Si la clave privada se comparte o divulga accidentalmente, la seguridad de todos los mensajes cifrados con la clave privada correspondiente se verá comprometida. Los usuarios también pueden perder accidentalmente sus claves privadas y no podrán acceder a los datos cifrados.
Aplicación de la criptografía de clave pública
Muchos sistemas informáticos modernos utilizan este tipo de criptografía para garantizar la seguridad de la información confidencial. Los correos electrónicos, por ejemplo, se pueden cifrar utilizando técnicas de criptografía de clave pública para preservar la confidencialidad de su contenido.
El protocolo Secure Sockets Layer (SSL), que permite conexiones seguras a sitios web, también utiliza criptografía asimétrica. Los sistemas PKC incluso se han considerado como un medio para proporcionar un entorno de votación electrónica seguro, permitiendo potencialmente a los votantes participar en las elecciones desde las computadoras de sus hogares.
PKC también juega un papel importante en la tecnología blockchain y las criptomonedas. Al configurar una nueva billetera criptográfica, se genera un par de claves (pública y privada). La dirección de la billetera se genera utilizando una clave pública y se puede compartir de forma segura con otros. Por otro lado, la clave privada se utiliza para crear firmas digitales y verificar transacciones, por lo que debe mantenerse en secreto.
Una vez que se ha verificado una transacción verificando 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 tiene la clave privada asociada con la billetera criptográfica respectiva pueda mover 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. Por ejemplo, Bitcoin y Ethereum utilizan un algoritmo especial para verificar las transacciones conocido como "Algoritmo de firma digital de curva elíptica (ECDSA)". ECDSA también crea firmas digitales sin utilizar cifrado. Esto significa que blockchain no necesita cifrado.
Resultados
La criptografía de clave pública juega un papel importante en la seguridad de los sistemas digitales actuales, desde la seguridad informática hasta la verificación de transacciones de criptomonedas. Al utilizar pares de claves públicas y privadas, los algoritmos de criptografía asimétrica resuelven los principales problemas de seguridad asociados con los cifrados simétricos. Aunque PKC se ha utilizado durante muchos años, periódicamente se desarrollan nuevas aplicaciones y aplicaciones, especialmente en blockchain y criptomonedas.
