【问题标题】:AES encryption versus decryption speedAES 加密与解密速度
【发布时间】:2012-01-21 14:39:43
【问题描述】:

我在某处读到过,解密可以比加密更快地执行。它是否正确?这将是使用可能是 openssl 的纯软件实现。

【问题讨论】:

  • 如果有人可以刷新我的想法:我确实听说由于某种内存或寄存器问题,某些对称算法在解密时确实具有稍微更好的性能。由于这种解密可以用来代替流密码的加密(如 Jim 提供的示例)。不过,我认为这与 OpenSSL 中的 AES 无关。对于crypto,这可能更像是一个问题。

标签: encryption openssl aes


【解决方案1】:

AES 是一种对称加密,无论是加密还是解密都是一样的速度。事实上,在某些流模式下,AES 只是生成一个比特流,这些比特流与要加密的数据进行异或运算,而接收方运行完全相同的 AES 以产生完全相同的比特流来异或解密。

【讨论】:

  • ghostkadost,这是一个完全有效的答案,不管我的小标签是什么,我都建议你接受它......
  • 我认为在 CBC 等某些模式下解密时使用的 AES 逆密码计算量更大。据我了解,这是因为逆混合列步骤使用更多乘法,在加密某些 minx 列时,乘法为 n*1。
  • 如果乘法是使用预先计算的表完成的,则可以进行更多表查找。
【解决方案2】:

分组密码操作模式可能对加密/解密过程的性能产生直接影响。粗略地讲;在 AES 加密数据块时在每一轮执行的操作是在相反的方向(解密)执行的,因此没有合理的理由证明加密/解密本身的性能变化;一些分组密码操作模式(例如 CBC)在加密输入块时需要顺序操作,而在解密时不需要顺序操作。 请检查此链接以进一步讨论此问题: https://security.stackexchange.com/questions/38055/why-does-aes-encryption-take-more-time-than-decryption

【讨论】:

    猜你喜欢
    • 2013-12-08
    • 2012-05-11
    • 2012-02-24
    • 2016-09-22
    • 2012-04-09
    • 2014-09-12
    • 2013-01-07
    • 2015-01-20
    • 2014-01-05
    相关资源
    最近更新 更多