Guia de Geração de Par de Chaves RSA: Criptografia de Chave Pública e Assinatura de Chave Privada
O que é um Par de Chaves RSA
RSA é um algoritmo de criptografia assimétrica que utiliza um par de chaves:
| Chave | Propósito | Distribuição |
|---|---|---|
| Chave Pública | Criptografar / Verificar assinatura | Pode ser compartilhada abertamente |
| Chave Privada | Descriptografar / Assinar | Mantenha apenas para você |
Princípio fundamental: Dados criptografados com a chave pública só podem ser descriptografados com a chave privada; assinaturas feitas com a chave privada podem ser verificadas com a chave pública.
Seleção do Comprimento da Chave
| Comprimento | Nível de Segurança | Caso de Uso |
|---|---|---|
| 1024-bit | ❌ Inseguro | Sistemas legados |
| 2048-bit | ✅ Segurança básica | Uso cotidiano |
| 3072-bit | ✅ Maior segurança | Dados moderadamente sensíveis |
| 4096-bit | ✅ Alta segurança | Dados altamente sensíveis / chaves de longo prazo |
Gerar uma chave de 4096-bit leva 4-8× mais tempo que uma de 2048-bit. A criptografia/descriptografia também é mais lenta. Escolha conforme suas necessidades.
Gerar um Par de Chaves: Passo a Passo
Passo 1: Abrir a ferramenta de Par de Chaves RSA
Visite a ferramenta de Par de Chaves RSA e selecione um comprimento de chave (2048 ou 4096 recomendados).
Passo 2: Gerar o Par de Chaves
Clique em "Gerar Par de Chaves". A ferramenta produz automaticamente:
- Chave pública: texto formatado em PEM começando com
-----BEGIN PUBLIC KEY----- - Chave privada: texto formatado em PEM começando com
-----BEGIN PRIVATE KEY-----
Passo 3: Salvar as Chaves
Chave pública → Envie para qualquer pessoa que precise criptografar dados para você
Chave privada → Armazene com segurança, nunca vaze (não commit no Git!)
Formato PEM Explicado
PEM é um texto de chave codificado em Base64. Formatos comuns:
-----BEGIN PUBLIC KEY----- ← Chave pública PKCS#8
MIIBIjANBgkqhkiG9w0BAQEFAAOC...
-----END PUBLIC KEY-----
-----BEGIN RSA PRIVATE KEY----- ← Chave privada PKCS#1
MIIEpAIBAAKCAQEA0d7...
-----END RSA PRIVATE KEY-----
-----BEGIN PRIVATE KEY----- ← Chave privada PKCS#8
MIIEvgIBADANBgkqhkiG9w0BAQEF...
-----END PRIVATE KEY-----
PKCS#8 é o formato universal; PKCS#1 é específico do RSA. A maioria dos sistemas modernos prefere PKCS#8.
Criptografia com Chave Pública + Descriptografia com Chave Privada
Usando a ferramenta de Criptografia/Descriptografia RSA:
- Cole o texto simples na caixa de entrada
- Selecione "Criptografar com Chave Pública"
- Cole a chave pública do destinatário
- Clique em criptografar para obter o texto cifrado
- O destinatário descriptografa com sua chave privada para recuperar o original
Assinatura com Chave Privada + Verificação com Chave Pública
Assinar prova "esta mensagem realmente veio de mim":
- Na ferramenta de Criptografia/Descriptografia RSA, selecione "Assinar com Chave Privada"
- Insira a mensagem e sua chave privada
- Gere o valor da assinatura
- Outros verificam a assinatura com sua chave pública, confirmando que a mensagem não foi alterada
RSA vs AES: Quando Usar Cada Um
| Cenário | Recomendação | Razão |
|---|---|---|
| Criptografia de arquivos grandes | AES | RSA é muito lento para dados em massa |
| Troca de chaves | RSA | Criptografar a chave AES com a chave pública |
| Assinaturas digitais | RSA | A natureza assimétrica é ideal |
| Tokens JWT | RSA | O servidor assina com a chave privada, os clientes verificam com a chave pública |
Na prática, costumam ser combinados: RSA transmite a chave AES, AES criptografa os dados reais (criptografia híbrida).
Problemas Comuns
| Problema | Causa | Solução |
|---|---|---|
| Falha na descriptografia | Chaves incompatíveis | Confirmar que as chaves pública e privada são do mesmo par |
| Erro de dados muito longos | RSA tem limite de comprimento | Usar AES ou criptografar em segmentos |
| Erro de análise de formato | Cabeçalhos PEM ausentes | Verificar se copiou a chave completa |
| Geração lenta | Chave de 4096-bit | Normal; tente 2048-bit primeiro |
Resumo
Os pares de chaves RSA são a base da criptografia assimétrica. Dominar a criptografia de chave pública e a assinatura de chave privada, e compreender as implicações de segurança do comprimento da chave, é essencial para o desenvolvimento seguro. A ferramenta de Par de Chaves RSA e a ferramenta de Criptografia/Descriptografia RSA permitem completar todo o fluxo de trabalho diretamente no seu navegador.