首页/安全/加密与证书速查/SM1 算法(硬件实现)
加密算法基础95 条

SM1 算法(硬件实现)

国密对称密码算法之一,算法细节不公开,以芯片或 IP 核形式提供,主要用于金融 IC 卡、安全模块等硬件场景,软件库一般无法直接调用。

加密与证书速查安全更新于 2026-10-13

SM1 是什么

SM1 是国密对称密码算法之一,算法细节未公开,以芯片或 IP 核的形式提供,需要通过具备资质的密码产品使用。它主要用于金融 IC 卡、SAM 卡、终端安全模块等硬件场景:调用方通过密码机或安全模块的接口完成运算,应用侧只拿到密文或运算结果。公开软件库不提供实现,也无法用其他算法简单替换。

基本信息

类型对称分组算法(算法细节未公开)
形态硬件芯片 / IP 核 / 密码模块
典型用途金融 IC 卡、SAM 卡、终端安全模块
获取方式通过具备资质的商用密码产品
软件支持公开软件库(如 OpenSSL)不提供 SM1 实现

典型使用场景

  • 金融 IC 卡与终端安全设备内部的密钥运算
  • 行业系统要求使用国密且指定对称算法的合规项目
  • 密码机集成:应用调用 PKCS#11 或厂商 SDK,运算全部在设备内完成
  • 选型时区分硬件密码算法与可软件实现的国密算法(例如 SM4)
  • 合规审计中核对密码产品认证信息与算法清单

使用方式说明

使用方式说明
应用系统 → 调用密码机 / 安全模块接口(PKCS#11 或厂商 SDK)
→ 由硬件内部完成 SM1 运算
→ 应用侧只拿到密文或运算结果
# 软件侧无法直接实现或替换该算法
# 因此吞吐与并发能力要按设备规格规划,并预留扩容与冗余方案

硬件算法与软件算法

维度SM1可软件实现的对称算法
算法细节未公开公开标准
实现形态硬件芯片或 IP 核软件库与硬件均可
调用方式密码产品接口标准算法库
典型场景金融 IC 卡与安全模块通用数据加密
公开软件库不提供 SM1 实现:若某产品宣称以「纯软件实现 SM1」,应核对它的商用密码产品认证情况与算法清单,避免在合规审计时被认定为不满足要求,也避免集成后才发现无法通过测评。

易错点

  • 把它当作可用软件自由实现的算法 → 集成路线走偏,后期需要整体重构
  • 选型只比较算法名称,忽略设备接口与并发能力 → 上线后性能或容量不达标
  • 未核对厂商的认证资质 → 合规审计不通过,返工成本远高于前期核验
  • 低估厂商间接口与密钥格式差异 → 更换设备时移植工作被严重低估

数据来源与参考

  • 国家密码管理局商用密码产品认证目录
  • GM/T 0028(密码模块安全技术要求)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌