一种区块链下基于SM2的交易签名方法及装置制造方法及图纸

技术编号:32129086 阅读:20 留言:0更新日期:2022-01-29 19:24
本发明专利技术公开了一种区块链下基于SM2的交易签名方法及装置,包括:生成方针对待发送交易,确定第一三维坐标;基于第一预设步骤通过第一三维坐标的z坐标值和第一参数确定第一逆元,并根据第一逆元将第一三维坐标转换为第一二维坐标;任一第一预设步骤中包括第一预设次方数;任一第一预设步骤中的第一预设次方数是根据第一参数确定的;根据第一二维坐标、待发送交易的哈希值和第二参数确定第一签名参数;根据生成方的私钥和第二参数生成第二逆元;根据第二逆元确定第二签名参数;生成方发送待发送交易及第一签名参数和第二签名参数。减少确定第一逆元进而第二逆元时的计算量,从而降低生成签名的耗时,提升生成签名的效率。提升生成签名的效率。提升生成签名的效率。

【技术实现步骤摘要】
一种区块链下基于SM2的交易签名方法及装置


[0001]本专利技术涉及金融科技(Fintech)领域,尤其涉及一种区块链下基于SM2的交易签名方法及装置。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术(例如:区块链、云计算或大数据)应用在金融领域,传统金融业正在逐步向金融科技转变,大数据技术也不例外,但由于金融、支付行业的安全性、实时性要求,也对大数据技术签名算法效率提出了更高的要求。
[0003]目前,数字签名算法包括SM2、RSA算法等,针对SM2算法,在签名生成过程中,由三维坐标系转换为二维坐标系需要模逆运算,在最后生成签名时,也需要模逆运算的参与;在签名验证过程中,也需要通过将三维坐标系转换为二维坐标系,进而确定验证信息,即需要模逆运算。
[0004]而在签名算法中,模逆运算需要重复多次重复的执行平方运算,导致SM2算法所消耗的算力大,计算复杂、耗时,使签名生成及验证的效率低。

技术实现思路

[0005]本专利技术实施例提供一种区块链下基于SM2的交易签名方法及装置,用于减少计算量、降低耗时,提升生成签名的效率。
[0006]第一方面,本专利技术实施例提供一种区块链下基于SM2的交易签名方法,包括:
[0007]生成方针对待发送交易,基于SM2椭圆曲线的基点和第一随机数确定第一三维坐标;
[0008]所述生成方基于第一预设步骤通过所述第一三维坐标的z坐标值和所述SM2椭圆曲线的第一参数确定第一逆元,并根据所述第一逆元将所述第一三维坐标转换为第一二维坐标;任一第一预设步骤中包括第一预设次方数;所述任一第一预设步骤中的第一预设次方数是根据所述第一参数确定的;
[0009]所述生成方根据所述第一二维坐标、所述待发送交易的哈希值和所述SM2椭圆曲线的第二参数确定第一签名参数;
[0010]所述生成方根据所述生成方的私钥和所述第二参数生成第二逆元;根据所述第二逆元确定第二签名参数;
[0011]所述生成方发送所述待发送交易及签名,所述签名包括所述第一签名参数和所述第二签名参数。
[0012]上述技术方案中,根据第一预设步骤中各步骤的第一预设次方数,减少确定第一三维坐标的z坐标值模所述SM2椭圆曲线的第一参数的第一逆元时的计算量,从而降低生成签名的耗时,提升生成签名的效率。
[0013]可选的,所述生成方根据所述第一预设步骤确定所述第一三维坐标的z坐标值模所述SM2椭圆曲线的第一参数的逆元,包括:
[0014]所述生成方根据所述第一预设步骤确定所述第一三维坐标的z坐标值的q次方值;所述q=p

2,p为所述第一参数;所述第一预设步骤包括17个步骤;所述17个步骤中包括15个点乘算法的步骤;
[0015]对所述第一三维坐标的z坐标值的q次方值模所述第一参数,确定所述第一逆元。
[0016]上述技术方案中,基于第一三维坐标的z坐标值,通过17个步骤中包括15个点乘算法的步骤及两个非点乘算法的其他步骤就可以得到第一三维坐标的z坐标值的q次方值,即z
q
。以此减少确定第一逆元时的计算量,从而降低生成第一签名参数的耗时,提升生成第一签名参数的效率。
[0017]可选的,所述生成方确定所述第一三维坐标的z坐标值的q次方值,包括:
[0018]预设第一数量的第一变量,基于所述第一三维坐标的z坐标值确定各第一变量值;
[0019]基于所述各第一变量值确定第二变量值;
[0020]针对任一第一预设步骤,通过所述第一预设步骤的第一预设次方数和第一变量值对所述第二变量值进行更新,直至确定所述第二变量值为所述第一三维坐标的z坐标值的q次方值。
[0021]上述技术方案中,基于第一三维坐标的z坐标值,通过不同的步骤中的第一预设次方数,更新第二变量值,使基于第一三维坐标的z坐标值的次方数越来越接近q,直至第一三维坐标的z坐标值的次方数等于q,得到第一三维坐标的z坐标值的q次方值,即z
q
。以此减少确定第一逆元时的计算量,从而降低生成第一签名参数的耗时,提升生成第一签名参数的效率。
[0022]可选的,所述生成方确定所述生成方的私钥模所述第二参数的第二逆元,包括:
[0023]所述生成方根据第二预设步骤确定f的m次方值;所述m=n

2,n为所述第二参数;所述f为所述生成方的私钥与1的和;所述第二预设步骤包括40个步骤;所述40个步骤中包括39个点乘算法的步骤;
[0024]对所述f的m次方值模所述第二参数,确定所述第二逆元。
[0025]上述技术方案中,基于所述生成方的私钥与1的和f,通过40个步骤中包括39个点乘算法的步骤及一个非点乘算法的其他步骤就可以得到f的m次方值,即f
m
。以此减少确定第二逆元时的计算量,从而降低生成第二签名参数的耗时,提升生成第二签名参数的效率。
[0026]可选的,所述生成方根据第二预设步骤确定所述第一三维坐标的z坐标值的m次方值,包括:
[0027]预设第二数量的第三变量,基于所述f的值确定各第三变量值;
[0028]基于所述各第三变量值确定第四变量值;
[0029]针对任一第二预设步骤,通过所述第二预设步骤的第二预设次方数和第三变量值对所述第四变量值进行更新,直至确定所述第四变量值为所述f的m次方值。
[0030]上述技术方案中,基于所述生成方的私钥与1的和f,通过不同的步骤中的第二预设次方数,更新第四变量值,使基于f的次方数越来越接近m,直至f的次方数等于m,得到f的m次方值,即f
m
。以此减少确定第二逆元时的计算量,从而降低生成第二签名参数的耗时,提升生成第二签名参数的效率。
[0031]第二方面,本专利技术实施例提供一种区块链下基于SM2的交易签名方法,包括:
[0032]验证方获取待验证交易的签名和所述待验证交易的哈希值;所述签名包括第一签
名参数和第二签名参数;所述第一签名参数是生成方根据第一二维坐标、所述待验证交易的哈希值和SM2椭圆曲线的第二参数确定的;所述第一二维坐标是将第一三维坐标通过第一逆元转换得到的;所述第二签名参数是生成方根据第二逆元确定的;所述第一逆元是所述生成方基于第一预设步骤通过第一三维坐标的z坐标值和所述SM2椭圆曲线的第一参数确定的;任一第一预设步骤中包括第一预设次方数;所述任一第一预设步骤中的第一预设次方数是根据所述第一参数确定的;所述第二逆元是所述生成方根据所述生成方的私钥和第二参数确定的;所述第一三维坐标是所述生成方基于SM2椭圆曲线的基点和第一随机数确定的;
[0033]所述验证方根据所述第一签名参数、所述第二签名参数和所述SM2椭圆曲线的第二参数确定第一验证参数;
[0034]所述验证方根据所述第二签名参数、所述SM2椭圆曲线的基点、所述第一验证参数和所述生成方的公钥确定第二三维坐标;
[0035]所述验证方根据所述第一签名本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链下基于SM2的交易签名方法,其特征在于,包括:生成方针对待发送交易,基于SM2椭圆曲线的基点和第一随机数确定第一三维坐标;所述生成方基于第一预设步骤通过所述第一三维坐标的z坐标值和所述SM2椭圆曲线的第一参数确定第一逆元,并根据所述第一逆元将所述第一三维坐标转换为第一二维坐标;任一第一预设步骤中包括第一预设次方数;所述任一第一预设步骤中的第一预设次方数是根据所述第一参数确定的;所述生成方根据所述第一二维坐标、所述待发送交易的哈希值和所述SM2椭圆曲线的第二参数确定第一签名参数;所述生成方根据所述生成方的私钥和所述第二参数生成第二逆元;根据所述第二逆元确定第二签名参数;所述生成方发送所述待发送交易及签名,所述签名包括所述第一签名参数和所述第二签名参数。2.如权利要求1所述的方法,其特征在于,所述生成方根据所述第一预设步骤确定所述第一三维坐标的z坐标值模所述SM2椭圆曲线的第一参数的逆元,包括:所述生成方根据所述第一预设步骤确定所述第一三维坐标的z坐标值的q次方值;所述q=p

2,p为所述第一参数;所述第一预设步骤包括17个步骤;所述17个步骤中包括15个点乘算法的步骤;对所述第一三维坐标的z坐标值的q次方值模所述第一参数,确定所述第一逆元。3.如权利要求2所述的方法,其特征在于,所述生成方确定所述第一三维坐标的z坐标值的q次方值,包括:预设第一数量的第一变量,基于所述第一三维坐标的z坐标值确定各第一变量值;基于所述各第一变量值确定第二变量值;针对任一第一预设步骤,通过所述第一预设步骤的第一预设次方数和第一变量值对所述第二变量值进行更新,直至确定所述第二变量值为所述第一三维坐标的z坐标值的q次方值。4.如权利要求1所述的方法,其特征在于,所述生成方确定所述生成方的私钥模所述第二参数的第二逆元,包括:所述生成方根据第二预设步骤确定f的m次方值;所述m=n

2,n为所述第二参数;所述f为所述生成方的私钥与1的和;所述第二预设步骤包括40个步骤;所述40个步骤中包括39个点乘算法的步骤;对所述f的m次方值模所述第二参数,确定所述第二逆元。5.如权利要求4所述的方法,其特征在于,所述生成方根据第二预设步骤确定所述第一三维坐标的z坐标值的m次方值,包括:预设第二数量的第三变量,基于所述f的值确定各第三变量值;基于所述各第三变量值确定第四变量值;针对任一第二预设步骤,通过所述第二预设步骤的第二预设次方数和第三变量值对所述第四变量值进行更新,直至确定所述第四变量值为所述f的m次方值。6.一种区块链下基于SM2的交易签名方法,其特征在于,包括:验证方获取待验证交易的签名和所述待验证交易的哈希值;所述签名包括第一签名参
数和第二签名参数;所述第一签名参数是生成方根据第一二维坐标、所述待验证交易的哈希值和SM2椭圆曲线的第二参数确定的;所述第一二维坐标是将第一三维坐标通过第一逆元转换得到的;所述第二签名参数是生成方根据第二逆元确定的;所述第一逆元是所述生成方基于第一预设步骤通过第一三维坐标的z坐标值和所述SM2椭圆曲线的第一参数确定的;任一第一预设步骤中包括第一预设次方数;所述任一第一预设...

【专利技术属性】
技术研发人员:冯宗浩罗琼谢启鹏李辉忠严强李昊轩陈宇杰
申请(专利权)人:香港科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1