If you're seeing this message, it means we're having trouble loading external resources on our website.

Si estás detrás de un filtro de páginas web, por favor asegúrate de que los dominios *.kastatic.org y *.kasandbox.org estén desbloqueados.

Contenido principal

Cifrado de llave pública

En Internet, dos computadoras a menudo quieren intercambiar datos seguros entre sí. Cuando escribo mi contraseña en la pantalla de inicio de sesión de Khan Academy, quiero que mi computadora envíe esos datos de forma segura a los servidores de Khan Academy. No quiero preocuparme que un atacante pueda estar monitoreando mi tráfico de Internet y vea la contraseña pasar por los cables.
Ilustración de un atacante que roba datos. Una computadora portátil se muestra con un navegador y un campo de entrada de contraseña. Una flecha va de la portátil a un servidor. Sobre la flecha, hay una bolsa que contiene el texto "Be5tP@ssw0rd5ver" y un atacante sonriente mirando el texto.
Las técnicas de cifrado simétrico dependen de que tanto el remitente como el receptor usen la misma llave para cifrar y descifrar los datos. ¿Cómo pueden mi computadora y el servidor de Khan Academy intercambiar la llave de forma segura? Si un atacante puede ver mi contraseña yendo por los cables, ¡entonces también puede ver una llave de cifrado!
Illustrator de un atacante que roba una llave de cifrado. Una computadora portátil se muestra con un navegador y un campo de entrada de contraseña. Una flecha va de la portátil a un servidor. Sobre la flecha, hay una bolsa que contiene el texto "TOP_SECRET_KEY" y un atacante sonriente mirando el texto.
¡Cifrado de llave pública al rescate! Es una técnica de cifrado asimétrico que utiliza llaves diferentes para cifrado y descifrado, lo que permite que las computadoras se comuniquen de forma segura entre sí a través de Internet .
Vayamos paso a paso por el proceso de alto nivel de cifrado de llave pública.

Paso 1: generación de llaves

Cada persona (o su computadora) debe generar un par de llaves que las identifica: una llave privada y una llave pública.
Puedes generar un par a continuación, con el mismo algoritmo RSA que tu computadora usa:
¿Notaste que tarda unos segundos en generar las llaves? Esto se debe a la matemática que usa. Las llaves se generan multiplicando dos números primos increíblemente grandes. El algoritmo genera repetidas veces números grandes aleatorios y comprueba si son primos, hasta que finalmente encuentra dos primos grandes aleatorios. Toda esa comprobación de que sean primos puede tomar un rato, y la longitud de estas llaves es solo 512 bits. La longitud de llave recomendada hoy día a nivel nacional es 2048, o incluso 3072 bits.

Paso 2: intercambio de llaves

Las computadoras de envío y recepción intercambian llaves públicas entre sí vía un canal confiable, como TCP/IP. Las llaves privadas nunca se intercambian.
Diagrama de intercambio de llaves con una computadora portátil y un servidor. La pantalla de la portátil muestra un navegador con un campo de entrada de contraseña. Una flecha va del servidor a la portátil y está etiquetada con "SERVER_PUBLIC_KEY". Bajo eso, una flecha va desde la portátil al servidor y está etiquetada con "CLIENT_PUBLIC_KEY".

Paso 3: cifrado

La computadora que envía cifra los datos secretos usando la llave publica de la computadora receptora y una operación matemática.
El poder del cifrado de cllave pública radica en esa operación matemática. Es una "función de un solo sentido", lo que significa que es increíblemente difícil para una computadora invertir la operación y descubrir los datos originales. Ni siquiera la llave pública puede usarse para descifrar los datos.
Puedes probarlo a continuación, con la llave pública que generaste anteriormente:

Paso 4:envío de datos cifrados

El remitente ahora puede transmitir con seguridad los datos cifrados a través de Internet sin preocuparse de los fisgones.
Diagrama de intercambio de llaves con una computadora portátil y un servidor. La pantalla de la portátil muestra un navegador con un campo de entrada de contraseña. Una flecha va del servidor a la portátil y está etiquetada con una cadena de texto cifrado. Un atacante mira infeliz al texto.

Paso 5: descifrado

Ahora el receptor puede descifrar el mensaje, usando su llave privada. Esa es la única llave que puede usarse para descifrar el mensaje (¡en el mundo!).
Pruébalo abajo, con el mensaje cifrado y la llave privada anterior:
Una vez descifrado con éxito el mensaje, intenta descifrarlo con la llave publica. No funcionará; solo la llave privada puede descifrarlo.

Pero, ¿cómo es posible eso?

Puede sonar demasiado bueno para ser verdad; que sea posible cifrar algo con una llave que solo puede descifrarse con una llave diferente. Durante mucho tiempo, los matemáticos no sabían si eso era posible, pero afortunadamente descubrieron una manera alrededor de 1970.
La función matemática de una sola vía depende de los números primos, de la dificultad de factorizar primos grandes y de la aritmética modular. Si quieres profundizar más en las matemáticas, revisa los tutoriales sobre criptografía moderna de Khan Academy.
Afortunadamente, todos podemos usar y beneficiarnos de la criptografía de llave pública sin necesidad de entender la matemática complicada detrás de ella. De hecho, es probable que usemos criptografía de llave pública todos los días al usar computadoras e Internet. Solo imagina, ¿qué sería del mundo sin ella?

🙋🏽🙋🏻‍♀️🙋🏿‍♂️¿TIenes alguna pregunta sobre este tema? ¡Nos encantaría responderte; tan solo pregunta en el área de preguntas más abajo!

¿Quieres unirte a la conversación?

  • Avatar sneak peak purple style para el usuario J.
    Nota: cifrado de llave publica y privada, es la manera actual de cifrar datos, usando operaciones matemáticas de una sola vía, donde al cifrarse se usa una llave privada y una publica, la privada se usa para descifrar los datos cuando llegan y la publica son para mandarlos.
    (1 voto)
    Avatar Default Khan Academy avatar para el usuario
¿Sabes inglés? Haz clic aquí para ver más discusiones en el sitio en inglés de Khan Academy.