Os comandos que seguem, podem ser usados com o utilitário gpg, que pode ser instalado a partir dos repositórios oficiais da maioria das distribuições GNU/Linux.
Este post tem o propósito de fazer “um apanhado” geral do uso da ferramenta, nas funções de criptografia/descriptografia.
Caso tenha dúvidas ou queira se aprofundar mais sobre algum procedimento, clique nos links do texto.
Para criptografar um arquivo texto (por exemplo, ‘texto.txt’) com o uso de uma senha simples, definida durante o procedimento, use a opção ‘-c’:
gpg -c texto.txt
O comando irá lhe pedir uma senha (e confirmar, em seguida) e criar um novo arquivo, com extensão .gpg.
Se o arquivo, com esta extensão, já existir, você será avisado com a mensagem “File ‘texto.txt.gpg’ exists. Overwrite? (y/N) “.
Neste caso, tecle ‘y’ para sobrescrever ou ‘N’ para interromper a execução e voltar à linha de comando.
Leia mais sobre esta opção aqui.
Se usar ‘-e’, é possível criptografar usando a chave pública de um (ou mais) destinatário(s) — adicionando uma camada extra de proteção contra bisbilhoteiros corporativos ou governamentais.
Segue um exemplo:
gpg -e texto.txt
You did not specify a user ID. (you may use "-r") Current recipients: Enter the user ID. End with an empty line:hermengardaafonso@yahoo.com.br
No such user ID. Current recipients: rsa2048/5ASDFS7832142418 2017-11-23 "Hermengarda Afonso" hermengardaafonso@yahoo.com.br Enter the user ID. End with an empty line:justincase@gmail.com
Current recipients: rsa2048/4FE73CDD0A83E688 2017-11-23 "Justin Case justincase@gmail.com" rsa2048/5ASDFS7832142418 2017-11-23 "Hermengarda Afonso" hermengardaafonso@yahoo.com.br Enter the user ID. End with an empty line:
Vamos entender o que houve aqui:
- Você pode especificar mais de um destinatário a ter acesso ao arquivo. Digite o email dele ou dela e tecle Enter para fornecer o email do próximo.
- Basta dar um ‘Enter’, para uma linha em branco, para o gpg entender que não há mais novos recipients a acrescentar.
Você também pode indicar o destinatário direto na linha de comando, com a opção ‘-r’:
gpg -er justincase@gmail.com texto.txt
Se quiser assinar um arquivo texto com sua chave secreta (privada), use a opção ‘-s’:
gpg -s texto.txt
Uma variante, para este comando é dado pela opção --clearsign
.
Ele acrescenta a sua assinatura e mantém o arquivo legível para as pessoas que não possuem suporte ao GPG:
gpg --clearsign loremipsum.txt
cat loremipsum.txt.asc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
O que é o Lorem Ipsum?
O Lorem Ipsum é um texto modelo da indústria tipográfica e de impressão.
O Lorem Ipsum tem vindo a ser o texto padrão usado por estas indústrias desde o ano de 1500, quando uma misturou os caracteres de um texto para criar um espécime de livro.
Este texto não só sobreviveu 5 séculos, mas também o salto para a tipografia electrónica, mantendo-se essencialmente inalterada.
Foi popularizada nos anos 60 com a disponibilização das folhas de Letraset, que continham passagens com Lorem Ipsum, e mais recentemente com os programas de publicação como o Aldus PageMaker que incluem versões do Lorem Ipsum.
Fonte: https://pt.lipsum.com/
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCAAdFiEEwiKr3xCRZwLRemeMKsDy8hFgxDsFAlodsXAACgkQKsDy8hFg
xDvtCQf9EqpnF++3RbYb+LJBhlmjKdflJTg8xDX8WWFKDxL52dRHx9Hy1K7SlOo5
7gm+O38u0OVlPMx2OeUEBj9QSw9E9rKBOr/sMT2uK5ZoRDvTRXsfhcm0/oI5Xowa
9CtG2rWcH2RBZ+wiuFOQmPzMv7/T50wyx1Vxcqrw264XQ/1zPDegBajhe8CrgTXY
HbkLDfXeNBwfOY3GAvTwbRFlUa/bJ2mOxkAJyn8bynU6VaqEXKNL1rKnazHNrNwp
kHaQHw5+ZEdWzpslxPnuLblsV8XjWIsLYsCND4gZhcAA0jCTEoTWScUd3BbWBjm7
zZFvpaRT1/Rjd74cwRI3DerMT4vy/g==
=Lpy5
-----END PGP SIGNATURE----
Como é possível observar, acima, o conteúdo continua visível a qualquer. Ele foi acrescido da assinatura (PGP signature) do seu criador.
Neste caso, o procedimento pode ajudar a dar legitimidade a um arquivo ou certificar sua procedência.
O comando que segue, pode ser usado para assinar seu arquivo com sua chave privada e, em seguida, criptografá-lo com a chave pública do destinatário (recipient).
gpg -se -r justincase@email loremipsum.txt
… que irá gerar um arquivo ‘loremipsum.txt.gpg’, que poderá ser descriptografado pelo usuário (userid) justincase@email.
Ao descriptografar o arquivo ‘loremipsum.txt.gpg’, o programa irá criar um arquivo de saída, chamado ‘loremipsum.txt’.
Se você prefere que ele crie um arquivo de saída, descriptografado, com outro nome, use a opção ‘-o’:
gpg -o outroarquivo.txt loremipsum.txt.gpg
Referências
Texto sobre o Lorem Ipsum: https://pt.lipsum.com/.
8 replies on “5 comandos do GPG para criptografar e descriptografar arquivos”
Elias, boa tarde!
Após criptografar, como faço pra retirar a extensao .gpg?
Att
gpg não funciona porque não pede senha para descriptografar. O arquivo permanece inseguro.
show de bola, otimo documento!
ELias parabéns pelo post, temos também o comando –always-trust caso não queira efetuar confirmação. Que é util na execução de arquivos .bat
Olá Elias,
Năo estou conseguindo acessar meu disco. Pela live usb
consigo ver as partições aí em baixo: Eu criptografei o ubuntu e a home. A senha (chave de segurança) ele năo reconhece mais. O que fazer? Help me…
/dev/sda1: UUID=”e3afe3c9-69ed-45f6-b22c-c939506f5b4f” TYPE=”ext2″ PARTUUID=”69038d44-01″
/dev/loop0: TYPE=”squashfs”
/dev/sda5: UUID=”446f5c38-4745-493a-a37f-0c3ccdee38f2″ TYPE=”crypto_LUKS” PARTUUID=”69038d44-05″
/dev/sdb1: UUID=”2017-02-15-21-44-13-00″ LABEL=”Ubuntu 16.04.2 LTS amd64″ TYPE=”iso9660″ PTUUID=”15e2543d” PTTYPE=”dos” PARTUUID=”15e2543d-01″
/dev/sdb2: SEC_TYPE=”msdos” UUID=”E561-C446″ TYPE=”vfat” PARTUUID=”15e2543d-02″
Olá, gostaria de uma ajuda …
Tenho uma pasta com arquivos importantes (documentos em PDF e alguns em formato jpg. Tirei fotos de algumas garantias e notas fiscais de uma televisão e outros eletrodomesticos que comprei) e não queria criptografar um por um. Tem como criptografar a pasta inteira com o GPG? Não consigo achar um comando para isso. Só para criptografar arquivo por arquivo
Grato
Elias, o gpg encripta arquivos de shell script deixando eles funcionais?
Boa pergunta. Use o SHC, como ferramenta para obter este resultado! 🙂