Descifrado RSA con clave privada
Descifra texto cifrado RSA (Base64 o hex) con una clave privada PEM usando RSA-OAEP SHA-256, OAEP SHA-1 o PKCS#1 v1.5. Errores claros si la clave o el relleno no coinciden.
OAEP es el relleno recomendado. MGF1 usa el mismo hash, igual que Web Crypto y openssl pkeyutl -pkeyopt rsa_oaep_md.
Se ejecuta completamente en tu navegador. Tus datos nunca se suben.
¿Qué es Descifrado RSA?
Descifra texto cifrado RSA con tu clave privada en formato PEM (PKCS#8 BEGIN PRIVATE KEY o PKCS#1 BEGIN RSA PRIVATE KEY). Admite RSA-OAEP con SHA-256 o SHA-1 y el relleno heredado PKCS#1 v1.5, en línea con la salida de OpenSSL, Web Crypto, Java y Node.js.
Cómo usar Descifrado RSA
- Pega la Clave privada (PEM) (sin cifrar), o haz clic en Generar un par de claves de prueba (2048 bits) para experimentar.
- Selecciona el Relleno que se usó para cifrar.
- Pega el Texto cifrado y elige Base64 o Hex como su codificación.
- Haz clic en Descifrar; cambia la salida a Hex si el texto plano es binario (p. ej., una clave AES).
Ejemplo
Ciphertext from Node.js `crypto.publicEncrypt` (RSA-OAEP, oaepHash sha256) of "Hello RSA", with the matching 2048-bit PKCS#8 private key
Hello RSA
Cuándo usar Descifrado RSA
Úsalo para comprobar texto cifrado producido por tu propio código, descifrar datos de prueba o verificar la interoperabilidad entre plataformas. Evita pegar claves privadas reales de producción en un navegador; usa claves de prueba. Las claves privadas protegidas con contraseña deben exportarse antes sin contraseña.
Cómo funciona Descifrado RSA
El exponente privado recupera el mensaje con relleno m = cᵈ mod n (con la optimización CRT), y después se quita y se comprueba el relleno: OAEP verifica la máscara MGF1 y el hash de la etiqueta con el SHA-256 o SHA-1 elegido, y PKCS#1 v1.5 verifica la cabecera 00 02 y el separador. El texto cifrado debe medir exactamente lo mismo que el módulo (256 bytes con claves de 2048 bits); cualquier desajuste de clave, relleno o hash produce un error de descifrado en lugar de una salida incorrecta.
Casos de Uso Comunes
- Verificar que la salida RSA-OAEP generada en el navegador se descifra con la clave de tu servidor
- Descifrar una clave AES envuelta con RSA en una prueba de cifrado híbrido
- Diagnosticar desajustes de OAEP SHA-1 frente a SHA-256 entre Java y Node.js
- Descifrar datos PKCS#1 v1.5 de un sistema heredado
Nota de Seguridad
Las claves y los mensajes se procesan solo en tu navegador. No pegues claves privadas de producción en ningún sitio web que no controles: genera en su lugar un par de claves de prueba.
Preguntas Frecuentes
"Error de descifrado": ¿qué falla?
Normalmente el relleno o el hash OAEP no coinciden (SHA-1 frente a SHA-256), el texto cifrado pertenece a otro par de claves o se dañó al copiarlo. Prueba primero con el otro hash OAEP.
Mi clave empieza por BEGIN ENCRYPTED PRIVATE KEY.
Las claves protegidas con contraseña no están soportadas. Convierte una copia de prueba con openssl pkey -in key.pem -out plain.pem y maneja con cuidado la clave sin cifrar.
El error de longitud dice que el texto cifrado debe tener 256 bytes.
El texto cifrado RSA siempre tiene la longitud del módulo. Comprueba que pegaste la cadena Base64 completa y que elegiste la codificación de entrada correcta (Base64 o Hex).