更改 PGP 密码时,是否只影响私钥?

信息安全 密码学 pgp
2021-08-17 19:48:25

我开始使用 GPG 进行电子邮件加密。如果我使用 gpg --edit-key [keyID]更改密码,这会影响哪些文件?它只会影响我的私钥,因此我只需要重新备份这个密钥吗?它会单独留下我的公钥和吊销证书,还是需要重新生成它们,然后分别分发和存储?

3个回答

您的 PGP 私钥是静态加密的。更改密码会重新加密您的私钥,但不会影响实际的私钥本身。您的密码用于加密您的私钥。PGP 的工作原理

PGP 使用密码来加密您机器上的私钥。您的私钥在您的磁盘上使用密码的哈希值作为密钥进行加密。您使用密码来解密并使用您的私钥。

当您更改密码时,围绕您的私钥的保护已被更改,但密钥本身并未更改。因此,匹配的公钥仍然有效,因为其对应的私钥没有改变。

您可以备份新加密的私钥,因为密钥周围的加密保护已更改,但密钥本身未更改。

你不能在不改变你的公钥的情况下改变你的私钥。两者密不可分。用公钥加密的东西只能用私钥解密,反之亦然。

当您使用密码时,实际发生的情况是,您的私钥不是存储您的私钥的副本,而是使用从密码派生的密钥进行加密,并存储加密的结果。

要更改密码,请输入旧密码,该密码用于解密实际私钥,然后从新密码派生的密钥用于加密私钥。然后丢弃旧版本的加密私钥。因此,私钥始终保持不变,只是保护它的密码发生了变化。

在引擎盖下,所有应该改变的是密码。私钥将保持不变(并且仍然与您的公钥匹配),但您的密钥的密码短语加密形式将发生变化。