衍生IV用于AES

时间:2012-09-17 14:33:38

标签: encryption aes rsa

如果每次在各方之间进行交易时都会生成新的随机AES密钥。 IV是否来自密钥是否重要?

例如: Bob向Alice发送AES-CBC加密消息。为此Bob创建了一个随机的256位密钥。现在说Bob使用sha256(key)的前128位来获得用于加密的IV。

Bob使用Alice的公钥通过RSA加密来保护密钥。现在Alice使用她的RSA私钥解密密钥。然后,Alice使用sha256(密钥)的前128位来获取用于解密的IV。

Alice和Bob继续使用相同的程序进行通话,但每次发送消息时都会生成一个新的随机密钥。

现在说Eve可以阅读Bob和Alice的密文,包括AES和RSA。此外,Eve知道Bob和Alice正在从密钥和使用的方法中获取IV。这仍然无法帮助Eve破解消息?

1 个答案:

答案 0 :(得分:4)

如果每个消息的密钥不同,那么您不需要IV(换句话说,您的IV可能全部为零)。你应该做的是使用相同的密钥加密IV,或从密钥中导出IV。

IV用于允许密钥重用。如果你不重复使用密钥(即使是在时间上)那么IV就没用了。因为IV是用于密钥重用的,所以从密钥中获取它显然不是要做的事情,如果你重用它,你可能很容易破坏密钥。