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

  1. Cole a Chave privada (PEM) (sem criptografia), ou clique em Gerar um par de chaves de teste (2048 bits) para experimentar.
  2. Selecione o Preenchimento usado na criptografia.
  3. Cole o Texto cifrado e escolha Base64 ou Hex como codificação.
  4. Clique em Descriptografar; mude a saída para Hex se o texto puro for binário (por exemplo, uma chave AES).

Exemplo

Entrada
Ciphertext from Node.js `crypto.publicEncrypt` (RSA-OAEP, oaepHash sha256) of "Hello RSA", with the matching 2048-bit PKCS#8 private key
Saída
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).

Explore mais categorias