SM4 国密加密
SM4 国密对称加密解密,支持 ECB/CBC 模式,符合 GM/T 0002 标准。
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 完全可互换,选用哪个主要取决于合规要求而非安全考虑——两者都经过国际密码学界分析,安全强度相当。