[发明专利]数字签名验证方法及系统有效
申请号: | 201710228010.4 | 申请日: | 2017-04-07 |
公开(公告)号: | CN106899413B | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 程朝辉;杜峰;吴福印;周枭淳 | 申请(专利权)人: | 深圳奥联信息安全技术有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08 |
代理公司: | 深圳市明日今典知识产权代理事务所(普通合伙) 44343 | 代理人: | 王杰辉 |
地址: | 518000 广东省深圳市宝*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数字签名 验证 方法 系统 | ||
1.一种数字签名验证方法,其特征在于,包括以下步骤:
步骤A:生成主密钥、第一参数组及第二参数组;
步骤B:获取签名终端的标识ID_A,根据所述主密钥、第一参数组、第二参数组及标识ID_A生成标识私钥S_A;
步骤C:将所述标识私钥S_A及第一参数组发送至签名终端;
步骤D:通过所述签名终端对消息M进行签名,所述签名终端获得数字签名Q;
步骤E:接收验证终端的请求,将所述第一参数组和第二参数组发送至验证终端,其中,所述验证终端根据所述第一参数组、第二参数组及标识ID_A对接收到的消息M'及数字签名Q'进行验证;
其中,所述第一参数组包括E,e,g=e(P1,[s]P2),H,其中,E为椭圆曲线,e代表二元映射e:G1·G2→Gt,G1和G2为椭圆曲线E上的两个点群,G1是一个阶为q的循环群,G2是一个幂为q群,其子群阶为q,q为素数,P1∈G1,P2∈G2,e(P1,[s]P2)=e(P1,P2)s,主密钥包括s,[s]P2表示s个P2相加,H为消息映射函数,用于将比特串映射到[1,q-1]上;
所述第二参数组包括[s]P2;
所述P1包含于所述第一参数组或第二参数组或主密钥中。
2.根据权利要求1所述的数字签名验证方法,其特征在于,在步骤B中,所述标识私钥S_A通过以下公式计算获得:
S_A=[s/(H(1||ID_A)+s)]P1。
3.根据权利要求2所述的数字签名验证方法,其特征在于,步骤C之后还包括:
步骤C1:所述签名终端根据所述标识私钥S_A及第一参数组,结合签名终端获取的保护PIN_A码及系统特征码X,生成并保存私钥分片W,所述W通过以下方式获得:
如果P1在第一参数组,则W=f(S_A,PIN_A,X,P1);如果P1不在第一参数组,则W=f'(S_A,PIN_A,X);其中,f函数存在可逆函数z,函数z为S_A=z(W,PIN_A,X,P1),或f'函数存在可逆函数z',函数z'为S_A=z'(W,PIN_A,X)。
4.根据权利要求3所述的数字签名验证方法,其特征在于,在计算私钥分片W时,X的取值存在为零的情况。
5.根据权利要求3所述的数字签名验证方法,其特征在于,所述步骤D中的签名过程包括:
D1:产生随机数r,r∈[1,q-1];
D2:计算w=gr,将w的数据类型转换为比特串U;
D3:计算整数h=H(2||M||U);
D4:计算整数L=(r-h)modq,若L=0则返回D1;
D5:计算dA;
当W=f(S_A,PIN_A,X,P1)时,dA=z(W,PIN_A,X,P1);
或当W=f'(S_A,PIN_A,X)时,dA=z'(W,PIN_A,X);
D6:计算S=[L]dA;
D7:将h和S的数据类型转换为字节串,获得数字签名Q为(h,S)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳奥联信息安全技术有限公司,未经深圳奥联信息安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710228010.4/1.html,转载请声明来源钻瓜专利网。