Cra*_*ger 1 encryption rsa aes
如果每次在各方之间进行交易时都会生成一个新的随机 AES 密钥。IV是否从密钥派生有关系吗?
例如:Bob 向 Alice 发送一条 AES-CBC 加密消息。Bob 为此创建了一个随机的 256 位密钥。现在假设 Bob 使用 sha256(key) 的前 128 位来获得用于加密的 IV。
Bob 使用 Alice 的公钥通过 RSA 加密来保护密钥。现在 Alice 使用她的 RSA 私钥解密密钥。然后 Alice 使用 sha256(key) 的前 128 位获得 IV 用于解密。
Alice 和 Bob 继续使用相同的程序交谈,但每次发送消息时都会生成一个新的随机密钥。
现在假设 Eve 可以读取 Bob 和 Alice 的 AES 和 RSA 密文。Eve 也知道 Bob 和 Alice 正在从密钥和使用的方法中推导出 IV。那仍然无助于 Eve 破解消息?
如果每条消息的密钥都不同,那么您就不需要 IV(换句话说,您的 IV 可能由全零组成)。你真正应该不能做的是使用相同的密钥加密IV,或从派生密钥的IV。
IV 用于允许密钥重用。如果您不重用密钥(即使及时),那么 IV 就没用了。因为 IV 是用于密钥重用的,所以仅从密钥中派生它显然不是要做的事情,如果您要重用它,很容易破坏密钥。