[发明专利]一种轻量级两方协同产生SM9签名的方法及介质在审
申请号: | 201911169208.5 | 申请日: | 2019-11-25 |
公开(公告)号: | CN110943845A | 公开(公告)日: | 2020-03-31 |
发明(设计)人: | 何德彪;张语荻;罗敏;李莉;黄欣沂 | 申请(专利权)人: | 武汉大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 鲁力 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 轻量级 协同 产生 sm9 签名 方法 介质 | ||
1.一种轻量级两方协同产生SM9签名的方法,其特征在于,生成SM9数字签名时,有两方共同参与,一方为A1,一方为A2;
步骤1、给定是用户A的身份IDA,密钥生成中心(KGC)执行如下步骤来产生A1和A2的私钥:
步骤1.1、计算一个临时变量t1=H1(IDA||hid,q)+ks,若t1=0则需重新产生签名主私钥,计算和公开签名主公钥,并更新已有用户的签名私钥;否则计算第二个临时变量这里H1是第一个哈希函数,hid表示的签名私钥生成函数识别符,由KGC选择并公开;
步骤1.2、在集合{1,...,q-1}中随机选择一个数d1,计算这里表示d1的逆元,即
步骤1.3、设置第一个参与方A1的私钥为设置第二个参与方A2的私钥为
步骤1.4、把和分别发给A1和A2;
步骤2、获得密钥后,A1和A2在分布式SM9数字签名生成阶段通过执行如下步骤来产生数字签名:
步骤2.1、A1首先计算的中的元素g=e(P1,Ppub-s);从{1,...,q-1}中随机选择一个数k1并计算第一个临时部分公钥A1将w1发送给A2;
步骤2.2、A2收到w1后,随机选择一个数k2并计算目标临时公钥通过w算出签名的第一部分h=H2(M||w,q),其中,M是待签名的消息,H2是第二个哈希函数;A2计算部分签名s′=k2-d2·h mod q,并将h和s′发送给A1;
步骤2.3、A1计算签名的第二部分A1验证签名的正确性,若验证通过,则输出SM9签名(h,S)。
2.一种计算机存储介质,其特征在于,存储有计算机程序,运行计算机程序包括以下步骤:
步骤1、给定是用户A的身份IDA,密钥生成中心(KGC)执行如下步骤来产生A1和A2的私钥:
步骤1.1、计算一个临时变量t1=H1(IDA||hid,q)+ks,若t1=0则需重新产生签名主私钥,计算和公开签名主公钥,并更新已有用户的签名私钥;否则计算第二个临时变量这里H1是第一个哈希函数,hid表示的签名私钥生成函数识别符,由KGC选择并公开;
步骤1.2、在集合{1,...,q-1}中随机选择一个数d1,计算这里表示d1的逆元,即
步骤1.3、设置第一个参与方A1的私钥为设置第二个参与方A2的私钥为
步骤1.4、把和分别发给A1和A2;
步骤2、获得密钥后,A1和A2在分布式SM9数字签名生成阶段通过执行如下步骤来产生数字签名:
步骤2.1、A1首先计算的中的元素g=e(P1,Ppub-s);从{1,...,q-1}中随机选择一个数k1并计算第一个临时部分公钥A1将w1发送给A2;
步骤2.2、A2收到w1后,随机选择一个数k2并计算目标临时公钥通过w算出签名的第一部分h=H2(M||w,q),其中,M是待签名的消息,H2是第二个哈希函数;A2计算部分签名s′=k2-d2·h mod q,并将h和s′发送给A1;
步骤2.3、A1计算签名的第二部分A1验证签名的正确性,若验证通过,则输出SM9签名(h,S)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911169208.5/1.html,转载请声明来源钻瓜专利网。