SM 算法是一个算法体系,其中与 AES 对等的算法是 SM4。SM4 和 AES 均为分组对称加密算法,但 SM4 采用非平衡 Feistel 网络结构,AES 采用代换-置换网络(SPN)结构,两者的算法设计路线不同。
SM4 的分组长度和密钥长度均固定为 128 位,不支持更长的密钥长度。AES 支持 128、192、256 位三种密钥长度,在密钥长度灵活性上优于 SM4。在 128 位密钥长度下,SM4 和 AES-128 的安全强度相当。
AES 是美国 NIST 于 2001 年发布的国际标准,全球主流浏览器、操作系统、通信协议均原生支持 AES。SM4 是中国国家标准(GB/T 32907-2016),并已推进为 ISO/IEC 18033-3/AMD1:2021 国际标准,但在海外系统的兼容性仍弱于 AES。
AES 自 2010 年前后起已广泛集成于 x86(AES-NI)、ARM(ARMv8 加密扩展)等主流 CPU 指令集,硬件加速后的性能优势显著。SM4 的硬件加速目前主要见于国产处理器和专用密码芯片,在通用 CPU 上的软件实现性能弱于 AES。