“Cryptography is the ultimate form of non-violent direct action.”
– Julian Assange
PGP (Pretty Good Privacy) e’ um conjunto de software desenvolvido pelo
Philip R. Zimmermann para assinar, encriptar e descriptar
arquivos.
Hoje normalmente usamos o OpenPGP e o GnuPG, duas
versoes open-source do PGP. Sendo o mais comum, e tratado aqui como
default, o GnuPG.
Como funciona
O PGP gera um par de chaves, uma privada e uma publica. Cada chave e'
uma longa string de chars gerados randomicamente e de forma unica para
voce. Sua chave publica e’ ligada a sua chave privada usando uma
funcao matematica especial.
A chave publica pode e deve ser distribuida para quem voce
quiser. A chave publica que e’ usada para criptografar os arquivos
para voce. Existem servidores de chaves publicas, que chamamos de
keyserver. Neles e’ possivel enviar sua chave publica, facilitando a
quem quiser enviar uma msg, arquivo ou qualquer outra coisa de forma
criptografado para voce.
Ja’ a sua chave privada nao deve ser distribuida e nem compartilhada
para ninguem. Repito, sua chave privada nao deve ser compartilhada
ou distribuida para ninguem de forma nenhuma. A sua chave privada
e’ usada para descriptar os arquivos e msgs que voce vai receber.
Ilustracao
Para efeito de ilustracao, imagine que voce e seu amigo querem trocar
presentes e nao querem que ninguem saiba o que e’. Cada um de voces
tem uma chave e um cadeado. Voces trocam os seus cadeados. Cada um
coloca o presente em uma caixa e tranca com o cadeado. Depois de
trancado, so’ quem tem a chave do cadeado pode abrir a caixa e pegar o
presente.
O cadeado no caso e’ a sua chave publica. E a chave para abrir o cadeado
e’ a chave privada.
Install
OpenBSD, meu OS do dia dia, ja’ vem com o GnuPG, se voce usa alguma
distro Linux, bem provavel que ja’ venha com ele instalado, caso nao,
procure a documentacao da sua distro.
Gerar par de chaves
Execute…
gpg --full-generate-key
Use a opcao 1 RSA and RSA. Coloque o maior keysize possivel,
sempre. O recomendado e’ colocar uma data de expiracao da chave, no
meu exemplo eu nao coloquei. Mas e’ recomendado 2 anos. Coloque suas
informacoes, caso queira e digite uma senha forte e segura para essa
chave.

Upload da public key
Agora voce pode fazer o upload da sua public key para um
KeyServer.
Primeiro, copie o seu keyID. Para saber seu keyID, digite gpg -k [seu@email].

No meu caso e’ A2CF45BE990C0E05F3FB31809647DB206B51315F.
Agora voce pode fazer o upload da sua public key.
gpg --send-key [keyID]
Exportar public key
Uma opcao e’ exportar sua public key para voce copiar e colcar ou em
um arquivo. Para isso digite…
gpg --export -a [seu@email]
Isso vai exportar sua chave para o console.

Caso queira para um arquivo apenas direcione para um arquivo.
gpg --export -a [seu@email] > publickey.asc

Fingerprint
Para ver seu fingerprint da sua chave, execute:
gpg --fingerprint [seu@email]
Cryptografar um arquivo
Para cryptografar um arquivo digite…
gpg -e -r [keyID/email] [arquivo]

Nesse exemplo, eu compactei o conteudo do diretorio keeper
usando o comando tar -zcvf k.tar.gz keeper. Depois eu
cryptografei ele (para mim mesmo) usando o comando gpg -e -r me@umgeher.org.
Descryptografar um aqruivo
Quando voce receber um arquivo cryptografado deve executar…
gpg -d [arquivo]

Nesse exemplo eu descryptografo o aqruivo que acabei de cryptografar e
descompacto para mostrar que os mesmos artefatos estao la'.
Importar chave publica
Voce pode importar qualquer chave publica utilizando o comando…
gpg --import [arquivo-chave-publica]
Exemplo, para importar minha chave publica voce pode executar…
curl -sL https://umgeher.org/pgp.pub | gpg --import
Agora voce pode cryptografar qualquer arquivo usando minha chave
publica…
gpg -e -r me@umgeher.org [arquivo]
/comments changelog@umgeher.org?Subject=Re: new pgp key
/permalink https://umgeher.org/posts/2026/07/new-pgp-key.html