0

据我目前所知,非对称加密对于长数据来说成本太高。此外,从技术角度来看,甚至不可能加密任意大部分数据(数据的大小受所使用的密钥大小的限制)。

据我所知,通常的解决方法是创建一个(随机)密钥,使用该密钥对称加密数据,然后仅使用非对称算法加密此密钥。

现在我有两个问题:

  1. 到目前为止我描述的方法是否正确?
  2. 我如何处理加密的密钥?当然,我将加密数据存储或发送到某个地方,但是密钥呢?如果我理解正确的话,我也需要存储这个密钥,对吧?
4

1 回答 1

1

你基本上是对的。创建一个随机密钥。用另一端的人 Bob 的公钥加密密钥本身。向 Bob 发送加密密钥,他们将能够使用他们的私钥对其进行解密。这是非对称加密部分。

您还可以使用您的密钥来加密大量数据(但不要太大)。现在您向 Bob 发送加密数据。Bob 拥有加密数据和(解密的)密钥,因此可以使用对称解密从您发送的密文中提取数据。

一旦您发送了数据和密钥,您可能应该安全地销毁密钥并且不要再次使用它,除非您有充分的理由保留它。下次需要发送内容时生成一个新密钥。即使您再次向 Bob 发送内容,也要使用新密钥。即使您再次向 Bob 重新发送相同的数据,也要使用新密钥。在单个密钥上发送过多数据可能会导致对您的数据的攻击。

于 2013-06-09T20:30:55.680 回答