Cryptanalysis
如果 Bob 竊取了 Alice 的私鑰,他將如何閱讀她的加密文件?
所以鮑勃在愛麗絲不看的時候抓住了她的秘密密鑰和她的加密文件,他不需要知道她的密碼來閱讀她的文件嗎?
我正在閱讀的是,不,他不需要它,但據我了解 GPG,它仍然會要求密碼來解密文件。請通過逐步範例解釋為什麼 Bob 不需要知道 Alice 的密碼來閱讀她的文件。
GPG(或 OpenPGP)的公鑰文件加密使用多個步驟:
- 生成隨機會話密鑰
- 使用此隨機會話密鑰加密文件
- 使用接收方的公鑰加密隨機會話密鑰(或併行使用多個密鑰,如果文件打算由多個接收方解密)。
- 將加密文件與加密會話密鑰一起儲存。
為了解密它,接收者(或攻擊者)需要對應於(一個)使用的公鑰的私鑰。
現在,Alice 應該用密碼保護她的私鑰——這樣,Bob 就不會得到私鑰本身,而只會得到它的加密版本。如果是這樣,Bob 解密密鑰(以及文件)的唯一方法是猜測加密密碼片語(如果密碼片語不是那麼長/複雜,這是可能的)。
如果 Alice 不保護她的私鑰,Bob 會得到私鑰,並可以直接用它來解密會話密鑰,從而解密文件。
GPG 通常讓使用者選擇是否使用密碼加密私鑰。因此,如果 Alice 使用密碼加密了私鑰,Bob 將需要它。如果她選擇不這樣做,他將不需要密碼,並且可以使用私鑰解密文件等。