PGP 如何授予真实性?

信息安全 加密 pgp
2021-09-10 13:11:07

我正在使用网站https://www.igolder.com/PGP/encryption/来加密/解密 PGP 消息并创建公钥/私钥对。

我知道当我向某人发送我的加密消息时,只有他可以解密它,因为我使用他的公钥进行加密。(正直)

但是当他收到加密的消息时,他只需要他的私钥来解密它。这如何赋予真实性 - 他如何知道谁发送了消息?

PGP是否只对提供完整性而不是真实性有好处?

2个回答

大多数 PGP 实现不仅允许使用接收者密钥加密消息,还允许使用发送者密钥对其进行签名(这个不允许)。

PGP 签名是使用发送者的私钥加密的消息的加密哈希。当接收者用发送者的公钥解密散列并计算消息的散列时,这两者应该匹配。

一般机制是:

  • 你用他的公钥加密消息;他用他的私钥解密 -> 隐私和完整性

  • 你用你的私钥加密消息;他用你的公钥解密它->真实性和完整性

  • 你用你的私钥和他的公钥加密消息;他用你的公钥和他的私钥解密它 -> 隐私、真实性和完整性

使用 PGP 消息身份验证是通过加密消息摘要(散列)而不是完整消息并随消息发送生成的签名来实现的。