CN117837127A - 生成数字签名 - Google Patents
生成数字签名 Download PDFInfo
- Publication number
- CN117837127A CN117837127A CN202280055626.5A CN202280055626A CN117837127A CN 117837127 A CN117837127 A CN 117837127A CN 202280055626 A CN202280055626 A CN 202280055626A CN 117837127 A CN117837127 A CN 117837127A
- Authority
- CN
- China
- Prior art keywords
- signature
- private key
- shared
- share
- participant
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 66
- 238000012545 processing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000003918 fraction a Anatomy 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/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
-
- 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
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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/3236—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 using cryptographic hash functions
- H04L9/3239—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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
一种证明目标子组生成了数字签名的计算机实现的方法,其中群组可被划分为多个唯一子组,每个子组包括至少阈值数量的参与者。所述方法包括:对于第一参与者所属的每个子组,生成第一临时私钥份额,其中每个相应子组中的每个其他参与者生成相应临时私钥份额;对于每个相应共享临时私钥,生成相应共享临时公钥;基于第一私钥份额、所述相应共享临时私钥中的目标共享临时私钥的所述第一临时私钥份额以及消息来生成所述签名的第一签名份额;以及将所述第一签名份额提供给协调者,以生成所述签名。
Description
技术领域
本公开涉及一种生成数字签名的方法,并且涉及一种证明参与者对所述数字签名的份额做出了贡献的方法。
背景技术
通常,共享秘密可以用于共享分布在参与者群组之间的数据项。每个参与者具有该秘密的不同份额。通常,只有当一定数量(称为“阈值”)的参与者提供其相应份额时才能重建该秘密,例如组合在一起以计算该秘密。
公钥密码学是一种使用密钥对的密码系统,该密钥对包括:私钥,其仅对私钥所有者已知;以及公钥,其是基于对应的私钥生成的,并且可以在不损害私钥安全性的情况下进行传播。
公钥密码学使得发送者能够使用接收者的公钥(即,与仅对接收者已知的私钥对应的公钥)来加密消息。该加密消息随后只能使用接收者的私钥进行解密。
类似地,发送者可以使用自己的私钥对消息进行签名,例如以证明该消息是由发送者发送的,和/或指示发送者同意该消息。签名者(即,生成签名的一方)使用他们的私钥基于该消息创建数字签名。基于消息创建数字签名意味着将该消息和私钥提供给基于该消息和私钥生成该签名的函数。该签名被添加到(例如,标记到)该消息中或以其他方式与该消息相关联。拥有签名者的对应公钥的任何人都可以使用同一消息以及该消息中的数字签名来验证签名是否有效创建,即签名是否确实是使用签名者的私钥创建的。除确保消息的真实性之外,数字签名还确保消息的完整性和不可否认性。也就是说,数字签名可以用于证明消息在使用该签名进行签名之后未更改,并且签名的创建者将来不能否认他们创建了该签名。
数字签名方案通常涉及三个过程,即算法。密钥生成算法用于生成随机私钥和对应的公钥。签名算法用于基于消息和私钥来生成签名。在给定公钥和消息的情况下,验证算法用于验证是否已使用对应的私钥并根据签名算法生成签名。
共享秘密的常见用途是作为私钥-公钥对的共享私钥。也就是说,私钥可以分布在参与者群组之间,使得没有单个参与者能够访问该私钥。因此,没有单个参与者可以生成消息的有效签名。相反,一些或全部参与者必须共同生成该私钥才能生成该签名。
参与者可以使用阈值签名方案,而不是共享他们的私钥份额来生成签名。阈值签名方案允许群组中的阈值数量的参与者使用共享私钥的单独份额基于消息创建数字签名,而不向任何一个参与者提供该私钥。这里,数字签名是基于待签名消息生成的签名。在此类方案中,只有当阈值数量的参与者同意在消息中生成签名时,才能创建签名。使用较少数量的参与者生成签名的任何尝试都不会生成有效的签名。因此,该群组的有效签名(即,使用消息和共享私钥生成的签名)可证明具有阈值数量的人同意生成签名。这还意味着,任何攻击者都需要获取私钥的阈值数量的份额,才能使用该私钥伪造签名。
发明内容
如上所述,阈值签名方案需要参与者对相应签名份额做出贡献,以便生成有效签名。虽然有效签名证明至少阈值数量的参与者对签名份额做出了贡献,但不证明参与者群组中的哪些参与者对签名份额做出了贡献。换句话说,在阈值签名方案中,无法确定是谁创建了给定签名-无论使用哪些份额来创建签名,所产生的签名始终是相同的。因此,需要一种阈值签名方案,这种阈值签名方案使签名者(即,对所述签名做出贡献的参与者)能够证明他们确实对签名份额做出了贡献。此类方案可以用于防止其他参与者错误地声称他们对所述签名做出了贡献或者证明方没有对所述签名做出贡献。
根据本文公开的一个方面,提供了一种计算机实现的方法,所述方法由参与者群组中的第一参与者执行,所述方法用于证明所述群组的目标子组已生成数字签名,其中所述签名只能基于至少阈值数量的相应签名份额来生成,其中所述群组中的每个参与者具有共享私钥的相应私钥份额,其中所述群组能被划分为多个唯一子组,其中每个子组包括至少所述阈值数量的参与者,并且其中所述方法包括:对于所述第一参与者所属的每个相应子组,生成相应共享临时私钥的相应第一临时私钥份额,其中每个相应子组中的每个其他参与者生成所述相应共享临时私钥的相应临时私钥份额;对于每个相应共享临时私钥,生成相应共享临时公钥;生成所述签名的第一签名份额,其中所述第一签名份额是基于所述共享私钥的第一私钥份额、所述相应共享临时私钥中的目标共享临时私钥的所述第一临时私钥份额、以及消息来生成的;以及,使所述第一签名份额能够被协调者使用,以用于基于至少所述阈值数量的相应签名份额来生成所述签名,其中每个相应签名份额基于所述共享私钥的相应私钥份额和所述相应共享临时私钥中的所述目标共享临时私钥的相应临时私钥份额,并且其中所述签名包括基于与所述相应共享临时私钥中的所述目标共享临时私钥对应的所述相应共享临时公钥的分量。
所述参与者群组中的每个参与者具有相同共享私钥的份额以生成阈值签名。所述签名只能使用最少数量的唯一签名份额来生成。该数字称为所述签名的阈值。所述参与者群组将其自身划分为所有可能的唯一子集(即,子组),其中每个子集的大小至少与所述签名的所述阈值相同,使得每个子集可以生成足够的签名份额以生成有效签名。子集可能具有比所需更多的参与者。每个不同的子集导出不同共享临时密钥的份额。因此,作为多个子集的成员的参与者将导出多个临时密钥的份额,每个子集一个临时密钥。所述子集还导出对应的临时公钥。当子集希望生成签名时,该子集中的参与者使用由该子集导出的所述临时密钥的份额来生成相应签名份额。由于所述签名包括基于所述对应的临时公钥的分量,因此导出所述签名的所述子集中的所述参与者可以证明他们确实导出了所述签名,因为只有他们能够访问与所述签名的所述分量所基于的所述临时公钥对应的所述临时密钥(即,其份额)。
附图说明
为了帮助理解本公开的实施例并显示如何实施此类实施例,现将仅通过举例的方式参考附图进行说明,其中:
图1是示出用于实现本发明的各实施例的系统的示意性框图;
图2是示出本发明的一个示例性实施例的流程图;以及
图3是示出根据本发明的一些实施例的示例性签名生成方法的流程图。
具体实施方式
1.加密预备知识
虽然就椭圆曲线密码学描述了以下示例,但是本发明并不限于任何一种特定的加密方案,并且通常可以应用于任何加密方案,例如RSA或其他公钥加密方案。
1.1椭圆曲线群
椭圆曲线E满足以下等式:
y2=x3+ax+b mod p
其中和a,b是满足4a3+27b2≠0的常量。该椭圆曲线上的群被定义为满足该等式的元素集合(x,y)以及无穷远点/>,该无穷远点是单位元素。对该群中元素进行的群运算称为椭圆曲线点加法,由+表示。该群由/>表示,其阶数由n表示。
该群运算可以用于定义对元素进行的另一种运算,称为点乘法,由·表示。对于点和标量/>点k·G被定义为与其自身相加k次的点G。
在椭圆曲线密码学中,私钥被定义为标量其中/>是集合{1,...,n-1}的符号,而对应的公钥是椭圆曲线上的点k·G。例如,在一些区块链协议中,椭圆曲线被选择作为secp256k1椭圆曲线,值a、b、和p完全由该曲线指定。在给定这些值的情况下,已经计算出该群的阶数n,在该曲线的情况下,该群的阶数是素数,并且secp256k1标准还指定了一个点G,该点将被用作该群的生成器。
1.2椭圆曲线数字签名算法
为了使用私钥a在消息msg中创建签名,需要采取以下步骤:
1.计算消息摘要e=hash(msg),其中可以是任何哈希函数。例如,在一些示例中,hash(msg)=SHA256(SHA256(msg)),其中SHA256(■)是SHA-256哈希函数。应当注意的是,相比之下,该消息可以仅进行一次哈希处理,也可以使用相同或不同的哈希函数进行两次以上哈希处理。
2.选择一个随机整数k∈{1,...,n-1},其中n是椭圆曲线(例如,secp256k1曲线)的阶数。在下文中,k称为临时私钥。
3.计算与该临时私钥对应的临时公钥k·G=(Rx,Ry)。
4.计算r=Rx mod n。如果r=0,则返回步骤2。
5.计算临时密钥的乘法逆k-1mod n。
6.计算s=k-1(e+ar)mod n。如果s=0,则返回步骤2。
7.消息msg中的签名是(r,s)。
临时密钥必须保密,否则可以在给定消息和签名的情况下计算私钥。此外,每次生成签名时,必须使用不同的临时密钥。如果情况并非如此,则可以在给定两个不同的签名及其对应消息的情况下导出私钥a。
给定消息msg、公钥P=a·G和对应的签名(r,s),则可以通过完成以下步骤来验证签名:
1.计算消息摘要e=hash(msg),例如e=SHA256(SHA256(msg))。
2.计算以n为模数的s的乘法逆s-1。
3.计算j1=es-1 mod n和j2=rs-1 mod n。
4.计算点Q=j1·G+j2·P。
5.如果(无穷远点),则签名无效。
6.如果则使Q:=(Qx,Qy),然后计算u=Qx mod n。如果u=r,则签名有效。
在阈值签名方案中,该私钥a被分割为在阈值方案群中的参与者之间分发的密钥份额。
1.3联合可验证随机秘密共享
假设N个参与者想要创建联合秘密,该联合秘密只能由该方案中的至少(t+1)个参与者重新生成。要创建共享秘密,请采取以下步骤:
1.参与者就每个参与者的唯一标签i达成一致。每个参与者i生成(t+1)个随机数
其中∈R表示集合中随机生成的元素,其中/>是集合{1,...,n-1}的符号。每个参与者具有t阶秘密多项式
fi(x)=ai0+ai1x+…+aitxt mod n,
其中i=1,...,N。应当注意的是,从现在开始省略符号mod n,并且假设对整数的所有算术运算都是以n为模数进行的。
2.每个参与者i将该值fi(j)发送给参与者j,例如仅使用与参与者j的安全通信通道。
3.每个参与者i根据以下等式计算自己的共享秘密多项式的秘密份额
共享秘密份额是采用形式(i,ai)的点,其中i是方案中的参与者标签。如步骤1-3中所述,对于参与者i,这种用于创建秘密份额a的方法在本文中由ai=JVRSS(i)表示。应当注意的是,“JVRSS”通常表示“联合验证随机秘密共享”,并且还包括步骤4和步骤5。然而,在本文中,JVRSS被理解为至少执行步骤1至步骤3,其中步骤4和步骤5是可选步骤。
此时,参与者已生成共享多项式,这些参与者中的每个参与者可以验证其他参与者已将正确的信息共享给所有参与者,同时验证所有参与者具有相同的共享多项式。这可以通过以下方式实现。
4.每个参与者i将混淆系数广播给所有参与者
aik·G,
其中k=0,...,t。
5.每个参与者i核实每个参与者j已通过以下方式正确计算多项式点fj(i):计算fj(i)·G,然后验证
如果所有参与者发现该等式对于每个多项式都成立,则该群可以共同确定他们均已创建相同的共享多项式。
1.4重建共享秘密
假设参与者想要重建共享秘密a,该共享秘密是共享多项式的零阶。在给定采用以下形式的该多项式上的(t+1)个点的情况下,
(1,a1),...,((t+1),at+1),
然后,为了找到共享秘密a,需要计算
其可根据称为“拉格朗日插值法”的一般公式推导出。
1.5公钥计算
在给定JVRSS的步骤4中共享的N个零阶私有多项式系数公钥ai0·G(其中j=1,...,N)的情况下,每个参与者使用以下等式计算共享公钥P
对应于共享秘密a。
1.6共享秘密的加法
为了计算在N个参与者的群组之间共享的两个共享秘密的和,其中每个秘密多项式的阶数为t,而任何实体都不知道各个秘密,请采取以下步骤:
1.生成第一共享秘密a,其中参与者i的份额通过ai=JVRSS(i)得出,其中i=1,...,N,阈值为(t+1)。
2.生成第二共享秘密b,其中参与者i的份额通过bi=JVRSS(i)得出,阈值为(t+1)。
3.每个参与者i计算自己的加法份额
vi=ai+bi mod n。
4.所有参与者将他们的加法份额vi广播给所有其他参与者。
5.每个参与者对份额vi中的至少(t+1)个份额进行内插以计算
v=interpolate(v1,…,vt+1)=a+b。
对于参与者i,这种用于将共享秘密相加的方法由ADDSS(i)表示,这会使得每个参与者i知道v=(a+b)。
1.7共享秘密的乘积
为了计算在N个参与者的群组之间共享的两个共享秘密的乘积,其中每个秘密多项式的阶数为t,该组参与者需要采取以下步骤:
1.生成第一共享秘密a,其中参与者i的份额通过ai=JVRSS(i)得出,其中i=1,...,N。共享秘密多项式的阶数为t,这意味着(t+1)个参与者需要重新创建该共享秘密多项式。
2.生成第二共享秘密b,其中参与者i的份额通过bi=JVRSS(i)得出,并且共享秘密多项式的阶数再次为t。
3.每个参与者使用以下等式计算自己的乘法份额μi
μi=aibi。
4.所有参与者将他们的乘法份额μi广播给所有其他参与者。
5.每个参与者对0处份额μi中的至少(2t+1)个份额进行内插以计算
μ=interpolate(μ1,…,μ2t+1)=ab。
对于参与者i,这种用于计算两个共享秘密的乘积的方法在本文中由μ=ab=PROSS(i)表示。
1.8共享秘密的逆
为了计算共享秘密a的逆,需要采取以下步骤:
1.所有参与者计算共享秘密的乘积PROSS(i),其结果是μ=ab mod n。
2.每个参与者计算μ的模逆,其结果是
μ-1=(ab)-1mod n。
3.每个参与者i通过计算以下内容来计算自己的逆秘密份额
对于参与者i,这种用于计算共享秘密的逆的方法由表示。
1.9共享私钥生成与验证
为了计算N≥2t+1个参与者之间的共享私钥a,其中t+1个参与者需要创建签名,参与者通过阈值t+1执行JVRSS以及执行如上所述的公钥计算。结果是每个参与者i=1,...,N具有私钥份额ai和对应的共享公钥P=(a·G)。
1.10临时密钥份额生成
为了根据签名中的要求生成临时密钥份额和对应的r,大小为N的群组(具有共享私钥a,阈值为(t+1))需要执行以下步骤:
1.生成共享秘密的逆份额其中需要(t+1)个份额才能重新创建。
2.每个参与者通过以下方式计算
使用在验证ki时共享的混淆系数,然后计算
r=x mod n。
3.每个参与者i存储
1.11非最优签名生成
假设至少2t+1个参与者想要在消息中创建签名,并且参与者中的一个参与者选择协调此事。为了使具有共享私钥a的组创建签名,采取以下步骤:
1.协调者向至少2t+1个参与者请求消息中的签名。
2.每个参与者i恢复在上一节中计算出的临时密钥所有用户必须使用对应于同一临时密钥的份额。
3.每个参与者计算消息摘要e=SHA-256(SHA-256(message))。
4.每个参与者i计算其签名份额si:
其中ai是其私钥份额。
5.每个参与者向协调者发送其签名份额(r,si)。
6.当协调者接收了2t+1个签名份额时,每个参与者计算:
s=interpolate(s1,…,s2t+1),
并且将签名输出为(r,s)。
7.协调者使用标准ECDSA验证来验证签名。如果失败,则份额中的至少一个份额必定是不正确的,并且应当再次运行签名生成算法。
1.12具有不同阈值的秘密的加法运算
在将阶数为t和t′的秘密相加的情况下,计算这两个秘密的和需要max(t,t′)+1个份额。原因在于,共享秘密的份额的加法运算步骤创建了新多项式的份额。这个新的加法多项式等同于两个共享秘密的单独多项式的加法运算结果。将两个多项式相加是将每个阶数x的对应系数相加。因此,加法多项式的阶数必须与两个多项式中的最高阶数相同。这可以推广到将两个以上多项式相加,其中所得到的多项式的阶数与具有最高阶数的单个多项式的阶数相同。
一旦计算出具有不同阈值的两个秘密的和,具有较高阈值的秘密的安全性会降低。这是因为,如果现在知道具有相应阈值t、t′的结果(a+b),并且假设t<t′,则可以使用t个份额计算a,然后计算(a+b)-a=b,因此已仅使用t个份额计算值b。该较低阈值在下文中称为b的“隐含阈值”。
1.13具有不同阈值的秘密的乘法运算
在将具有阈值t和t′的两个秘密相乘的情况下,计算乘积需要t+t′+1个份额。在这种情况下,将两个多项式的份额相乘会得到新多项式的份额。这个新多项式是将两个单独多项式相乘得出的结果,因此该结果的阶数是两个单独多项式的阶数的和。
乘法运算还可以推广到任意数量的共享秘密,所得到的阈值是各个阈值加1的总和,即∑ρtρ+1,其中ρ遍历各个共享秘密。
与加法运算类似,将具有不同阈值的两个秘密相乘会得到具有较高阈值的秘密的隐含阈值。如前所述,如果知道ab,其中a具有阈值t且b具有阈值t′,并且t<t′,则a和b都可以使用t个份额来计算。首先,可以仅使用秘密的t个份额来计算a,并使用(ab)a-1求出b。
1.14在一个步骤中组合共享秘密的加法运算和乘法运算
可以将上述内容概括为在一个步骤中计算加法运算和乘法运算的任意组合。假设N个参与者的群组想要计算结果ab+c,其中a、b、c是分别具有阈值(ta+1)、(tb+1)、(tc+1)的共享秘密。条件是max(ta+tb,tc)<N,也就是说,本发明方案中的参与者的数量必须大于秘密c的阶数与秘密a和b的乘法运算结果的阶数之间的最大值。
1.每个参与者i计算其分别具有阈值(ta+1)、(tb+1)、(tc+1)的秘密份额ai=JVRSS(i)、bi=JVRSS(i)和ci=JVRSS(i)。
2.每个参与者i计算份额λi=aibi+ci。
3.每个参与者i与其他参与者共享结果λi。
4.每个参与者对max(ta+tb,tc)+1个份额进行内插,以求出结果λ=int(λ1,…,λi,…)=ab+c。
这在根据以下一些实施例计算共享签名时完成。也就是说,对进行内插。上述用例基本如此,其中/>且/>在这种情况下,ta+tb=2t且tc=t,并且插值超过max(ta+tb,tc)+1=2t+1个份额。
2.生成签名份额
图1示出了用于实现本发明的各实施例的示例性系统100。如图所示,系统100包括多方(在本文中也称为“参与者”)102。图1中仅示出了三个参与者102a、102b、102c,但应当理解的是,该系统通常可以包括任意数量的参与者。系统100还包括协调方104(或简称为“协调者”),该协调方也可以是或不是参与者102中的一个参与者。参与者102和协调方104中的每一个操作相应的计算设备。
相应计算设备中的每一个包括相应的处理装置,所述处理装置包括一个或多个处理器,例如一个或多个中央处理单元(CPU)、加速器处理器(如图形处理单元GPU)、其他的专用处理器、和/或现场可编程门阵列(FPGA)。相应计算设备还可以包括存储器,即采用非暂时性计算机可读介质形式的计算机可读存储器。存储器可包括一个或多个存储器单元,其采用一个或多个存储器介质,例如诸如硬盘等磁介质、诸如固态硬盘(SSD)、闪存或电可擦可编程只读存储器(EEPROM)等电子媒介和/或诸如光盘驱动器等光学介质。相应计算机设备可以包括至少一个用户终端,例如台式电脑或笔记本电脑、平板电脑、智能手机或诸如智能手表等可穿戴设备。替代地或附加地,相应计算设备可以包括一个或多个其他联网资源,例如经由用户终端访问的云计算资源(该云计算资源包括在一个或多个站点实现的一个或多个物理服务器设备的资源)。应当理解的是,被描述为由系统100的一方执行的任何动作可以由该方操作的相应计算设备执行。
参与者102中的每一个可以被配置为通过使用LAN或WAN连接的互联网等网络或经由替代的有线或无线通信手段将数据传输给其他参与者102中的一个、一些或全部。除非上下文另有要求,否则对传输数据的参与者102的引用可以理解为:例如,经由第一参与者102a与第二参与者102b之间的安全通信通道单独将数据传输给其他参与者102;或者,例如,经由电子邮件或其他手段将数据广播给一组参与者。同样,除非上下文另有要求,否则每个参与者102可以原始形式传输数据,也可以加密形式传输数据。例如,在将数据发送给接收方参与者之前,可以使用该接收方参与者的公钥来加密数据。这同样适用于协调者104向参与者102中的一个、一些或全部传输和接收数据。
将主要从第一参与者102a的角度来描述本发明的实施例。然而,应当理解的是,通常所描述方法的步骤可以类似地由其他参与者(例如,第二参与者102b或第三参与者102c)执行。还应当理解的是,术语“第一”、“第二”、“第三”等在本文中仅用作区别标签并且不一定意味着顺序,除非使用这些术语的特定上下文另有要求。
本发明使得一组参与者102中的每个参与者102能够生成阈值签名的相应份额,并且使得协调者104能够基于这些签名份额来生成签名。更具体地,该组参与者的子组能够生成签名并证明该特定子组生成了阈值签名。
每个参与者102可以访问(例如,在其相应计算设备的存储器中存储)共享私钥的相应份额。这些私钥份额可以使用诸如JVRSS(如上所述)或Shamir的秘密共享方案(SSSS)等秘密共享方案来生成。可以使用替代方案来生成共享私钥的份额。
签名具有阈值,这意味着需要至少阈值数量的不同签名份额才能生成有效签名。应当理解的是,对“阈值”的任何引用都被认为是指与签名的阈值对应的数字。例如,阈值可以是2、3或10等。共享私钥也具有阈值。在一些实施例中,签名的阈值与私钥的阈值相同。在其他实施例中,签名的阈值与私钥的阈值不同。
该组参与者102被划分为多个子组。每个子组都是唯一的。每个子组包括至少阈值数量的参与者,即每个子组中参与者的最小数量与签名的阈值相同。通过这种方式,每个子组可以生成有效签名。图1示出了将一组三个参与者102划分为子组的示例。在该示例中,阈值签名需要至少两个签名才能有效地生成。如图所示,一个子组(由虚线圆圈示出)包括第一参与者102a和第二参与者102b。另一个子组包括第二参与者102b和第三参与者102c。虽然图1中未示出,但是另一个子组可以由第一参与者102a和第三参与者102c组成。通常,只要每个组包括至少阈值数量的参与者,该组就可以被划分为任意数量的唯一子组。在一些示例中,该组可以被划分为所有可能的唯一子组。
每个子组中的参与者生成对该子组唯一的共享临时私钥的份额。可以使用JVRSS、SSSS或替代方案来生成临时私钥份额。例如,每个参与者102还可以使用上述INVSS函数来生成其相应临时私钥份额的逆。该组参与者中的每个参与者还生成临时公钥,即与共享临时私钥对应的公钥。如本领域已知的,公钥包括第一(x)坐标和第二(y)坐标,并且如下面将讨论的,第一坐标可以用于生成签名份额。每个参与者102还可以访问签名份额的相应消息无关分量(MIC),即签名份额可以基于相应的MIC来生成。MIC本身可以由给定参与者102基于该参与者102的相应私钥份额和相应临时私钥份额以及临时公钥的第一坐标来生成。每个参与者102生成相应签名份额所需的数据将取决于要生成的特定形式的签名,例如ECDSA签名。
参与者可以是多于一个子组的成员(即,属于多于一个子组)。例如,在图1的示例中,第二参与者102b属于至少两个子组。由于每个子组生成共享临时私钥(即,每个子组的参与者生成共享临时私钥的份额),因此作为多个子组的成员的每个参与者将生成多个临时私钥份额,每个子组一个临时私钥份额。类似地,作为多个子组的成员的每个参与者将生成多个临时公钥,每个子组一个临时公钥。
在生成临时私钥份额和临时公钥(每个子组一个)之后,特定子组(在本文中称为“目标子组”)的参与者102可以这样的方式来生成消息的签名,即他们可以证明该签名是由该子组生成的。该子组中的每个参与者(或者该子组中的至少阈值数量的参与者,条件是该子组包含多于阈值数量的参与者)获得要签名的消息,并且基于该消息(例如,其哈希)、他们的相应私钥份额以及他们的由目标子组生成的共享临时私钥的相应临时私钥份额来生成相应签名份额。例如,第一参与者102a可以基于消息、第一私钥份额和第一临时私钥份额来生成第一签名份额(即,作为它们的函数),其中第一临时私钥份额是由目标子组生成的共享临时私钥的份额。该消息可以是从协调者104获得的(例如,作为对签名份额的请求的一部分),或者可以事先对第一参与者102a已知。打算生成相应签名份额的目标子组中的其他参与者执行生成相应签名份额的等效过程。
在一些示例中,签名份额基于临时密钥份额的逆来生成。签名份额还可以基于临时公钥的第一坐标(或者更具体地,第一坐标mod n,其中n是椭圆曲线的阶数)来生成。签名份额还可以基于相应MIC份额来生成。
目标子组中的每个参与者102可以将第一签名份额发送给协调者104,以用于基于至少阈值数量的签名份额来生成签名。或者,这些参与者中的一个参与者(例如,第一参与者102a)可以是协调者104,在这种情况下,第一参与者102a可以从相应参与者获得相应签名份额,然后基于相应签名份额来生成签名。
协调者104从该子组获得至少阈值数量的签名份额。协调者104可以从每个参与者102获得超过阈值数量(例如,一个)的签名份额。
协调者104生成的签名包括两个分量(即,部分)。这些分量中的一个分量(s)基于该子组中的参与者102提供的签名份额来生成。另一个分量(r)基于目标子组生成的临时公钥。例如,该分量可以基于临时公钥的x坐标,例如x坐标mod n。完整签名可以采用(r,s)的形式。
由于签名是使用基于仅对目标子组已知的临时私钥份额的签名份额来生成的,因此可能只有目标子组生成了该签名。这可以由验证方通过以下方式来验证,即检查基于临时公钥的签名的分量。协调者104可以将已签名消息发送给验证方。可能只有与临时公钥相关联的目标子组生成了签名。验证方可以事先知道子组与临时公钥之间的映射,或者映射可以由目标子组(例如,由参与者102a)或协调者104提供。例如,映射可以存储在区块链上。
如下面进一步讨论的,已签名消息可以包括区块链事务(transaction)的至少一部分,例如该事务的一个或多个输入和一个或多个输出。协调者104可以将已签名事务提交给区块链,如图1所示。
图2示出了根据本发明的一些实施例的示例性方法200。步骤S201至步骤S204由目标子组中的参与者(例如,第一参与者102a)执行。在步骤S201中,第一参与者102a为第一参与者102a所属的每个子组生成临时私钥份额,并且在步骤S202中,第一参与者102a生成对应的临时公钥。在步骤S203中,第一参与者102a使用目标子组导出的共享临时密钥的份额来生成签名份额,并且在步骤S204中,第一参与者102a将签名份额发送给协调者104以生成签名。
下面提供了所述实施例的进一步具体示例。
参与者的子集可以使用这样的过程来证明他们对签名做出了贡献,其中签名者的所有可能子集创建临时密钥,然后所涉及的签名者使用对应子集中的临时密钥来创建签名。
假设存在具有阈值为(t+1)的共享秘密的一组N个参与者,并且该组的大小至少为(2t+1)的所有可能子集的集合通过得出,其中
/>
其中S是整组参与者中的某个参与者集合的符号。应当注意的是,在证明一组特定签名者的一些示例中,子集|S|的顺序可以设置为2t+1,然而为了完整起见,可以包括该组的其他子集。然后,该组采取以下步骤。
1.子集中的每个参与者i为所有/>生成共享临时私钥
2.所有子集计算与这些临时私钥/>对应的rS。
3.
然后,使用该临时密钥的任何签名(rS,s)必须由子集S进行签名。
图3示出了根据本发明的各实施例的用于在消息中生成签名的示例性方法300。步骤S301至步骤S308由该示例中阈值数量的参与者102中的每个参与者(包括第一参与者102a)执行。步骤S309由协调者101执行,该协调者也可以是执行步骤S301至步骤S308的参与者中的一个参与者。应当理解的是,这些步骤中的一些步骤可以省略,也可以按照不同的顺序执行。
示例性方法300使得能够在一组N≥2t+1个参与者中创建阈值为(t+1)的共享秘密,其中签名阈值也是(t+1)。
建立:
在步骤S301中,每个参与者102计算共享私钥份额ai和对应的公钥。可以如上所述使用JVRSS来生成私钥份额。此时,每个参与者i具有秘密密钥份额和公钥(ai,P),其中P是与共享私钥对应的公钥的符号。共享私钥的阈值为(t+1)。
预先计算:
在步骤S302中,每个参与者102计算共享临时密钥份额和对应的公钥。例如,每个参与者102可以使用JVRSS和预备知识部分给出的公钥计算来计算共享临时密钥。然后,每个参与者102可以基于临时私钥来计算逆份额。这会导致每个参与者具有逆份额阈值为(t+1)。
在步骤S303中,每个参与者102创建两个不同的共享盲钥份额。例如,每个参与者102可以创建两个共享秘密,使得参与者i具有份额αi=JVRSS(i)和βi=JVRSS(i),每个共享秘密的阈值为(t+1)。应当注意的是,在一些示例中,并不是所有共享秘密都需要具有相同的阈值。
在步骤S304中,每个参与者102计算中间份额,并将其中间份额广播给其他参与者。例如,每个参与者i可以计算中间份额该值的阈值为(2t+1)。
在步骤S305中,第一参与者102a至少基于中间份额来计算中间值。例如,第一参与者102a可以通过使用对(2t+1)个份额λ=interpolate(λ1,...,λ2t+1)=k-1ar+β的插值来计算中间值。
在步骤S306中,第一参与者102a知道并将其与私钥份额和对应的公钥(ai,P)一起存储。
应当注意的是,由于每个签名使用不同的临时密钥,因此可以一次设置多个临时密钥,即,可以重复步骤S302至步骤S306以在预先计算过程中创建多个临时密钥,并存储它们以供后续使用。这些操作可以同时执行,因此不需要额外的通信轮次。应当注意的是,优选地,应为每个签名使用不同的α和β值。
签名生成:
为了对消息msg进行签名,至少(t+1)个参与者必须执行步骤S307和步骤S308。在步骤S307中,至少阈值数量的参与者102获取待签名消息并计算消息摘要。例如,协调者101可以将请求发送给(t+1)个参与者,以在消息msg中创建签名份额。每个参与者i可以计算消息摘要e=hash(msg)。在一些示例中,该哈希函数是双SHA-256哈希函数。可以使用替代的哈希函数。
在步骤S308中,至少阈值数量的参与者102计算签名份额并将其发送给协调者101。例如,每个参与者i可以计算他们的签名份额然后将该签名份额(r,si)发送给协调者。应当注意的是,该值r可能不是由所有参与者发送的。
在步骤S309中,协调者101计算签名。例如,协调者101可以计算s=interpolate(s1,...,st+1)+λ=k-1e+k-1ar,最终计算签名(r,s)。这会生成预期的签名份额,因为β项会取消。该协议的类似变体可以如上所述描述何时将(kα)-1和r纳入计算中。
应当注意的是,秘密的阈值可以不同。换言之,执行签名生成方案时,a、k、α、β本身的阈值不必相同。例如,如果有六方组成的群组,并且三方需要创建签名和/或私钥,则从技术上讲,他们可以在k的阈值为四且其他共享秘密的阈值为三的情况下进行计算,并且他们将仍然拥有阈值最优方案。
应当注意的是,本发明可以应用于任何阈值签名方案(无论是最优还是非最优),并且不限于上述图3的示例。
一般而言,本发明的实施例能够用于在任何消息中生成签名。作为特定示例性用例,如图1所示,消息可以是区块链事务的一部分或全部。换言之,签名可以用于对区块链事务的一个或多个输入和/或一个或多个输出进行签名。例如,所生成的签名可以至少部分地用于解锁区块链事务的输出。作为特定示例,先前事务的输出可以是支付到公钥哈希(P2PKH)输出,该输出锁定到公钥哈希。为了解锁,引用P2PKH输出的后续事务的输入需要包括(未经哈希处理的)公钥以及基于与公钥对应的私钥生成的签名。协调者104可以对区块链事务进行签名,并将已签名事务提交给区块链网络106的一个或多个区块链节点。
脚本中表示的“锁定脚本Locking script”和“解锁脚本Unlocking script”可以采取以下形式:
Locking script=OP_DUP OP_HASH160<Public KeyHash>OP_EQUAL OP_CHECKSIGUnlocking script==<Signature><Public Key>
参考上述实施例,<Public Key>可以等同于P=achild·G,并且<Signature>包括阈值签名s,其中上一个事务是待签名消息。应当注意的是,如上所述,ECDSA签名采用(r,s)形式。
应当注意的是,所描述的签名生成方法并不限于任何特定用例,并且通常可以用于基于任何消息来生成签名。对区块链事务的全部或部分进行签名仅是一个说明性示例。例如,所描述的方法可以用于签署和/或授权法律文档(例如,遗嘱、契据或其他合同)、一方或多方之间的通信、数字证书(例如,由认证机构颁发)、医学处方、银行转账或金融工具、抵押或贷款申请等。
作为一个特定示例,参与者群组(假设总共五个参与者)可以组成一家公司的董事会。公司的投票事项可能需要董事会的大多数成员(即,至少三个参与者)就特定投票达成一致。董事会可以使用所描述的签名生成方法来证明至少有三名董事会成员同意投票赞成某个特定结果。在该示例中,签名生成方案的阈值为3。换言之,至少三名董事会成员必须提供相应签名份额,以便协调者成功生成签名。如果签名成功生成,则至少阈值数量(即,三名)的董事会成员同意投票赞成该结果。因此,签名的成功生成作为投票记录,并证明董事会的大多数成员以特定方式投票。
本发明的另一个用例涉及数字证书(例如,根据X.509标准颁发的数字证书)领域。数字证书包含对某些数据进行签名的签名。数据通常可以是任意数据,但数字证书中包含的数据的一个特定示例是公钥。数字证书中的公钥通常称为“认证公钥”。数字证书的发行者(“认证机构”)可以对公钥的所有者执行一次或多次检查(例如,了解客户检查),并且如果检查成功,则认证机构颁发包括认证公钥的数字证书。用户可以使用认证公钥来证明自己便是他们所称的身份,例如,通过使用与认证公钥对应的私钥对消息进行签名。认证机构的一种特殊用途是对HTTPS中使用的证书进行签名,以便在互联网上安全浏览。另一种常见用途是国家政府签发身份证,用于以电子方式签署文档。认证机构使用私钥对公钥(或任何其他待证明数据)进行签名。
如上所述,本发明的实施例可以涉及用对应于私钥份额的公钥来加密消息,并且类似地用私钥份额来解密消息。在该情况下,第一参与者102a可以解密已经由不同方加密的消息。作为另一选项,消息可以用对应于完整私钥(例如,完整子密钥)的公钥进行加密。在该情况下,至少阈值数量的参与者可以使其子私钥的相应份额可用,以便解密消息。加密的消息可以包括部分或全部区块链事务,例如加密的数据可以包括在要记录在区块链上的事务中。
结论
一旦给出本文的公开内容,所公开技术的其他变体或用例对于本领域技术人员可能变得显而易见。本公开的范围不受所描述的实施例限制,而仅受随附权利要求限制。
应当理解,上述实施例仅通过示例的方式进行描述。更一般地说,可根据下述任何一个或更多个语句提供一种方法、装置或程序。
语句1.一种计算机实现的方法,所述方法由参与者群组中的第一参与者执行,所述方法用于证明所述群组的目标子组已生成数字签名,其中所述签名只能基于至少阈值数量的相应签名份额来生成,其中所述群组中的每个参与者具有共享私钥的相应私钥份额,其中所述群组能被划分为多个唯一子组,其中每个子组包括至少所述阈值数量的参与者,并且其中所述方法包括:
对于所述第一参与者所属的每个相应子组,生成相应共享临时私钥的相应第一临时私钥份额,其中每个相应子组中的每个其他参与者生成所述相应共享临时私钥的相应临时私钥份额;
对于每个相应共享临时私钥,生成相应共享临时公钥;
生成所述签名的第一签名份额,其中所述第一签名份额是基于所述共享私钥的第一私钥份额、所述相应共享临时私钥中的目标共享临时私钥的所述第一临时私钥份额、以及消息来生成的;以及,
将所述第一签名份额提供给协调者,以用于基于至少所述阈值数量的相应签名份额来生成所述签名,其中每个相应签名份额基于所述共享私钥的相应私钥份额和所述相应共享临时私钥中的所述目标共享临时私钥的相应临时私钥份额,并且其中所述签名包括基于与所述相应共享临时私钥中的所述目标共享临时私钥对应的所述相应共享临时公钥的分量。
语句2.根据语句1所述的方法,其中所述第一参与者是所述协调者,并且其中所述方法包括:
获得至少所述阈值数量的相应签名份额;以及,
基于至少所述阈值数量的相应签名份额来生成所述签名。
语句3.根据语句1或2所述的方法,所述方法包括:
将相应参与者的列表提供给验证方,所述相应参与者属于所述子组,所述子组和与所述相应共享临时私钥中的所述目标共享临时私钥对应的所述相应共享临时公钥相关联。
语句4.根据语句3所述的方法,所述方法包括:将所述消息发送给所述验证方。
语句5.根据前述任一项语句所述的方法,其中所述消息包括区块链事务的至少一部分。
语句6.根据语句2和5所述的方法,所述方法包括:将所述区块链事务提交到区块链网络的一个或多个节点。
语句7.根据前述任一项语句所述的方法,其中所述消息包括数字证书。
语句8.根据前述任一项语句所述的方法,其中每个相应第一临时私钥份额是使用联合可验证秘密共享方案生成的。
语句9.根据语句1至7中任一项所述的方法,其中每个相应第一临时私钥份额是使用Shamir的秘密共享方案生成的。
语句10.根据前述任一项语句所述的方法,其中所述群组被划分为所有可能的唯一子组。
语句11.一种计算机设备,所述计算机设备包括:
存储器,所述存储器包括一个或多个存储器单元;以及,
处理装置,所述处理装置包括一个或多个处理单元,其中所述存储器存储被设置在所述处理装置上运行的代码,所述代码被配置为当在所述处理装置上运行时,执行根据语句1至10中任一项所述的方法。
语句12.一种计算机程序,所述计算机程序包含在计算机可读存储器上并且被配置为当在计算机设备上运行时,执行根据语句1至10中任一项所述的方法。
根据本文公开的另一方面,可以提供一种方法,所述方法包括所述协调方和所述第一参与者的动作。
根据本文公开的另一方面,可以提供一种系统,所述系统包括所述协调方和所述第一参与者的计算机设备。
Claims (12)
1.一种计算机实现的方法,所述方法由参与者群组中的第一参与者执行,所述方法用于证明所述群组的目标子组已生成数字签名,其中所述签名只能基于至少阈值数量的相应签名份额来生成,其中所述群组中的每个参与者具有共享私钥的相应私钥份额,其中所述群组能被划分为多个唯一子组,其中每个子组包括至少所述阈值数量的参与者,并且其中所述方法包括:
对于所述第一参与者所属的每个相应子组,生成相应共享临时私钥的相应第一临时私钥份额,其中每个相应子组中的每个其他参与者生成所述相应共享临时私钥的相应临时私钥份额;
对于每个相应共享临时私钥,生成相应共享临时公钥;
生成所述签名的第一签名份额,其中所述第一签名份额是基于所述共享私钥的第一私钥份额、所述相应共享临时私钥中的目标共享临时私钥的所述第一临时私钥份额、以及消息来生成的;以及
将所述第一签名份额提供给协调者,以用于基于至少所述阈值数量的相应签名份额来生成所述签名,其中每个相应签名份额基于所述共享私钥的相应私钥份额和所述相应共享临时私钥中的所述目标共享临时私钥的相应临时私钥份额,并且其中所述签名包括分量,所述分量基于与所述相应共享临时私钥中的所述目标共享临时私钥对应的所述相应共享临时公钥。
2.根据权利要求1所述的方法,其中所述第一参与者是所述协调者,并且其中所述方法包括:
获得至少所述阈值数量的相应签名份额;以及
基于至少所述阈值数量的相应签名份额来生成所述签名。
3.根据权利要求1或2所述的方法,所述方法包括:
将相应参与者的列表提供给验证方,所述相应参与者属于所述子组,所述子组和与所述相应共享临时私钥中的所述目标共享临时私钥对应的所述相应共享临时公钥相关联。
4.根据权利要求3所述的方法,所述方法包括:将所述消息发送给所述验证方。
5.根据前述任一项权利要求所述的方法,其中所述消息包括区块链事务的至少一部分。
6.根据权利要求2和5所述的方法,所述方法包括:将所述区块链事务提交到区块链网络的一个或多个节点。
7.根据前述任一项权利要求所述的方法,其中所述消息包括数字证书。
8.根据前述任一项权利要求所述的方法,其中每个相应第一临时私钥份额是使用联合可验证秘密共享方案生成的。
9.根据权利要求1至7中任一项所述的方法,其中每个相应第一临时私钥份额是使用Shamir的秘密共享方案生成的。
10.根据前述任一项权利要求所述的方法,其中所述群组被划分为所有可能的唯一子组。
11.一种计算机设备,所述计算机设备包括:
存储器,所述存储器包括一个或多个存储器单元;以及
处理装置,所述处理装置包括一个或多个处理单元,其中所述存储器存储被设置在所述处理装置上运行的代码,所述代码被配置为当在所述处理装置上运行时,执行根据权利要求1至10中任一项所述的方法。
12.一种计算机程序,所述计算机程序包含在计算机可读存储器上并且被配置为当在计算机设备上运行时,执行根据权利要求1至10中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2111442.6 | 2021-08-09 | ||
GB2111442.6A GB2609908B (en) | 2021-08-09 | 2021-08-09 | Generating Digital signatures |
PCT/EP2022/069261 WO2023016730A1 (en) | 2021-08-09 | 2022-07-11 | Generating digital signatures |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117837127A true CN117837127A (zh) | 2024-04-05 |
Family
ID=82786474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280055626.5A Pending CN117837127A (zh) | 2021-08-09 | 2022-07-11 | 生成数字签名 |
Country Status (4)
Country | Link |
---|---|
KR (1) | KR20240045226A (zh) |
CN (1) | CN117837127A (zh) |
GB (1) | GB2609908B (zh) |
WO (1) | WO2023016730A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201817507D0 (en) * | 2018-10-27 | 2018-12-12 | Nchain Holdings Ltd | Computer implemented system and method |
CN110993044B (zh) * | 2019-11-28 | 2023-03-28 | 周口师范学院 | 一种医疗联盟链轻量级动态自主跨链交互方法 |
-
2021
- 2021-08-09 GB GB2111442.6A patent/GB2609908B/en active Active
-
2022
- 2022-07-11 CN CN202280055626.5A patent/CN117837127A/zh active Pending
- 2022-07-11 KR KR1020247004670A patent/KR20240045226A/ko unknown
- 2022-07-11 WO PCT/EP2022/069261 patent/WO2023016730A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
GB2609908A (en) | 2023-02-22 |
KR20240045226A (ko) | 2024-04-05 |
GB2609908B (en) | 2023-10-18 |
WO2023016730A1 (en) | 2023-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150288527A1 (en) | Verifiable Implicit Certificates | |
US20230224147A1 (en) | Generating shared private keys | |
KR20230024369A (ko) | 비밀 공유의 생성 | |
US20230319103A1 (en) | Identifying denial-of-service attacks | |
CN115885498A (zh) | 阈值签名 | |
TW202318833A (zh) | 臨界簽章方案 | |
CN116830523A (zh) | 阈值密钥交换 | |
US20230163977A1 (en) | Digital signatures | |
US20240121109A1 (en) | Digital signatures | |
KR20240045231A (ko) | 디지털 서명 셰어의 생성 | |
CN117917041A (zh) | 生成共享加密密钥 | |
WO2023072502A1 (en) | Generating shared keys | |
CN117837127A (zh) | 生成数字签名 | |
CN117837123A (zh) | 生成数字签名 | |
CN117223252A (zh) | 嵌套阈值签名 | |
WO2023036534A1 (en) | Generating shared cryptographic keys | |
WO2023143880A1 (en) | Generating shared private keys | |
Foster | Study and Implementation of Algorithms for Digital Signatures in Network Security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |