概述
AES是世界上最安全、使用广泛的加密算法,很多安全合规要求里面都明确要求使用AES算法,只是相对于3des、rc4等加密算法,速度慢了很多,幸好有了AES-NI,这是针对AES加密算法的硬件加解密CPU指令集。
AES-NI的全称是:Advanced Encryption Standard New Instructions。指令集说明
更多详细的信息可以参考Intel发布的企业安全AES-NI白皮书,本文重点在目前阿里公有云上的主流机型上进行性能测试对比,用于RDS的SSL(链路加密)和TDE(透明加密)特性中。
支持AES-NI指令集的Intel CPU列表,基本上2010年之后的Intel CPU都支持,另外AMD和ARM的一些型号也支持。
支持AES-NI的安全和加密软件库
绝大多数现代编译器都支持AES-NI指令。常见的支持AES-NI的安全加密软件库:
- Cryptography API: Next Generation (CNG) (requires Windows)[27]
- Linux's Crypto