# GNU_privacy_guard ## Установка: ### Ubuntu/Debian: ```bash sudo apt update && sudo apt install gnupg ``` ## Создание пары ключей: ```bash gpg --full-generate-key ``` ## Параметры генерации: ```text Please select what kind of key: (1) RSA and RSA (recommended) (9) ECC (modern) RSA keys may be between 1024 and 4096 bits. What keysize do you want? (3072) 4096 Key is valid for? (0) 2y Real name: Иван Петров Email address: ivan@example.com Comment: work key ``` ## Парольная фраза: ```text ┌─────────────────────────────────────────────────────────┐ │ Please enter the passphrase to protect your new key │ │ │ │ Passphrase: ************************************ │ │ Repeat: ************************************ │ └─────────────────────────────────────────────────────────┘ ``` > Парольная фраза защищает приватный ключ. Её потеря - потеря ключа. ## Просмотр ключей: ### Список публичных ключей: ```bash gpg --list-keys ``` ### Список приватных ключей: ```bash gpg --list-secret-keys ``` ## Подробная информация с отпечатком: ```bash gpg --fingerprint ivan@example.com ``` ### Пример вывода: ```text pub rsa4096 2026-04-02 [SC] [expires: 2028-04-01] 1234 5678 9ABC DEF0 1234 5678 9ABC DEF0 1234 5678 uid [ultimate] Иван Петров sub rsa4096 2026-04-02 [E] [expires: 2028-04-01] ``` ## Экспорт публичного ключа ### В текстовом формате (для отправки): ```bash gpg --armor --export ivan@example.com > public_key.asc ``` ### Экспорт ключа по отпечатку: ```bash gpg --armor --export 123456789ABCDEF0123456789ABCDEF01234567 > public_key.asc ``` > Может пригодиться, если вы сгенерировали несколько ключей, у которых одинаковое имя владельца и адрес электронной почты ### Содержимое файла public_key.asc: ```text -----BEGIN PGP PUBLIC KEY BLOCK----- mQINBGYj8... ... -----END PGP PUBLIC KEY BLOCK----- ``` > между началом и концом PGP PUBLIC KEY BLOCK'а находится ваш публичный ключ. ## Импорт публичного ключа ### Импорт ключа коллеги: ```bash gpg --import colleague_public_key.asc ``` ### Проверка, что ключ был импортирован: ```bash gpg --list-keys colleague@example.com ``` ## Шифрование файла ### Ассиметричное шифрование для конкретного получателя: ```bash gpg --encrypt --recipient colleague@example.com secret.txt ``` ### Результат: зашифрованный файл ```text secret.txt.gpg ``` ### Шифрование с указанием имени выходного файла: ```bash gpg --encrypt --recipient colleague@example.com --output secret.gpg secret.txt ``` ### Шифрование для нескольких получателей: ```bash gpg --encrypt --recipient user1@example.com --recipient user2@example.com secret.txt ``` ## Расшифровка файла ### С выводом на экран: ```bash gpg --decrypt secret.gpg ``` ### С сохранением в файл: ```bash gpg --decrypt secret.gpg > secret.txt ``` ### Расшифровка без вывода: ```bash gpg --quiet --decrypt secret.txt.gpg > secret.txt ``` ## При расшифровке GPG запросит парольную фразу: ```text ┌─────────────────────────────────────────────────────────┐ │ Please enter the passphrase to unlock the secret key │ │ │ │ "Иван Петров " │ │ 4096-bit RSA key, ID 1234567890ABCDEF │ │ │ │ Passphrase: ************************************ │ └─────────────────────────────────────────────────────────┘ ``` ## Подпись файла ## Удаление ключей ## Изменение парольной фразы ## Структура файлов GPG ## Резервное копирование ключей