Encryption 如何结合对称和非对称加密?

Encryption 如何结合对称和非对称加密?,encryption,cryptography,openssl,public-key-encryption,Encryption,Cryptography,Openssl,Public Key Encryption,在谈到非对称加密时,通常会说,由于某些原因,您不应该对整个消息进行非对称加密,例如性能方面的考虑 通常建议的工作流程是: 为对称加密创建随机密钥 使用此随机密钥加密消息 使用非对称加密对随机密钥进行加密 将加密邮件和加密密钥发送给收件人 到目前为止,一切顺利 只有两个问题: 如何组合发送加密消息和加密密钥?有标准吗?还是我完全可以自由地去做这件事?(如果有标准的话,我更喜欢标准的) 关于如何创建随机密钥,是否有最佳实践?更具体地说:OpenSSL中是否有一个特定的函数应该用于此目的 这在评论

在谈到非对称加密时,通常会说,由于某些原因,您不应该对整个消息进行非对称加密,例如性能方面的考虑

通常建议的工作流程是:

  • 为对称加密创建随机密钥
  • 使用此随机密钥加密消息
  • 使用非对称加密对随机密钥进行加密
  • 将加密邮件和加密密钥发送给收件人
到目前为止,一切顺利

只有两个问题:

  • 如何组合发送加密消息和加密密钥?有标准吗?还是我完全可以自由地去做这件事?(如果有标准的话,我更喜欢标准的)
  • 关于如何创建随机密钥,是否有最佳实践?更具体地说:OpenSSL中是否有一个特定的函数应该用于此目的
  • 这在评论中得到了回答。我最好推荐您检查OpenPGP——它更容易理解,CMS有一个巨大的ASN.1结构重载
  • 随机键应该是完全随机的字节字符串,由好的随机源生成

  • 这个问题不是更适合超级用户吗?有两个既定的标准,和。谢谢:-)!这很有帮助,因为我不知道该找什么术语,但现在我有了一个很好的起点。谢谢如果只对symm密钥而不是整个消息使用asymm,那么与对整个消息使用asymm相比,该消息会更容易受到暴力和其他威胁吗?我不知道,但我想要一个答案。@themirror不太清楚,假设选择的对称加密算法是正确的。这是标准方法。此外,使用非对称加密对可以加密的数据长度施加了限制。您基本上可以加密与密钥长度大致相同的数据(稍微简化)。因此,对于大多数实际应用,单纯使用不对称是不行的。