====== Cifrar ficheros con OpenSSL y GPG ======
**OpenSSL**.
# Lista los algoritmos de cifrado disponibles, para el ejemplo usaremos camellia.
openssl enc -ciphers
# Cifrar
openssl enc -camellia-256-cfb8 -in texto.txt -out texto_cifrado.txt
# Descifrar (-d)
openssl enc -d -camellia-256-cfb8 -in texto.txt -out texto_cifrado.txt
# Cifrar desde la entrada estándar (tubería) simplemente no indicando "-in".
echo hola | openssl enc -camellia-256-cfb8 -out texto_cifrado.txt
enter camellia-256-cfb8 encryption password:
Verifying - enter camellia-256-cfb8 encryption password:
# Descifrar (opción -d).
openssl enc -d -camellia-256-cfb8 -in texto_cifrado.txt
enter camellia-256-cfb8 decryption password:
hola
**GPG** (NO requiere tener un juego de llaves).
# Listar algoritmos de cifrado: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256
gpg --version
Algoritmos disponibles:
Clave pública: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cifrado: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256
Resumen: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compresión: Sin comprimir, ZIP, ZLIB, BZIP2
# Cifrar un fichero llamado "texto.txt".
gpg --symmetric --cipher-algo TWOFISH --output texto_cifrado.txt texto.txt
# Descifrar el fichero cifrado.
gpg --decrypt --output texto_descifrado.txt texto_cifrado.txt
# Cifrar usando una tubería, para el ejemplo un fichero comprimido tar.gz.
tar -czvf - directorio/* | gpg --symmetric --cipher-algo CAMELLIA256 --output archivo.tar.gz.enc
# Descifrar.
gpg --decrypt archivo.tar.gz.enc | tar -xzvf -
# Usar un fichero para no tener que introducir manualmente la passphrase.
gpg --symmetric --batch --yes --passphrase-file credenciales.txt -cipher-algo TWOFISH --output texto_cifrado.txt texto.txt
# Descifrar usando la passphrase desde un archivo, útil para automatizar procesos.
gpg --decrypt --batch --yes --passphrase-file credenciales.txt --output texto_descifrado.txt texto_cifrado.txt