当使用AES-CBC算法进行加密时,加密可以被认为是将密文与之前的密文和IV链接在一起。但是,如果它处于CBC模式,我们将给出密文的前向扩散属性(即,如果我们在密码中更改了i,则明文在之后的所有块中都会更改)。为了使延展性攻击更加困难,可以在加密期间在两个方向上链接密文(或者实现类似于bitLocker论文中的内容)。
有没有人知道是否有一个pyCrypto的实现,可以使用两个方向提供密文的链接?
我想解决这个问题的一种方法是获取原始密文,使用python将其反转,然后将其提供给pyCrypto。然而,这看起来有点蛮力,因为pyCrypto的全部目的是利用他们的C级别实现(而颠倒一个字符串将带来明显的不幸的性能影响)。
发布于 2015-10-02 18:34:48
不,据我所知,有no modes in pyCrypto可以做到这一点。明文在密文中出现错误后的这种强扩散称为错误传播。如今,错误传播已不再那么重要;如果您想提供明文的完整性,那么您可以在密文上添加一个HMAC,或者使用经过身份验证的密码(这基本上是在机密性之上提供完整性)。不幸的是,我在pyCrypto中没有看到任何经过身份验证的密码模式。
https://stackoverflow.com/questions/20418696
复制相似问题