2012-11-18 42 views
1

我使用的是CBC模式。 我想发送在ECB模式下加密的IV(因为它只是一个块),而不是发送“普通”IV。 我会获得一些安全吗?发送IV加密与否?

+1

这里不讨论这个话题,因为它不包括编程。下次尝试[加密](http://crypto.stackexchange.com/questions/2280/why-is-the-iv-passed-in-the-clear-when-it-can-be-easily-encrypted)。 .. –

+0

相关:[为什么IV可以很容易地加密传递清晰?](http://crypto.stackexchange.com/questions/2280/why-is-the-iv-passed-in-the [crypto.SE](http://crypto.stackexchange.com/) – CodesInChaos

+0

嘿@CodesInChaos我其实在我之前的评论中指出了那个,但是我承认我可以做得更清楚。很高兴我们同意:) –

回答

5

您不需要在CBC模式下对IV进行加密。没有安全优势。请参阅我之前对“为什么”的“证明”的回答。 Sending IV along with cipher text, safe?

简短的回答是,当您查看CBC模式时,以前的密文块有效地成为下一个块的IV。我们传输明文中的密文块(如果有意义的话),所以如果第一个块有风险,每个块都会有风险。

+0

但是如果攻击者知道IV,他可能会尝试更改第一个块,更改iv的各个位。这不是问题吗? – danieltorres

+0

是的,但加密IV不是你如何解决它。加密不提供任何防篡改保护。相反,您需要使用消息认证码(http://en.wikipedia.org/wiki/Message_authentication_code)。这将计算数据的单向散列(使用密钥),您可以使用它来验证它是否被篡改。简单的规则是,你不需要加密你的IV,但绝对必须MAC数据,无论你使用什么模式。 – mfanto

+0

非常感谢! – danieltorres