
我需要加密一個文件,將其發送給外部合作夥伴,然後外部合作夥伴將使用金鑰解密該文件。
我的「基本」理解是,我可以產生公鑰和私鑰,使用公鑰對文件進行編碼,而我們的合作夥伴可以使用我們提供給他們的私鑰進行解密。但這對我來說聽起來有點奇怪,我們會共享私鑰。只有一個值得信賴的合作夥伴。
我錯過了什麼嗎?
答案1
PGP 加密 - 公鑰和私鑰如何運作
您僅共享您的公鑰,這就是他們在將資料發送給您之前加密資料的方法。您還可以在將資料發送給他們之前使用他們的公鑰對其進行加密。
公鑰就是[公開],因此任何人都可以安全地使用它來加密文件,但絕不能使用私有金鑰,因為它始終對需要解密文件的人保持私有。
通常,您將配置 PGP 軟體並產生金鑰對。本質上,您將擁有一個私鑰和一個公鑰,這就是密鑰對。
您應該將私鑰保存在存取權限有限的安全位置,並且您可以與您希望使用此技術交換檔案的其他具有 PGP 加密/解密功能的實體共用公鑰。
PGP 檔案級加密簡單類比
這就像您給他們鎖來鎖定文件(您的公鑰),但只有您擁有解鎖它的鑰匙(您的私鑰)。
- 這公鑰就像一把鎖,任何人都可以使用鎖來[加密]鎖定文件
- 這私鑰就像鎖的鑰匙一樣,只有那些想要[解密]解鎖它的人才能並且擁有私鑰來解鎖它。
例子
- 他們使用您的公鑰加密文件,然後將這些文件發送給您,只有您擁有該金鑰對中的私鑰才能解密這些文件。
他們使用您的公鑰加密文件,然後將這些文件發送給一些不應該獲取資料的公司。該公司沒有解密該資料的私鑰,因此資料沒有外洩。
您使用另一個實體的公鑰加密文件,然後將文件發送給他們,只有他們才能使用其金鑰對中的私鑰解密這些文件。
您使用另一個實體的公鑰加密文件,然後將文件發送給錯誤的公司,但他們無法解密數據,因為他們沒有私鑰來解密數據,因此沒有數據被洩露。
進一步閱讀
答案2
考慮私鑰和實際鑰匙,公鑰是掛鎖。無論你把掛鎖交給誰,都可以關閉某些東西(例如,包含秘密訊息的保險庫),並且只有你(確保私鑰安全)才能再次打開它。
請記住,掛鎖是數字的:很容易無限次地複製它。事實上,您經常在某個公共目錄中將其分享給所有想要擁有它的人。
我的「基本」理解是,我可以產生公鑰和私鑰,使用公鑰對文件進行編碼,而我們的合作夥伴可以使用我們提供給他們的私鑰進行解密。但這對我來說聽起來有點奇怪,我們會共享私鑰。只有一個值得信賴的合作夥伴。
相反:接收者產生金鑰對,並將公鑰(「掛鎖」)傳遞給您。現在,只有收件人才能解密該訊息,因為他是唯一持有私鑰的人。
此外,您不必擔心中間人掌握了私鑰——即使他攔截了公鑰,他仍然無法讀取訊息。只需確保在收到公鑰後驗證指紋(例如透過電話),以確保公鑰在傳輸過程中不會被替換。
除了加密之外,您還可以符號訊息,以便對方可以核實寄件者。在這種情況下,您還可以產生公鑰/私鑰對。簽名幾乎以相反的方式工作(與掛鎖的類比對於簽名不再有效),請考慮使用私鑰加密(只有您可以這樣做,因為它是保密的)。如果收件人可以使用您的公鑰解密訊息(或通常是訊息的哈希和),他就知道一定是您簽署了該訊息。
答案3
附加用法:5:您(另外)使用您的私鑰加密檔案。它只能用您的公鑰解密。接收者可以確定您是發送者。