Для простого и надежного шифрования файлов паролем воспользуемся утилитой gpg (или GnuPG), которая присутствует практически во всех дистрибутивах, как Linux так и Unix (BSD).
gpg является свободной реализацией набора криптографического ПО PGP. Текущие версии GnuPG могут взаимодействовать с PGP и другими OpenPGP-совместимыми системами в режиме совместимости. GnuPG так же можно использовать для шифрования и подписания данных в целях безопасного хранения и передачи информации.
$ gpg -c somefile
Ключ -c указывает на использование симметричного шифра.
По умолчанию исползуется шифр CAST5. Если мы хотим зашифровать другим шифром, то необходимо указать новый шифр после параметра —cipher-algo, список доступных шифров можно просмотреть с помощью команды gpg —version. (Например так: gpg -c —cipher-algo Blowfish somefile).
После чего пользователю необходимо будет ввести и подтвердить пароль.
Enter passphrase: mypassword
Repeat passphrase: mypassword
После введения пароля будет создан зашифрованный файл с расширением .gpg
Для расшифрования:
gpg somefile.gpg
gpg: CAST5 encrypted data
Enter passphrase: mypassword
Расшифровать такой файл, не зная пароля (aka passphrase) практически невозможно.
Ключ -o можно использовать для указания выходного файла, например gpg somefile.gpg -o otherfile.txt
Для шифрования целой папки, я сначала сжимаю необходимую директорию bzip2’ом:
tar -cjf newarch.tar.bz2 dir/
а затем шифрую вышеуказанным способом:
gpg -c newarch.tar.bz2
GPG очень простое и удобное средство для шифрования отдельных файлов.