Contenido principal
Principios de ciencias de la computación avanzados (AP Computer Science Principles)
Curso: Principios de ciencias de la computación avanzados (AP Computer Science Principles) > Unidad 7
Lección 5: Técnicas de cifrado de datosCifrado 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.
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!
¡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.
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.
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?
- 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)