Как использовать PGP
Чтобы использовать PGP, вы генерируете пару ключей (открытый ключ и закрытый ключ), делитесь открытым ключом с людьми, с которыми хотите общаться, импортируете их открытые ключи, а затем используете эти ключи для шифрования, расшифровки, подписания и проверки сообщений. Шифрование PGP гарантирует, что только предполагаемый получатель сможет прочитать ваше сообщение, а цифровые подписи доказывают, что сообщение действительно от вас. Такие инструменты, как KeychainPGP, делают этот процесс доступным благодаря рабочему процессу через буфер обмена — без командной строки.
Это руководство проведёт вас через каждый этап — от генерации первой пары ключей до отправки и получения зашифрованных сообщений. Если вы впервые сталкиваетесь с концепцией криптографии с открытым ключом, рекомендуем сначала прочитать Что такое PGP? или PGP для начинающих.
Что вам понадобится перед началом
Прежде чем зашифровать первое сообщение с помощью PGP, вам нужно PGP-приложение:
- Веб-приложение KeychainPGP — Откройте онлайн-инструмент PGP в любом современном браузере. Всё работает локально через WebAssembly, скомпилированный из Rust. Без установки, без учётной записи, никакие данные не отправляются на сервер.
- Настольное приложение KeychainPGP — Скачайте нативное приложение для Windows, macOS, Linux или Android со страницы релизов на GitHub. Настольное приложение добавляет глобальные горячие клавиши, интеграцию с системным треем, автоочистку буфера обмена и синхронизацию по QR-коду.
- CLI KeychainPGP — CLI
keychainpgpпредоставляет команды для генерации ключей, шифрования, расшифровки, подписания, проверки и управления связкой ключей. Идеально для скриптов и автоматизации. - GnuPG (GPG) — Традиционный инструмент командной строки. Мощный, но требует знакомства с терминалом. Подробное сравнение в статье PGP vs GPG.
Совет: Если вы просто хотите попробовать шифрование PGP без установки, откройте онлайн-инструмент PGP и следуйте этому руководству.
Шаг 1: Генерация пары ключей PGP
Пара ключей PGP состоит из двух математически связанных ключей:
- Открытый ключ — Вы свободно его распространяете. Любой может использовать его для шифрования сообщений, предназначенных вам, или для проверки ваших подписей.
- Закрытый ключ — Вы храните его в тайне. Он расшифровывает сообщения, зашифрованные вашим открытым ключом, и создаёт цифровые подписи.
Генерация ключа в KeychainPGP
- Откройте KeychainPGP (веб-приложение или настольное).
- Перейдите во вкладку Ключи.
- Нажмите Сгенерировать новый ключ.
- Введите ваше имя и адрес электронной почты.
- Нажмите Сгенерировать. KeychainPGP создаст пару ключей Ed25519 + X25519 — самый современный и безопасный алгоритм, доступный в OpenPGP.
Генерация ключа с помощью GPG (командная строка)
gpg --full-generate-key
Выберите тип ключа (RSA или ECC), размер и срок действия. Для современной безопасности выбирайте Ed25519, если ваша версия GPG его поддерживает.
Шаг 2: Передача открытого ключа
Ваш открытый ключ представляет собой текстовый блок в формате ASCII-armored. Вы можете поделиться им где угодно:
- Email — Вставьте его в тело письма или приложите как файл
.asc. - Мессенджеры — Отправьте через Signal, WhatsApp, Matrix или любую платформу чата.
- Ваш сайт — Опубликуйте на личном сайте, в профиле GitHub или био Twitter.
- Серверы ключей — Загрузите на публичный сервер ключей, например
keys.openpgp.org.
Важно: Делитесь только открытым ключом. Никогда не передавайте свой закрытый ключ никому, ни при каких обстоятельствах.
Шаг 3: Импорт открытых ключей контактов
Прежде чем вы сможете отправить кому-то зашифрованное сообщение, вам нужен его открытый ключ. Попросите контакт прислать вам свой открытый ключ в формате ASCII-armored или найдите его на сервере ключей.
Импорт ключа в KeychainPGP
- Скопируйте блок открытого ключа контакта в буфер обмена.
- Откройте KeychainPGP и перейдите во вкладку Ключи.
- Нажмите Импортировать ключ и вставьте ключ.
- Контакт появится в вашем списке ключей с именем и email.
Шаг 4: Шифрование сообщения
Шифрование в KeychainPGP (веб или настольное)
- Перейдите во вкладку Шифрование.
- Введите или вставьте сообщение, которое хотите зашифровать.
- Выберите получателя из списка ключей.
- Нажмите Зашифровать в буфер обмена. Зашифрованное сообщение скопируется в буфер обмена.
- Вставьте зашифрованное сообщение в email, чат или любой другой канал связи.
Шифрование с помощью горячей клавиши
В настольном приложении KeychainPGP процесс ещё быстрее благодаря рабочему процессу через буфер обмена:
- Введите сообщение в любом приложении.
- Выделите и скопируйте текст (
Ctrl+C). - Нажмите
Ctrl+Shift+E— KeychainPGP зашифрует содержимое буфера обмена. - Вставьте зашифрованное сообщение (
Ctrl+V).
Шаг 5: Расшифровка сообщения
Расшифровка в KeychainPGP (веб или настольное)
- Скопируйте весь блок зашифрованного сообщения.
- Перейдите во вкладку Расшифровка в KeychainPGP.
- Вставьте зашифрованный текст.
- Нажмите Расшифровать. Исходный текст появится мгновенно.
Расшифровка с помощью горячей клавиши
- Выделите и скопируйте блок зашифрованного сообщения (
Ctrl+C). - Нажмите
Ctrl+Shift+D— KeychainPGP расшифрует содержимое буфера обмена. - Исходный текст заменит зашифрованный в буфере обмена. Вставьте его туда, где вам нужно.
Настольное приложение также имеет функцию автоочистки буфера обмена: через 30 секунд расшифрованный текст автоматически удаляется из буфера обмена.
Шаг 6: Подписание сообщения
Цифровая подпись PGP доказывает две вещи:
- Подлинность — Сообщение было написано владельцем подписывающего ключа.
- Целостность — Сообщение не было изменено с момента подписания.
Подписание не шифрует сообщение. Любой может прочитать подписанное сообщение, но может проверить, что оно действительно от вас и не было подделано.
Когда подписывать сообщения
- Публикация релизов программного обеспечения или уведомлений о безопасности
- Подтверждение вашей личности на публичных форумах
- Подписание электронных писем для подтверждения их происхождения
- Подписание коммитов Git для обеспечения целостности кода
Шаг 7: Проверка подписи
Получив подписанное сообщение, вы можете проверить его подлинность и целостность.
Проверка в KeychainPGP
- Скопируйте полное подписанное сообщение (включая блок подписи).
- Перейдите во вкладку Проверка.
- Вставьте подписанное сообщение.
- Нажмите Проверить. KeychainPGP подтвердит, действительна ли подпись.
Рабочий процесс через буфер обмена KeychainPGP
Главное отличие KeychainPGP от традиционных инструментов PGP — рабочий процесс шифрования через буфер обмена. Вместо работы с файлами или привязки к определённому почтовому клиенту KeychainPGP работает с любым приложением через системный буфер обмена.
| Действие | Веб-приложение | Настольное приложение |
|---|---|---|
| Шифрование | Вставить текст, нажать «Зашифровать» | Скопировать текст, нажать Ctrl+Shift+E |
| Расшифровка | Вставить шифротекст, нажать «Расшифровать» | Скопировать шифротекст, нажать Ctrl+Shift+D |
| Подписание | Вставить текст, нажать «Подписать» | Доступно в окне приложения |
| Проверка | Вставить подписанный текст, нажать «Проверить» | Доступно в окне приложения |
Дополнительные функции безопасности настольного приложения:
- Автоочистка буфера обмена — Расшифрованный текст удаляется из буфера обмена через 30 секунд.
- Режим OPSEC — Маскировка заголовка окна, хранение ключей только в оперативной памяти и кнопка экстренного удаления.
- Хранилище учётных данных ОС — Закрытые ключи надёжно хранятся через Windows Credential Manager, macOS Keychain или Linux Secret Service.
Веб-приложение vs настольное приложение
Веб-приложение (онлайн-инструмент PGP):
- Полностью работает в браузере через WebAssembly
- Установка и учётная запись не требуются
- Идеально для быстрого шифрования
- Ключи хранятся в локальном хранилище браузера
Настольное приложение (Windows, macOS, Linux, Android):
- Глобальные горячие клавиши для шифрования и расшифровки
- Интеграция с системным треем
- Автоочистка буфера обмена
- Режим OPSEC с ключами только в оперативной памяти и экстренным удалением
- Безопасное хранение ключей через менеджер учётных данных ОС
- Лучше подходит для ежедневного использования и долгосрочного управления ключами
Оба приложения бесплатны, с открытым исходным кодом (MIT / Apache-2.0) и без какой-либо телеметрии.
Часто задаваемые вопросы
Нужно ли делиться закрытым ключом?
Нет. Вы никогда не должны делиться своим закрытым ключом с кем-либо. Ваш закрытый ключ позволяет расшифровывать отправленные вам сообщения и создавать цифровые подписи. Если кто-то получит ваш закрытый ключ, он сможет читать все зашифрованные для вас сообщения и выдавать себя за вас.
Что будет, если я потеряю закрытый ключ?
Если вы потеряете закрытый ключ, вы навсегда утратите возможность расшифровывать все сообщения, зашифрованные соответствующим открытым ключом. Механизма восстановления не существует. Всегда храните надёжную резервную копию закрытого ключа.
Можно ли шифровать файлы с помощью PGP?
Да. PGP может шифровать как текстовые сообщения, так и бинарные файлы. KeychainPGP специализируется на шифровании текста через буфер обмена, тогда как такие инструменты, как GnuPG, поддерживают шифрование файлов напрямую. Подробное сравнение в руководстве PGP vs GPG.
Безопасно ли шифрование PGP?
Шифрование PGP с современными алгоритмами чрезвычайно надёжно. KeychainPGP использует Ed25519 для подписей и X25519 для обмена ключами — алгоритмы на эллиптических кривых, обеспечивающие безопасность, эквивалентную RSA-3072, при значительно меньшем размере ключа. Основные риски не криптографические, а операционные: слабые пароли, скомпрометированные устройства или небрежное управление ключами.
Что такое отпечаток PGP?
Отпечаток PGP — это 40-символьная шестнадцатеричная строка, уникально идентифицирующая ключ PGP. Отпечатки используются для проверки того, что открытый ключ действительно принадлежит тому, кого вы имеете в виду. Всегда сверяйте отпечаток через отдельный доверенный канал (телефонный звонок, личная встреча), чтобы предотвратить атаки «человек посередине».