我正在寻找AES-NI,它现在是支持许多新的CPU和我读了一些论文,其中指出,AES-CBC工作更快的AES-NI,但我无法理解确切的AES-NI如何工作。
据我所知,AES-CBC加密是连续的,那么AES-NI如何使它变得如此快呢?
(也是在使用AES-NI之后,AES-CBC是否按顺序执行?)
发布于 2014-10-08 20:24:24
AES-NI只是处理器执行AES计算的一种快速方式.通常情况下,计算机必须将AES密钥计划的每一步和每一轮计算为一条指令:用S框代替它,移动行,混合列,异或圆键。这被称为软件实现。每条指令都必须用程序中的软件来完成。
使用AES指令集,程序可以在一条指令中完成一整轮。有几个不同的指令可以这样做:新指令,维基百科。指令将在硬件级,在处理器的晶体管中执行。如果没有处理器通常执行程序所做的所有其他事情,加密和解密就会更加高效。这被称为硬件实现。据我所知,每个分组密码在硬件上比在软件上更有效。更多的,更少的。“更有效率”意味着更快,更少的能源消耗,或者两者兼而有之。
是的,AES-CBC加密仍需按顺序进行。AES-NI只能对一种加密或解密有所帮助,但它仍然大大提高了速度,因为加密或解密是CBC模式中最慢的部分。(为了完整起见:您可以对每种加密模式使用AES-NI,而不仅仅是CBC。)
发布于 2014-10-08 20:24:36
它是通常需要用软件编写的东西的硬件实现。想象一下,如果没有硬件乘法电路,每个人都必须编写乘法的软件实现。然后,一个新的处理器出来了,它有一个专门的电路来执行乘法。显然,一个数字相乘的电路比软件中的迭代加法要快,对吗?
https://crypto.stackexchange.com/questions/19544
复制相似问题