Поиск по сайту:

Шифрование и дешифрование файлов с помощью GnuPG в Linux

Сегодня мы увидим, как шифровать и расшифровывать файлы из командной строки в Linux с помощью бесплатной утилиты под названием GNU Privacy >Guard(сокращенно GPG или GnuPG).

Конечно, существует множество методов и приложений для шифрования и дешифрования файлов в Linux. Но шифрование и расшифровка файлов с помощью GnuPG — самый простой метод.

Что такое ГнуПГ?

GnuPG — это система шифрования с открытым исходным кодом, совместимая с OpenPGP. Это сложная криптосистема с открытым ключом командной строки, которая обеспечивает услуги цифрового шифрования и подписи с использованием стандарта OpenPGP.

Используя GnuPG, мы можем легко зашифровать важные и конфиденциальные файлы и документы. Он упакован для нескольких операционных систем, а также доступен в виде предварительно скомпилированных двоичных файлов.

GnuPG доступен в двух версиях. Это GnuPG 1.x и GnuPG 2.x. GnuPG 2.x использует современные алгоритмы и рекомендован экспертами по безопасности. Вам следует использовать GnuPG 1.x только в том случае, если ваш дистрибутив не поддерживает GnuPG 2.x.

Установить ГнуПГ

GnuPG по умолчанию предустановлен в большинстве дистрибутивов Linux. Если это не случайно, вы можете установить GnuPG, используя менеджер пакетов вашего дистрибутива по умолчанию, как показано ниже.

Чтобы установить GnuPG в Alpine Linux, запустите:

sudo apk add gnupg

В Arch Linux и его производных, таких как EndeavourOS и Manjaro Linux:

sudo pacman -S gnupg

В ОС Debian, Ubuntu, Linux Mint и Pop:

sudo apt-get install gnupg

В Fedora, RHEL, CentOS, AlmaLinux и Rocky Linux:

sudo dnf install gnupg

В более старых версиях RHEL и его клонах используйте yum вместо dnf.

sudo yum install gnupg

В SUSE/openSUSE:

sudo zypper in gnupg

Вы можете проверить установленную версию GPG в любое время с помощью команды:

gpg --version

Пример вывода:

gpg (GnuPG) 2.2.27
libgcrypt 1.8.8
Copyright (C) 2021 Free Software Foundation, Inc.
License GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: /home/ostechnix/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

Шифрование и дешифрование файлов с помощью GnuPG

Сначала мы рассмотрим, как шифровать файлы.

Шифрование файлов с помощью GnuPG

Чтобы зашифровать файл с помощью GnuPG, запустите:

gpg -c mysecret.txt 

Здесь -c означает обычное шифрование, также известное как симметричное шифрование. Замените файл mysecret.txt своим собственным именем файла в приведенной выше команде.

Вам будет предложено ввести парольную фразу для защиты файла. Дважды введите надежную парольную фразу и нажмите «ОК», чтобы зашифровать файл.

Шифрование файлов с помощью GnuPG

Внимание! Хорошая парольная фраза должна содержать не менее 8 символов, включая цифры и специальные символы.

Давайте проверим это с помощью команды ls:

ls

Пример вывода:

mysecret.txt  mysecret.txt.gpg

Как вы видите в приведенном выше выводе, новый зашифрованный файл имеет то же имя, но с добавленным расширением .gpg. Исходный файл остается нетронутым.

Как говорилось ранее, когда мы используем флаг -c, мы шифруем файл симметричным шифром с использованием парольной фразы. По умолчанию используется симметричный шифр AES-128. Однако мы можем использовать другой метод шифрования с опцией --cipher-algo.

После шифрования файла вы не сможете просмотреть содержимое зашифрованного файла без парольной фразы.

Даже если вы попытаетесь открыть его, вы увидите только случайные числа и символы, как показано ниже.

�       0k~
           f����R���)�2Y�Vm:x��h�'|u7bd�m�lA��E'�=R����,��1������(tz�-�d��9����,��*�

По умолчанию зашифрованные файлы являются двоичными. Файлы с двоичным шифрованием создаются с суффиксом .gpg.

Если вместо этого вы хотите создать текстовый файл ASCII, добавьте параметр -a (броня):

gpg -c mysecret.txt 

Зашифрованные файлы ASCII имеют суффикс .asc (т. е. filename.asc).

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

Чтобы расшифровать файл с помощью GnuPG, просто запустите:

gpg mysecret.txt.gpg

GnuPG автоматически обнаруживает, что файл зашифрован с помощью парольной фразы, и запрашивает эту парольную фразу. Просто введите правильную парольную фразу, выберите «ОК» и нажмите Enter.

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

Если парольная фраза верна, расшифрованные данные записываются в файл с тем же именем, но без расширения .gpg. Кроме того, зашифрованный файл остается нетронутым.

Давайте проверим это:

ls
mysecret.txt  mysecret.txt.gpg

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

Если вы хотите, чтобы выходной файл был записан в другое имя, используйте флаг -o, как показано ниже.

gpg -o secret.txt -d mysecret.txt.gpg

Здесь -d означает расшифровку, а -o означает вывод.

Обратите внимание, что файлы, зашифрованные ASCII (с суффиксом .asc), можно расшифровать так же, как и двоичные зашифрованные файлы (с суффиксом .gpg).

Чтобы узнать более подробную информацию о GnuPG, просмотрите раздел справки, выполнив следующую команду:

gpg -h

Или обратитесь к справочным страницам gpg:

man gpg

Заключение

Как видите, шифровать и расшифровывать файлы с помощью GnuPG довольно просто! Вам не нужно быть экспертом или опытным администратором Linux, чтобы шифровать/расшифровывать файлы.

Ресурс:

  • Веб-сайт GnuPG

Статьи по данной тематике