2009-11-24 108 views

回答

7

最终它取决于你强烈的意思。例如,从加密的角度来看,即采取攻击者在不访问密钥的情况下解密密文的能力,它应该与其他任何AES256一样强大(对个别密码块之间的差异分析有一些讨论,一个已知的纯文本,但这不是CTR模式本身的加密算法的弱点)。

最终CTR模式是否合适取决于您想要应用它以及如何实现它。一对夫妇的事情,使用此模式时,会牢记:

  • 同样的随机数/计数器序列将创建相同的密码流,因此你必须确保你永远不要使用相同的值对于给定的关键。否则,攻击者可能有可能使用已知纯文本的消息重复使用密码流来解密当前消息)。
  • 由于流密码与纯文本异或,它意味着密文中的1位变化直接导致解密数据中该位发生变化,因此某种消息完整性至关重要,最有可能是HMAC,因此攻击者无法真实地生成哈希值并进行修正。
+0

明文和密文中翻转的位之间的关系也具有隐私影响。例如,如果攻击者可以在某个时间点获得明文数据块及其密文的副本,只要使用相同的密钥,即使该密钥已被修改,他也可以读取它。 –

+0

尼克:这就是为什么你绝对不能在CTR模式(这是tyranid的第一个要点)中使用相同的键值重复使用相同的计数器值。如果你修改一个块,你**必须**使用新的计数器值。 – caf

+0

对不起,你是对的 - 我没有仔细阅读。我正在考虑使用这种方式加密可变文件的情况,例如,通过在文件中的位置之后简单地编号每个块。 –