7 инструментов для шифрования/дешифрования и защиты паролем файлов в Linux

Шифрование – это процесс кодирования файлов таким образом, что доступ к ним имеют только те, кто авторизован. Человечество использует шифрование уже много веков, даже когда компьютеров не существовало. Во время войны они передавали какое-то сообщение, которое могли понять только их племя или заинтересованные лица.

Дистрибутив Linux предоставляет несколько стандартных инструментов шифрования/дешифрования, которые могут пригодиться в определенные моменты. В этой статье мы рассмотрим 7 таких инструментов с соответствующими стандартными примерами, которые помогут вам зашифровать, расшифровать и защитить паролем ваши файлы.

Если вас интересует, как сгенерировать случайный пароль из командной строки Linux, прочтите следующую статью:

[ Вам также может понравиться: Как генерировать/шифровать/дешифровать случайные пароли в Linux ]

1. GnuPG

GnuPG расшифровывается как GNU Privacy Guard и часто называется GPG, что является набором криптографического программного обеспечения. Написано Проектом GNU на языке программирования C. Последняя стабильная версия – 2.0.27.

В большинстве современных дистрибутивов Linux пакет gnupg идет по умолчанию, если он не установлен, вы можете установить его с помощью apt или yum из репозитория.

$ sudo apt-get install gnupg
# yum install gnupg

У нас есть текстовый файл (tecmint.txt), расположенный в ~/Desktop/Tecmint/, который будет использоваться в примерах, следующих за этой статьей.

Прежде чем двигаться дальше, проверьте содержимое текстового файла.

$ cat ~/Desktop/Tecmint/tecmint.txt

Теперь зашифруйте файл tecmint.txt с использованием gpg. Как только вы запустите команду gpg с опцией -c (шифрование только с симметричным шифром), будет создан файл tecmint.txt.gpg. Вы можете просмотреть содержимое каталога для проверки.

$ gpg -c ~/Desktop/Tecmint/tecmint.txt
$ ls -l ~/Desktop/Tecmint

Примечание: Введите Paraphrase дважды, чтобы зашифровать данный файл. Вышеуказанное шифрование было выполнено с использованием алгоритма шифрования CAST5 автоматически. По желанию вы можете указать другой алгоритм.

Чтобы увидеть все доступные алгоритмы шифрования, вы можете выполнить.

$ gpg --version

Теперь, если вы хотите расшифровать выше зашифрованный файл, вы можете использовать следующую команду, но прежде чем мы начнем расшифровку, мы сначала удалим оригинальный файл, т.е. tecmint.txt, и оставим зашифрованный файл tecmint.txt.gpg нетронутым.

$ rm ~/Desktop/Tecmint/tecmint.txt
$ gpg ~/Desktop/Tecmint/tecmint.txt.gpg

Примечание: Вам нужно будет предоставить тот же пароль, который вы указали при шифровании, чтобы расшифровать при запросе.

2. bcrypt

bcrypt – это функция производства ключа, основанная на шифре Blowfish. Шифр Blowfish не рекомендуется, так как было выяснено, что алгоритм шифрования может быть атакован.

Если у вас не установлен bcrypt, вы можете установить необходимый пакет с помощью apt или yum.

$ sudo apt-get install bcrypt
# yum install bcrypt

Шифруйте файл с помощью bcrypt.

$ bcrypt ~/Desktop/Tecmint/tecmint.txt

Как только вы выполните вышеуказанную команду, будет создан новый файл с именем texmint.txt.bfe, и оригинальный файл tecmint.txt будет заменен.

Расшифруйте файл с помощью bcrypt.

$ bcrypt tecmint.txt.bfe

Примечание: bcrypt не имеет безопасной формы шифрования, поэтому его поддержка была отключена, по крайней мере, на Debian Jessie.

3. ccrypt

Созданный в качестве замены для UNIX crypt, ccrypt – это утилита для шифрования и дешифрования файлов и потоков. Он использует шифр Rijndael.

Если у вас не установлен ccrypt, вы можете установить его с помощью apt или yum.

$ sudo apt-get install ccrypt
# yum install ccrypt

Зашифруйте файл с помощью ccrypt. Он использует ccencrypt для шифрования и ccdecrypt для дешифрования. Важно отметить, что при шифровании оригинальный файл (tecmint.txt) заменяется на (tecmint.txt.cpt), а при дешифровании зашифрованный файл (tecmint.txt.cpt) заменяется на оригинальный файл (tecmint.txt). Вы можете использовать команду ls, чтобы проверить это.

Зашифруйте файл.

$ ccencrypt ~/Desktop/Tecmint/tecmint.txt

Расшифруйте файл.

$ ccdecrypt ~/Desktop/Tecmint/tecmint.txt.cpt

Укажите тот же пароль, который вы использовали при шифровании, для расшифровки.

4. Zip

Это один из самых известных форматов архивов, настолько известный, что мы обычно называем архивные файлы zip-файлами в повседневном общении. Он использует алгоритм поточного шифрования pkzip.

Если у вас не установлен zip, вы можете установить его с помощью apt или yum.

$ sudo apt-get install zip
# yum install zip

Создайте зашифрованный zip-файл (несколько файлов, сгруппированных вместе) с помощью zip.

$ zip --password mypassword tecmint.zip tecmint.txt tecmint1.1txt tecmint2.txt

Здесь mypassword – это пароль, используемый для шифрования. Создается архив с именем tecmint.zip с заархивированными файлами tecmint.txt, tecmint1.txt, и tecmint2.txt.

Дешифруйте защищенный паролем zip-файл с помощью unzip.

$ unzip tecmint.zip

Вы должны предоставить тот же пароль, который указали при шифровании.

5. Openssl

Openssl – это набор криптографических инструментов командной строки, который можно использовать для шифрования сообщений, а также файлов.

Можете установить openssl, если его еще нет на компьютере.

$ sudo apt-get install openssl
# yum install openssl

Зашифруйте файл, используя шифрование openssl.

$ openssl enc -aes-256-cbc -in ~/Desktop/Tecmint/tecmint.txt -out ~/Desktop/Tecmint/tecmint.dat

Объяснение каждой используемой опции в указанной команде.

  1. enc : шифрование
  2. -aes-256-cbc : используемый алгоритм.
  3. -in : полный путь к файлу для шифрования.
  4. -out : полный путь, куда он будет расшифрован.

Расшифровать файл с помощью openssl.

$ openssl enc -aes-256-cbc -d -in ~/Desktop/Tecmint/tecmint.dat > ~/Desktop/Tecmint/tecmint1.txt

6. 7-zip

Очень известный open-source архиватор 7-zip написан на C++ и способен сжимать и разжимать большинство известных форматов архивных файлов.

Если у вас не установлен 7-zip, вы можете установить его через apt или yum.

$ sudo apt-get install p7zip-full
# yum install p7zip-full

Сжимайте файлы в zip с помощью 7-zip и шифруйте их.

$ 7za a -tzip -p -mem=AES256 tecmint.zip tecmint.txt tecmint1.txt

Разархивируйте зашифрованный zip-файл с помощью 7-zip.

$ 7za e tecmint.zip

Примечание: Предоставьте одинаковый пароль на этапах шифрования и дешифрования по запросу.

Все инструменты, которые мы использовали до сих пор, основаны на командной строке. Есть инструмент шифрования с графическим интерфейсом, предоставленный Nautilus, который поможет вам зашифровывать/расшифровывать файлы с помощью графического интерфейса.

7. Утилита шифрования Nautilus

Шаги по шифрованию файлов в графическом интерфейсе с использованием утилиты шифрования Nautilus.

Шифрование файлов в графическом интерфейсе

1. Щелкните правой кнопкой мыши на файле, который вы хотите зашифровать.

2. Выберите формат “zip” и укажите местоположение для сохранения. Также укажите пароль для шифрования.

Encrypt File Using Nautilus

3. Обратите внимание на сообщение – зашифрованный zip-архив успешно создан.

Encrypted Zip File Confirmation
Расшифровка файла в графическом интерфейсе

1. Попробуйте открыть zip-архив в графическом интерфейсе. Обратите внимание на ИКОНКУ-ЗАМОК рядом с файлом. Он запросит пароль, введите его.

Decryption of File

2. При успешном вводе пароля файл откроется для вас.

Decryption Confirmation

Это все на данный момент. Я вернусь с новой интересной темой. До тех пор оставайтесь на связи и подключены к Tecmint. Не забудьте оставить нам свой ценный отзыв в комментариях ниже. Поставьте лайк, поделитесь с друзьями и помогите нам распространить информацию.

Source:
https://www.tecmint.com/linux-password-protect-files-with-encryption/