Простой способ шифрования файлов с помощью 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

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

Для установки GnuPG в Alpine Linux выполните:

sudo apk add gnupg

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

sudo pacman -S gnupg

В Debian, Ubuntu, Linux Mint и Pop OS:

sudo apt install gnupg

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

sudo dnf install gnupg

В старых RHEL и его клонах, используется yum:

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 файл нужным именем.

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

Простой способ шифрования и расшифровки файлов из командной строки с помощью GnuPG в Linux

Внимание: Хорошая парольная фраза должна состоять как минимум из 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 автоматически определяет, что файл зашифрован парольной фразой, и запрашивает эту парольную фразу. Просто введите пароль, выберите Ok и нажмите Enter.

Простой способ шифрования и расшифровки файлов из командной строки с помощью GnuPG в Linux

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

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

ls
mysecret.txt mysecret.txt.gpg

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

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

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

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

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

Чтобы узнать больше подробностей о GnuPG, просмотрите его раздел справки, выполнив эту команду:

gpg -h

или обратитесь к man-страницам gpg:

man gpg

Заключение

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

Комментарии (0)