Encryption GPG如何找到相应的私钥

Encryption GPG如何找到相应的私钥,encryption,gnupg,Encryption,Gnupg,以下是我对GPG的了解 1.当GPG使用公钥加密时,我们需要指定一个keyid/user_id来标识该密钥 但在解密时,似乎不需要指定keyid/user\u id 所以我的问题是: GPG如何识别或查找该加密公钥的相应私钥? 加密文件中是否显示了该信息?加密文件包含可用于解密的所有密钥的列表。如果您有这些私钥中的任何一个,您可以对其进行解密。加密文件包含可用于解密的所有密钥的列表。如果您有这些私钥中的任何一个,您可以使用密钥ID对其进行解密。密钥ID通常是密钥(部分)上的加密安全散列。请注意,

以下是我对GPG的了解 1.当GPG使用公钥加密时,我们需要指定一个keyid/user_id来标识该密钥

  • 但在解密时,似乎不需要指定keyid/user\u id
  • 所以我的问题是: GPG如何识别或查找该加密公钥的相应私钥?
    加密文件中是否显示了该信息?

    加密文件包含可用于解密的所有密钥的列表。如果您有这些私钥中的任何一个,您可以对其进行解密。

    加密文件包含可用于解密的所有密钥的列表。如果您有这些私钥中的任何一个,您可以使用密钥ID对其进行解密。

    密钥ID通常是密钥(部分)上的加密安全散列。请注意,例如,对于RSA,模已经识别公钥和私钥,因此通常模上的散列就足以识别。无需直接存储ID。

    使用密钥ID,通常是密钥(部分)上的加密安全散列。请注意,例如,对于RSA,模已经识别公钥和私钥,因此通常模上的散列就足以识别。不直接需要存储ID。

    一个公钥可以有多个私钥对其进行解密?从你的上下文来看,私钥实际上是放在加密文件中的,对吗?解密时,GPG将搜索您的私钥环,以查找您的私钥是否与文件中的私钥匹配?一个加密文件可以由多个私钥解密。私钥不放在加密文件中,公钥是。如果您有相应的私钥,则可以解密该文件。公钥id(8字节)与公钥加密的会话密钥一起放入该文件。@DavidSchwartz,您可以演示/指导我如何使用多个私钥生成公钥吗?我对此感兴趣。@Keith您不能,这不是它的工作方式。对于可以解密文件的每个私钥,相应公钥的ID和加密会话密钥(使用该公钥加密)都会写入该文件。一个公钥可以有多个私钥对其进行解密?从你的上下文来看,私钥实际上是放在加密文件中的,对吗?解密时,GPG将搜索您的私钥环,以查找您的私钥是否与文件中的私钥匹配?一个加密文件可以由多个私钥解密。私钥不放在加密文件中,公钥是。如果您有相应的私钥,则可以解密该文件。公钥id(8字节)与公钥加密的会话密钥一起放入该文件。@DavidSchwartz,您可以演示/指导我如何使用多个私钥生成公钥吗?我对此感兴趣。@Keith您不能,这不是它的工作方式。对于可以解密文件的每个私钥,相应公钥的ID和加密会话密钥(使用该公钥加密)都会写入文件。没错,GnuPG使用公钥部分上的(部分)散列来标识密钥。此外,KeyID存储在加密的数据包中。您是对的,GnuPG使用公钥部分上的(部分)散列来标识密钥。此外,密钥ID存储在加密数据包中。请对Keith的答案和评论作出反应。请对Keith的答案和评论作出反应。