我绝不是密码学专家,我一直在 Stack Overflow 和维基百科上阅读一些问题,但在定义 IV 及其用法方面没有什么是真正“明确的”。
我发现的几点:
- IV 被添加到明文消息中以加强加密
- IV 是真正随机的
- 每条消息都有自己独特的 IV
- 有时使用时间戳和加密哈希来代替随机值,但这些被认为是不安全的,因为时间戳是可以预测的
- WEP(在 802.11 中)的弱点之一是 IV 将在特定数量的加密后重置,从而重复 IV
我确信有many还有其他要点,有人能想到我错过的任何其他特征吗?
IV 是“影响加密过程的公共值”。 IV 的要点通常是“随机化”输入数据,以避免泄漏有关哪些输入块在明文中相同的信息(因为相同的块在“现实生活”数据中经常出现)。
IV 是否通过预先添加或以其他方式输入取决于使用它的算法。对于 CBC 模式下使用分组密码的对称加密,IV 被添加到加密的数据(对于每个块,CBC 使用前一个加密块;IV 扮演加密块-1 的角色)。
IV 与密钥的不同之处在于密钥是秘密的,而 IV 不需要是秘密的; IV 通常与加密消息一起传输。相反,每条消息的 IV 必须是不同的,而密钥可以重复使用。实际上,每条加密消息的 IV 必须是不同的用同一把钥匙;如果你为每条消息使用一个新密钥,那么你可以使用一个恒定的、固定的 IV。请注意,IV不需要保密,但如果您愿意,可以保密。但发送者和接收者必须就 IV 达成一致,并且由于 IV 每条消息都会发生变化,因此在某些设置中,保持 IV 的秘密可能会很不方便。
IV 是否必须是均匀随机的,或者只是不重复,取决于算法。 CBC 需要随机 IV。其他模式不太挑剔,例如GCM。您可以导出密钥and使用适当的单向功能从“主密钥”获取 IV。这就是 SSL 的作用。这看起来更棘手,不要在家尝试。
重复 IV 是 WEP 的众多罪过之一。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)