Contenido
La criptografía asimétrica es uno de esos inventos humanos que parecen ciencia ficción pero sostienen la realidad cotidiana. Cada vez que abres una web HTTPS, envías un mensaje seguro, firmas un documento digital o te conectas por SSH, estás usando matemáticas diseñadas para resolver un problema aparentemente imposible: compartir secretos sin compartir el secreto.
En el cifrado simétrico ya viste que dos partes pueden proteger información usando una misma clave. Rápido, eficaz… pero con un punto débil crítico: ¿cómo intercambias esa clave sin que alguien la intercepte? Aquí entra la criptografía de clave pública, una idea brillante basada en funciones matemáticas fáciles de calcular pero extremadamente difíciles de invertir. Gracias a ello, cada entidad puede tener dos claves: una pública que puede compartir con el mundo y una privada que jamás debe revelar. Lo que una cifra, solo la otra puede descifrar; lo que una firma, la otra puede verificar.
Este modelo no solo permite cifrar mensajes. Permite algo mucho más profundo: crear confianza en sistemas donde las partes no se conocen previamente. De aquí nacen las firmas digitales, los certificados, las autoridades de certificación y, en última instancia, el funcionamiento seguro de Internet mediante TLS. Sin criptografía asimétrica no existirían el comercio electrónico, la identidad digital, ni la mayoría de servicios que hoy consideramos normales.
En este tema no solo aprenderás comandos. Comprenderás cómo se construye un canal seguro desde cero: cómo se generan identidades criptográficas, cómo se cifra para un destinatario concreto, cómo se garantiza que un mensaje no ha sido alterado, y cómo una infraestructura de certificados permite confiar en claves públicas desconocidas. Es el paso donde la seguridad deja de ser “ocultar datos” y se convierte en demostrar identidad, integridad y autenticidad en un entorno hostil.
Limitación del cifrado simétrico:
- Necesita compartir clave secreta
- Si se intercepta → seguridad rota
Problema fundamental:
¿Cómo compartir un secreto sin compartirlo?
Solución matemática:
Criptografía de clave pública
Cada usuario posee:
- Clave pública → se puede compartir
- Clave privada → nunca se revela
Lo cifrado con una solo puede descifrarse con la otra.
Resultado esperado:
El alumno comprende la diferencia simétrico vs asimétrico.
Conceptos Fundamentales
Conceptos clave:
- Par de claves (Key Pair)
- Clave pública
- Clave privada
- Cifrado
- Descifrado
- Firma digital
- Verificación
- No repudio
- Confianza
- Certificados
Idea central:
La clave pública cifra o verifica
La clave privada descifra o firma
Fundamento Matemático (Nivel Conceptual)
La criptografía asimétrica usa funciones:
- Fáciles de calcular
- Extremadamente difíciles de invertir
Ejemplo conceptual:
Multiplicar primos grandes → fácil
Factorizar resultado → extremadamente difícil
Este principio sostiene:
- RSA
- Diffie-Hellman
- ECC
Algoritmos Asimétricos Principales
RSA
Basado en factorización de números grandes.
Usado para:
- Cifrado
- Firma digital
- TLS clásico
Diffie-Hellman
Permite generar una clave compartida sin enviarla.
Base del intercambio seguro.
ECC (Elliptic Curve Cryptography)
Versión moderna y eficiente.
Usada en:
- TLS moderno
- Blockchain
- SSH moderno
- Certificados
Resultado esperado:
El alumno distingue funciones de cada algoritmo.
Generación de Claves (Práctica)
Objetivo: crear identidad criptográfica.
Ejemplo:
openssl genrsa -out privada.pem 2048
openssl rsa -in privada.pem -pubout -out publica.pem
Conceptos enseñados:
- Tamaño de clave
- Seguridad vs rendimiento
- Protección de clave privada
Cifrado con Clave Pública
Escenario:
Alice quiere enviar mensaje seguro a Bob.
Proceso:
- Bob genera claves
- Bob comparte clave pública
- Alice cifra con clave pública de Bob
- Solo Bob puede descifrar
Concepto:
Cualquiera puede cifrar, solo el dueño puede leer
Firma Digital
Proceso:
- Emisor firma con su clave privada
- Receptor verifica con clave pública
Garantiza:
- Autoría
- Integridad
- No repudio
Uso real:
- Software firmado
- Certificados
- Emails seguros
- Blockchain
- Documentos legales
Intercambio de Claves Seguro (Diffie-Hellman)
El mayor avance criptográfico.
Permite:
- Generar clave simétrica
- Sin transmitirla
- Incluso con atacante escuchando
Esto es lo que hace TLS.
Concepto clave:
El asimétrico no cifra grandes datos, crea la clave simétrica.
Criptografía Híbrida (Cómo funciona TLS)
En el mundo real:
- Asimétrico → intercambia clave
- Simétrico → cifra datos (rápido)
Esto es:
- HTTPS
- VPN
- SSH
- TLS
- Internet seguro
Certificados Digitales
Problema:
¿Cómo sé que una clave pública es auténtica?
Solución:
Autoridades de Certificación (CA)
Un certificado vincula:
- Identidad
- Clave pública
- Firma de una CA
Conceptos:
- X.509
- Cadena de confianza
- Root CA
- Certificado autofirmado
- Validación
Ataques contra Criptografía Asimétrica
- Robo de clave privada
- MITM
- Certificados falsos
- Claves débiles
- Mala implementación
- RNG débil
- Padding attacks (conceptual)
Mensaje:
La criptografía no falla por matemáticas → falla por humanos.
OWASP y Criptografía
Relación directa con:
OWASP A02 — Cryptographic Failures
Errores reales:
- Claves expuestas
- Sin validación de certificados
- Uso de RSA débil
- Sin forward secrecy
- Mala generación de claves
Recomendaciones
- Generar par de claves
- Cifrar mensaje con clave pública
- Firmar archivo
- Verificar firma
- Crear certificado autofirmado
- Simular TLS
- MITM conceptual
- Ver handshake TLS con Wireshark
Conexión con el Mundo Real
Esto protege:
- HTTPS
- SSH
- VPN
- Git firmado
- Docker firmado
- Identidad digital
- Blockchain
- Infraestructura crítica
Sin criptografía asimétrica → Internet no existiría.
Comparativa — Clave Simétrica vs Clave Asimétrica
| Propiedad | Criptografía Simétrica | Criptografía Asimétrica |
|---|---|---|
| Nº de claves | Una sola clave secreta compartida | Dos claves: pública y privada |
| Distribución de claves | Problema crítico (debe compartirse en secreto) | La pública se puede compartir libremente |
| Velocidad | Muy rápida (apta para grandes volúmenes de datos) | Mucho más lenta |
| Uso principal | Cifrado de datos | Intercambio de claves, firma digital, autenticación |
| Seguridad depende de | Mantener la clave secreta | Proteger la clave privada |
| Tamaño de clave típico | 128 / 192 / 256 bits (AES) | 2048+ bits RSA / 256 bits ECC |
| Cifrado de grandes datos | Excelente | Ineficiente |
| Integridad / autenticidad | Necesita mecanismos extra (HMAC, GCM) | Incluido mediante firma digital |
| No repudio | No | Sí (firma digital) |
| Complejidad matemática | Moderada | Alta |
| Resistencia si interceptan el mensaje | Segura si no tienen la clave | Segura si no tienen la privada |
| Ejemplos de algoritmos | AES, ChaCha20, Blowfish | RSA, ECC, Diffie-Hellman |
| Uso en el mundo real | Discos cifrados, VPN, WiFi, bases de datos | TLS, certificados, firmas, SSH |
| Papel en TLS/HTTPS | Cifra el tráfico | Intercambia la clave simétrica |
| Escalabilidad (muchos usuarios) | Mala (cada pareja necesita clave distinta) | Buena (cada usuario tiene su par de claves) |
| Si roban la clave | Pueden leer todo | Solo compromete esa identidad |
| Caso de uso ideal | Proteger datos rápidamente | Establecer confianza entre desconocidos |
TLS = combinación de ambas (criptografía híbrida)
Simétrica = rapidez para proteger datos
Asimétrica = confianza e identidad
MISIÓN DE LA FLOTA ESTELAR
CANAL SEGURO — CRIPTOGRAFÍA ASIMÉTRICA + FIRMA + CERTIFICADOS (OpenSSL)
Unidad: USS Horizon — División de Comunicaciones Seguras
Nivel: Cadete Técnico
Objetivo general: establecer un canal de comunicación confiable usando clave pública/privada, firma digital, y certificado.
PARTE 1 — “IDENTIDAD CRIPTOGRÁFICA” (Par de claves)
FASE 1 — Crear carpeta de misión
mkdir-p mision_canal_seguro && cd mision_canal_seguro
FASE 2 — Generar clave privada del oficial Bob (2048 bits)
Narrativa: Bob es el oficial de comunicaciones. Su clave privada es el “código genético” de su identidad.
openssl genrsa -out bob_privada.pem 2048
Comprobación rápida (sin mostrarla entera):
openssl rsa -in bob_privada.pem -check-noout
FASE 3 — Obtener la clave pública de Bob
Narrativa: esta es la clave que Bob puede compartir con toda la Flota.
openssl rsa -in bob_privada.pem -pubout-out bob_publica.pem
Verla en modo humano:
openssl rsa -pubin-in bob_publica.pem -text-noout
✅ Resultado esperado: los alumnos ven que la pública se puede inspeccionar sin revelar la privada.
PARTE 2 — “CIFRADO CON CLAVE PÚBLICA” (Confidencialidad)
FASE 4 — Crear mensaje secreto de Alice
echo "Coordenadas del punto de encuentro: Sector 7G. Acceso nivel Alfa." > mensaje_alice.txt
cat mensaje_alice.txt
FASE 5 — Cifrar para Bob usando su clave pública
IMPORTANTE (realidad): RSA no se usa para cifrar grandes datos. Aquí lo usamos con un mensaje pequeño para entender el concepto.
openssl pkeyutl -encrypt -pubin -inkey bob_publica.pem -in mensaje_alice.txt -out mensaje_para_bob.bin
Ver que es ilegible:
xxd mensaje_para_bob.bin | head
✅ Resultado: datos binarios “ruido”.
FASE 6 — Descifrar con la clave privada de Bob
openssl pkeyutl -decrypt -inkey bob_privada.pem -in mensaje_para_bob.bin -out mensaje_descifrado.txt
cat mensaje_descifrado.txt
✅ Resultado esperado: el texto original vuelve intacto.
Aprendizaje clave:
- Cualquiera con la pública puede cifrar para Bob
- Solo Bob con la privada puede leerlo
PARTE 3 — “FIRMA DIGITAL” (Integridad + Autoría)
Ahora el enemigo puede intentar modificar mensajes. La Flota exige que cada mensaje vaya firmado.
FASE 7 — Alice firma un mensaje
Primero Alice genera sus claves (identidad propia):
openssl genrsa -out alice_privada.pem 2048
openssl rsa -in alice_privada.pem -pubout -out alice_publica.pem
Mensaje oficial:
openssl dgst -sha256 -sign alice_privada.pem -out orden.firma orden.txt
FASE 8 — Crear el hash y firmarlo (firma con clave privada)
openssl dgst -sha256-sign alice_privada.pem -out orden.firma orden.txt
✅ “orden.firma” es la firma digital.
FASE 9 — Verificar la firma con la clave pública
openssl dgst -sha256-verify alice_publica.pem -signature orden.firma orden.txt
✅ Resultado esperado: Verified OK
FASE 10 — Simular sabotaje (modificación del mensaje)
echo "Orden de misión: desactivar escudos y abrir bahía de carga." > orden.txt
openssl dgst -sha256 -verify alice_publica.pem -signature orden.firma orden.txt
✅ Resultado esperado: Verification failure
Aprendizaje clave:
- La firma no cifra (no oculta).
- La firma garantiza que el mensaje no fue modificado y que viene de quien dice venir.
PARTE 4 — “CERTIFICADOS” (Confianza en la clave pública)
Aquí está la pregunta mortal:
¿cómo sabe Bob que la clave pública de Alice es realmente de Alice y no del enemigo?
Respuesta: certificados.
Vamos a simular una mini-PKI de la Flota (una CA).
FASE 11 — Crear la CA de la Flota Estelar
CA = Autoridad de Certificación (el “notario” criptográfico).
Clave privada de la CA:
openssl genrsa -out starfleet_ca_privada.pem 4096
Certificado autofirmado de la CA (válido 365 días):
openssl req -x509 -new -key starfleet_ca_privada.pem -sha256 -days 365 -out starfleet_ca.crt \
-subj "/C=ES/O=Starfleet Academy/OU=Security Division/CN=Starfleet Root CA"
Ver certificado:
openssl x509 -in starfleet_ca.crt -text-noout | head -n40
FASE 12 — Alice solicita un certificado (CSR)
CSR = Certificate Signing Request (petición de certificado).
openssl req -x509 -new -key starfleet_ca_privada.pem -sha256 -days 365 -out starfleet_ca.crt \
-subj "/C=ES/O=Starfleet Academy/OU=Security Division/CN=Starfleet Root CA"
FASE 13 — La CA firma el certificado de Alice
openssl x509 -req -in alice.csr -CA starfleet_ca.crt -CAkey starfleet_ca_privada.pem \
-CAcreateserial -out alice_cert.crt -days 365 -sha256
Ver contenido:
openssl x509 -in alice_cert.crt -text-noout | head -n60
FASE 14 — Verificar que el certificado de Alice “cuelga” de la CA
openssl verify -CAfile starfleet_ca.crt alice_cert.crt
✅ Resultado esperado: alice_cert.crt: OK
Aprendizaje clave:
- Ahora Bob no confía “porque sí” en la clave pública de Alice.
- Confía porque la CA de la Flota la certifica.
PARTE 5 — “HÍBRIDO” (Cómo funciona Internet de verdad)
Verdad del universo:
El asimétrico es lento para datos grandes.
Se usa para intercambiar/validar una clave simétrica, y luego se cifra todo con AES/ChaCha20.
Mini-demostración conceptual (sin meternos aún en DH real)
- Alice y Bob se validan con certificados (asimétrico)
- Se acuerda una clave de sesión (simétrica)
- Todo el tráfico va con AES-GCM / ChaCha20-Poly1305
Eso es TLS.
INFORME FINAL (lo que tienes que entregar)
- Capturas o salida de:
- creación de claves
- cifrado/descifrado RSA
- firma y verificación (OK)
- verificación fallida tras manipulación
- creación de CA
- emisión del certificado de Alice
- verificación
openssl verify
- Explicación breve:
- diferencia cifrado vs firma
- por qué se necesitan certificados
- por qué TLS es híbrido
OPCIONALES (Modo “Cadete con rango”)
A) Ver handshake TLS real con Wireshark (si tienes tiempo)
- abrir un sitio HTTPS
- filtrar
tlsy ver certificados, cipher suite, etc.
B) Pasar a ECC
- generar claves con curvas elípticas y comparar tamaños
C) Forward secrecy (conceptual)
- por qué DH/ECDHE evita que roben sesiones antiguas si se filtra una clave
Registro del Capitán:
“Cadete, hoy no solo has cifrado un mensaje. Has creado confianza en un universo hostil.
La seguridad no es ocultar información: es demostrar identidad, detectar manipulación y sobrevivir a la interceptación.”




![1.2 - [Herramientas] - Postman Is-Apidog-Better-Than-Postman-27](https://laaventuradeaprender.com/wp-content/uploads/2026/01/Is-Apidog-Better-Than-Postman-27.webp)
![1.3 - [Herramientas] - Qué es curl image](https://laaventuradeaprender.com/wp-content/uploads/2026/01/image.webp)
![1.3.1 [Reto] - curl como herramienta de auditoría Auditoria-Seguridad-web](https://laaventuradeaprender.com/wp-content/uploads/2026/01/Auditoria-Seguridad-web.webp)



![2.1.2 - [Reto] PROTOCOLO DE SEGURIDAD DE LA FEDERACIÓN 0177662c-95af-437b-bf31-1887f2445879](https://laaventuradeaprender.com/wp-content/uploads/2026/02/0177662c-95af-437b-bf31-1887f2445879-150x150.png)