首页/安全/加密与证书速查/SM4 分组密码(国密)
加密算法基础95 条

SM4 分组密码(国密)

中国商用密码标准中的分组算法(GB/T 32907-2016):128 位分组与 128 位密钥、32 轮迭代结构,应用于 TLCP、WAPI 与国产密码产品。

加密与证书速查安全更新于 2026-10-12
标准GB/T 32907-2016 / GM/T 0002-2012
分组 / 密钥128 位 / 128 位
轮数32 轮
常见用途TLCP 传输加密、WAPI、国产设备数据加密

OpenSSL 使用示例

OpenSSL 使用示例
openssl enc -sm4-cbc -pbkdf2 -salt -in data.txt -out data.sm4
openssl enc -d -sm4-cbc -pbkdf2 -in data.sm4 -out data.txt
openssl speed -elapsed -evp sm4-cbc
TLCP(GB/T 38636)中 SM4 与 GCM 组成 AEAD 套件(如 ECC_SM4_GCM_SM3),单纯 SM4-CBC 仍需注意填充与完整性风险。

易错点

  • SM4 是分组密码不是摘要算法:SM3 才是哈希,混淆两者会导致协议实现错误
  • 部分老版本 OpenSSL 或第三方库的 SM4 只支持 ECB/CBC,启用 GCM 前要确认版本与 provider 能力

数据来源与参考

  • GB/T 32907-2016(SM4 分组密码算法)
  • GB/T 38636-2020(传输层密码协议 TLCP)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌