Шифрование
Если нужно зашифровать отдельный файл (к примеру архив или документ) — можно воспользоваться утилитой openssl.
Шифрование файла file будет выглядеть так:
$ openssl enc -e -aes-256-cbc -k ПАРОЛЬ -in ./file -out ./file.encoded
или так:
$ cat ./file | openssl enc -e -aes-256-cbc -k ПАРОЛЬ > file.encoded Параметр -k и пароль можно не указывать, тогда он будет запрошен во время выполнения команды. вот ещё варианты: $ openssl aes-128-cbc -salt -in file -out file.aes $ openssl aes-128-cbc -d -salt -in file.aes -out file
Дешифрование
Расшифровать обратно файл можно будет командой:
<span style="font-family: monospace;">$ </span>openssl enc -d -aes-256-cbc -k ПАРОЛЬ -in ./file -out ./file.encoded
(параметр -e меняется на -d) ну или соответственно:
$ cat ./file.encoded | openssl enc -d -aes-256-cbc -k ПАРОЛЬ > ./file
Параметр -k и пароль можно не указывать, тогда он будет запрошен во время выполнения команды.
Комбинирование (Создание шифрованого архива, разбиение на тома)
Естественно команды можно комбинировать, и к примеру создание архива директории dir со сжатием gzip и шифрованием openssl aes будет выглядеть так:
$ tar -czf - ./dir | openssl enc -e -aes-256-cbc -k ПАРОЛЬ > archive.tar.gz.encoded
Рашифровываем (в обратном порядке):
$ openssl enc -d -aes-256-cbc -in ./archive.tar.gz.encoded | tar -xz
Плюс если шифрованный архив надо разбить на куски — добавляем split, все ограничивается только вашей фантазией :)
$ tar -czf - ./dir | openssl enc -e -aes-256-cbc -k ПАРОЛЬ | split -db 4M - arc
Склеиваем, дешифруем, разжимаем, разворачиваем:
$ cat arc* | openssl enc -d -aes-256-cbc | tar -xzf -
Шифрование GPG
GnuPG очень известный способ шифрования и подписи электронных писем или других данных, кроме того gpg предоставляет расширенную систему управления ключами. В данных примерах рассматривается только шифрование файлов
Самым простым является симметричный шифр. В этом случае файл шифруется с помощью пароля, соответственно расшифровать его може тот, кто знает этот пароль, никаких ключей не требуется. Gpg добавляет расширение «*.gpg» к имени зашифрованного файла.
$ gpg -c file # Зашифровать файл по паролю $ gpg file.gpg # Расшифровать файл ( -o другой файл)