RSA Cifrar y Descifrar
Herramienta gratuita de RSA Cifrar y Descifrar en línea. Procesamiento 100% local — tus datos nunca salen de tu dispositivo.
El resultado se mostrará aquí...
Entrada → Cifrar
Usage Guide
Acerca de RSA
RSA (Rivest–Shamir–Adleman) es el algoritmo de cifrado asimétrico más ampliamente utilizado, inventado en 1977. Utiliza un par de claves matemáticamente vinculadas: una clave pública para el cifrado y una clave privada para el descifrado. La seguridad se basa en la dificultad computacional de factorizar enteros grandes. RSA es la base de las comunicaciones seguras modernas: los certificados SSL/TLS, HTTPS, SSH, PGP y las firmas digitales dependen de RSA o sus variantes.
Pasos de Uso
Esta herramienta admite la generación de pares de claves RSA, cifrado y descifrado:
Esquemas de Relleno
RSA requiere un esquema de relleno para ser seguro. Esta herramienta admite dos opciones:
Guía de Tamaño de Clave
Elegir el tamaño correcto de clave RSA es un equilibrio entre seguridad y rendimiento:
FAQ
Q: ¿Por qué RSA no puede cifrar archivos grandes directamente?
A: RSA solo puede cifrar datos más pequeños que su tamaño de clave menos la sobrecarga de relleno. Para una clave de 2048 bits con OAEP-SHA256, el texto plano máximo es solo 190 bytes. Para datos grandes, use cifrado híbrido: genere una clave AES aleatoria, cifre los datos con AES, luego cifre solo la clave AES con RSA.
Q: ¿Cuál es la diferencia entre el cifrado RSA y las firmas digitales RSA?
A: Cifrado RSA: Cifrar con la clave pública del destinatario; solo la clave privada puede descifrar. Garantiza confidencialidad. Firma Digital RSA: Firmar con la propia clave privada; cualquiera con la clave pública puede verificar. Garantiza autenticidad y no repudio.
Q: ¿En qué formato se exportan las claves?
A: Esta herramienta exporta claves en formato PEM estándar:
Clave privada: PKCS#8 (-----BEGIN PRIVATE KEY-----)
Clave pública: SPKI (-----BEGIN PUBLIC KEY-----)
Estos formatos son directamente importables por OpenSSL, Node.js crypto, Python cryptography, Java y la mayoría de las demás plataformas.
Q: ¿Es seguro compartir la clave pública públicamente?
A: Sí, ese es el punto central de la criptografía asimétrica. La clave pública está diseñada para distribuirse libremente. Sin embargo: 1) Nunca comparta la clave privada. 2) Verifique la autenticidad de la clave pública a través de un canal confiable para prevenir la sustitución por hombre en el medio. 3) Rote los pares de claves periódicamente.
Q: ¿Cuándo debo usar RSA vs AES?
A: RSA es para intercambio de claves y pequeños secretos: lento, tamaño de texto plano limitado. AES es para cifrado masivo de datos: rápido, maneja cualquier tamaño. Úselos juntos: RSA para transmitir una clave AES, AES para cifrar los datos.
Q: ¿Qué es el ataque de Bleichenbacher y por qué importa?
A: El ataque de Bleichenbacher (1998) es un ataque adaptativo de texto cifrado elegido contra el relleno PKCS1v15. Un atacante puede eventualmente recuperar el texto plano sin la clave privada. Muchas implementaciones TLS del mundo real han sido vulnerables a variantes de este ataque (ataque ROBOT, 2017). El relleno OAEP es demostrablemente seguro contra esta clase de ataque.
Use Cases
Recomendado: Cifrado Híbrido con AES
Genere una clave AES-256-GCM aleatoria, cifre el contenido con AES, luego cifre la clave AES con la clave pública RSA del destinatario. Este es el patrón utilizado por TLS, PGP y S/MIME.
- ✅ RSA-OAEP (SHA-256) para cifrar la clave AES
- ✅ AES-256-GCM para cifrar los datos
- ✅ RSA mínimo de 2048 bits; 4096 bits para claves de larga duración
- ❌ No cifrar datos grandes directamente con RSA
Recomendado: Transmisión Segura de Secretos
RSA es adecuado para transmitir pequeños secretos — contraseñas, tokens, claves simétricas — a través de canales no confiables. Use relleno OAEP y al menos una clave de 2048 bits.
- ✅ Relleno OAEP-SHA256 (recomendado)
- ✅ Tamaño de clave de 2048 bits o 4096 bits
- ✅ Verificar la autenticidad de la clave pública (certificado o huella digital)
- 💡 Mantener los secretos por debajo de 190 bytes para OAEP-SHA256 de 2048 bits
Recomendado: Intercambio de Claves SSL/TLS (Informativo)
TLS 1.2 usaba RSA para el intercambio de claves. TLS 1.3 reemplazó el intercambio de claves RSA con ECDHE para la confidencialidad directa, pero los certificados RSA todavía se usan para la autenticación del servidor.
- ✅ Mínimo 2048 bits para certificados TLS
- ✅ 4096 bits para certificados de CA raíz
- ✅ Se prefiere TLS 1.3 (usa ECDHE, no intercambio de claves RSA)
- 💡 RSA en TLS 1.3 se usa solo para autenticación, no para intercambio de claves
Recomendado: Firmas Digitales (Concepto Clave)
Las claves privadas RSA pueden firmar datos, y la clave pública correspondiente verifica la firma. Use RSA-PSS para nuevas implementaciones; la firma PKCS1v15 es heredada pero todavía ampliamente compatible.
- ✅ RSA-PSS (moderno, recomendado para firmas)
- ✅ Firma PKCS1v15 (heredado, ampliamente compatible)
- ✅ Hashear el mensaje primero (SHA-256 o más fuerte)
- 💡 Las firmas usan la clave privada para firmar y la clave pública para verificar (opuesto al cifrado)
No Recomendado: Cifrado de Archivos Grandes
RSA no puede cifrar directamente datos más grandes que ~190 bytes (2048 bits, OAEP-SHA256). Siempre use AES para datos masivos y RSA solo para proteger la clave AES.
- ❌ No cifrar archivos o cargas grandes directamente con RSA
- ✅ Usar AES-256-GCM para los datos
- ✅ Usar RSA-OAEP solo para cifrar la clave AES
- 💡 Este patrón híbrido es utilizado por todos los protocolos seguros principales
No Recomendado: Cifrado de Datos al Estilo Simétrico
RSA es significativamente más lento (100–1000x) que el cifrado simétrico y tiene un límite estricto de tamaño de texto plano. Para cualquier cifrado masivo, siempre elija AES.
- ❌ No usar RSA para cifrado de alta frecuencia o alto volumen
- ✅ AES-256-GCM para cifrado masivo rápido y autenticado
- ✅ Usar RSA solo para intercambio de claves o pequeños secretos
- 💡 Combinar RSA + AES para lo mejor de ambos mundos
Recomendaciones de Mejores Prácticas
- Siempre use relleno OAEP-SHA256 para nuevas implementaciones de cifrado RSA. PKCS1v15 es heredado y vulnerable a ataques estilo Bleichenbacher.
- Use claves de 2048 bits como mínimo; prefiera 4096 bits para certificados o claves destinadas a permanecer válidas más allá de 2030.
- RSA no puede cifrar datos más grandes que ~190 bytes (2048 bits, OAEP-SHA256). Para datos grandes, use cifrado híbrido: AES para los datos, RSA para la clave AES.
- Mantenga la clave privada en secreto y guárdela de forma segura. Comprometer la clave privada expone todos los mensajes cifrados con la clave pública correspondiente.
- Para firmas digitales, prefiera RSA-PSS sobre la firma PKCS1v15.