O GnuPG (GPG) pode usar criptografia assimétrica e simétrica. A criptografia assimétrica envolve duas chaves, uma chave pública para criptografia e uma chave privada para descriptografia. Veja resposta do djeikyb nesta página para uso de chave assimétrica.
Para criptografia simétrica, as chaves de criptografia e descriptografia são iguais. É importante perceber que a maioria das pessoas é muito ruim na escolha de senhas strongs. Assim, um esquema de criptografia usando senhas deve usar uma função de derivação de chave que consuma mais recursos (tempo, memória) para retardar ataques de força bruta.
Para obter uma descrição do KDF do GnuPG, consulte esta postagem do Crypto Stack Exchange . Exemplo de uso de criptografia simétrica:
gpg --symmetric < unencrypted_file > encrypted_file
Descriptografia:
gpg --decrypt < encrypted_file > decrypted_file
Página do manual do gpg .
resposta antiga para usuários que podem escolher boas chaves, veja nota abaixo
Para arquivos únicos, openssl
é muito útil, especialmente ao enviar o arquivo por um canal desprotegido (por exemplo, e-mail). É grátis (em dinheiro e em liberdade), ao contrário de Truecrypt, que só é grátis em dinheiro.
OBSERVAÇÃO : a senha digitada aqui será processada por uma iteração MD5 1 . Se você escolheu uma senha "123456", então você terá muito pouca segurança.
Criptografar:
openssl aes-256-cbc -salt -in unencrypted_file -out encrypted_file
Ser-lhe-á pedida uma palavra-passe, a qual terá de introduzir duas vezes.
Descriptografar:
openssl aes-256-cbc -d -in encrypted_file -out unencrypted_file
Página de manual do programa enc .
1 openssl enc
usa a função digest definida pela opção -md
(padrão md5) e invoca a função EVP_BytesToKey()
com uma contagem de iteração igual a 1. Isso pode ser encontrado na fonte openssl em apps/enc.c
.