Как шифровать файлы с помощью GPG в Linux В статье показано как легко и просто зашифровать любой файл с помощью криптографии GnuPG. Это может быть очень полезно для файлов в которых хранятся пароли или какая-либо личная информация. GNU Privacy Guard (GnuPG или GPG) распространяется по лицензия GPL. Совместим с текущим стандартам RFC 4880 спецификации OpenPGP. Вариант 1 — Шифрование с симметрическим ключом Это самый простой способ. Для шифрования файла нужно ввести пароль, и этот же пароль для расшифровки. К примеру возьмем файл file.txt в котором записана информация 1234. Для шифрования файла Используем опцию -с или --symmetric: Code: gpg -c file.txt Получим: Code: gpg: directory `/root/.gnupg' created gpg: new configuration file `/root/.gnupg/gpg.conf' created gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run gpg: keyring `/root/.gnupg/pubring.gpg' created На этом компьютере — это было самый первый запуск GPG. Потому был создан каталог /root/.gnupg. Как только был введен 2 раза пароль создастся новый файл: Code: ls -l Увидим файлы: Code: -rw-r--r-- 1 root root file.txt -rw-r--r-- 1 root root file.txt.gpg Теперь можно перемещать созданный gpg файл, а открытый текст удалить. Открывается зашифрованный файл командой с опцией -d: Code: gpg -d file.txt.gpg Получим в терминал: Code: gpg: keyring `/root/.gnupg/secring.gpg' created gpg: CAST5 encrypted data gpg: gpg-agent is not available in this session gpg: encrypted with 1 passphrase secret 1234 gpg: WARNING: message was not integrity protected Для записи информации в файл можно использовать опцию -o: Code: gpg -o newfile.txt -d file.txt.gpg Проверяем: Code: ls -l -rw-r--r-- 1 root root newfile.txt -rw-r--r-- 1 root root file.txt -rw-r--r-- 1 root root file.txt.gpg cat newfile.txt 1234 Вариант 2 — Шифрование с открытым/закрытым ключом Существует и другой подход к шифрованию. GPG нам позволяет использовать ключи шифрования для операций с файлами на Windows и Linux. Преимущество — вы можете сохранить открытый ключ и использовать его в любом месте. Нам надо будет использовать сертификат, который состоит из двух различных ключей private и public. Private ключ должен оставаться исключительно у владельца сертификата. Он будет использоваться для расшифровки файлов, которые отправлены через почту, FTP или HTTP. Public ключ может быть дан кому нужно. Он будет использоваться для шифрования файлов на имя владельца сертификата. Только владелец private ключа сможет расшифровать отправленный файл. Ключи можно сгенирировать с помощью опции --gen-key: Code: gpg --gen-key Посмотреть все ключи можно при помощи опции --list-keys или --list-secret-keys. Шифрование с puclic ключом Теперь можно попробовать зашифровать файл при помощи открытого ключа: Code: gpg -e -r [email protected] file.txt Получим файл с именем file.txt.gpg. Опции -e -r означают: -е — шифрование данных. -r — шифрование с ID пользователя. Если эта опция не указана — GnuPG запросит у вас эту информацию. Расшифровка с помощью Private ключа Для расшифровки файла можно использовать опции -d и -о: Code: gpg -d file.txt.gpg -o newfile.txt Импорт новых ключей Для шифрования файла нужно уметь импортировать открытые ключи: Code: gpg --import KEYFILE Чтобы добавить ключ в доверенные. Выполните: Code: gpg --edit-key NAME Через время вас спросят «trust: undefined validity: unknown». Введите trust. Для выхода из консоли введите quit. 13 января 2013 http://itbuben.org/blog/Unix-way/3030.html