CN111245617B - 一种基于ecdsa的双重门限签名方法 - Google Patents
一种基于ecdsa的双重门限签名方法 Download PDFInfo
- Publication number
- CN111245617B CN111245617B CN202010164377.6A CN202010164377A CN111245617B CN 111245617 B CN111245617 B CN 111245617B CN 202010164377 A CN202010164377 A CN 202010164377A CN 111245617 B CN111245617 B CN 111245617B
- Authority
- CN
- China
- Prior art keywords
- node
- established
- calculates
- formula
- following formula
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 239000000126 substance Substances 0.000 claims description 6
- 230000002194 synthesizing effect Effects 0.000 claims description 2
- 239000002356 single layer Substances 0.000 abstract description 2
- 230000008520 organization Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 3
- 239000002131 composite material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种基于ECDSA的双重门限签名方法,将一个非对称加密的主私钥拆分成n组,每组m个孙私钥。将任意t组中,每组任意u个孙私钥进行安全计算,就可以对一个信息进行电子签名,其结果与直接用主私钥签名的结果相同;但若某一组参与计算的孙私钥少于u个,或者参与组别少于t个,都将无法得到正确的签名结果。另外,在方案进行过程中,将没有人可以获得系统的母私钥或者代表任何一个组别的子私钥。其中n,m,t,u均为自定义参数,用户可以根据自己的需要自行设定。本发明拓展了单层门限签名的应用场景,并增加了安全性。
Description
技术领域
本发明涉及电子信息安全领域,具体涉及一种基于ECDSA的双重门限签名方法。
背景技术
现在越来越多的互联网服务都基于非对称加密算法的电子签名来验证用户身份,例如某笔资金的转账。普通的门限签名方案适用于如下场景:某个权益需要n个人共同管理,但是出于安全的考虑,要求其中任意(t-1)个人私通也无法获得该权益。然而,这样的方案却无法满足更为复杂的权益管理场景,例如某个权益需要n个组织共同管理,要求其中任意(t-1)个组织私通也无法获得该权益;而每个组织又出于安全性的考虑,需要将代表自己组织的那部分权益委托给m个成员进行管理,而其中任意(u-1)个成员私通也无法获得代表组织的那份权益。另外,现有的一些门限算法,在子私钥生成过程中或者签名过程中,会暂时性地复原主私钥,或者需要一个可信中心,这就大大降低了整个方案的安全性,这也是需要优化的。
发明内容
针对现有技术的不足,本发明提出一种基于ECDSA的双重门限签名方法,该方法能够满足复杂的权限管理需求,且安全性更高。
本发明的目的通过如下的技术方案来实现:
一种基于ECDSA的双重门限签名方法,该方法具体包括如下步骤:
S1:生成母公钥及孙私钥,其中,(i,j)用来表示某个节点,i代表该节点所在的大组,而j代表该节点在该大组中的序号,(α,β)用来表示另一个节点,α代表这个节点所在的大组,而β代表这个节点在该大组中的序号;i=1,2……,n;j=1,2……,m;α=1,2……,n;β=1,2……,m;
具体如下:
S1.1:每个节点选择随机数d(i,j),计算d(i,j)G并广播,其中,G为椭圆曲线基点,xG为基于椭圆曲线上定义的广义乘法;
S1.2:每个节点选择随机数a(i,j,k),k=1,2……,t-1,生成t-1次多项式
f(i,j)(x)=d(i,j)+a(i,j,1)x+a(i,j,1)x+a(i,j,2)x2+…+a(i,j,t-1)xt-1
S1.3:每个节点计算并广播a(i,j,k)G和f(i,j)(ID(α))G,k=1,2……,t-1;
S1.4:每个节点计算f(i,j)(ID(α)),并把f(i,j)(ID(α))用安全信道发送给所有组别为α的节点,发送过程中当遇到自己发送给自己的情况,则直接将值保存;其中,ID(·)为大组的特殊编号,N(i,j)表示每个节点的特殊编号;
S1.5:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S1.6;
S1.6:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S1.7;
其中,
其中,A表示从1~n这n个自然数中任意取t个元素得到的若干个集合;
S1.7:每个节点选择随机数a(i,j,α,l),l=1,2……,u-1,生成n个u-1次多项式
f(i,j,α)(x)=f(i,j)(ID(α))+a(i,j,α,1)x+a(i,j,α,2)x2+…+a(i,j,α,u-1)xu-1
S1.8:每个节点计算并广播a(i,j,α,l)G和f(i,j,α)(N(α,β))G,l=1,2……,u-1;
S1.9:每个节点对于每一个(α,β)计算f(i,j,α)(N(α,β)),并用安全信道发送给对应的节点(α,β),发送过程中当遇到自己发送给自己的情况,则直接将值保存;其中,f(i,j,α)(N(α,β))的计算方式如下:
S1.10:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S1.11;
S1.12:每个节点分别计算孙公钥和母公钥,其中
孙公钥的计算过程如下:
每个节点首先按照下式计算自己的孙私钥s(α,β),并妥善保管,然后每个节点再计算孙公钥PK(i,j)=s(i,j)G并广播;
其中母公钥的计算公式如下:
S2:合成签名,其中,(i,j)用来表示某个节点,i代表该节点所在的大组,而j代表该节点在该大组中的序号,(α,β)用来表示另一个节点,α代表这个节点所在的大组,而β代表这个节点在该大组中的序号;根据方案描述的应用场景,签名时只需要t个组别,每个组别提供u个节点就能完成签名,因此这4个参数的取值范围发生了变化,i=1,2……,t;j=1,2……,u;α=1,2……,t;
S2.2:每个节点按照下式计算s′(i,j)
s′(i,j)=bjbis(i,j)
其中,
S2.4:每个节点选择随机数p(i,j,q),q=1,2……,tu-1;生成如下tu-1次多项式
f(i,j)(x)=v′(i,j)+p(i,j,1)x+p(i,j,2)x2+…+p(i,j,tu-1)xtu-1
S2.5:每个节点计算f(i,j)(N(α,β)),并通过安全信道发送给相应编号的节点;发送过程中当遇到自己发送给自己的情况,则直接将值保存;
S2.6:每个节点计算f(i,j)(N(α,β))G并广播;
S2.7:每个节点计算v′(i,j)G以及p(i,j,q)G并广播,q=1,2……,tu-1;
S2.8:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.9;
S2.9:每个节点按照下式计算并保存v(i,j)
S2.10:每个节点计算v(i,j)G并广播;
S2.11:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.12;
S2.12:每个节点选择随机数c(i,j,q),q=1,2……,tu-1,生成如下tu-1次多项式
S2.13:每个节点计算g(i,j)(N(α,β))并通过安全信道发送给相应编号的节点;发送过程中当遇到自己发送给自己的情况,则直接将值保存;
S2.14:每个节点计算g(i,j)(N(α,β)G并广播;
S2.16:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.16;
S2.17:每个节点按照下式计算r-1 (i,j)
S2.18:每个节点计算r-1 (i,j)G并广播;
S2.19:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.20;
S2.20:每个节点选择随机数w′(i,j),并选择随机数e(i,j,q),q=1,2……,tu-1;生成如下tu-1次多项式
h(i,j)(x)=w′(i,j)+e(i,j,1)x+e(i,j,2)x2+…+e(i,j,tu-1)xtu-1
S2.21:每个节点计算h(i,j)(N(α,β)),并通过安全信道发送给相应编号的节点;发送过程中当遇到自己发送给自己的情况,则直接将值保存;
S2.22:每个节点计算h(i,j)(N(α,β))G并广播;
S2.23:每个节点计算w′(i,j)G以及e(i,j,q)G并广播;
S2.24:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.25;
S2.25:每个节点按照下式计算w(i,j)
S2.26:每个节点参与安全多方乘法计算,输入为r-1 (i,j)和w′(i,j),得到输出为r′- 1w′(i,j),并广播;
S2.27:每个节点按照下式计算r-1w
S2.28:每个节点按照下式计算r(i,j)
r(i,j)=w(i,j)(r-1w)-1
S2.29:每个节点计算r(i,j)G并广播;
S2.30:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.31;
S2.31:每个节点通过下式计算rG,并将rG的横坐标记为Rx
其中
S2.32:每个节点通过下式计算sig(i,j)
sig(i,j)=r-1 (i,j)tx+v(i,j)Rx
其中,tx表示需要签名的信息;
S2.33:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.34;
sig(α,β)G=txr-1 (α,β)G+Rxv(α,β)G
S2.34:每个节点通过下式计算获得主签名的一部分
其中
S2.35:通过S2.31计算得到的rG和S2.34计算得到的sig获得正式签名(rG,sig)。
本发明的有益效果如下:
(1)本发明的签名结果符合普通的ECDSA标准,不需要增加任何额外逻辑,对于验证者而言,是零感知的,因此本方案可以对任何使用ECDSA签名算法的用户侧进行改造,通用性强。
(2)本方案是双层门限方案,能够满足更为复杂的权限管理需求。例如某个权益需要n个组织共同管理,要求其中任意(t-1)个组织私通也无法获得该权益;而每个组织又出于安全性的考虑,需要将代表自己组织的那部分权益委托给m个成员进行管理,而其中任意(u-1)个成员私通也无法获得代表组织的那份权益。相对于将单层的门限算法叠加使用的方案,本发明的方法执行过程中孙私钥的生成过程和签名过程中均不出现主私钥,也不出现子私钥,从而大大提升了安全性。
(3)本发明的签名方法不需要一个可信中心作为一些事务的判断依据,从而消除了“单点失效”的影响。
附图说明
图1为本发明的签名方法中的计算母公钥及孙私钥的流程图;
图2为本发明的签名方法中签名的流程图。
具体实施方式
下面根据附图和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的基于ECDSA的双重门限签名方法主要由生成母公钥及孙私钥和合成签名两个部分组成,第一部分相当于系统的初始化,而第二部分相当于系统的使用。
一、生成母公钥及孙私钥(如图1所示)
这个过程中,(i,j)用来表示某个节点,i代表该节点所在的大组,而j代表该节点在该大组中的序号,(α,β)用来表示另一个节点,α代表这个节点所在的大组,而β代表这个节点在该大组中的序号;i=1,2......,n;j=1,2......,m;α=1,2......,n;β=1,2......,m;当一个式子中,同时出现(i,j)和(α,β)时,说明式子中存在2个不同的节点。
具体如下:
1.1.每个节点选择随机数d(i,j),计算d(i,j)G并广播,其中,G为椭圆曲线基点,xG为基于椭圆曲线上定义的广义乘法。
随机数d(i,j)是最终母私钥的重要计算参数,由于每个节点都各自生成了一个其他人无法得知的随机数,因此没有节点可以操纵或者预测母私钥。d(i,j)G类似于一种承诺,当其他人都知道d(i,j)G时,节点便无法篡改先前已经生成的d(i,j)了,但是,其他人又无法从d(i,j)G反推得到d(i,j)的值。
1.2.随后,各节点以秘密分享的方式,传播自己的d(i,j)的份额,具体如下
1.2.1每个节点选择随机数a(i,j,k),k=1,2……,t-1,生成t-1次多项式
f(i,j)(x)=d(i,j)+a(i,j,1)x+a(i,j,2)x2+…+a(i,j,t-1)xt-1
1.2.3每个节点计算f(i,j)(ID(α)),,并把f(i,j)(ID(α))用安全信道发送给所有组别为α的节点,发送过程中当遇到自己发送给自己的情况,则直接将值保存;其中,ID(·)为大组的特殊编号,N(i,j)表示每个节点的特殊编号;
此时,计算子私钥的数据已经生成,但是由于方案本身不进行子私钥的复原计算,少数节点所掌握的信息不够,因此即便私下通讯,也无法复原出子私钥的内容。
1.2.4为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
可选地,当1.2.4不通过时,可以改为各节点重新回到流程1.2.1。
1.2.5为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
其中,
其中,A表示从1~n这n个自然数中任意取t个元素得到的若干个集合;
例如,当n=4,而t=2时,A可能为{1,2},{1,3},{1,4},{2,3},{2,4},{3,4},对于每一个可能的A,都要进行验算。
可选地,也可以验证一部分A,只要满足以下条件1)A1∪A2∪A3∪…∪Amax={1,2,3,……,n};2)对于任意的Ai,Aj,都存在一个转换路径,这个路径是若干个集合的一个排列,其头和尾为Ai和Aj,且路径中相邻的两个集合的不同元素的个数仅为1。
可选地,当1.2.5不通过时,可以改为各节点重新回到流程1.2.1。
1.3.随后,需要将子私钥继续拆分成孙私钥,具体如下
1.3.1每个节点选择随机数a(i,j,α,l),l=1,2……,u-1,,生成n个u-1次多项式
f(i,j,α)(x)=f(i,j)(ID(α))+a(i,j,α,1)x+a(i,j,α,2)x2+…+a(i,j,α,u-1)xu-1
1.3.2每个节点计算并广播a(i,j,α,l)G和f(i,j,α)(N(α,β))G,l=1,2……,u-1;
1.3.3每个节点对于每一个(α,β)计算f(i,j,α)(N(α,β)),并用安全信道发送给对应的节点(α,β),发送过程中当遇到自己发送给自己的情况,则直接将值保存;其中,f(i,j,α)(N(α,β))的计算方式如下:
1.3.4为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
可选地,当1.3.4不通过时,可以改为各节点重新回到流程1.3.1。
1.4每个节点分别计算孙公钥和母公钥;
(1)孙公钥的计算过程为:
每个节点首先按照下式计算自己的孙私钥s(α,β),并妥善保管;
然后,每个节点计算孙公钥PK(i,j)=s(i,j)G并广播。这一步是使得各个节点无法在后续流程中偷偷修改自己的s(i,j)的值
(2)母公钥的计算公式如下:
可选地,由于d(i,j)G是公开信息,此流程可以由另外的独立角色进行。
二、合成签名(如图2所示)
其中,(i,j)用来表示某个节点,i代表该节点所在的大组,而j代表该节点在该大组中的序号,(α,β)用来表示另一个节点,α代表这个节点所在的大组,而β代表这个节点在该大组中的序号;根据方案描述的应用场景,签名时只需要t个组别,每个组别提供u个节点就能完成签名,因此这4个参数的取值范围发生了变化。在实际运行过程中,序号不一定连续,但是不失一般性,在这里我们约定i=1,2……,t;j=1,2……,u;α=1,2……,t;β=1,2……,u;具体如下:
2.1椭圆曲线的签名过程需要生成一个随机数,然后基于这个随机数的倒数,生成签名的一部分,在多方参与的签名过程中,这个随机数不能暴露给任何一个参与节点,否则就有暴露母私钥的风险。因此,先通过流程计算r-1s的份额v'(i,j)
2.1.2每个节点按照下式计算s′(i,j)
s′(i,j)=bjbis(i,j)
其中,
2.2随后,需要计算r-1的份额r-1 (i,j);
2.2.1每个节点选择随机数p(i,j,q),q=1,2……,tu-1;生成如下tu-1次多项式
f(i,j)(x)=v′(i,j)+p(i,j,1)x+p(i,j,2)x2+…+p(i,j,tu-1)xtu-1
2.2.2每个节点计算f(i,j)(N(α,β)),并通过安全信道发送给相应编号的节点;发送过程中当遇到自己发送给自己的情况,则直接将值保存;
2.2.3每个节点计算f(i,j)(N(α,β))G并广播;
2.2.4每个节点计算v′(i,j)G以及p(i,j,q)G并广播,q=1,2……,tu-1;;
2.2.5为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
可选地,当2.2.5不通过时,可以改为各节点重新回到流程2.2.1。
2.2.6每个节点按照下式计算并保存v(i,j)
2.2.7每个节点计算v(i,j)G并广播;
2.2.8为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
可选地,当2.2.8不通过时,可以改为各节点重新回到流程2.2.6。
2.2.9每个节点选择随机数c(i,j,q),q=1,2……,tu-1,,生成如下tu-1次多项式
2.2.10每个节点计算g(i,j)(N(α,β)并通过安全信道发送给相应编号的节点;发送过程中当遇到自己发送给自己的情况,则直接将值保存;
2.2.11每个节点计算g(i,j)(N(α,β)G并广播;
2.2.13为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
可选地,若2.2.13不通过时,可以改为各节点重新回到流程2.2.9。
2.2.15每个节点按照下式计算r-1 (i,j)G
至此,份额r-1 (i,j)G已经计算完毕,但是为了确定后续计算中,节点不会偷偷修改自己的r-1 (i,j)G,还需要2.2.16和2.2.17;
2.2.16每个节点计算r-1 (i,j)G并广播;
2.2.17为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
可选地,若2.2.17不通过时,可以改为各节点重新回到流程2.2.15。
2.3计算rG
2.3.1每个节点选择随机数w′(i,j),并选择随机数e(i,j,q),q=1,2……,tu-1;生成如下tu-1次多项式
h(i,j)(x)=w′(i,j)+e(i,j,1)x+e(i,j,2)x2+…+e(i,j,tu-1)xtu-1
2.3.2每个节点计算h(i,j)(N(α,β),并通过安全信道发送给相应编号的节点;发送过程中当遇到自己发送给自己的情况,则直接将值保存;
2.3.3每个节点计算h(i,j)(N(α,β)G并广播;
2.3.5为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
可选地,当2.3.5不通过时,可以改为各节点重新回到流程2.3.1。
2.3.6每个节点按照下式计算w(i,j)
2.3.7每个节点参与安全多方乘法计算,输入为r-1 (i,j)和w′(i,j),得到输出为r′- 1w′(i,j),并广播;
2.3.8每个节点按照下式计算r-1w
2.3.9每个节点按照下式计算r(i,j)
r(i,j)=w(i,j)(r-1w)-1
2.3.10每个节点计算r(i,j)G并广播;
2.3.11为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
可选地,当2.3.12不通过时,可以改为各节点重新回到流程2.3.6。
2.3.13每个节点通过下式计算rG,并将rG的横坐标记为Rx
其中
2.4计算母签名一部分的份额sig(i,j)
2.4.1每个节点通过下式计算sig(i,j)
sig(i,j)=r-1 (i,j)tx+v(i,j)Rx
其中,tx表示需要签名的信息;
2.4.2为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
sig(α,β)G=txr-1 (α,β)G+Rxv(α,β)G
可选地,当2.4.2不通过时,可以改为各节点重新回到流程2.4.1。
2.5每个节点通过下式计算获得主签名的一部分
其中
2.6通过2.3.13计算得到的rG和2.5计算得到的sig获得正式签名(rG,sig)。
此签名可以与前面得到的母公钥结合,通过ECDSA的签名检验。
本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管参照前述实例对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均应包含在发明的保护范围之内。
Claims (1)
1.一种基于ECDSA的双重门限签名方法,其特征在于,该方法具体包括如下步骤:
S1:生成母公钥及孙私钥;定义(i,j)用来表示某个节点,i代表该节点所在的大组,而j代表该节点在该大组中的序号,(α,β)用来表示另一个节点,α代表这个节点所在的大组,而β代表这个节点在该大组中的序号;i=1,2......,n;j=1,2......,m;α=1,2......,n;β=1,2......,m;xG为基于椭圆曲线上定义的广义乘法;
具体如下:
S1.1:每个节点选择随机数d(i,j),计算d(i,j)G并广播,其中,G为椭圆曲线基点;
S1.2:每个节点选择随机数a(i,j,k),k=1,2……,t-1,生成t-1次多项式
f(i,j)(x)=d(i,j)+a(i,j,1)x+a(i,j,2)x2+…+a(i,j,t-1)xt-1
S1.3:每个节点计算并广播a(i,j,k)G和f(i,j)(ID(α))G,k=1,2......,t-1;
S1.4:每个节点计算f(i,j)(ID(α)),并把f(i,j)(ID(α))用安全信道发送给所有组别为α的节点,发送过程中当遇到自己发送给自己的情况,则直接将值保存;其中,ID(·)为大组的特殊编号;
S1.5:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S1.6;
S1.6:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S1.7;
其中,
其中,A表示从1~n这n个自然数中任意取t个元素得到的若干个集合;
S1.7:每个节点选择随机数a(i,j,α,l),l=1,2……,u-1,生成n个u-1次多项式
f(i,j,α)(x)=f(i,j)(ID(α))+a(i,j,α,1)x+a(i,j,α,2)x2+…+a(i,j,α,u-1)xu-1
S1.8:每个节点计算并广播a(i,j,α,l)G和f(i,j,α)(N(α,β))G,l=1,2……,u-1;其中,N(i,j)表示每个节点的特殊编号;
S1.9:每个节点对于每一个(α,β)计算f(i,j,α)(N(α,β)),并用安全信道发送给对应的节点(α,β),发送过程中当遇到自己发送给自己的情况,则直接将值保存;其中,f(i,j,α)(N(α,β))的计算方式如下:
S1.10:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S1.11;
S1.11:每个节点分别计算孙公钥和母公钥,其中
孙公钥的计算过程如下:
每个节点首先按照下式计算自己的孙私钥s(α,β),并妥善保管,然后每个节点再计算孙公钥PK(i,j)=s(i,j)G并广播;
其中母公钥的计算公式如下:
S2:合成签名,其中,(i,j)用来表示某个节点,i代表该节点所在的大组,而j代表该节点在该大组中的序号,(α,β)用来表示另一个节点,α代表这个节点所在的大组,而β代表这个节点在该大组中的序号;根据方案描述的应用场景,签名时只需要t个组别,每个组别提供u个节点就能完成签名,因此这4个参数的取值范围发生了变化,i=1,2......,t;j=1,2......,u;α=1,2......,t;
S2.2:每个节点按照下式计算s′(i,j)
s′(i,j)=bjbis(i,j)
其中,
S2.4:每个节点选择随机数p(i,j,q),q=1,2……,tu-1;生成如下tu-1次多项式
f(i,j)(x)=v′(i,j)+p(i,j,1)x+p(i,j,2)x2+…+p(i,j,tu-1)xtu-1
S2.5:每个节点计算f(i,j)(N(α,β)),并通过安全信道发送给相应编号的节点;发送过程中当遇到自己发送给自己的情况,则直接将值保存;
S2.6:每个节点计算f(i,j)(N(α,β))G并广播;
S2.7:每个节点计算v′(i,j)G以及p(i,j,q)G并广播,q=1,2……,tu-1;
S2.8:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.9;
S2.9:每个节点按照下式计算并保存v(i,j)
S2.10:每个节点计算v(i,j)G并广播;
S2.11:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.12;
S2.12:每个节点选择随机数c(i,j,q),q=1,2……,tu-1,生成如下tu-1次多项式
S2.13:每个节点计算g(i,j)(N(α,β))并通过安全信道发送给相应编号的节点;发送过程中当遇到自己发送给自己的情况,则直接将值保存;
S2.14:每个节点计算g(i,j)(N(α,β)G并广播;
S2.16:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.16;
S2.17:每个节点按照下式计算r-1 (i,j)
S2.18:每个节点计算r-1 (i,j)G并广播;
S2.19:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.20;
S2.20:每个节点选择随机数w′(i,j),并选择随机数e(i,j,q),q=1,2……,tu-1;生成如下tu-1次多项式
h(i,j)(x)=w′(i,j)+e(i,j,1)x+e(i,j,2)x2+…+e(i,j,tu-1)xtu-1
S2.21:每个节点计算h(i,j)(N(α,β)),并通过安全信道发送给相应编号的节点;发送过程中当遇到自己发送给自已的情况,则直接将值保存;
S2.22:每个节点计算h(i,j)(N(α,β))G并广播;
S2.23:每个节点计算w′(i,j)G以及e(i,j,q)G并广播;
S2.24:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.25;
S2.25:每个节点按照下式计算w(i,j)
S2.26:每个节点参与安全多方乘法计算,输入为r-1 (i,j)和w′(i,j),得到输出为r′-1w′(i,j),并广播;
S2.27:每个节点按照下式计算r-1w
S2.28:每个节点按照下式计算r(i,j)
r(i,j)=w(i,j)(r-1w)-1
S2.29:每个节点计算r(i,j)G并广播;
S2.30:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.31;
S2.31:每个节点通过下式计算rG,并将rG的横坐标记为Rx
其中
S2.32:每个节点通过下式计算sig(i,j)
sig(i,j)=r-1 (i,j)tx+v(i,j)Rx
其中,tx表示需要签名的信息;
S2.33:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.34;
sig(α,β)G=txr-1 (α,β)G+Rxv(α,β)G
S2.34:每个节点通过下式计算获得主签名的一部分
其中
S2.35:通过S2.31计算得到的rG和S2.34计算得到的sig获得正式签名(rG,sig)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010164377.6A CN111245617B (zh) | 2020-03-11 | 2020-03-11 | 一种基于ecdsa的双重门限签名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010164377.6A CN111245617B (zh) | 2020-03-11 | 2020-03-11 | 一种基于ecdsa的双重门限签名方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111245617A CN111245617A (zh) | 2020-06-05 |
CN111245617B true CN111245617B (zh) | 2022-07-05 |
Family
ID=70880275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010164377.6A Expired - Fee Related CN111245617B (zh) | 2020-03-11 | 2020-03-11 | 一种基于ecdsa的双重门限签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111245617B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9489522B1 (en) * | 2013-03-13 | 2016-11-08 | Hrl Laboratories, Llc | Method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ECDSA) based digital signatures with proactive security |
CN106506156A (zh) * | 2016-12-15 | 2017-03-15 | 北京三未信安科技发展有限公司 | 一种基于椭圆曲线的分布式门限签名方法 |
CN107395370A (zh) * | 2017-09-05 | 2017-11-24 | 深圳奥联信息安全技术有限公司 | 基于标识的数字签名方法和装置 |
CN109377360A (zh) * | 2018-08-31 | 2019-02-22 | 西安电子科技大学 | 基于加权门限签名算法的区块链资产交易转账方法 |
CN109728910A (zh) * | 2018-12-27 | 2019-05-07 | 北京永恒纪元科技有限公司 | 一种高效的门限分布式椭圆曲线密钥生成及签名方法和系统 |
WO2019101235A2 (en) * | 2019-03-04 | 2019-05-31 | Alibaba Group Holding Limited | Methods and devices for testing signature verification for blockchain system |
CN110138567A (zh) * | 2019-05-22 | 2019-08-16 | 广州安研信息科技有限公司 | 一种基于ecdsa的协同签名方法 |
CN110784320A (zh) * | 2019-11-04 | 2020-02-11 | 张冰 | 分布式密钥实现方法、系统及用户身份管理方法、系统 |
-
2020
- 2020-03-11 CN CN202010164377.6A patent/CN111245617B/zh not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9489522B1 (en) * | 2013-03-13 | 2016-11-08 | Hrl Laboratories, Llc | Method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ECDSA) based digital signatures with proactive security |
CN106506156A (zh) * | 2016-12-15 | 2017-03-15 | 北京三未信安科技发展有限公司 | 一种基于椭圆曲线的分布式门限签名方法 |
CN107395370A (zh) * | 2017-09-05 | 2017-11-24 | 深圳奥联信息安全技术有限公司 | 基于标识的数字签名方法和装置 |
CN109377360A (zh) * | 2018-08-31 | 2019-02-22 | 西安电子科技大学 | 基于加权门限签名算法的区块链资产交易转账方法 |
CN109728910A (zh) * | 2018-12-27 | 2019-05-07 | 北京永恒纪元科技有限公司 | 一种高效的门限分布式椭圆曲线密钥生成及签名方法和系统 |
WO2019101235A2 (en) * | 2019-03-04 | 2019-05-31 | Alibaba Group Holding Limited | Methods and devices for testing signature verification for blockchain system |
CN110138567A (zh) * | 2019-05-22 | 2019-08-16 | 广州安研信息科技有限公司 | 一种基于ecdsa的协同签名方法 |
CN110784320A (zh) * | 2019-11-04 | 2020-02-11 | 张冰 | 分布式密钥实现方法、系统及用户身份管理方法、系统 |
Non-Patent Citations (3)
Title |
---|
基于孙子定理的(t,n)门限群签名方案;沈忠华等;《杭州师范大学学报(自然科学版)》;20080715(第04期);全文 * |
无可信中心的(t,n)门限数字签名方案;吴岩等;《电脑知识与技术》;20081015(第29期);全文 * |
无可信中心的秘密共享-多重签名方案;卢明欣等;《华南理工大学学报(自然科学版)》;20070128(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111245617A (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4152683B1 (en) | Computer implemented method and system for transferring access to a digital asset | |
CN108667625B (zh) | 协同sm2的数字签名方法 | |
CN114157427B (zh) | 基于sm2数字签名的门限签名方法 | |
CN110971405A (zh) | 多方协同的sm2签名、解密方法及其系统 | |
US20230224147A1 (en) | Generating shared private keys | |
JP2021515270A (ja) | デジタルアセットの制御を移転するための、コンピュータにより実施される方法およびシステム | |
US11637708B2 (en) | Method for creating a hierarchical threshold signature digital asset wallet | |
JP2021510954A (ja) | デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム | |
CN106789087B (zh) | 确定消息的数据摘要、基于多方的数字签名的方法及系统 | |
US20230319103A1 (en) | Identifying denial-of-service attacks | |
Jarecki et al. | An attack on the proactive RSA signature scheme in the URSA ad hoc network access control protocol | |
US20240121109A1 (en) | Digital signatures | |
US20230163977A1 (en) | Digital signatures | |
CN112434281B (zh) | 一种面向联盟链的多因子身份认证方法 | |
CN108964906B (zh) | 协同ecc的数字签名方法 | |
CN111245617B (zh) | 一种基于ecdsa的双重门限签名方法 | |
CN116865970A (zh) | 基于国密算法的多方协同密钥产生和数字签名方法及系统 | |
WO2023036528A1 (en) | Generating shared cryptographic keys | |
WO2023016729A1 (en) | Generating digital signature shares | |
CN113591160B (zh) | 一种基于对称密码的状态数字签名方法及系统 | |
GB2612310A (en) | Generating shared keys | |
CN114337994A (zh) | 数据处理方法、装置及系统 | |
CN117955635B (zh) | 基于联盟链验证节点分组的交易验证方法 | |
WO2023016730A1 (en) | Generating digital signatures | |
WO2023143880A1 (en) | Generating shared private keys |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220705 |