# hggm - 国密算法 SM2 SM3 SM4 SM9 ZUC Python实现完整代码
#### 介绍
国密算法 SM2公钥密码 SM3杂凑算法 SM4分组密码 SM9标识密码 ZUC(祖冲之密码)序列密码 Python代码完整实现 效率高于所有公开的Python国密算法库
#### 软件架构
根目录里的hggm_test.py是测试文件,对实现的所有功能进行正确性与性能测试,并与gmssl、pysmx和Crypto相应实现做对比,可作为代码使用的范例;
/hggm 目录里的是高效实现版本,依赖的库较多(新版的SM2代码已经不依赖Crypto库);
/hggm/slow 目录里的是低速版本,纯Python实现,基本不依赖第三方Python库,适合教学
#### 安装教程
1.复制代码文件到Python工程中
2.以测试代码为参考调用相应函数
要完整运行测试代码hggm_test.py,还需注意依赖库的安装:
(1)Crypto老版本没有int * EccPoint实现,最新版本(3.14.1)缺SHA256和ARC4的链接库,3.10.1版本是没有上述问题的(pip install pycryptodome==3.10.1)
若已安装其他版本Crypto,可在命令行输入:
pip uninstall pycryptodome
pip install pycryptodome==3.10.1
(2)还需安装①gmssl(SM9测试用到的gmssl不是通过"pip install gmssl"安装的版本,需要到 https://github.com/gongxian-ding/gmssl-python 下载源代码放到本代码同目录)和②pysmx(pip install snowland-smx)
(3)hggm_test.py第16行(from pysmx.SM2 import Sign, Verify, Encrypt, Decrypt, kG, sm2_G)会报错,找到Python第三方库目录\pysmx\SM2_init_.py,在import里添加kG, sm2_G可解决
3.以下论文的相关测试代码在/hggm/SM9_test.py(该代码文件的运行依赖同目录SM3.py):
①国密算法SM9的性能优化方法
②国密算法SM9的计算性能改进方法
③基于国密算法SM9的加法同态加密方案
④基于国密算法SM9的环签名方案
⑤基于国密算法SM9的可追踪环签名方案
⑥基于国密算法SM9的签密方案
#### 使用说明
我的CSDN博客对SM2、SM3、SM4、SM9、ZUC等国密算法有相关说明:
第一篇SM2:https://blog.csdn.net/qq_43339242/article/details/123221091
第二篇SM2:https://blog.csdn.net/qq_43339242/article/details/125738524
第三篇SM2:https://blog.csdn.net/qq_43339242/article/details/132990982
SM3:https://blog.csdn.net/qq_43339242/article/details/123709822
SM4:https://blog.csdn.net/qq_43339242/article/details/123607119
第一篇SM9:https://blog.csdn.net/qq_43339242/article/details/134050809
第二篇SM9:https://blog.csdn.net/qq_43339242/article/details/134330305
ZUC:https://blog.csdn.net/qq_43339242/article/details/124212075
汇总测试:https://blog.csdn.net/qq_43339242/article/details/123981081
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
执着的小火车
- 粉丝: 144
- 资源: 208
最新资源
- chromedriver-mac-x64_121.0.6128.0.zip
- chromedriver-mac-x64_121.0.6134.0.zip
- chromedriver-mac-x64_121.0.6136.0.zip
- chromedriver-mac-x64_121.0.6137.0.zip
- chromedriver-mac-x64_121.0.6144.0.zip
- chromedriver-mac-x64_121.0.6140.0.zip
- chromedriver-mac-x64_121.0.6139.0.zip
- chromedriver-mac-x64_121.0.6141.0.zip
- chromedriver-mac-x64_121.0.6142.0.zip
- chromedriver-mac-x64_121.0.6143.0.zip
- chromedriver-mac-x64_121.0.6146.0.zip
- chromedriver-mac-x64_121.0.6147.0.zip
- chromedriver-mac-x64_121.0.6145.0.zip
- chromedriver-mac-x64_121.0.6148.0.zip
- chromedriver-mac-x64_121.0.6152.0.zip
- chromedriver-mac-x64_121.0.6150.0.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈