再次让 AES 变得更棒:即将推出的矢量化 AES 指令

作者 Nir Drucker,Shay Gueron,Vlad Krasnov
时间 2018-05-01

为加速加密而设计的处理器指令 AES-NI 和 VPCLMULQDQ 的推出,以及通过处理器世代持续改进的性能,大大降低了加密开销的成本。越来越多的应用程序和平台对其所有数据和流量进行加密。比如,我们注意到世界范围内使用 AES-GCM 的情况越来越多,在最新的英特尔处理器上,性能下降到每字节 0.64 个周期。这与现有硬件支持在理论上可实现的性能接近。预计未来的应用程序和对高性能加密的需求日益增加,英特尔最近宣布其代号「Ice Lake」的未来架构,将推出新的加密指令。这些将能够在 AVX 512 体系结构上的宽寄存器中矢量化 AES-NI 和 VPCLMULQDQ 指令。在本文中,我们解释了如何有效地使用这些新指令,以及如何正确使用它们可导致预期的理论加密吞吐量为每字节约 0.16 个周期。所包含的示例演示了各种操作模式下的 AES 加密,AEAD 以及新出现的 nonce misuse resistant 变体 AES-GCM-SIV。

App

链闻 App

扫码下载

公众号 小程序