SM2、SM3、SM4 各管什么:密评里的国密算法分工
密评的测评指标里,「密码算法」是最容易被问到、也最容易答偏的一项。GB/T 39786-2021 把密码应用拆成物理和环境、网络和通信、设备和计算、应用和数据四个技术层面,但无论落在哪一层,配置上都要回答同一个问题:这段数据是用什么算法保护的。国密算法不是「一个算法」,而是一组按用途分工的算法族——SM2 管公钥运算,SM3 管杂凑,SM4 管对称加密。把三者的边界分清,密评现场大部分算法类问题就不再含糊。
一、先分清三种用途,再谈选哪个算法
密码算法按用途分三类,能力不同,不能互相替代:
- 对称加密:加解密用同一把密钥,速度快、适合大批量数据,SM4 属这一类;
- 公钥运算:公钥加密私钥解密,或私钥签名公钥验签,解决密钥分发与身份绑定,SM2 属这一类;
- 杂凑:把任意长度数据单向压缩成固定长度摘要,用于完整性校验与签名中的摘要计算,SM3 属这一类。
判断密码用没用对,第一步不是看买了什么设备,而是看这三条线上有没有合规算法真正生效。
二、SM2:签名、密钥交换、公钥加密三合一
SM2 是椭圆曲线公钥密码算法,国家标准为 GB/T 32918.1~5(2016/2017 分批发布),曲线与密钥长度 256 位。它一次覆盖三件事:
- 数字签名:私钥签名、公钥验签,对应身份鉴别与不可否认性;
- 密钥交换:双方协商出会话密钥,用来建立加密通道;
- 公钥加密:用对方公钥加密,只有对应私钥能解开。
密评现场很少看到「单独使用 SM2」的系统,它通常藏在具体动作背后:远程接入时的身份鉴别、应用层的签名验签、终端与服务器之间的密钥协商,底层都是它。所以核查时不要问「有没有 SM2」,要问「哪个动作用了 SM2、证书由谁签发、私钥存在哪里」。
三、SM3:杂凑不是加密
最常见的误读,是把 SM3 当成一种「加密算法」。杂凑是不可逆的,没有「解密还原」这一步。它的国家标准是 GB/T 32905-2016,输出 256 位杂凑值,主要两个用途:完整性校验(比对摘要判断数据是否被改动)、签名中的摘要计算(先杂凑再签名)。
需要提醒的是:摘要只能证明内容前后一致,不提供任何机密性。一条链路若只做了杂凑校验而没有加密,测评时仍按「未加密」处理。
四、SM4:128 位分组,传输与落地加密的主力
SM4 是分组密码算法,国家标准 GB/T 32907-2016,分组长度和密钥长度均为 128 位,支持 ECB、CBC、GCM 等工作模式,用于数据传输与存储加密。
工作模式的选择会直接影响测评结论:ECB 模式下相同明文产生相同密文,不适合结构化数据;CBC 模式需要随机且不可预测的初始向量;GCM 模式同时提供机密性与完整性校验。同一把 SM4 密钥、换成不同模式,覆盖的指标项并不相同。这也是「算法合规但配置不合规」的典型出处。
五、三者怎么配合:一次国密通道里的分工
以国密传输层协议 TLCP(GB/T 38636-2020,采用双证书体系)为例:握手阶段用 SM2 完成身份鉴别与密钥协商,导出会话密钥;之后用 SM4 加密业务数据;传输过程中的完整性校验交给 SM3。
常见密码套件 ECC-SM2-SM4-CBC-SM3、ECDHE-SM2-SM4-GCM-SM3,本质就是把这三个算法按「密钥交换—加密—校验」串起来的命名方式。看懂套件名,就能判断这条链路用了哪几个算法、缺了哪一环。指标体系的完整口径可参照密码应用标准中的分级要求。
六、和国际算法的对应:只做映射,不评优劣
实务沟通中经常需要「换算」,这里只给位置对应关系,不做优劣评价:
- SM2 对应 RSA / ECDSA / ECDH 这一类公钥体系;
- SM3 对应 SHA-256 这一档 256 位杂凑算法;
- SM4 对应 AES 这一档 128 位分组密码。
此外还有几个常被一并提到的成员:SM9 是标识密码算法(GB/T 38635 系列),适用于无证书的物联网与移动场景;ZUC 祖冲之是序列密码(GB/T 33133 系列),用于移动通信的空口加密与完整性保护;SM1 算法不公开,通常以密码芯片或密码模块形态提供,其合规性靠产品认证证书来证明,而不是靠标准编号。
这组对应只说明职责位置相当,不代表可以互换;混用、自研或替换都要有可核查的论证材料。
七、落地时被问得最多的四件事
- 算法对不对:是否采用已公布国家标准(GB/T 32905、32907、32918 系列)的国密算法;
- 参数够不够:SM2 用 256 位曲线、SM4 用 128 位密钥,出现降级或截断必须有说明;
- 产品合不合规:密码产品应达到 GB/T 37092 的相应安全等级,第三级系统要求二级及以上;
- 旧算法怎么处理:MD5、DES、SHA-1、RSA1024 这类已列入高风险,改造时应优先替换。
这四项属于「密码算法」与「密码产品」两个测评单元的基础项,任一项不过,后面靠管理措施很难补救。具体条目以现行的高风险判定指引为准。
八、从算法清单到差距分析
算法只是底座,底座之上还有密钥管理、协议实现、产品资质三层。实际项目里较稳妥的顺序是:先做算法与产品的清单盘点,把每条链路上用了什么算法、参数多少、产品证书是否在有效期列清楚;再对照指标逐项判定,形成差距分析;最后按优先级排改造。
涉及评估实施与报告出具,须由具备资质的检测机构承担。我们能提供的是密评辅导、差距分析、方案编制与协助对接持牌机构。费用与周期因系统数量和改造起点差异较大,通常在数万元到数十万元区间,具体以属地要求为准。机构信息可查全国密评机构名录,等级与流程口径见等保测评等级划分。