# Utilizando GPG O GPG (GNU Privacy Guard) é uma implementação livre e de código aberto do protocolo OpenPGP, que é utilizado para criptografar e assinar digitalmente informações como e-mails, documentos e arquivos. Ele permite que os usuários protejam a privacidade e a segurança de suas comunicações e dados, garantindo que somente as pessoas autorizadas possam acessá-los. ### Gerando uma chave Para gerar uma chave GPG, siga os seguintes passos: 1. Abra o terminal no Linux. 1. Digite o comando gpg --full-generate-key e pressione Enter. 1. Escolha o tipo de chave que você deseja gerar. Geralmente, é recomendado usar a opção padrão (RSA e RSA). 1. Escolha o tamanho da chave que você deseja gerar. Quanto maior o tamanho, mais segura será a chave, mas também levará mais tempo para criptografar e descriptografar informações. O tamanho padrão é de 2048 bits. 1. Digite a validade da chave. Você pode deixar a validade em branco para manter a chave válida indefinidamente. 1. Digite seu nome real e endereço de e-mail. Isso é usado para identificar sua chave. 1. Digite uma senha forte e segura para proteger sua chave privada. A senha deve ter pelo menos 8 caracteres e incluir letras maiúsculas, minúsculas, números e caracteres especiais. 1. Aguarde enquanto a chave é gerada. Isso pode levar alguns minutos, dependendo do tamanho da chave selecionada. 1. Verifique se a chave foi gerada corretamente. Digite o comando gpg --list-key para ver uma lista de todas as chaves GPG disponíveis no seu sistema. ![](https://i.imgur.com/llEUKAc.png) ![](https://i.imgur.com/j5DUXeu.png) ### Exportando chave pública: ``` ┌──(root㉿kali)-[/home/kali] └─# gpg --list-key /root/.gnupg/pubring.kbx ------------------------ pub rsa1024 2023-04-07 [SC] [expires: 2024-04-06] D329454665CE944182EA2915F51C3795DA2C0837 uid [ultimate] Silvio <silvio@silvio.br> sub rsa1024 2023-04-07 [E] [expires: 2024-04-06] ┌──(root㉿kali)-[/home/kali] └─# gpg --export -a silvio@silvio.br ``` ![](https://i.imgur.com/6Px6Np2.png) ### Exportando a chave privada: Exportar a chave privada é uma ação delicada que deve ser realizada com cuidado, pois a chave privada é a chave que permite acessar as informações criptografadas. Por isso, é importante proteger a chave privada com uma senha forte e não compartilhá-la com outras pessoas. Exportar a chave privada pode ser necessário em casos específicos, como para fazer backup ou transferir a chave para outro dispositivo. ``` ┌──(root㉿kali)-[/home/kali] └─# gpg --list-secret-key ┌──(root㉿kali)-[/home/kali] └─# gpg --export-secret-key -a "silvio@silvio.br" ``` ### Como criptografar um arquivo com GPG: ``` ┌──(kali㉿kali)-[~] └─$ gpg -c -a arq.txt ┌──(kali㉿kali)-[~] └─$ cat arq.txt.asc -----BEGIN PGP MESSAGE----- jA0ECQMCgua674W/qEr/0kIBckvPWxyl90RSJKBTD38VjSx5raoKewfwGuUioRvj lRTMrNHoqK4Hr1/gMHNoNsyzV8vGAEVPKLxkO656VN65ue4= =CkhG -----END PGP MESSAGE----- ``` ### Para descriptografar: ``` ┌──(kali㉿kali)-[~] └─$ gpg arq.txt.asc gpg: WARNING: no command supplied. Trying to guess what you mean ... gpg: AES256.CFB encrypted data gpg: encrypted with 1 passphrase ┌──(kali㉿kali)-[~] └─$ cat arq.txt teste ``` ### Como importar uma chave: ``` ┌──(kali㉿kali)-[~] └─$ gpg --import chave ``` ### Como excluir uma chave: ``` ┌──(root㉿kali)-[/home/kali] └─# gpg --delete-secret-key D329454665CE944182EA2915F51C3795DA2C0837 gpg (GnuPG) 2.2.40; Copyright (C) 2022 g10 Code GmbH This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. sec rsa1024/F51C3795DA2C0837 2023-04-07 Silvio <silvio@silvio.br> Delete this key from the keyring? (y/N) y This is a secret key! - really delete? (y/N) y ┌──(root㉿professor)-[/home/professor] └─# gpg --delete-key silvio@silvio.br gpg (GnuPG) 2.2.40; Copyright (C) 2022 g10 Code GmbH This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. pub rsa3072/30FE29C8D4DF8643 2023-04-07 silvio <silvio@silvio.br> Delete this key from the keyring? (y/N) y ```