Guia Completo: Chaves Pública/Privada RSA com GPG – Passo a Passo Didático

Você já ouviu falar em “chave pública” e “chave privada”, mas nunca entendeu direito para que servem ou como criar as suas? No vídeo original eu mostrei tudo isso na prática usando o GPG. Abaixo está o mesmo conteúdo em formato de blog, com mais contexto, exemplos e explicações para ficar realmente claro.


Caso prefira, assista ao vídeo:


1. Entendendo o Par de Chaves — O tal do Vermelho e Azul

Imagine dois cartões de segurança:

  • Cartão vermelho → chave privada. Fica só com você, protegido por senha.
  • Cartão azul → chave pública. Você pode mandar por e-mail, colocar no GitHub, publicar no seu site… sem problema.

Esses cartões formam um par RSA criado junto, compartilhando uma relação matemática:

  1. Assinatura: você usa a chave privada (vermelha) para assinar um arquivo. Qualquer pessoa, com a chave pública (azul), confirma se foi realmente você que assinou.
  2. Criptografia: alguém pega sua chave pública, tranca um arquivo e envia para você. Só a sua chave privada consegue abrir.

Por que 4096 bits? Hoje, quebrar uma chave desse tamanho exigiria mais tempo de computação do que a humanidade dispõe. É o “tamanho seguro” preferido quando desempenho não é gargalo.


2. Preparando o Terreno — Instalação do GPG

GPG é a ferramenta de linha de comando que vai gerar, armazenar e gerenciar as chaves. Instalar é simples:

  • Linux: sudo apt install gnupg (ou equivalente).
  • macOS: brew install gpg.
  • Windows: baixe o instalador no site oficial do GnuPG.

Se aparecer o erro gpg: sorry, tty ..., configure a variável de ambiente:

export GPG_TTY=$(tty)

3. Ver o que Já Existe — Listando Chaves

No terminal:

gpg --list-secret-keys --keyid-format long

O comando revela:

  • Tipo da chave e tamanho (rsa3072, rsa4096…).
  • ID da chave (começa com 0x).
  • Data de criação e e-mail.

Guarde o ID — usaremos nos próximos passos.


4. Gerando sua Primeira Chave RSA

Execute:

gpg --full-generate-key

Respostas recomendadas:

  1. Tipo: 1 (RSA and RSA).
  2. Tamanho: 4096.
  3. Expiração: 1y (um ano) ou 0 (nunca expira).
  4. Informe nome, e-mail e uma senha forte.

Depois confirme a presença da nova chave com gpg --list-secret-keys.


5. Compartilhando Somente o que Pode — Exportar a Chave Pública

Para commits verificados ou para que alguém criptografe algo para você:

gpg --armor --export 0xSEU_ID > minha_chave_pub.asc

O arquivo .asc começa com “BEGIN PGP PUBLIC KEY”. Copie o conteúdo e cole, por exemplo, em Settings → SSH and GPG Keys no GitHub.


6. Fazendo Backup do que é Crítico — Exportar a Chave Privada

gpg --export-secret-keys 0xSEU_ID > minha_chave_privada.gpg

Guarde o arquivo .gpg em local seguro e offline. Lembre-se: será exigida a senha definida na criação.


7. Mudou de Máquina? Como Importar Chaves

gpg --import minha_chave_pub.asc
gpg --import minha_chave_privada.gpg

Depois, marque sua própria chave como confiável:

gpg --edit-key 0xSEU_ID
gpg> trust
4 <Enter>
gpg> quit

8. Criptografando um Arquivo para Outra Pessoa

  1. Crie meu_arquivo_secreto.txt com conteúdo confidencial.
  2. Execute:
gpg --encrypt --recipient 0xID_DA_CHAVE_PUBLICA \
     meu_arquivo_secreto.txt

Será gerado meu_arquivo_secreto.txt.gpg. Sem a chave privada do destinatário, ninguém lê.


9. Descriptografando o que Veio Trancado

gpg --decrypt arquivo_recebido.gpg --output arquivo_aberto.txt

O GPG solicitará a senha da sua chave privada e gravará o conteúdo limpo.


10. Provando Autoria — Assinando um Documento

gpg --armor --clearsign \
    -u 0xSEU_ID \
    --output meu_arquivo_assinado.txt \
    meu_arquivo_secreto.txt

O resultado contém o texto original seguido por BEGIN PGP SIGNATURE.


11. Confirmando a Assinatura

gpg --verify meu_arquivo_assinado.txt

Se aparecer “Good signature from <seu-e-mail>”, tudo certo. É o mesmo selo “Verified” que o GitHub exibe.


12. Resumão Final

  • Chave privada (vermelho): guardar, assinar, descriptografar.
  • Chave pública (azul): compartilhar, verificar, criptografar.
  • 4096 bits: segurança robusta contra força-bruta.
  • Fluxo do GPG: gerar → exportar → importar → criptografar → descriptografar → assinar → verificar.

Agora você domina a criação, o uso e o backup de chaves RSA no GPG — desde proteger arquivos até exibir o selo “Verified” nos commits. Ficou com dúvidas? Deixe um comentário! Se curtiu o guia, compartilhe com quem precisa entender GPG sem mistério. Até a próxima!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

vinte − dezesseis =

Rolar para cima