Python gmssl.SM4使用案例
摘要:在异构计算系统验证中,通常会有数据加解密的要求,例如用户数据、权重参数等,本文将详细介绍在UVM验证环境中,调用Python的gmssl库,用SM4实现加解密的验证方案。
一、Python gmssl
库介绍
gmssl
是一个开源的、纯Python实现的国密算法库。它的最大特点是不依赖任何底层C库(如OpenSSL),这使得它在各种环境中部署和使用都非常方便,尤其适合作为算法行为级参考模型(Golden Model/Oracle)。
1.1 主要功能和支持的算法:
- SM2 (非对称加密和签名): 基于椭圆曲线的公钥密码算法,用于加密通信、数字签名和密钥交换。
- SM3 (哈希算法): 密码杂凑算法,输出256位的哈希值,功能类似于SHA-256。
- SM4 (对称加密): 分组密码算法,分组长度和密钥长度都是128位,用于数据加密,功能类似于AES-128。
- ZUC (祖冲之序列密码): 用于移动通信4G/5G网络的对称加密和完整性保护。