欢迎光临散文网 会员登陆 & 注册

【Miracl密码库】国密算法SM2复现

2023-04-05 15:34 作者:C语言实验室  | 我要投稿

国密算法SM2的官方文档描述

http://www.gmbz.org.cn/main/postDetail.html?id=20180724110812

这是2018-07-24公布的文件《GM/T 0003-2012 SM2椭圆曲线公钥密码算法标准英文文本发布》

本文利用Miracl密码库实现SM2算法,参考GitHub源码完成

https://github.com/lookingforfanyunfei/SMX_Test/tree/master/SMX_Test

该源码项目给出了不同环境下的SM2密码实现,本文在Macbook环境下实现,采用的是arm64参数。

用Miracl密码库实现SM2密码算法,可以学习到椭圆曲线上的双线性配对运算,以及Miracl密码库提供的大数运算规则。

以下是SM2密码实现的过程

1、加入几个字节转化函数

在GitHub项目中,这三个函数有static关键字修饰,这里去掉,否则报错

下面看这三个函数的功能实现

bytes2hex将字符串转换为十六进制字符串,hex2bytes将十六进制字符串转换为字符串,dump_byte直接输出字符串的十六进制字符串。

2、功能函数

功能:生成指定长度随机数

随机数187179559的十六进制表示即0b282227,用dump_byte函数打印。

3、SM2的推荐参数设定

SM2标准推荐的ECC椭圆曲线参数


太长了,懒得复制了,移步去公众号看吧!

【Miracl密码库】国密算法SM2复现的评论 (共 条)

分享到微博请遵守国家法律