1. 开源软件库实现
- GmSSL:北京大学开发的 OpenSSL 分支,支持 SM2/SM3/SM4/SM9/ZUC 全部国密算法,提供与 OpenSSL 兼容的 EVP API,可无缝替代应用中的 OpenSSL 组件。GmSSL 采用类 BSD 开源许可证,支持商业应用。
- BouncyCastle:Java 和 C# 平台广泛使用的密码库,1.70+ 版本完整支持 SM2、SM3、SM4 算法,需在代码中显式注册 BouncyCastle Provider。
- gmssl-python:Python 平台的国密算法库,基于 GmSSL 封装,提供简洁的 Python API,支持 SM2、SM3、SM4 等算法。
2. 硬件密码模块实现
- 服务器密码机:遵循 GM/T 0030-2014《服务器密码机技术规范》,提供 SM2/SM3/SM4 算法的硬件加速实现,适用于高并发签名和加密场景。
- 智能密码钥匙(UKey):遵循 GM/T 0016-2023《智能密码钥匙密码应用接口规范》,在 USB 设备中集成 SM 算法,用于数字证书存储和签名运算。
- HSM(硬件安全模块):遵循 GB/T 37092-2018《信息安全技术 密码模块安全要求》,提供 FIPS 140-2 Level 3 级别的主密钥保护和 SM 算法加速能力。
3. 云服务实现
腾讯云、华为云等主流云服务商已提供基于 SM 算法的密码服务。以腾讯云为例,腾讯云密钥管理系统(KMS)支持 SM2 非对称加密和签名、SM3 哈希运算、SM4 对称加密,开发者可通过云 API 直接调用国密算法能力,无需自行部署密码硬件。