国密SM9算法C++实现之0:源码下载地址

SM9算法C++实现系列目录:

  • 基于JPBC的SM9算法的java实现与测试

  • 国密SM9算法C++实现之0:源码下载地址

  • 国密SM9算法C++实现之一:算法简介

  • 国密SM9算法C++实现之二:测试工具

  • 国密SM9算法C++实现之三:椭圆曲线接口、参数初始化

  • 国密SM9算法C++实现之四:基本功能函数与KGC接口的实现

  • 国密SM9算法C++实现之五:签名验签算法

  • 国密SM9算法C++实现之六:密钥封装解封算法

  • 国密SM9算法C++实现之七:加密解密算法

  • 国密SM9算法C++实现之八:密钥交换算法

  • 国密SM9算法C++实现之九:算法功能与测试例子

前段时间有些同志询问源码,还有些在问SM3、SM4代码,甚至是十六进制的转换的代码,所以这次整理后,直接提供全部源码,大家可以在下面的链接处下载。
https://download.csdn.net/download/yaoyuanyylyy/10780623

这是一个VC++项目,在win10 64位上用vs2015写的。
在文件 Parameters.h 中,定义了一个宏:
#define SELF_CHECK 1
表示代码中的密钥使用了 《GMT 0044-2016 SM9标识密码算法:第5部分 参数定义》 中的测试部分所指定的密钥。bin文件夹下编译好的程序是开启了这个定义的。所以测试时在界面上的私钥都是不变的。要想随机生成密钥,需要关闭该宏定义之后自行重新编译。

因为SM9是基于miracl实现的,有些同志在编译库的时候遇到些问题。所以此处也将miracl的库提供给大家。
同时把国密标准的SM9文件也附上。

bug修复:
SM9 的 SM9.cpp 的 keyExchange中,的 “check R is on G1” 应该检查对方的临时公钥,而不是己方的,敲代码走神了。

你可能感兴趣的:(程序设计)