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

本系列详述国密SM9算法的C++实现过程,覆盖算法介绍、工具测试、椭圆曲线操作、签名验证、密钥封装、加密解密及密钥交换等功能。提供完整源码下载,适用于VS2019编译,含miracl库支持与bug修复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

前段时间有些同志询问源码,还有些在问SM3、SM4代码,甚至是十六进制的转换的代码,所以这次整理后,直接提供全部源码,大家可以在下面的链接处下载。
新的下载地址:https://download.youkuaiyun.com/download/yaoyuanyylyy/87462291
新版本添加了miracl库的编译项目,增加了 x64 的支持。

这是一个VC++项目,在win10 64位上用vs2019写的。
在文件 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” 应该检查对方的临时公钥,而不是己方的,敲代码走神了。

旧版本地址(miracl只提供x86库):https://download.youkuaiyun.com/download/yaoyuanyylyy/10780623

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值