繁体   English   中英

RSA 中的私钥和公钥概念

[英]Private and Public Key Concept in RSA

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

加密方

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

解密方

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

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

查询

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

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

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

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

提前致谢。

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM