“美国政府批准和支持”的硬件加速技术
新增了六条针对加密和解密运算的指令——AES(Advanced Encryption Standard)
上代Nehalem架构在上上代Penryn芯片SSE 4.1指令集的基础上新增了七条SSE 4.2指令,主要对字符和文本处理能力做出强化,而新的32纳米Westmere芯片在这方面也有动作,新增了六条针对加密和解密运算的指令——AES(Advanced Encryption Standard),其运算标准是根据美国联邦信息处理标准(FIPS)第197号文件制定的,是分组密码(Block Cipher)运算最为主流的规范,这意味着Intel AES-NI指令的应用范围会很广。
这六条AES指令中包括了四条的加密解密指令(AESENC、AESENCLAST、AESDEC、AESDECLAST)和两条的密钥生成(AESIMC 、 AESKEYGENASSIST)指令,Intel宣称硬件支持AES加速可以比软件快四倍以上。Intel AES-NI指令不但支持三种符合AES官方规范的密钥长度(ASE128 、 ASE192 、 ASE256)和所有符合AES官方规范的运算模式,甚至还可以支持若干种并不在AES官方规范中的算法。除此之外,数据的安全性也可因AES-NI指令而获益。
另外,32纳米Westmere芯片还支持一组名为Carryless Multiply(PCLMULQDQ)的指令,它可以让处理器在一个周期内处理两组64-Bit的Carry-less Multiplication,这是很多加密标准所必须要处理到的部分,采用伽罗瓦 计数器模式(GCM)。这一模式在2006年4月份得到了美国政府的批准和支持,和AES规范混合使用,是美国国家安全机构(NSA)发布的Suite B加密算法集的子集,也是美国电气和电子工程师协会IEEE 802.1AE的标准。
我们可以通过两个测试来看到硬件AES加速的效果。一个是比较理论的Sandra,你可以看到在ASE256这项测试上,支持AES-NI指令的Core i5-6xx处理器可以比不支持该指令的Core i3-5xx处理器快上十几倍;另一个则是比较模拟实际的PCMark Vantage了,硬件AES加速还是可以帮助同样主频的Core i5-6xx处理器比Core i3-5xx处理器快60%以上。商业用户往往用不上四核心甚至是八线程的处理器,而像Core i5-6xx处理器这样的产品,AES-NI加速的确给了他们一个从Core 2 Duo/Quad升级的理由。