【问题标题】:Private and Public Key Concept in RSARSA 中的私钥和公钥概念
【发布时间】:2020-04-11 08:03:11
【问题描述】:

我实际上正在构建一个文件加密解决方案,该解决方案应具有以下显着特点:

加密端

  1. 首先,我必须使用 SHA-256 对文件进行哈希处理,并将该哈希存储在单独的文件中。
  2. 之后,我必须使用发件人的私钥对该文件进行加密。
  3. 将为 AES 算法生成对称密钥。
  4. 然后我必须使用该对称密钥加密实际文件。
  5. 最后,该对称密钥将使用接收方的公钥进行加密。

解密端

  1. 用发件人的公钥解密散列文件。
  2. 用接收者的私钥解密加密的非对称密钥。
  3. 使用对称密钥解密该实际文件。
  4. 再次散列实际文件
  5. 将生成的哈希与发件人提供的哈希进行比较以验证内容。

现在,这就是我需要实现的全部内容,但是,实际上我几乎没有关于键的查询;在浏览了许多网站后没有澄清。

查询

  1. 发件人的私钥究竟是什么意思?我知道,我必须用 RSA 算法来实现它;与密钥对一起使用。如果我(发送者)将使用密钥对中生成的公钥加密文件,那么接收者的私钥将如何生成?这是在密钥对下生成的相同密钥吗?

如果是,那么我们是否必须提供该密钥来接收? 如果没有,那么接收方将如何解密数据?因为消息是在我自己生成的密钥对下加密的......

  1. 我们如何与接收者共享相关的密钥和哈希?由于电子邮件和其他平台是公开的,不得用于共享机密数据。

请一个简单的解释对我很有帮助,我对上述这些术语感到困惑。

提前致谢。

【问题讨论】:

    标签: encryption


    【解决方案1】:

    发件人的私钥究竟是什么意思?我知道,我必须用 RSA 算法来实现它;与密钥对一起使用。如果我(发送者)将使用密钥对中生成的公钥加密文件,那么接收者的私钥将如何生成?这与密钥对下生成的密钥相同吗?

    在非常古老的文档或非常困惑的人中,这是他们谈论签名生成的方式。通常哈希不会存储在文件中,除非使用 Merkle 树而不是直接哈希。

    如果是,那么我们是否必须提供该密钥来接收?如果没有,那么接收方将如何解密数据?因为消息是在我自己生成的密钥对下加密的......

    应该以任何可以信任公钥的方式(来自发送者)将公钥分发给另一方。然后可以使用发件人的公钥来验证在原始文件上创建的签名。

    我们如何与接收者共享相关的密钥和哈希?由于电子邮件和其他平台是公开的,不得用于共享机密数据。

    这取决于你。通常,受信任的第三方与 X.509 证书一起使用。整个事情统称为公钥基础设施,或者更广泛地说,称为密钥管理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-28
      • 1970-01-01
      • 1970-01-01
      • 2013-07-15
      • 2020-04-07
      • 1970-01-01
      相关资源
      最近更新 更多