要用sm2加密算法,首先安装加密库 gmssl
在线安装方式:pip install gmssl
GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等国密(国家商用密码)算法、项目采用对商业应用友好的类BSD开源许可证,开源且可以用于闭源的商业应用。
SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法。
RSA算法的危机在于其存在亚指数算法,对ECC算法而言一般没有亚指数攻击算法 SM2椭圆曲线公钥密码算法:我国自主知识产权的商用密码算法,是ECC(Elliptic Curve Cryptosystem)算法的一种,基于椭圆曲线离散对数问题,计算复杂度是指数级,求解难度较大,同等安全程度要求下,椭圆曲线密码较其他公钥算法所需密钥长度小很多。
1.首先来看一下如何通过gmssl内部的包生成公私钥,实现如下。
from utils.gmssl.utils import PrivateKey #这是一个公共包,可在线查找 import base64 priKey = PrivateKey() pubKey = priKey.publicKey() new_prikey=priKey.toString() new_pubkey=pubKey.toString(compressed = False) print('私钥哈希串:{}'.format(new_prikey)) print('公钥哈希串:{}'.format(new_pubkey)) #公钥和私钥转哈希 new_pr