DeepSeal — 本地加密笔记应用,你的隐私只有你说了算。 免费下载 → ×
SM4

SM4 国密加密

SM4 国密对称加密解密,支持 ECB/CBC 模式,符合 GM/T 0002 标准。

P1
明文(UTF-8 字符串)
密文(Hex)

SM4 国密在线加密 / 解密

SM4 是中国国家密码管理局发布的分组对称加密算法(GM/T 0002-2012),密钥长度 128 位(16 字节),分组长度 128 位。 与 AES-128 安全性相当,广泛应用于中国政企、金融、电子政务等领域,是国密合规项目的核心算法之一。 本工具支持 SM4-CBC 和 SM4-ECB 两种模式,使用 sm-crypto 开源库实现。

SM4 与 AES 对比

  • 密钥长度:SM4 固定 128 位;AES 支持 128/192/256 位。
  • 分组长度:均为 128 位。
  • 结构:SM4 用非平衡 Feistel 网络;AES 用 SPN 结构。
  • 性能:AES 略快(硬件加速更广泛),SM4 也可满足绝大多数场景。
  • 合规:中国政府/央企项目必须用 SM4;国际项目用 AES。

典型应用场景

  • 政府电子公文加密传输
  • 银行核心交易数据保护
  • 电力、能源等关键基础设施
  • 等保三级以上系统的数据加密
  • 与中国 SM2 国密算法搭配形成完整方案

国密合规要点

国密算法体系由三个核心算法构成:SM2(非对称加密 + 数字签名,替代 RSA)、SM3(密码杂凑,替代 SHA-256)、SM4(对称加密,替代 AES)。在等保(网络安全等级保护)三级及以上、密评(商用密码应用安全性评估)合规要求中,通常要求使用国密算法替代国际算法。金融行业(人行、银保监会规范)、政务系统、关键信息基础设施都有明确的国密合规要求。

SM4 使用规范:GM/T 0002 规定 SM4 密钥为 128 位(16 字节),通常以 32 位十六进制字符串表示。ECB 模式因安全缺陷不推荐用于多块数据加密(与 AES-ECB 相同的问题),生产环境应使用 CBC 模式并配合随机 IV,或使用 GM/T 0028 规定的 SM4-GCM 认证加密模式。密钥应通过国家密码管理局批准的密钥生成设备产生,不可用普通随机数。

过渡期策略:许多系统在国密改造中需要同时支持国际算法和国密算法(如 TLS 1.2 双证书、SM2/RSA 双算法签名),保证兼容性的同时逐步迁移。开源库如 GmSSL、Tongsuo(铜锁)提供完整的国密实现。SM4 在功能上与 AES-128 完全可互换,选用哪个主要取决于合规要求而非安全考虑——两者都经过国际密码学界分析,安全强度相当。

SM4 常见问答

SM4 是什么?
SM4 是中国国家密码管理局发布的分组对称加密算法,GM/T 0002 标准,2012 年成为国家标准 GB/T 32907。分组长度和密钥长度均为 128 位,32 轮非平衡 Feistel 结构。用于政务、金融、电信等需要国密合规的场景。
SM4 和 AES 有什么区别?
两者都是 128 位分组对称加密。SM4 密钥固定 128 位,AES 支持 128/192/256 位。SM4 采用 32 轮 Feistel 结构,AES 采用 10-14 轮替换置换网络。性能上 AES 通常更快(硬件加速),SM4 在国产化环境有优化。功能上可互相替代。
什么场景需要用 SM4?
中国政务系统、金融 IC 卡、电子政务、电信基础设施等强制要求国密算法的场景。涉及等保三级以上、密评合规的系统通常要求使用 SM2/SM3/SM4 替换 RSA/SHA/AES。
SM4 的密钥怎么生成?
SM4 密钥为 128 位(16 字节),应使用密码学安全的随机数生成器产生。本工具支持随机生成或手动输入 16 字节密钥。密钥应通过安全渠道分发和存储,不可明文传输。

HyperGrad 生态还有这些站