Comece lendo o GPG MiniHOWTO e seguindo os exemplos lá.
Em seguida, consulte o manual do GPG para obter mais informações, conforme necessário .
Se possível
Ao experimentar, use -v e -vv para ver mais informações sobre o que está acontecendo.
- simétrica é especificamente criptografia simétrica, que não deve usar chaves - ela usa apenas a frase secreta, portanto, é possível decriptar com apenas a frase-senha.
Criptografia simétrica - apenas uma frase secreta
A linha de comando mais simétrica para criptografar é
gpg -v --symmetric test.txt
embora eu recomende strongmente a escolha de uma codificação melhor e um número maior de iterações de derivação de chave, ou seja,
gpg -v --cipher-algo AES256 --s2k-mode 3 --s2k-digest-algo SHA512 --s2k-count 65600000 --symmetric test.txt
para criptografia AES256 com um resumo SHA-512 e uma contagem de iteração de chave grande (por favor, aumente do que eu listei também), ou
gpg -v --cipher-algo CAMELLIA256 --s2k-mode 3 --s2k-digest-algo SHA512 --s2k-count 65600000 --symmetric test.txt
para CAMELLIA256 como acima.
Assinaturas - sem criptografia por si só
-sb é duas formas de assinatura juntas e age da mesma forma que -b. Isto NÃO ENCRITO, em primeiro lugar, apenas assina com uma assinatura destacada; um uso mais completo seria:
gpg -u <mykeyid> -b test.txt
para a assinatura separada
Criptografia de chave pública
Um exemplo de chave pública de uma assinatura mais criptografia é:
gpg -v --local-user <mykeyidToSign> --recipient <theirkeyidToEncryptTo> --sign --encrypt test.txt
Geração de chave pública
Eu recomendo um algoritmo mais strong de criptografia e resumo de frase secreta ao gerar chaves também
gpg --s2k-mode 3 --s2k-digest-algo SHA512 --s2k-count 95600000 --cert-digest-algo SHA512 --gen-key
gpg --edit-key <mynewkey>
E, como acima, aumente mais --s2k-count, por favor.
Isso não apenas cria uma strong derivação de frase-senha, mas também define uma strong auto-assinatura de chave moderna (--cert-digest-algo). Alguns softwares GPG ou PGP antigos ou limitados podem não suportar novas assinaturas do SHA512; você pode usar o SHA256 em vez disso, se precisar, mas raramente vejo problemas com o SHA512 atualmente (e eles devem ser atualizados se tiverem).
Continue definindo as preferências para os padrões mais strongs possíveis, por exemplo
gpg --edit-key <mynewkey>
setpref AES256 CAMELLIA256 AES192 CAMELLIA192 AES CAMELLIA128 3DES SHA512 SHA384 SHA256 SHA224 SHA1 BZIP2 ZIP ZLIB
save
este passo é seguro, uma vez que qualquer software de envio configurado corretamente irá simplesmente percorrer a lista para encontrar a primeira cifra correspondente, o primeiro hash correspondente e a primeira compressão correspondente.
Frases secretas de chave pública
Observe que a frase secreta (digitada ao gerar a chave, pode ser alterada com o
passwd
O comando no modo --edit-key, é o que criptografa a chave privada; NÃO é usado por quem quer que esteja usando a chave pública, e deve ser mantido tão secreto quanto a própria chave privada.
A senha e a criptografia de chave pública, exigindo as duas
Se você quiser que o destinatário tenha AMBAS a chave privada e uma frase secreta conhecida por ambas as partes (remetente e destinatário), será necessário executar o GPG duas vezes, ou seja,
gpg -v --cipher-algo CAMELLIA256 --s2k-mode 3 --s2k-digest-algo SHA512 --s2k-count 65600000 --symmetric test.txt
Primeiro, use criptografia simétrica, que será a segunda descriptografia (a camada "interna" da cebola de criptografia).
gpg -v --local-user <mykeyidToSign> --recipient <theirkeyidToEncryptTo> --sign --encrypt test.txt.gpg
Em seguida, use a criptografia de chave pública no arquivo anteriormente criptografado; note que este está em test.txt.gpg, e produz test.txt.gpg.gpg
O destinatário (ou seu processo automatizado) primeiro descriptografará a parte da chave pública com sua chave privada, além de validar a assinatura. Então, se for uma chave corporativa ou de equipe, eles poderão rotear a mensagem para o destinatário pretendido que possui a chave simétrica.
Decodificação (pública e privada)
gpg -v --decrypt test.txt.gpg