OpenPGP 的資料的加密與解密教學,以 Kleopatra 為例
前言
PGP (Pretty Good Privacy) 是款相當優質的端對端 (End-to-end encryption, E2EE) 應用程式,它能確保訊息在傳輸過程中的保密、完整和真實性,即使有人竊聽並取得密文,也難以輕易破解內容。
加密與解密 PGP 的過程如下:
- A 建立私鑰與公鑰,並將公鑰交給 B
- B 用 A 的公鑰將檔案加密後傳給 A
- A 用私鑰將 B 傳來的加密檔案進行解密
撇除後門程式、中間人攻擊和執法單位的科學辦案與曉以大義,PGP 能建立專屬於通訊雙方的加密通道,讓明文只出現在發送端與接受者的裝置上,因此是相當可靠的加密手段。
但這樣描述實在過於抽象,因此本文流浪貓將以準備發動革命推翻共產黨的組織 UwU 為例,敘述如何用 PGP 進行資料的加密與解密。
情境假設
UwU 是潛伏於中國各地與流亡海外的民主鬥士們所組成的反共組織,他們準備在 10 月 1 日號召中國各地的弟兄,於天安門發動武裝起義推翻中國共產黨。
但中共對於言論審查和網路的管控相當嚴苛,基本上所有中國的產品都內建官方的後門程式,監控著人民的所有行動。
在這種情況下,組織的老大該如何將起義時間、地點、成員和武器等資料傳遞給各地的兄弟?
為了方便起見,以下將以代號描述雙方關係
- UwU:反共組織
- OvO:各地的成員
組織與各地成員都要用 PGP 軟體產生以下資料
- UwU_Pri:反共組織的私鑰
- UwU_Pub:反共組織的公鑰
- OvO_Pri:成員的私鑰
- OvO_Pub:成員的公鑰
雙方交換公鑰
- UwU:持有 UwU_Pri 和 OvO_Pub
- OvO:持有 OvO_Pri 和 UwU_Pub
實際用 PGP 進行加密
當 OvO 想傳訊給 UwU 時,就要用 UwU_Pub 將文件加密傳給 UwU,接著反共組織就能用手上的 UwU_Pri 將密件解密了,加密與解密過程如下:
- UwU_Pub + 明文 = 給 UwU 的密件
- OvO_Pub + 明文 = 給 OvO 的密件
- 給 UwU 的密件 + UwU_Pri = 組織獲得成員們的訊息
- 給 OvO 的密件 + OvO_Pri = 成員們收到組織的訊息
用 Kleopatra 建立 PGP 加密的步驟
於主畫面點選「New Key Pair」建立新的金鑰,名稱與電子郵件可隨意自訂。進階功能選單,可設定合法結束時間與不同的金鑰形式,自訂密碼並確認無誤後產生金鑰。
完成後點選「備份您的金鑰配對」匯出私鑰,最後在主畫面的金鑰列表中,用快捷鍵 Ctrl + E 或右鍵 Export 輸出公鑰。
用公鑰進行檔案或剪貼簿加密
為了示範 OvO 如何傳送機密訊息給 UwU,我們先清除 Kleopatra 內所有的金鑰,再單獨匯入 UwU 的公鑰。接著依據需求,選擇你要的加密方式。
剪貼簿加密
複製你要傳送的訊息後,執行剪貼簿加密工具:
工具 > 剪貼簿 > 新增收件者 > 選擇 UwU > 執行加密
檔案加密
簽署/加密 > 選擇檔案 > Encrypt for other > 輸入 UwU > 執行加密
- Encrypt with password:無 PGP 金鑰,僅用自訂密碼進行加密。
下方出現『警告:選取的憑證中沒有您自己的,您將無法再解密資料』的訊息為正常現象,因為示範情境只有匯入 UwU 公鑰,除非 Kleopatra 有 UwU 的私鑰,否則沒有任何人能將其解密。
用私鑰進行檔案或剪貼簿解密
將 UwU 私鑰匯入 Kleopatra 即可開始解密程序。
剪貼簿解密
工具 > 剪貼簿 > 解密/檢查
檔案解密
解密/檢查 > 選擇檔案
如此一來,UwU 就收到來自 OvO 的機密訊息了。
結語
當然,我相信中共的網路監管部門,應該沒笨到不知道要抓使用密文進行通訊的人,將雙方約出來喝茶,質疑他們為什麼要用這種方式溝通。在有罪推論的前提之下,所有的加密訊息都會被中國共產黨視為有謀反的意圖。
況且小粉紅最擅長為壓榨自己的強權辯護了,他們會來責怪受害者:
你沒做壞事的話,為什麼要怕人家看?
你這樣不是讓習近貧很困擾嗎?
畢竟中共和小粉紅對隱私的概念與民主國家不同,要他們理解隱私權基本上是不可能的任務,人畜殊途嘛!
反過來說,如果政府沒有做賊心虛,為什麼要擔心人民傳遞密文呢?
延伸閱讀