[发明专利]一种数字签名的方法、装置和系统有效
申请号: | 201711377948.9 | 申请日: | 2017-12-19 |
公开(公告)号: | CN109936455B | 公开(公告)日: | 2022-06-07 |
发明(设计)人: | 宁红宙;郭宝安 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08 |
代理公司: | 北京合智同创知识产权代理有限公司 11545 | 代理人: | 李杰 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数字签名 方法 装置 系统 | ||
1.一种数字签名方法,其特征在于,包括:
基于椭圆曲线函数进行数字签名,其中,所述椭圆曲线为E(Fq),基点为G=(xG,yG),阶为n,用[k]P表示椭圆曲线上的点乘运算,其中k为整数,P为椭圆曲线上的点;
第一签名方获取第一私密密钥dA、生成第一随机数kA,根据签名对象M和第一随机数kA生成第一中间变量QA和e,并将所述第一中间变量QA和e发送给第二签名方,其中QA=[kA]G,M的哈希值e=H(M),其中H()为给定的哈希计算函数;
所述第一签名方接收所述第二签名方发送的第一签名值r和第二中间变量sB1和sB2,所述第一签名值r和所述第二中间变量sB1和sB2根据所述第一中间变量QA和e、所述第二签名方获取的第二私密密钥dB和所述第二签名方生成的第二随机数kB计算而得,具体的,所述第二签名方进行如下所示计算:
令则
(x1,y1)=[k]G,以确定第一签名值r,以及第二中间变量sB1和sB2
r=(e+x1)modn
sB1=(dB·(r+kB))modn
sB2=(dB·r+kB)modn
所述第一签名方根据所述第一私密密钥dA、所述第一随机数kA、所述第一签名值r和所述第二中间变量sB1和sB2计算第二签名值s,
具体的,
由dA·dB=(1+d)-1和得
s=((1+d)-1·(k+r)-r)modn
=((1+d)-1·(k+r-(1+d)·r))modn
=((1+d)-1·(k-r·d))modn
其中,所述第一签名值r和所述第二签名值s构成所述签名对象的数字签名。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述第一签名方根据所述第一私密密钥计算第一部分公钥,并将所述第一部分公钥发送给所述第二签名方;
所述第一签名方接收所述第二签名方发送的第二部分公钥,所述第二部分公钥根据所述第一部分公钥和所述第二私密密钥计算所得;
所述第一签名方根据所述第二部分公钥计算所述数字签名的公钥。
3.根据权利要求2所述的方法,其特征在于,
所述第一签名方根据所述第一私密密钥计算第一部分公钥,具体包括:
所述第一签名方基于椭圆曲线对第一私密密钥进行计算,得到所述第一部分公钥;
所述第一签名方根据所述第二部分公钥计算所述数字签名的公钥,具体包括:
所述第一签名方基于椭圆曲线对第二部分公钥进行计算,得到所述数字签名的公钥。
4.根据权利要求1-3任一项所述的方法,其特征在于,
所述第一签名方根据签名对象和第一随机数生成第一中间变量,具体包括:
所述第一签名方根据签名对象和第一随机数,基于椭圆曲线生成第一中间变量;
所述第一签名方根据所述第一私密密钥、所述第一随机数、所述第一签名值和所述第二中间变量计算第二签名值,具体包括:
所述第一签名方根据所述第一私密密钥、所述第一随机数、所述第一签名值和所述第二中间变量,基于椭圆曲线计算第二签名值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711377948.9/1.html,转载请声明来源钻瓜专利网。