CN111245617A - 一种基于ecdsa的双重门限签名方法 - Google Patents

一种基于ecdsa的双重门限签名方法 Download PDF

Info

Publication number
CN111245617A
CN111245617A CN202010164377.6A CN202010164377A CN111245617A CN 111245617 A CN111245617 A CN 111245617A CN 202010164377 A CN202010164377 A CN 202010164377A CN 111245617 A CN111245617 A CN 111245617A
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.)
Granted
Application number
CN202010164377.6A
Other languages
English (en)
Other versions
CN111245617B (zh
Inventor
徐凡
马聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Pan Chain Technology Co Ltd
Original Assignee
Hangzhou Pan Chain Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Pan Chain Technology Co Ltd filed Critical Hangzhou Pan Chain Technology Co Ltd
Priority to CN202010164377.6A priority Critical patent/CN111245617B/zh
Publication of CN111245617A publication Critical patent/CN111245617A/zh
Application granted granted Critical
Publication of CN111245617B publication Critical patent/CN111245617B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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/3255Cryptographic 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的双重门限签名方法
技术领域
本发明涉及电子信息安全领域,具体涉及一种基于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;
Figure BDA0002406874190000021
S1.6:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S1.7;
Figure BDA0002406874190000022
其中,
Figure BDA0002406874190000023
其中,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(α,β))的计算方式如下:
Figure BDA0002406874190000024
S1.10:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S1.11;
Figure BDA0002406874190000025
S1.12:每个节点分别计算孙公钥和母公钥,其中
孙公钥的计算过程如下:
每个节点首先按照下式计算自己的孙私钥s(α,β),并妥善保管,然后每个节点再计算孙公钥PK(i,j)=s(i,j)G并广播;
Figure BDA0002406874190000031
其中母公钥的计算公式如下:
Figure BDA0002406874190000032
S2:合成签名,其中,(i,j)用来表示某个节点,i代表该节点所在的大组,而j代表该节点在该大组中的序号,(α,β)用来表示另一个节点,α代表这个节点所在的大组,而β代表这个节点在该大组中的序号;根据方案描述的应用场景,签名时只需要t个组别,每个组别提供u个节点就能完成签名,因此这4个参数的取值范围发生了变化,i=1,2……,t;j=1,2……,u;α=1,2……,t;
S2.1:每个节点生成随机数
Figure BDA0002406874190000033
S2.2:每个节点按照下式计算s′(i,j)
s′(i,j)=bjbis(i,j)
其中,
Figure BDA0002406874190000034
Figure BDA0002406874190000035
S2.3:各节点参与安全多方乘法计算,输入为
Figure BDA0002406874190000036
和s′(i,j),得到的输出为v′(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;
Figure BDA0002406874190000041
S2.9:每个节点按照下式计算并保存v(i,j)
Figure BDA0002406874190000042
S2.10:每个节点计算v(i,j)G并广播;
S2.11:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.12;
Figure BDA0002406874190000043
S2.12:每个节点选择随机数c(i,j,q),q=1,2……,tu-1,生成如下tu-1次多项式
Figure BDA0002406874190000044
S2.13:每个节点计算g(i,j)(N(α,β))并通过安全信道发送给相应编号的节点;发送过程中当遇到自己发送给自己的情况,则直接将值保存;
S2.14:每个节点计算g(i,j)(N(α,β)G并广播;
S2.15:每个节点计算
Figure BDA0002406874190000045
以及c(i,j,q)G并广播,q=1,2……,tu-1;;
S2.16:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.16;
Figure BDA0002406874190000046
S2.17:每个节点按照下式计算r-1 (i,j)
Figure BDA0002406874190000047
S2.18:每个节点计算r-1 (i,j)G并广播;
S2.19:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.20;
Figure BDA0002406874190000048
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;
Figure BDA0002406874190000051
S2.25:每个节点按照下式计算w(i,j)
Figure BDA0002406874190000052
S2.26:每个节点参与安全多方乘法计算,输入为r-1 (i,j)和w′(i,j),得到输出为r′- 1w′(i,j),并广播;
S2.27:每个节点按照下式计算r-1w
Figure BDA0002406874190000053
S2.28:每个节点按照下式计算r(i,j)
r(i,j)=w(i,j)(r-1w)-1
S2.29:每个节点计算r(i,j)G并广播;
S2.30:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.31;
Figure BDA0002406874190000054
S2.31:每个节点通过下式计算rG,并将rG的横坐标记为Rx
Figure BDA0002406874190000061
其中
Figure BDA0002406874190000062
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:每个节点通过下式计算获得主签名的一部分
Figure BDA0002406874190000063
其中
Figure BDA0002406874190000064
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.2每个节点计算并广播
Figure BDA0002406874190000071
和f(i,j)(ID(α))G,k=1,2……,t-1;
1.2.3每个节点计算f(i,j)(ID(α)),,并把f(i,j)(ID(α))用安全信道发送给所有组别为α的节点,发送过程中当遇到自己发送给自己的情况,则直接将值保存;其中,ID(·)为大组的特殊编号,N(i,j)表示每个节点的特殊编号;
此时,计算子私钥的数据已经生成,但是由于方案本身不进行子私钥的复原计算,少数节点所掌握的信息不够,因此即便私下通讯,也无法复原出子私钥的内容。
1.2.4为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
Figure BDA0002406874190000081
可选地,当1.2.4不通过时,可以改为各节点重新回到流程1.2.1。
1.2.5为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
Figure BDA0002406874190000082
其中,
Figure BDA0002406874190000083
其中,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(α,β))的计算方式如下:
Figure BDA0002406874190000084
1.3.4为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
Figure BDA0002406874190000091
可选地,当1.3.4不通过时,可以改为各节点重新回到流程1.3.1。
1.4每个节点分别计算孙公钥和母公钥;
(1)孙公钥的计算过程为:
每个节点首先按照下式计算自己的孙私钥s(α,β),并妥善保管;
Figure BDA0002406874190000092
然后,每个节点计算孙公钥PK(i,j)=s(i,j)G并广播。这一步是使得各个节点无法在后续流程中偷偷修改自己的s(i,j)的值
(2)母公钥的计算公式如下:
Figure BDA0002406874190000093
可选地,由于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.1每个节点生成随机数,为了阅读理解的方便,将其标记为
Figure BDA0002406874190000094
2.1.2每个节点按照下式计算s′(i,j)
s′(i,j)=bjbis(i,j)
其中,
Figure BDA0002406874190000101
Figure BDA0002406874190000102
2.1.3各节点参与安全多方乘法计算,输入为
Figure BDA0002406874190000103
和s′(i,j),得到的输出为v′(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为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
Figure BDA0002406874190000104
可选地,当2.2.5不通过时,可以改为各节点重新回到流程2.2.1。
2.2.6每个节点按照下式计算并保存v(i,j)
Figure BDA0002406874190000105
2.2.7每个节点计算v(i,j)G并广播;
2.2.8为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
Figure BDA0002406874190000106
可选地,当2.2.8不通过时,可以改为各节点重新回到流程2.2.6。
2.2.9每个节点选择随机数c(i,j,q),q=1,2……,tu-1,,生成如下tu-1次多项式
Figure BDA0002406874190000111
2.2.10每个节点计算g(i,j)(N(α,β)并通过安全信道发送给相应编号的节点;发送过程中当遇到自己发送给自己的情况,则直接将值保存;
2.2.11每个节点计算g(i,j)(N(α,β)G并广播;
2.2.12每个节点计算
Figure BDA0002406874190000112
以及
Figure BDA0002406874190000113
并广播q=1,2……,tu-1;
2.2.13为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
Figure BDA0002406874190000114
可选地,若2.2.13不通过时,可以改为各节点重新回到流程2.2.9。
2.2.15每个节点按照下式计算r-1 (i,j)G
Figure BDA0002406874190000115
至此,份额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为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
Figure BDA0002406874190000116
可选地,若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.4每个节点计算w′(i,j)G以及
Figure BDA0002406874190000121
并广播;
2.3.5为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
Figure BDA0002406874190000122
可选地,当2.3.5不通过时,可以改为各节点重新回到流程2.3.1。
2.3.6每个节点按照下式计算w(i,j)
Figure BDA0002406874190000123
2.3.7每个节点参与安全多方乘法计算,输入为r-1 (i,j)和w′(i,j),得到输出为r′- 1w′(i,j),并广播;
2.3.8每个节点按照下式计算r-1w
Figure BDA0002406874190000124
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为了验证每个节点是否发送了正确的信息,每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则整个流程终止,若所有式子均成立,则继续;
Figure BDA0002406874190000125
可选地,当2.3.12不通过时,可以改为各节点重新回到流程2.3.6。
2.3.13每个节点通过下式计算rG,并将rG的横坐标记为Rx
Figure BDA0002406874190000126
其中
Figure BDA0002406874190000127
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每个节点通过下式计算获得主签名的一部分
Figure BDA0002406874190000131
其中
Figure BDA0002406874190000132
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;
具体如下:
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,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;
Figure FDA0002406874180000011
S1.6:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S1.7;
Figure FDA0002406874180000012
其中,
Figure FDA0002406874180000013
其中,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(α,β))的计算方式如下:
Figure FDA0002406874180000021
S1.10:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S1.11;
Figure FDA0002406874180000022
S1.12:每个节点分别计算孙公钥和母公钥,其中
孙公钥的计算过程如下:
每个节点首先按照下式计算自己的孙私钥s(α,β),并妥善保管,然后每个节点再计算孙公钥PK(i,j)=s(i,j)G并广播;
Figure FDA0002406874180000023
其中母公钥的计算公式如下:
Figure FDA0002406874180000024
S2:合成签名,其中,(i,j)用来表示某个节点,i代表该节点所在的大组,而j代表该节点在该大组中的序号,(α,β)用来表示另一个节点,α代表这个节点所在的大组,而β代表这个节点在该大组中的序号;根据方案描述的应用场景,签名时只需要t个组别,每个组别提供u个节点就能完成签名,因此这4个参数的取值范围发生了变化,i=1,2......,t;j=1,2......,u;α=1,2......,t;
S2.1:每个节点生成随机数
Figure FDA0002406874180000025
S2.2:每个节点按照下式计算s′(i,j)
s′(i,j)=bjbis(i,j)
其中,
Figure FDA0002406874180000026
Figure FDA0002406874180000031
S2.3:各节点参与安全多方乘法计算,输入为
Figure FDA0002406874180000032
和s′(i,j),得到的输出为v′(i,j)
S2.4:每个节点选择随机数p(i,j,q),q=1,2……,tu-1;生成如下tu-1次多项式
f(i,j)(x)=u′(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:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终N,若所有式子均成立,则继续S2.9:
Figure FDA0002406874180000033
S2.9:每个节点按照下式计算并保存v(i,j)
Figure FDA0002406874180000034
S2.10:每个节点计算v(i,j)G并广播;
S2.11:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.12;
Figure FDA0002406874180000035
S2.12:每个节点选择随机数c(i,j,q),q=1,2……,tu-1,生成如下tu-1次多项式
Figure FDA0002406874180000036
S2.13:每个节点计算g(i,j)(N(α,β))并通过安全信道发送给相应编号的节点;发送过程中当遇到自己发送给自己的情况,则直接将值保存;
S2.14:每个节点计算g(i,j)(N(α,β)G并广播;
S2.15:每个节点计算
Figure FDA0002406874180000037
以及c(i,j,q)G并广播,q=1,2……,tu-1;
S2.16:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.16;
Figure FDA0002406874180000041
S2.17:每个节点按照下式计算r-1 (i,j)
Figure FDA0002406874180000042
S2.18:每个节点计算r-1 (i,j)G并广播;
S2.19:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.20;
Figure FDA0002406874180000043
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:
Figure FDA0002406874180000044
S2.25:每个节点按照下式计算w(i,j)
Figure FDA0002406874180000045
S2.26:每个节点参与安全多方乘法计算,输入为r-1 (i,j)和w′(i,j),得到输出为r′-1w′(i,j),并广播;
S2.27:每个节点按照下式计算r-1w
Figure FDA0002406874180000051
S2.28:每个节点按照下式计算r(i,j)
r(i,j)=w(i,j)(r-1w)-1
S2.29:每个节点计算r(i,j)G并广播;
S2.30:每个节点验证其他节点的值是否满足下式,若存在不成立的式子,则说明有节点发送了错误的信息,整个流程终止,若所有式子均成立,则继续S2.31;
Figure FDA0002406874180000052
S2.31:每个节点通过下式计算rG,并将rG的横坐标记为Rx
Figure FDA0002406874180000053
其中
Figure FDA0002406874180000054
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:每个节点通过下式计算获得主签名的一部分
Figure FDA0002406874180000055
其中
Figure FDA0002406874180000056
S2.35:通过S2.31计算得到的rG和S2.34计算得到的sig获得正式签名(rG,sig)。
CN202010164377.6A 2020-03-11 2020-03-11 一种基于ecdsa的双重门限签名方法 Expired - Fee Related CN111245617B (zh)

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 true CN111245617A (zh) 2020-06-05
CN111245617B 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)

* Cited by examiner, † Cited by third party
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 张冰 分布式密钥实现方法、系统及用户身份管理方法、系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
卢明欣等: "无可信中心的秘密共享-多重签名方案", 《华南理工大学学报(自然科学版)》 *
吴岩等: "无可信中心的(t,n)门限数字签名方案", 《电脑知识与技术》 *
沈忠华等: "基于孙子定理的(t,n)门限群签名方案", 《杭州师范大学学报(自然科学版)》 *

Also Published As

Publication number Publication date
CN111245617B (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
EP4152683B1 (en) Computer implemented method and system for transferring access to a digital asset
Harn Group authentication
CN108667625B (zh) 协同sm2的数字签名方法
US20240022425A1 (en) Blockchain-implemented methods and systems for authorisation based on bilinear map accumulators
US7650494B2 (en) Method and apparatus for use in relation to verifying an association between two parties
CN114157427B (zh) 基于sm2数字签名的门限签名方法
US11637708B2 (en) Method for creating a hierarchical threshold signature digital asset wallet
US20230224147A1 (en) Generating shared private keys
US20230319103A1 (en) Identifying denial-of-service attacks
US20240121109A1 (en) Digital signatures
CN112434281B (zh) 一种面向联盟链的多因子身份认证方法
US20230163977A1 (en) Digital signatures
US20240179211A1 (en) Computer-implemented system and method for controlling processing steps of a distributed system
CN108964906B (zh) 协同ecc的数字签名方法
CN116865970A (zh) 基于国密算法的多方协同密钥产生和数字签名方法及系统
CN111245617B (zh) 一种基于ecdsa的双重门限签名方法
CN116318736A (zh) 一种用于分级管理的二级门限签名方法及装置
WO2023036528A1 (en) Generating shared cryptographic keys
WO2023016729A1 (en) Generating digital signature shares
CN113112269B (zh) 多重签名方法、计算机设备和存储介质
CN114337994A (zh) 数据处理方法、装置及系统
WO2023016730A1 (en) Generating digital signatures
WO2023036534A1 (en) Generating shared cryptographic keys
WO2023143880A1 (en) Generating shared private keys
CN118157873A (zh) 一种混合匿名认证的异构混合环签名方法

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