反馈

国密算法是什么:SM2/SM3/SM4 分别对应什么国际算法

在信创、等保、密评相关的项目里,经常会看到 SM2、SM3、SM4 这几个名字。它们是中国国家密码管理局制定的商用密码算法标准,各自对应国际主流密码算法体系里的一个角色。


目录

  1. SM2/SM3/SM4 分别对应什么角色
  2. 为什么需要国产密码算法
  3. 三种算法的技术要点

1. SM2/SM3/SM4 分别对应什么角色

国密算法标准(GM/T 系列)里,SM2/SM3/SM4 分别扮演了国际密码学体系里三个不同的经典角色:

国密算法 类型 国际对应角色
SM2 非对称加密/签名 类似 ECC(椭圆曲线密码)/RSA,做加解密和数字签名
SM3 密码学哈希函数 类似 SHA-256,做数据完整性校验和签名摘要
SM4 对称加密算法 类似 AES,做批量数据的加解密

这三种算法组合起来,能覆盖一个完整密码体系所需的全部基本功能:非对称加密负责密钥交换和签名认证,哈希函数负责数据完整性和摘要,对称加密负责实际数据的加解密——和 RSA/ECC + SHA + AES 这套国际主流组合的分工完全对应。

2. 为什么需要国产密码算法

国密算法的出现主要基于密码自主可控的考虑:不依赖国外设计和主导的密码算法(如 RSA、AES 均由国外机构或个人提出),确保关键信息系统的加密能力不受外部技术或标准变化的影响。基于这个考虑,国家相关部门要求金融、政务、能源等关键信息基础设施领域的信息系统,在特定合规场景下(俗称"信创"信息技术应用创新、"等保"网络安全等级保护、"密评"商用密码应用安全性评估)采用国产密码算法,这也是为什么做国内金融 IC 卡、电子政务系统、部分国产操作系统和数据库项目时,经常会遇到"要求支持国密算法"的合规要求。

3. 三种算法的技术要点

  • SM2:基于 256 位椭圆曲线的非对称密码算法,支持加解密和数字签名。椭圆曲线密码学(ECC)相对 RSA 的通用优势是:同等安全强度下所需的密钥长度更短(SM2 的 256 位大致相当于 RSA 3072 位的安全强度),意味着更短的密钥、更快的运算速度和更小的存储占用
  • SM3:密码学哈希函数,输出固定 256 位(32 字节)的摘要值,在设计目标和安全强度上大致对标 SHA-256,可用于数据完整性校验、数字签名摘要,也可以配合密钥做 HMAC-SM3 消息认证
  • SM4:对称分组加密算法,128 位分组长度、128 位密钥长度,结构上和 AES 类似(都是分组密码,支持 ECB/CBC 等常见工作模式),但内部的 S 盒和轮函数设计是独立的国产设计,不能和 AES 互相解密

在线工具:国密 SM2/SM3/SM4 加解密