[发明专利]一种数字签名算法及系统有效
申请号: | 201910843279.2 | 申请日: | 2019-09-06 |
公开(公告)号: | CN110505061B | 公开(公告)日: | 2022-05-03 |
发明(设计)人: | 张海松;王超;许明 | 申请(专利权)人: | 北京天诚安信科技股份有限公司 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/32 |
代理公司: | 北京酷爱智慧知识产权代理有限公司 11514 | 代理人: | 占丽君 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数字签名 算法 系统 | ||
1.一种数字签名算法,其特征在于,包括:系统签名主密钥、副密钥和用户签名密钥的生成算法、数字签名生成算法和数字签名验证算法;
其中,所述系统签名主密钥、副密钥和用户签名密钥的生成算法,包括:
基于第一随机数确定签名主私钥和签名主公钥;
基于第二随机数确定签名副私钥和签名副公钥;
基于所述签名主私钥和所述签名副私钥,计算第一中间结果;
若所述第一中间结果为0,则中止计算;
若所述第一中间结果不为0,则计算第二中间结果;
基于所述第一中间结果和所述第二中间结果,生成所述用户签名密钥;
所述系统签名主密钥、副密钥和用户签名密钥的生成算法具体包括:
1011,密钥生成中心(KGC)产生第一随机数ks∈[1,N-1]作为签名主私钥,计算阶为素数N的第二加法循环群G2中的元素Ppub-s=[ks]P2作为签名主公钥,则签名主密钥对为(ks,Ppub-s),其中,P2为G2的第二生成元,KGC秘密保存ks、公开Ppub-s;
1012,KGC产生第二随机数kx∈[1,N-1],且kx≠ks,作为签名副私钥,计算G2中的元素Px=[kx]P2作为签名副公钥,其中,KGC秘密保存kx,公开Px;
1013,KGC选择并公开用一个字节表示的签名私钥生成函数识别符hid;
1014,在有限域FN上计算第一中间结果t1=H1(IDA||hid,N)·kx+ks,其中,H1为由密码杂凑函数派生的密码函数,IDA为用户A的标识,IDA||hid表示IDA与hid的拼接;
1015,若t1=0,则计算中止;
若t1≠0,则计算第二中间结果t2=ks·t1-1modN,从而计算用户A的签名私钥dsA=[t2]P1,其中P1表示阶为素数N的第一加法循环群G1的第一生成元;
所述数字签名生成算法包括:
设待签名的消息为比特串M,为了获取消息M的数字签名(h,S),作为签名者的用户A应实现以下运算步骤:
1021,计算阶为素数N的乘法循环群GT中的第一元素g=e(P1,Ppub-s),其中e表示从G1×G2到GT的双线性对;
1022,产生第三随机数r∈[1,N-1];
1023,计算阶为素数N的乘法循环群GT中的第一元素w=gr,将w的数据类型转换为比特串,gr表示乘法群GT中第二元素g的r次幂,r为正整数;
1024,计算第一中间整数h=H2(M||w,N),其中H2()为由密码杂凑函数派生的密码函数,输入为M||w拼接的比特串和整数N,输出为一个整数h∈[1,N-1];
1025,计算第二中间整数l=(r-h)mod N,若l=0则返回1022;
1026,计算第一加法循环群G1中的第一检验元素S=[l]dsA;
1027,则消息M的签名为(h,S)。
2.根据权利要求1所述的数字签名算法,其特征在于,所述第一随机数和所述第二随机数为1至N-1的整数,且所述第一随机数不等于所述第二随机数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京天诚安信科技股份有限公司,未经北京天诚安信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910843279.2/1.html,转载请声明来源钻瓜专利网。