SM2、SM3、SM4 算法介绍及对比(含国家标准)

🔐 SM2(非对称加密算法)

国家标准: GB/T 32918.1-2016 ~ GB/T 32918.5-2016

用途: 加密、签名、密钥交换

特点:

  • 基于椭圆曲线密码(ECC)
  • 256位密钥
  • 签名强度相当于 RSA-2048

标准体系:

编号 内容
GB/T 32918.1-2016 SM2 椭圆曲线公钥密码算法 总则
GB/T 32918.2-2016 SM2 椭圆曲线公钥密码算法 数字签名算法
GB/T 32918.3-2016 SM2 椭圆曲线公钥密码算法 密钥交换协议
GB/T 32918.4-2016 SM2 椭圆曲线公钥密码算法 加解密算法
GB/T 32918.5-2016 SM2 椭圆曲线公钥密码算法 参数定义

📝 SM3(哈希算法)

国家标准: GB/T 32905-2016

用途: 消息摘要、数字签名、身份认证

特点:

  • 输出:256位哈希值
  • 迭代压缩函数结构
  • 消息填充和扩展规则

标准内容:

编号 内容
GB/T 32905-2016 SM3 密码杂凑算法

🔒SM4(对称加密算法)

国家标准: GB/T 32907-2016

用途: 数据加解密

特点:

  • 分组长度:128位
  • 密钥长度:128位
  • 32轮迭代结构
  • 支持多种工作模式

标准内容:

编号 内容
GB/T 32907-2016 SM4 分组密码算法

工作模式:

模式 说明
ECB 电子密码本模式
CBC 密码分组链接模式
CFB 密文反馈模式
OFB 输出反馈模式
CTR 计数器模式

📊 总览对比

算法 类型 国标编号 密钥/输出 用途
SM2 非对称 GB/T 32918.x 256位 签名/加密
SM3 哈希 GB/T 32905 256位 摘要
SM4 对称 GB/T 32907 128位 数据加密

🏛️ 标准化体系

国家密码管理局(SCA)发布

├── SM2/3/4 算法标准

├── GM/T 配套行业标准

└── ISO/IEC 国际推进(SM4已国际化)

中国商用密码算法已形成完整体系,从算法标准到行业应用都有国家强制标准保障安全!

相关推荐
openHiTLS密码开源社区6 个月前
【密码学实战】openHiTLS s_server命令行:搭建国密标准安全通信服务器
服务器·物联网·密码学·openhitls·tlcp·商用密码算法·dtlcp
openHiTLS密码开源社区6 个月前
【密码学实战】openHiTLS pkeyutl命令行:公钥实用工具(加解密、密钥交换)
sm2·椭圆曲线·密钥交换·openhitls·商用密码算法
openHiTLS密码开源社区6 个月前
【密码学实战】openHiTLS mac命令行:消息认证码工具
哈希·hmac·消息认证码·cmac·商用密码算法·gmac
openHiTLS密码开源社区6 个月前
【密码学实战】openHiTLS keymgmt命令行:密钥管理工具
sm3·密钥管理·sm4·tlcp·商用密码算法·密钥存储