Guía de Generación de Par de Claves RSA: Cifrado de Clave Pública y Firma de Clave Privada
Qué es un Par de Claves RSA
RSA es un algoritmo de cifrado asimétrico que utiliza un par de claves:
| Clave | Propósito | Distribución |
|---|---|---|
| Clave Pública | Cifrar / Verificar firma | Se puede compartir abiertamente |
| Clave Privada | Descifrar / Firmar | Mantener solo para ti |
Principio fundamental: Los datos cifrados con la clave pública solo pueden descifrarse con la clave privada; las firmas realizadas con la clave privada pueden verificarse con la clave pública.
Selección de Longitud de Clave
| Longitud | Nivel de Seguridad | Caso de Uso |
|---|---|---|
| 1024-bit | ❌ Inseguro | Sistemas heredados |
| 2048-bit | ✅ Seguridad base | Uso cotidiano |
| 3072-bit | ✅ Mayor seguridad | Datos moderadamente sensibles |
| 4096-bit | ✅ Alta seguridad | Datos altamente sensibles / claves a largo plazo |
Generar una clave de 4096-bit tarda 4-8× más que una de 2048-bit. El cifrado/descifrado también es más lento. Elige según tus necesidades.
Generar un Par de Claves: Paso a Paso
Paso 1: Abrir la herramienta de Par de Claves RSA
Visita la herramienta de Par de Claves RSA y selecciona una longitud de clave (se recomienda 2048 o 4096).
Paso 2: Generar el Par de Claves
Haz clic en "Generar Par de Claves". La herramienta produce automáticamente:
- Clave pública: texto en formato PEM que comienza con
-----BEGIN PUBLIC KEY----- - Clave privada: texto en formato PEM que comienza con
-----BEGIN PRIVATE KEY-----
Paso 3: Guardar las Claves
Clave pública → Envíala a cualquiera que necesite cifrar datos para ti
Clave privada → Guárdala de forma segura, nunca la filtres (¡no la subas a Git!)
Formato PEM Explicado
PEM es un texto de clave codificado en Base64. Formatos comunes:
-----BEGIN PUBLIC KEY----- ← Clave pública PKCS#8
MIIBIjANBgkqhkiG9w0BAQEFAAOC...
-----END PUBLIC KEY-----
-----BEGIN RSA PRIVATE KEY----- ← Clave privada PKCS#1
MIIEpAIBAAKCAQEA0d7...
-----END RSA PRIVATE KEY-----
-----BEGIN PRIVATE KEY----- ← Clave privada PKCS#8
MIIEvgIBADANBgkqhkiG9w0BAQEF...
-----END PRIVATE KEY-----
PKCS#8 es el formato universal; PKCS#1 es específico de RSA. La mayoría de los sistemas modernos prefieren PKCS#8.
Cifrado con Clave Pública + Descifrado con Clave Privada
Usando la herramienta de Cifrado/Descifrado RSA:
- Pega el texto plano en el cuadro de entrada
- Selecciona "Cifrar con Clave Pública"
- Pega la clave pública del destinatario
- Haz clic en cifrar para obtener el texto cifrado
- El destinatario descifra con su clave privada para recuperar el original
Firma con Clave Privada + Verificación con Clave Pública
Firmar demuestra "este mensaje realmente provino de mí":
- En la herramienta de Cifrado/Descifrado RSA, selecciona "Firmar con Clave Privada"
- Ingresa el mensaje y tu clave privada
- Genera el valor de la firma
- Otros verifican la firma con tu clave pública, confirmando que el mensaje no fue alterado
RSA vs AES: Cuándo Usar Cada Uno
| Escenario | Recomendación | Razón |
|---|---|---|
| Cifrado de archivos grandes | AES | RSA es demasiado lento para datos masivos |
| Intercambio de claves | RSA | Cifrar la clave AES con la clave pública |
| Firmas digitales | RSA | La naturaleza asimétrica es ideal |
| Tokens JWT | RSA | El servidor firma con la clave privada, los clientes verifican con la clave pública |
En la práctica, se combinan frecuentemente: RSA transmite la clave AES, AES cifra los datos reales (cifrado híbrido).
Problemas Comunes
| Problema | Causa | Solución |
|---|---|---|
| Error al descifrar | Claves no coinciden | Confirmar que las claves pública y privada son del mismo par |
| Error de datos demasiado largos | RSA tiene un límite de longitud | Usar AES en su lugar o cifrar por segmentos |
| Error de análisis de formato | Faltan encabezados PEM | Verificar que copiaste la clave completa |
| Generación lenta | Clave de 4096-bit | Normal; probar con 2048-bit primero |
Resumen
Los pares de claves RSA son la base del cifrado asimétrico. Dominar el cifrado de clave pública y la firma de clave privada, y comprender las implicaciones de seguridad de la longitud de clave, es esencial para el desarrollo seguro. La herramienta de Par de Claves RSA y la herramienta de Cifrado/Descifrado RSA te permiten completar todo el flujo de trabajo directamente en tu navegador.