随着国家信息安全战略的推进,国密算法在各类安全系统中的应用日益广泛。GMSSL作为支持国密标准的重要工具库,为开发者提供了SM2(非对称加密)、SM3(哈希算法)和SM4(对称加密)的完整实现。本文将带你从零开始,深入理解这三大核心算法在GMSSL中的高效使用方式,帮助你在实际项目中快速落地国密安全方案。
本文将以通信定位二合一系列Air780EGH核心板为例,带你快速上手GMSSL国密算法SM2、SM3、SM4相关示例。
一、SM2:椭圆曲线公钥密码算法
SM2椭圆曲线公钥密码算法,属于非对称加密算法体系;可替代RSA、ECC等国际算法,用于数字签名、密钥交换、公钥加密。
1.1 算法特点及应用场景
SM2特点:
基于椭圆曲线密码ECC,密钥长度256位,安全强度相当于RSA 2048位;签名和加密效率优于RSA,相同安全级别下密钥更短,适合资源受限场景,如嵌入式设备;采用国家规定的椭圆曲线参数SM2p256v1,确保算法合规性。
应用场景:
电子签名(如合同签署)、身份认证、密钥协商(如VPN密钥交换)。
1.2 LuatOS应用示例
gmssl_sm2.lua:SM2算法加解密,含密钥生成;示例代码如下,完整demo详见源码仓库最新文件。

gmssl_sm2sign.lua:SM2签名和验签;示例代码如下,完整demo详见源码仓库最新文件。

二、SM3:密码杂凑算法
SM3密码杂凑算法,属于哈希算法(杂凑函数)体系;可替代SHA-256等,用于数据完整性校验、数字签名摘要生成。
2.1 算法特点及应用场景
SM3特点:
输出固定长度256位(32字节)哈希值;具备强抗碰撞性(难以找到两个不同数据生成相同哈希值);计算效率与SHA-256相当,安全性满足国家密码标准。
应用场景:
数字签名的摘要计算(与SM2配合使用)、数据校验(如文件完整性验证)、区块链交易哈希(部分国产区块链采用)。
2.2 LuatOS应用示例
gmssl_sm3.lua:SM3算法,算HASH值;示例代码如下,完整demo详见源码仓库最新文件。

三、SM4:分组密码算法
SM4分组密码算法,属于对称加密体系;可替代AES等,用于敏感数据加密/解密。
3.1 算法特点及应用场景
SM4特点:
分组长度128位,密钥长度128位,加密模式支持ECB、CBC、GCM 等;加密效率与AES相当,适合批量数据加密;算法设计公开,安全性经过严格验证。
应用场景:
数据库加密、文件加密、VPN数据传输加密、政务系统敏感信息保护。
3.2 LuatOS应用示例
gmssl_sm4.lua:SM4算法加解密;示例代码如下,完整demo详见源码仓库最新文件。

今天的内容就分享到这里了~
审核编辑 黄宇
-
算法
+关注
关注
23文章
4763浏览量
97263 -
SM2
+关注
关注
0文章
4浏览量
2502
发布评论请先 登录
SM4算法实现分享(一)算法原理
AES和SM4算法的可重构分析
RISCV-K指令集扩展分享
VPP加密芯片撑起虚拟电厂安全
harmony-utils之SM2,SM2加解密
harmony-utils之SM3,SM3工具类
harmony-utils之SM4,SM4加解密
国产化浪潮下的智慧办公新选择——蝶云智控海光OPS电脑全线解决方案
云平台如何部署WoSign SSL“国密RSA双证书”

深入浅出GMSSL:掌握SM2、SM3、SM4国密算法的高效实践
评论