Шифрование и дешифрование файлов с помощью 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