以下是我所瞭解的或據我所知GPG 1.當GPG使用公鑰加密時,我們需要指定keyid/user_id來標識該密鑰。GPG如何找到相應的私鑰
- 但是當解密時,看起來好像我們不需要指定keyid/user_id。
所以我的問題是: GPG如何識別或找出該加密公鑰的相應私鑰? 是否在加密文件中顯示該信息?
以下是我所瞭解的或據我所知GPG 1.當GPG使用公鑰加密時,我們需要指定keyid/user_id來標識該密鑰。GPG如何找到相應的私鑰
所以我的問題是: GPG如何識別或找出該加密公鑰的相應私鑰? 是否在加密文件中顯示該信息?
加密文件包含可用於解密的所有密鑰的列表。如果你有任何私鑰,你可以解密它。
一個公鑰可能有多個私鑰來解密它?並從您的上下文中,私鑰實際上被放在加密文件中,對吧?當解密時,GPG將搜索您的私鑰匙,以查找您的私鑰是否與文件中的私鑰相匹配? – Keith
一個加密文件可能被多個私鑰解密。私鑰沒有放在加密文件中,公鑰是。如果你有相應的私鑰,那麼你可以解密該文件。 –
公鑰* id *(8字節)與公鑰加密的會話密鑰一起放入文件中。 –
通過使用密鑰ID,密鑰通常是密鑰安全散列(部分)。請注意,例如, RSA模數已經標識了公鑰和私鑰,所以通常在模數上的散列足以用於識別。沒有直接需要存儲的ID。
[是的](http://tools.ietf.org/html/rfc4880#section-12.2) –
你是對的,GnuPG使用公鑰部分的散列(部分)來識別密鑰。此外,KeyID存儲在加密數據包內。 –
請對答案和評論做出迴應Keith。 –