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:
- 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.
- 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:
- Tipo:
1
(RSA and RSA). - Tamanho:
4096
. - Expiração:
1y
(um ano) ou0
(nunca expira). - 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
- Crie
meu_arquivo_secreto.txt
com conteúdo confidencial. - 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!