我正在使用网站https://www.igolder.com/PGP/encryption/来加密/解密 PGP 消息并创建公钥/私钥对。
我知道当我向某人发送我的加密消息时,只有他可以解密它,因为我使用他的公钥进行加密。(正直)
但是当他收到加密的消息时,他只需要他的私钥来解密它。这如何赋予真实性 - 他如何知道谁发送了消息?
PGP是否只对提供完整性而不是真实性有好处?
我正在使用网站https://www.igolder.com/PGP/encryption/来加密/解密 PGP 消息并创建公钥/私钥对。
我知道当我向某人发送我的加密消息时,只有他可以解密它,因为我使用他的公钥进行加密。(正直)
但是当他收到加密的消息时,他只需要他的私钥来解密它。这如何赋予真实性 - 他如何知道谁发送了消息?
PGP是否只对提供完整性而不是真实性有好处?
大多数 PGP 实现不仅允许使用接收者密钥加密消息,还允许使用发送者密钥对其进行签名(这个不允许)。
PGP 签名是使用发送者的私钥加密的消息的加密哈希。当接收者用发送者的公钥解密散列并计算消息的散列时,这两者应该匹配。
一般机制是:
你用他的公钥加密消息;他用他的私钥解密 -> 隐私和完整性
你用你的私钥加密消息;他用你的公钥解密它->真实性和完整性
你用你的私钥和他的公钥加密消息;他用你的公钥和他的私钥解密它 -> 隐私、真实性和完整性
使用 PGP 消息身份验证是通过加密消息摘要(散列)而不是完整消息并随消息发送生成的签名来实现的。