摘要:
放眼全球,观察量科。这里是【全球量科观察】。
上一篇我们讲到,商用密码标准体系不是单一算法,而是由基础标准、算法标准、产品标准、应用标准共同构成的完整体系。其中,算法标准最容易被大家关注,也最容易被误解。很多人听到 “国密”,第一反应就是 SM2、SM3、SM4、SM9,但它们到底分别负责什么,很多人并不清楚。
在本篇我们就做一张 “国密算法全家福”,把四类核心国密算法的分工、特点和典型应用场景讲明白。
Part.1
国密算法不是一个算法,而是一组算法
“国密算法” 一般指我国商用密码体系中由国家密码主管部门发布的密码算法系列。它们并不是某一个算法,而是一套分工不同、互相配合的算法家族。
如果把信息安全体系比作一座城市:
- SM4:像 “运输车”,负责把数据安全地从一个地方运到另一个地方;
- SM2:像 “门卫和印章”,负责身份认证、签名和密钥协商;
- SM3:像 “指纹仪”,负责给数据生成唯一摘要,验证完整性;
- SM9:像 “分布式身份系统”,适合在复杂网络中实现身份认证和密钥管理。
这个比喻并不完全精确,但可以帮助我们先建立一个整体认知:国密算法之间不是替代关系,而是协同关系。
Part.2
SM4:负责数据加密的对称密码
1. SM4 是什么
SM4 是我国商用密码中的分组对称加密算法,主要用于数据加解密。它的分组长度为 128 位,密钥长度为 128 位。
所谓 “对称”,是指加密和解密使用同一个密钥。通信双方只要提前持有相同密钥,就可以进行加解密。
2. SM4 适合做什么
SM4 适合用于:数据加密存储;文件加密;数据库字段加密;网络通信加密;视频、语音等大容量数据保护。
它的优势是速度快、效率高,适合处理大量数据。
3. SM4 的关键问题
SM4 虽然加密效率高,但也带来两个核心问题:
第一,密钥分发问题。如果双方事先没有安全渠道共享密钥,密钥本身就可能被截获。
第二,密钥管理问题。系统规模越大,密钥数量越多,如何安全生成、存储、分发、销毁密钥,就成为关键。
因此,SM4 通常不会单独承担完整安全方案,而是与 SM2、SM3 等配合使用。
Part.3
SM2:负责签名、认证和密钥协商的公钥密码
1. SM2 是什么
SM2 是我国商用密码中的椭圆曲线公钥密码算法,基于椭圆曲线密码学,主要用于:数字签名;验签;身份认证;密钥协商。
SM2 属于非对称密码算法,使用 “公钥 + 私钥” 的密钥对:私钥由用户自己保管,不能泄露;公钥可以公开分发。
2. SM2 适合做什么
SM2 适合用于:电子签名;电子签章;身份认证;SSL/TLS 国密通信;区块链交易签名;与 SM4 配合完成密钥协商。
其中一个非常典型的应用是:用 SM2 协商出 SM4 加密密钥,再用 SM4 加密业务数据。
这也是商用密码系统中常见的组合模式:SM2 解决 “谁和谁通信” 的信任问题,SM4 解决 “大量数据怎么加密” 的效率问题。
3. SM2 的优势
相比 RSA 等传统公钥算法,SM2 在同等安全强度下通常具有:密钥长度更短;计算开销相对较低;适合移动端、物联网终端等资源受限环境。
Part.4
SM3:负责完整性校验的哈希算法
1. SM3 是什么
SM3 是我国商用密码中的密码杂凑算法,也叫哈希算法。它可以将任意长度的数据转换为固定长度的摘要值。
SM3 的摘要长度为 256 位。
2. SM3 适合做什么
SM3 适合用于:数据完整性校验;消息认证;数字签名辅助;区块链哈希计算;电子证据固定;防止数据被篡改。
它的核心作用不是 “加密内容”,而是 “证明内容没有被改动”。
3. SM3 为什么重要
在很多安全方案中,即使数据本身没有被加密,只要经过 SM3 处理并生成摘要,就可以判断数据是否发生变化。
SM3 通常是整个安全链路中的 “证据锚点”。
Part.5
SM9:适合复杂网络环境的标识密码
1. SM9 是什么
SM9 是我国商用密码中的标识密码算法,主要用于:身份认证;密钥协商;数据加密;签名验签。
与 SM2 不同,SM9 可以直接使用用户身份信息作为公钥标识,例如手机号、邮箱、设备编号等。
这意味着在某些应用模式下,系统可以减少对传统数字证书的依赖。
2. SM9 适合做什么
SM9 适合用于:物联网设备认证;车联网通信认证;分布式系统身份认证;云端访问控制;无需预先交换证书的安全通信。
它更适合节点多、链路复杂、设备数量大的场景。
3. SM9 不是 SM2 的替代者
SM9 和 SM2 并不是简单的谁替代谁,而是适用模式不同:
-
SM2 更偏向传统公钥密码体系,通常与数字证书结合; -
SM9 更强调基于身份的密码机制,适合复杂网络和设备身份管理。
Part.6
国密算法的常见组合方式
在真实系统中,很少只使用一种国密算法。更常见的是 “算法组合”。
组合一:SM2 + SM4
-
SM2 用于身份认证和密钥协商; -
SM4 用于业务数据加密。
这是最常见的商用密码应用组合之一。
组合二:SM3 + SM2
-
SM3 先对数据生成摘要; -
SM2 再对摘要进行签名。
这常用于电子签名、电子合同、区块链交易等场景。
组合三:SM9 + SM4
-
SM9 完成设备或身份认证; -
SM4 负责大量数据加密。
这适合物联网、车联网等终端数量大的场景。
国密算法不是一个单一算法,而是一组分工明确、相互协同的算法家族:
- SM4:负责数据加密;
- SM2:负责签名、认证和密钥协商;
- SM3:负责完整性校验;
- SM9:负责复杂网络中的身份认证与密钥管理。
理解这一点,是看懂商用密码方案、国密改造、电子签章、区块链安全和密评实践的重要基础。
免责说明:本文为商用密码标准科普,内容参考 GM/T 系列标准与国密算法公开规范,仅作技术学习交流,不构成具体项目实施方案。

