【发布时间】:2020-04-11 08:03:11
【问题描述】:
我实际上正在构建一个文件加密解决方案,该解决方案应具有以下显着特点:
加密端
- 首先,我必须使用 SHA-256 对文件进行哈希处理,并将该哈希存储在单独的文件中。
- 之后,我必须使用发件人的私钥对该文件进行加密。
- 将为 AES 算法生成对称密钥。
- 然后我必须使用该对称密钥加密实际文件。
- 最后,该对称密钥将使用接收方的公钥进行加密。
解密端
- 用发件人的公钥解密散列文件。
- 用接收者的私钥解密加密的非对称密钥。
- 使用对称密钥解密该实际文件。
- 再次散列实际文件
- 将生成的哈希与发件人提供的哈希进行比较以验证内容。
现在,这就是我需要实现的全部内容,但是,实际上我几乎没有关于键的查询;在浏览了许多网站后没有澄清。
查询
- 发件人的私钥究竟是什么意思?我知道,我必须用 RSA 算法来实现它;与密钥对一起使用。如果我(发送者)将使用密钥对中生成的公钥加密文件,那么接收者的私钥将如何生成?这是在密钥对下生成的相同密钥吗?
如果是,那么我们是否必须提供该密钥来接收? 如果没有,那么接收方将如何解密数据?因为消息是在我自己生成的密钥对下加密的......
- 我们如何与接收者共享相关的密钥和哈希?由于电子邮件和其他平台是公开的,不得用于共享机密数据。
请一个简单的解释对我很有帮助,我对上述这些术语感到困惑。
提前致谢。
【问题讨论】:
标签: encryption