SM1密码算法与国密对称密码体系

算法原理 · 2026-07-02

概述

SM1 是中国国家密码管理局发布的商用密码算法之一,属于对称分组密码算法。它与 SM2(非对称)、SM3(杂凑)、SM4(对称分组)并称为四大核心国密算法,但 SM1 有一个显著特征:算法本身不公开,仅以 IP 核形式集成在加密芯片中。

本文从 SM1 的技术背景、对称密码体系定位、与 SM4/AES 的关系、应用场景等维度进行系统梳理,帮助读者理解 SM1 在整个国密密码体系中的独特地位。

SM1 的基本参数

参数
算法类型对称分组密码
分组长度128 比特
密钥长度128 比特
公开状态算法不公开,以 IP 核形式提供
安全强度与 AES-128 相当
标准编号GM/T 0002-2012 系列(商用密码算法分类)
首次发布2010 年前后
SM1 的分组长度和密钥长度均为 128 比特,这一参数选择与 AES-128 保持一致。算法安全保密强度及相关软硬件实现性能与 AES 相当,但在设计思路上充分考虑了中国密码学家的自主创新能力。

国密对称密码体系全景

国密算法体系中包含多个对称密码算法,SM1 并非唯一的对称算法:

对称密码家族

算法类型分组长度密钥长度公开状态主要用途
SM1分组密码128 bit128 bit不公开(IP核)加密芯片、智能卡、政务通
SM4分组密码128 bit128 bit完全公开无线网络、物联网、通用加密
ZUC流密码128 bit完全公开(3GPP标准)LTE/5G 移动通信
SM5分组密码128 bit128 bit未公开标准无公开部署信息
SM6分组密码128 bit128 bit未公开标准无公开部署信息
SM7分组密码128 bit128 bit未公开标准无公开部署信息
SM8分组密码128 bit128 bit未公开标准无公开部署信息
重要说明:SM5-SM8 的算法规范未公开发布为标准文档(如 GM/T 系列)。上表中的参数(128 bit 分组/密钥)来源于行业传闻和部分专利文献,未经官方证实。在正式文档和合规评审中,不应将这些参数作为权威依据。如需确认 SM5-SM8 的具体规范,应联系国家密码管理局获取官方信息。

非对称密码家族

算法类型密钥长度公开状态主要用途
SM2ECC 公钥密码256 bit完全公开数字签名、密钥交换、公钥加密
SM9标识密码(IBE)256 bit完全公开基于身份的加密和签名

杂凑算法家族

算法输出长度公开状态主要用途
SM3256 bit完全公开数字签名、消息认证码、完整性校验

SM1 为什么不公开?

SM1 不公开算法细节,这是由中国密码学的战略考量决定的:

1. 硬件安全优先的设计哲学

SM1 的设计思路与 AES 不同。AES 选择将算法完全公开,依靠全球密码学界的安全分析来验证其强度;而 SM1 选择了硬件安全优先的路径——算法本身不需要被任何人理解,只要硬件芯片通过了国家密码管理部门的检测认证即可。

这种设计理念源于对供应链安全的考虑:如果算法细节公开,攻击者可能在芯片设计阶段就植入后门;而如果算法以黑盒 IP 核形式存在,只有通过认证的芯片才能正确执行 SM1 运算。

2. 加密芯片的强制要求

根据国家密码管理局的规定,使用 SM1 算法的设备必须搭载通过商用密码产品认证的加密芯片。这意味着:

  • 算法实现被锁定在芯片内部
  • 外部只能通过芯片接口调用加密/解密功能
  • 密钥材料永远不出芯片(或仅以密文形式存在)
  • 芯片本身具备防篡改、防侧信道攻击的物理防护
这种设计使得 SM1 在硬件安全等级上天然高于纯软件实现的对称算法。

3. 与 SM4 的定位差异

SM1 和 SM4 虽然都是 128 位分组对称密码,但定位截然不同:

维度SM1SM4
实现方式加密芯片 IP 核纯软件/硬件均可
算法公开是(GM/T 0002-2012)
密钥管理芯片内安全存储应用层管理
适用场景高安全等级设备通用数据加密
性能芯片级极高软件级中等
审计能力不可审计(黑盒)可审计(白盒)
简而言之:SM4 适用于需要透明审计的场景,SM1 适用于需要极致硬件安全的场景。

SM1 的技术特点

虽然 SM1 的算法细节不公开,但从公开的行业资料和专利申请中,可以归纳出以下特点:

1. 分组密码结构

SM1 采用 128 位分组、128 位密钥的对称加密结构,与 AES 的参数规模一致。从专利信息来看,SM1 很可能采用了类似 AES 的代换-置换网络(SPN)结构或 Feistel 网络结构,经过多轮迭代实现混淆和扩散。

2. 硬件优化设计

SM1 的 IP 核设计针对硬件实现进行了专门优化:

  • 面积效率:在相同工艺下,SM1 IP 核的逻辑门数少于同等安全强度的国际算法实现
  • 吞吐量:专用硬件电路可实现数百 Mbps 甚至 Gbps 级别的实时加密
  • 功耗:智能卡级别芯片中 SM1 的功耗远低于 AES 的软件实现

3. 抗侧信道攻击

由于 SM1 运行在加密芯片内部,芯片设计时集成了多种抗侧信道攻击措施:

  • 随机掩码(Random Masking)
  • 指令重排序(Instruction Shuffling)
  • 功耗均衡电路
  • 物理防篡改(Anti-Tamper)
这些措施使得即使攻击者能够物理接触芯片,也难以通过功耗分析、电磁分析等手段提取密钥。

SM1 的应用场景

SM1 广泛应用于需要高安全等级的硬件加密场景:

1. 政务领域

  • 国家政务通:政府机关之间的安全通信
  • 警务通:公安系统的移动执法终端加密
  • 电子政务卡:公民身份识别和安全认证

2. 金融领域

  • 金融 IC 卡:银行卡芯片中的 SM1 加密模块
  • POS 终端:刷卡交易的敏感数据加密
  • 智能密码钥匙:U盾类硬件密钥存储设备

3. 通信领域

  • SIM 卡:移动通信中的用户身份加密
  • 智能卡:各类身份认证和安全存储
  • RFID 标签:物流追踪和门禁系统中的加密

4. 物联网领域

  • 智能电表:电力数据采集的加密传输
  • 车联网:车辆与基础设施之间的安全通信
  • 工业控制:关键基础设施的加密保护

SM1 与 AES 的安全性对比

对比维度SM1AES-128
分组长度128 bit128 bit
密钥长度128 bit128 bit
安全强度128 bit128 bit
算法公开
实现方式加密芯片 IP 核软件/硬件均可
抗量子攻击否(对称算法均不抗量子)
推荐密钥长度128 bit128 bit
密钥轮换周期芯片级管理应用级管理
关键结论:SM1 与 AES-128 在安全强度上相当,但 SM1 通过硬件隔离提供了更强的密钥保护。对于量子计算威胁,两者都需要升级到 256 位密钥(SM1-256 / AES-256)才能获得等同的后量子安全强度。

SM1 的标准体系

SM1 的标准依据主要来源于国家密码管理局发布的商用密码算法系列标准:

标准编号标准名称与 SM1 的关系
GM/T 0002-2012密码算法安全评估要求定义了 SM1 的安全评估框架
GM/T 0028-2014密码模块安全要求SM1 芯片需满足的密码模块安全等级
GM/T 0030-2014对称算法安全要求SM1 作为对称算法的安全参数要求
GM/T 0054-2018信息系统密码应用基本要求SM1 在密评中的应用定位
注意:SM1 本身没有独立的算法规范标准(如 SM2 有 GM/T 0003、SM4 有 GM/T 0002 第 2 部分),这是因为 SM1 的算法实现完全由认证芯片厂商提供,标准关注的是芯片的安全等级而非算法的细节。

与 SM4 的互补关系

在实际应用中,SM1 和 SM4 往往不是竞争关系,而是互补关系:

何时选择 SM1

  • 系统对密钥保护有极高要求(金融 IC 卡、智能密码钥匙)
  • 运行环境为专用加密芯片或安全模块
  • 不需要对加密算法进行第三方审计
  • 需要防物理篡改和侧信道攻击

何时选择 SM4

  • 需要在通用服务器上运行
  • 需要算法透明度和可审计性
  • 软件实现即可满足性能需求
  • 需要灵活的密钥管理策略
  • 需要开源生态支持(如 OpenSSL、Bouncy Castle 均已支持 SM4)

典型组合

在一些高安全场景中,SM1 和 SM4 会组合使用:

CODE
SM1(芯片内) → 密钥派生和主密钥保护
    ↓
SM4(软件层) → 大数据量的加密传输
    ↓
SM3(软件层) → 数据完整性校验

这种组合充分发挥了 SM1 的硬件安全优势和 SM4 的软件灵活性优势。

国密对称密码的未来发展

随着密码技术的演进,国密对称密码体系也在持续发展:

1. 密钥长度升级

面对量子计算的潜在威胁,128 位密钥的对称算法可能需要向 256 位升级。SM1 和 SM4 都有对应的 256 位版本规划。

2. 硬件加速普及

越来越多的 CPU 和 SoC 开始集成国密加速指令集,这使得 SM4 的性能大幅提升,逐步缩小与 SM1 芯片级性能差距。

3. 后量子对称密码研究

虽然对称密码对量子计算的抵抗力远强于非对称密码(Grover 算法仅将安全性降低平方根),但学术界已开始研究后量子安全的对称密码设计思路。

总结

SM1 是中国国密算法体系中独特的存在——它是唯一不公开算法细节的国密算法,以 IP 核形式嵌入加密芯片,在硬件安全等级上达到了其他国密算法难以企及的高度。

理解 SM1 的关键在于认识到:它的价值不在于算法本身有多复杂,而在于它被锁在一个无法被外部攻破的硬件容器中。 对于需要极致密钥保护的金融、政务、通信等高安全场景,SM1 仍然是不可替代的选择。而对于需要灵活部署、软件实现和开源生态的场景,SM4 则是更务实的选择。

在实际密码体系设计中,SM1 和 SM4 并非二选一的关系,而是根据安全需求和部署环境的不同,各有其不可替代的定位。

参考来源

  • 国家密码管理局,《GM/T 0002-2012 密码算法安全评估要求》
  • 国家密码管理局,《GM/T 0028-2014 密码模块安全要求》
  • 国家密码管理局,《GM/T 0054-2018 信息系统密码应用基本要求》
  • 腾讯云开发者社区,《一文读懂SM1、SM2、SM3、SM4等国密算法》,2024年5月
  • 阿里云开发者社区,《一文读懂国密SM1至SM4算法原理与应用场景》,2024年1月
  • Google Patents,《一种利用国密sm1算法对视频流进行实时加密的方法及系统》(CN104378649A)
  • 安全内参,《密码算法应用及国际标准化情况》,2018年12月

相关实践