如何使用 PGP

要使用 PGP,您需要產生一個金鑰對(一把公開金鑰和一把私密金鑰),將公開金鑰分享給您想通訊的對象,匯入他們的公開金鑰,然後使用這些金鑰來加密、解密、簽署和驗證訊息。PGP 加密確保只有預期的收件人才能讀取您的訊息,而數位簽章則證明訊息確實來自您。像 KeychainPGP 這樣的工具透過剪貼簿工作流程讓這個過程變得簡單 — 無需命令列。

本 PGP 教學將帶您完成每個步驟,從產生第一個金鑰對到傳送和接收加密訊息。如果您對公開金鑰密碼學的概念還不熟悉,建議先閱讀什麼是 PGP?PGP 入門指南


開始前的準備

在使用 PGP 加密第一則訊息之前,您需要一個 PGP 應用程式:

  • KeychainPGP 網頁應用程式 — 在任何現代瀏覽器中開啟線上 PGP 工具。所有操作都透過從 Rust 編譯的 WebAssembly 在本機執行。無需安裝、無需帳號、無任何資料傳送至伺服器。
  • KeychainPGP 桌面應用程式 — 從 GitHub releases 頁面下載 Windows、macOS、Linux 或 Android 的原生應用程式。桌面應用程式新增了全域快捷鍵、系統匣整合、剪貼簿自動清除和 QR code 同步功能。
  • KeychainPGP CLIkeychainpgp CLI 提供金鑰產生、加密、解密、簽署、驗證和金鑰鏈管理的命令。非常適合腳本和自動化。
  • GnuPG (GPG) — 傳統的命令列工具。功能強大但需要熟悉終端機操作。請參閱 PGP vs GPG 以獲取詳細比較。

提示:如果您只是想立即嘗試 PGP 加密而不安裝任何東西,請開啟線上 PGP 工具並按照本教學操作。


步驟 1:產生 PGP 金鑰對

PGP 金鑰對由兩把數學相關的金鑰組成:

  • 公開金鑰 — 您自由分享。任何人都可以用它來加密發給您的訊息或驗證您的簽章。
  • 私密金鑰 — 您保密持有。它解密以您的公開金鑰加密的訊息並建立數位簽章。

在 KeychainPGP 中產生金鑰

  1. 開啟 KeychainPGP(網頁或桌面應用程式)。
  2. 前往金鑰分頁。
  3. 點擊產生新金鑰
  4. 輸入您的姓名和電子郵件地址。
  5. 點擊產生。KeychainPGP 會建立 Ed25519 + X25519 金鑰對 — OpenPGP 中最現代且安全的演算法。

使用 GPG 產生金鑰(命令列)

gpg --full-generate-key

選擇金鑰類型(RSA 或 ECC)、大小和到期時間。要獲得最現代的安全性,如果您的 GPG 版本支援,請選擇 Ed25519。


步驟 2:分享您的公開金鑰

您的公開金鑰是一段 ASCII-armored 格式的文字區塊。您可以在任何地方分享它:

  • 電子郵件 — 貼到郵件本文中或附加為 .asc 檔案。
  • 通訊應用程式 — 透過 Signal、WhatsApp、Matrix 或任何聊天平台傳送。
  • 您的網站 — 發布在個人網站、GitHub 個人檔案或 Twitter 簡介上。
  • 金鑰伺服器 — 上傳到公開金鑰伺服器,如 keys.openpgp.org

重要:只分享您的公開金鑰。在任何情況下,絕對不要將私密金鑰分享給任何人。


步驟 3:匯入聯絡人的公開金鑰

在向某人發送加密訊息之前,您需要他們的公開金鑰。請您的聯絡人傳送 ASCII-armored 格式的公開金鑰給您,或在金鑰伺服器上搜尋。

在 KeychainPGP 中匯入金鑰

  1. 將聯絡人的公開金鑰區塊複製到剪貼簿。
  2. 開啟 KeychainPGP 並前往金鑰分頁。
  3. 點擊匯入金鑰並貼上金鑰。
  4. 聯絡人會出現在您的金鑰清單中,顯示其姓名和電子郵件。

步驟 4:加密訊息

在 KeychainPGP 中加密(網頁或桌面)

  1. 前往加密分頁。
  2. 輸入或貼上您想加密的訊息。
  3. 從金鑰清單中選擇收件人。
  4. 點擊加密至剪貼簿。加密訊息已複製到您的剪貼簿。
  5. 將加密訊息貼到電子郵件、聊天或任何其他通訊管道中。

使用桌面快捷鍵加密

使用 KeychainPGP 桌面應用程式,透過剪貼簿工作流程,過程更加快速:

  1. 在任何應用程式中輸入您的訊息。
  2. 選取並複製文字(Ctrl+C)。
  3. 按下 Ctrl+Shift+E — KeychainPGP 會加密剪貼簿內容。
  4. 貼上加密訊息(Ctrl+V)。

步驟 5:解密訊息

在 KeychainPGP 中解密(網頁或桌面)

  1. 複製完整的加密訊息區塊。
  2. 前往 KeychainPGP 的解密分頁。
  3. 貼上加密文字。
  4. 點擊解密。明文會立即顯示。

使用桌面快捷鍵解密

  1. 選取並複製加密訊息區塊(Ctrl+C)。
  2. 按下 Ctrl+Shift+D — KeychainPGP 會解密剪貼簿內容。
  3. 明文會取代剪貼簿中的加密文字。在需要的地方貼上即可。

桌面應用程式還具有剪貼簿自動清除功能:30 秒後,解密的文字會自動從剪貼簿中清除。


步驟 6:簽署訊息

PGP 數位簽章證明兩件事:

  1. 真實性 — 訊息由簽署金鑰的持有者撰寫。
  2. 完整性 — 訊息自簽署以來未被篡改。

簽署不會加密訊息。任何人都可以閱讀已簽署的訊息,但可以驗證它確實來自您且未被竄改。

何時簽署訊息

  • 公布軟體發布版本或安全公告
  • 在公開論壇上驗證您的身份
  • 簽署電子郵件以證明來源
  • Git commit 簽署以確保程式碼完整性

步驟 7:驗證簽章

當您收到已簽署的訊息時,可以驗證其真實性和未被修改。

在 KeychainPGP 中驗證

  1. 複製完整的已簽署訊息(包含簽章區塊)。
  2. 前往驗證分頁。
  3. 貼上已簽署的訊息。
  4. 點擊驗證。KeychainPGP 會確認簽章是否有效。

KeychainPGP 剪貼簿工作流程

KeychainPGP 與傳統 PGP 工具的區別在於其剪貼簿加密工作流程。它不是操作檔案或需要專用的電子郵件用戶端,而是透過系統剪貼簿與任何應用程式配合使用。

操作網頁應用程式桌面應用程式
加密貼上文字,點擊加密複製文字,按下 Ctrl+Shift+E
解密貼上加密文字,點擊解密複製加密文字,按下 Ctrl+Shift+D
簽署貼上文字,點擊簽署在應用程式視窗中操作
驗證貼上已簽署文字,點擊驗證在應用程式視窗中操作

桌面應用程式的額外安全功能:

  • 剪貼簿自動清除 — 解密文字在 30 秒後從剪貼簿中清除。
  • OPSEC 模式 — 偽裝視窗標題、金鑰僅存於記憶體中及緊急清除按鈕。
  • 作業系統認證存放區 — 私密金鑰透過 Windows 認證管理員、macOS 鑰匙圈或 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 金鑰。指紋用於驗證公開金鑰確實屬於您認為的那個人。請務必透過獨立的可信管道(電話、視訊通話、當面見面)比對指紋,以防止中間人攻擊。