Criptografía de clave pública


Criptografía de clave pública , o criptografía asimétrica , el campo de los sistemas criptográficos que utilizan pares de claves relacionadas. Cada par de claves consta de una clave pública y una clave privada correspondiente . [1] [2] Los pares de claves se generan con algoritmos criptográficos basados ​​en problemas matemáticos denominados funciones unidireccionales . La seguridad de la criptografía de clave pública depende de mantener en secreto la clave privada; la clave pública se puede distribuir abiertamente sin comprometer la seguridad. [3]

En un sistema de encriptación de clave pública, cualquier persona con una clave pública puede encriptar un mensaje, produciendo un texto cifrado , pero solo aquellos que conocen la clave privada correspondiente pueden descifrar el texto cifrado para obtener el mensaje original. [4]

Por ejemplo, un periodista puede publicar la clave pública de un par de claves de cifrado en un sitio web para que las fuentes puedan enviarles mensajes secretos en texto cifrado. Solo el periodista que conoce la clave privada correspondiente puede descifrar los textos cifrados para obtener los mensajes de las fuentes; un intruso que lea el correo electrónico en su camino hacia el periodista no puede descifrar los textos cifrados. Sin embargo, el cifrado de clave pública no oculta metadatos como qué computadora usó una fuente para enviar un mensaje, cuándo lo envió o cuánto tiempo. El cifrado de clave pública por sí solo tampoco le dice nada al destinatario sobre quién envió un mensaje, solo oculta el contenido de un mensaje en un texto cifrado que solo se puede descifrar con la clave privada.

En un sistema de firma digital , un remitente puede usar una clave privada junto con un mensaje para crear una firma . Cualquiera que tenga la clave pública correspondiente puede verificar si la firma coincide con el mensaje, pero un falsificador que no conozca la clave privada no podrá encontrar ningún par de mensaje/firma que pase la verificación con la clave pública. [5] [6]

Por ejemplo, un editor de software puede crear un par de claves de firma e incluir la clave pública en el software instalado en las computadoras. Posteriormente, el editor puede distribuir una actualización del software firmado con la clave privada, y cualquier computadora que reciba una actualización puede confirmar que es genuina mediante la verificación de la firma con la clave pública. Mientras el editor del software mantenga en secreto la clave privada, incluso si un falsificador puede distribuir actualizaciones maliciosas a las computadoras, no puede convencer a las computadoras de que las actualizaciones maliciosas son genuinas.

Los algoritmos de clave pública son primitivas de seguridad fundamentales en los criptosistemas modernos , incluidas las aplicaciones y los protocolos que ofrecen garantías de confidencialidad, autenticidad y no repudiabilidad de las comunicaciones electrónicas y el almacenamiento de datos. Son la base de numerosos estándares de Internet, como Transport Layer Security (TLS) , SSH , S/MIME y PGP . Algunos algoritmos de clave pública brindan distribución de claves y confidencialidad (p. ej., intercambio de claves Diffie-Hellman ), algunos brindan firmas digitales (p. ej., algoritmo de firma digital ) y otros brindan ambas (p. ej., RSA). En comparación con el cifrado simétrico , el cifrado asimétrico es bastante más lento que un buen cifrado simétrico, demasiado lento para muchos propósitos. [7] Los criptosistemas actuales (como TLS , Secure Shell ) utilizan tanto el cifrado simétrico como el cifrado asimétrico, a menudo utilizando el cifrado asimétrico para intercambiar de forma segura una clave secreta que luego se utiliza para el cifrado simétrico.


Se utiliza un número impredecible (generalmente grande y aleatorio ) para comenzar la generación de un par aceptable de claves adecuado para su uso por un algoritmo de clave asimétrica.
En un esquema de cifrado de clave asimétrica, cualquiera puede cifrar mensajes utilizando una clave pública, pero solo el titular de la clave privada emparejada puede descifrar dicho mensaje. La seguridad del sistema depende del secreto de la clave privada, que no debe ser conocida por nadie más.
En el esquema de intercambio de claves Diffie-Hellman , cada parte genera un par de claves pública/privada y distribuye la clave pública del par. Después de obtener una copia auténtica (nota, esto es fundamental) de las claves públicas de cada uno, Alice y Bob pueden calcular un secreto compartido sin conexión. El secreto compartido se puede utilizar, por ejemplo, como clave para un cifrado simétrico que será, esencialmente en todos los casos, mucho más rápido.
En este ejemplo, el mensaje está firmado digitalmente con la clave privada de Alice, pero el mensaje en sí no está encriptado. 1) Alice firma un mensaje con su clave privada. 2) Usando la clave pública de Alice, Bob puede verificar que Alice envió el mensaje y que el mensaje no ha sido modificado.