Criptografia assimétrica e simétrica - LittlePlantXD/CyberGamer GitHub Wiki

Guia Completo de Criptografia com GPG

Criptografia Simétrica

Encriptar:

gpg --symmetric meu_segredo.txt

Decriptar:

gpg --decrypt meu_segredo.txt.gpg > meu_segredo_revelado.txt

Escolher o Algoritmo de Criptografia:

gpg --cipher-algo TWOFISH --symmetric teste_especifico.txt

Criptografia Assimétrica

Criar chave pública e privada:

gpg --full-generate-key

Ajustar o Cache da Senha (5 minutos):

nano ~/.gnupg/gpg-agent.conf

Adicione:

default-cache-ttl 300

Definir o Servidor de Chaves Padrão:

nano ~/.gnupg/gpg.conf

Adicione:

keyserver https://keys.openpgp.org

Reiniciar o agent:

gpg-connect-agent reloadagent /bye

Enviando o Arquivo Criptografado para o Professor

Passo 1: Obter a Chave Pública do Destinatário

Opção A: Buscar no servidor público:

gpg --search-keys "<[email protected]>"

Opção B: Importar a chave de um arquivo:

gpg --import <caminho/para/chave_publica.asc>

Passo 2: Validar e Confiar na Chave

A. Verificar a Impressão Digital:

gpg --fingerprint "<[email protected]>"

B. Definir Nível de Confiança:

gpg --edit-key "<[email protected]>"

Comandos interativos:

trust
5
y
quit

Passo 3: Criptografar e Assinar o Arquivo

gpg --encrypt --sign --recipient "<[email protected]>" --armor -o "<nome_do_arquivo_protegido.asc>" "<caminho/do/arquivo_original.pdf>"

O sistema pedirá sua senha para autorizar a assinatura.


Dúvida: Como o GPG sabe qual chave privada usar?

  • Se você só tem uma chave, ele usa essa.
  • Se tiver várias, pode usar a opção:
--local-user "[email protected]"

Sempre será solicitada a senha da chave privada.

Criar seu par de chaves (caso ainda não tenha):

gpg --full-generate-key

Guia Rápido GPG: Decriptar um Arquivo Recebido

Passo 1: Obter a Chave Pública do Remetente

Opção A: Buscar no servidor público:

gpg --search-keys "<[email protected]>"

Opção B: Importar de um arquivo:

gpg --import <caminho/para/chave_publica_remetente.asc>

Passo 2: Decriptar e Salvar o Arquivo

gpg --decrypt -o "<nome_do_arquivo_restaurado.pdf>" "<arquivo_recebido.asc>"
  • -o "<nome_do_arquivo_restaurado.pdf>": define o nome do arquivo de saída
  • "<arquivo_recebido.asc>": o arquivo criptografado

O sistema pedirá a senha da sua chave privada.

Passo 3: Interpretar o Resultado

Confirmação da Assinatura:

gpg: Good signature from "Nome do Remetente <[email protected]>"

Aviso de Confiança:

gpg: WARNING: This key is not certified with a trusted signature!

Defina a confiança com:

gpg --edit-key <[email protected]>

✅ Resultado Final:

O arquivo <nome_do_arquivo_restaurado.pdf> foi restaurado com sucesso e pode ser aberto com segurança.