如何确保公钥发送者/所有者也具有其私钥?

时间:2018-12-06 02:20:42

标签: rsa private-key public-key elgamal

当我们想通过公共密钥对邮件进行加密时,如何确保公共密钥所有者也拥有​​其私有密钥?

规则是:

  1. 我们不希望获得有关引起安全问题的私钥的任何信息。

2。验证必须在单个请求中完成,而不是在承诺中完成。

3。请勿使用任何需要在密钥接收器上存储一些数据的方式。

我能看到的唯一方法是发送一条用公钥加密的随机消息,并要求密钥所有者解密后的消息进行比较,并确保公钥发送者也拥有其私钥;但是这种方式需要一个承诺和两个步骤来验证和存储一些数据:

  1. 接收公共密钥并发送加密的随机字符串并等待

  2. 接收解密后的数据并将其与原始字符串进行比较

现在您知道什么方法可以执行此验证,而无需存储任何数据 并且仅通过单个请求就可以通过公钥或其他方式发送一些额外的数据吗? 还是有其他内置此功能的公钥加密算法?

1 个答案:

答案 0 :(得分:1)

以S / MIME为例,加密发送给收件人的邮件的先决条件是拥有其公共证书。

现在,当然,收件人可以先将其证书作为附件发送给您,但是,收件人通常首先向您发送签名的电子邮件,这很普遍。

此签名的电子邮件将证明收件人有权访问其私钥,因为他们将对电子邮件的内容进行哈希处理,然后使用其私钥对哈希进行签名。

然后,您将使用其公钥验证哈希(证书将随电子邮件一起发送),并将该哈希与电子邮件的MIME内容的哈希进行比较。