La criptografía de clave pública, también conocida como criptografía asimétrica, utiliza dos claves separadas en lugar de una compartida: una clave pública y una clave privada. La criptografía de clave pública es una tecnología importante para la seguridad en Internet.
Después de leer este artículo podrás:
Contenido relacionado
Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar el enlace del artículo
La criptografía de clave pública es un método para encriptar o firmar datos con dos claves diferentes y hacer que una de las claves, la pública, esté disponible para que cualquiera pueda utilizarla. La otra clave se conoce como clave privada. Los datos encriptados con la clave pública solo pueden desencriptarse con la clave privada. Debido a este uso de dos claves en lugar de una, la criptografía de clave pública también se conoce como criptografía asimétrica. Es de uso generalizado, especialmente para TLS/SSL, lo que hace posible HTTPS.
En criptografía, una clave es dato que se utiliza para codificar los datos de manera que parezcan aleatorios; suele ser un número grande, o una cadena de números y letras. Cuando los datos sin encriptar, también llamados texto plano, se introducen en un algoritmo criptográfico utilizando la clave, el texto plano aparece en el otro lado como datos de aspecto aleatorio. Sin embargo, cualquiera que tenga la clave adecuada para desencriptar los datos puede volver a ponerlos en forma de texto plano.
Por ejemplo, supongamos que cogemos un mensaje de texto plano, "hola," y lo encriptamos con una clave; digamos que la clave es "2jd8932kd8." Encriptado con esta clave, nuestro simple "hola" ahora se lee "X5xJCSycg14=", lo que parece un dato basura aleatorio. Sin embargo, al desencriptarlo con esa misma clave, obtenemos de nuevo "hola".
Texto plano + clave = texto cifrado
hola + 2jd8932kd8 = X5xJCSycg14=
Texto cifrado + clave = texto plano:
X5xJCSycg14= + 2jd8932kd8 = hola
Este es un ejemplo de criptografía simétrica, en la que solo se utiliza una clave. En la criptografía de clave pública, habría dos claves. La clave pública encriptaría los datos, y la clave privada los desencriptaría.
La criptografía de clave pública es extremadamente útil para establecer comunicaciones seguras en Internet (mediante HTTPS). El certificado SSL/TLS de un sitio web, que se comparte públicamente, contiene la clave pública, y la clave privada está instalada en el servidor de origen: es "propiedad" del sitio web.
Los protocolos de enlace TLS utilizan la criptografía de clave pública para autenticar la identidad del servidor de origen, y para intercambiar los datos que se utilizan para generar las claves de sesión. Un algoritmo de intercambio de claves, como RSA o Diffie-Hellman, utiliza el par de claves públicas y privadas para acordar las claves de sesión, que se utilizan para la encriptación simétrica una vez finalizado el protocolo de enlace. Los clientes y los servidores pueden acordar nuevas claves de sesión para cada sesión de comunicación, para que así los agentes maliciosos no puedan desencriptar las comunicaciones aunque identifiquen o roben una de las claves de sesión de una sesión previa.