1

当我们想用公钥加密消息时,如何确保公钥所有者也有自己的私钥?

规则是:

  1. 我们不希望有任何有关导致安全问题的私钥的信息。

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

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

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

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

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

现在您知道无需存储任何数据即可进行此验证的任何方法,并且只需通过单个请求即可通过公钥或其他方式发送一些额外的数据来进行验证?或者是否有任何其他内置此功能的公钥加密算法?

4

1 回答 1

1

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

现在,当然,收件人可以先将他们的证书作为附件发送给您,但是,更常见的是收件人首先向您发送签名的电子邮件。

这封签名的电子邮件将证明收件人可以访问他们的私钥,因为他们会对电子邮件的内容进行哈希处理,然后用他们的私钥对哈希进行签名。

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

于 2018-12-06T02:27:40.380 回答