Skip to content
安全2026-09-104 分钟阅读

国密算法入门:SM2/SM3/SM4/SM9/ZUC 是什么、谁在用、怎么落地

国密是什么

国密算法 = 中国国家密码管理局发布的商用密码(SM = 商密)算法标准集。它不是一套新密码学理论——算法原理与国际算法同源(椭圆曲线、杂凑、分组密码),而是由中国主导设计的标准实现,用于密码自主可控与合规场景。

五个算法各自管什么

| 算法 | 类型 | 国际对应 | 一句话用途 | |---|---|---|---| | SM2 | 椭圆曲线公钥 | RSA / ECDSA | 签名、密钥交换、公钥加密 | | SM3 | 密码杂凑 | SHA-256 | 摘要、完整性校验 | | SM4 | 分组密码 | AES-128 | 数据加密(对称) | | SM9 | 标识密码 | IBE | 用身份(邮箱/手机号)直接做公钥 | | ZUC(祖冲之) | 序列密码 | Snow 3G / AES-CTR | 4G/5G 通信流加密 |

开发者日常打交道的主要是前三个(合称国密三件套),SM9 和 ZUC 偏专用场景(标识密码、电信)。

与国际算法的对应关系

签名/加密层: RSA, ECDSA  ←→  SM2(256 位椭圆曲线)
摘要层:      SHA-256     ←→  SM3(256 位输出)
对称加密层:  AES-128     ←→  SM4(128 位分组/密钥)
组合套件:    TLS-RSA/AES ←→  TLCP(国密 TLS,ECC-SM4-SM3 套件)

安全强度等价换算(心里有数即可):

  • SM2 256 位 ≈ RSA 3072 位
  • SM3 ≈ SHA-256
  • SM4 ≈ AES-128

谁在用国密

  1. 政务:电子签章、电子证照、政务云(GB/T 38540 等一串国标围着国密转)
  2. 金融:银行核心系统改造、银联标准、数字货币相关
  3. 等保 2.0:三级及以上系统被要求使用商用密码(这是最普遍的驱动力)
  4. 央企/关键基础设施:能源、交通、水利的信息化
  5. 密评:《商用密码应用安全性评估》过评要求算法合规

开发者怎么落地:分层视角

应用层(Java/Go/Node/前端)

  • Java:BouncyCastle(SM2/SM3/SM4org.bouncycastle.crypto.engines)或国密专项库 hutool 的 SmUtil
  • 前端/Nodesm-crypto(纯 JS,加解密/签名)
  • Gogithub.com/tjfoc/gmsslgithub.com/emmansun/gmsm

协议层(HTTPS 国密化)

标准 OpenSSL 不支持国密 TLS。可选:

  • Tongsuo(铜锁,原 BabaSSL):蚂蚁开源,兼容 OpenSSL 语法,支持国密 TLS 1.3 与双证书
  • GmSSL:北大开源,国密 TLS(TLCP 协议,GB/T 38656)
  • 双证书模式:SM2 证书 + RSA 证书并行,按客户端能力协商(过渡期标配)

硬件层

生产密钥管理要求「通过国密局认证的密码产品」:PCI-E 密码卡、UKey、云密码机(云厂商的 KMS 国密版)。应用层 JS/软件实现适合开发联调,生产签名私钥不应离开密码硬件——这是密评的硬要求。

用在线工具理解算法行为

读十遍文档不如跑一次加解密。本站提供全套国密在线工具(纯浏览器本地计算,输入不上传):

  • SM2 加解密与签名:生成密钥对 → 加密 → 解密 → 签名 → 验签,完整走一遍公钥算法流程;联调时可当「已验证正确的对端」用
  • SM3 哈希计算器:验证标准测试向量(SM3("abc") = 66c7f0f4...),排查编码问题
  • SM4 加解密:ECB/CBC 模式对比,体会「相同分组在 ECB 下密文相同」的模式泄露

新手最常问的三个问题

Q:国密算法安全吗?还是「弱化的国产算法」? SM2/SM3/SM4 的设计经过公开国际评审(SM4 曾在 IETF RFC 8998 发布),目前没有任何实际攻击先例,强度与国际对应算法同级。「国密=弱密码」是误解。

Q:我司系统必须上国密吗? 看两个信号:等保级别(三级以上基本跑不掉)+ 行业监管(政务/金融/央企)。互联网 ToC 业务一般无硬性要求。

Q:改造工作量多大? 分三档:只换算法层(代码里 RSA→SM2 调用替换)约人天级;协议层国密 TLS(Tongsuo + 国密证书)约人周级;完整密评合规(密码硬件 + 管理制度)是人月级工程。

排查清单

  1. 分清三件套定位:SM2 签名加密 / SM3 摘要 / SM4 对称加密
  2. 合规判断:等保三级 + 政务/金融 → 必须国密
  3. 联调先用在线工具验证算法层正确性,再查协议层
  4. 生产私钥进密码硬件,软件实现只做开发验证
  5. 国密 TLS 选 Tongsuo/GmSSL,过渡期双证书并行

本文由 ToolVault 工具匣 提供。相关工具:SM2 加解密与签名SM3 哈希SM4 加解密。相关阅读:SM2 和 RSA 怎么选SM3 和 SHA-256 的区别。访问 首页 查看更多开发者工具。


广告