Descriptografia RSA com chave privada
Descriptografe texto cifrado RSA (Base64 ou hex) com uma chave privada PEM usando RSA-OAEP SHA-256, OAEP SHA-1 ou PKCS#1 v1.5. Erros claros para chave ou preenchimento errados.
OAEP é o preenchimento recomendado. O MGF1 usa o mesmo hash, como no Web Crypto e no openssl pkeyutl -pkeyopt rsa_oaep_md.
Executa totalmente no seu navegador. Seus dados nunca são enviados.
O que é Descriptografia RSA?
Descriptografa texto cifrado RSA com a sua chave privada em formato PEM (PKCS#8 BEGIN PRIVATE KEY ou PKCS#1 BEGIN RSA PRIVATE KEY). Suporta RSA-OAEP com SHA-256 ou SHA-1 e o preenchimento legado PKCS#1 v1.5, compatível com a saída de OpenSSL, Web Crypto, Java e Node.js.
Como usar Descriptografia RSA
- Cole a Chave privada (PEM) (sem criptografia), ou clique em Gerar um par de chaves de teste (2048 bits) para experimentar.
- Selecione o Preenchimento usado na criptografia.
- Cole o Texto cifrado e escolha Base64 ou Hex como codificação.
- Clique em Descriptografar; mude a saída para Hex se o texto puro for binário (por exemplo, uma chave AES).
Exemplo
Ciphertext from Node.js `crypto.publicEncrypt` (RSA-OAEP, oaepHash sha256) of "Hello RSA", with the matching 2048-bit PKCS#8 private key
Hello RSA
Quando usar Descriptografia RSA
Use-a para conferir texto cifrado gerado pelo seu próprio código, descriptografar dados de teste ou verificar a interoperabilidade entre plataformas. Evite colar chaves privadas reais de produção em um navegador; use chaves de teste. Chaves privadas protegidas por senha precisam ser exportadas antes sem a senha.
Como funciona Descriptografia RSA
O expoente privado recupera a mensagem preenchida m = cᵈ mod n (com otimização CRT); depois o preenchimento é removido e conferido: o OAEP verifica a máscara MGF1 e o hash do rótulo para o SHA-256 ou SHA-1 escolhido, e o PKCS#1 v1.5 verifica o cabeçalho 00 02 e o separador. O texto cifrado precisa ter exatamente o tamanho do módulo (256 bytes para chaves de 2048 bits); qualquer divergência de chave, preenchimento ou hash causa um erro de descriptografia, e não uma saída errada.
Casos de Uso Comuns
- Verificar se a saída RSA-OAEP gerada no navegador é descriptografada com a chave do seu servidor
- Descriptografar uma chave AES envolvida com RSA em um teste de criptografia híbrida
- Diagnosticar divergências de OAEP SHA-1 e SHA-256 entre Java e Node.js
- Descriptografar dados PKCS#1 v1.5 de um sistema legado
Nota de Segurança
Chaves e mensagens são processadas apenas no seu navegador. Não cole chaves privadas de produção em nenhum site que você não controla – gere um par de chaves de teste.
Perguntas Frequentes
“Falha na descriptografia” – o que está errado?
Normalmente o preenchimento ou o hash do OAEP não corresponde (SHA-1 ou SHA-256), o texto cifrado pertence a outro par de chaves ou foi danificado ao copiar. Experimente primeiro o outro hash do OAEP.
Minha chave começa com BEGIN ENCRYPTED PRIVATE KEY.
Chaves protegidas por senha não são suportadas. Converta uma cópia de teste com openssl pkey -in key.pem -out plain.pem e manuseie a chave sem criptografia com cuidado.
O erro de tamanho do texto cifrado diz que ele precisa ter 256 bytes.
O texto cifrado RSA sempre tem o tamanho do módulo. Confira se você colou a string Base64 inteira e selecionou a codificação de entrada certa (Base64 ou Hex).