System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 阈值签名方案制造技术_技高网

阈值签名方案制造技术

技术编号:41633616 阅读:5 留言:0更新日期:2024-06-13 02:30
一种生成阈值签名的份额的计算机实现的方法,其中参与者群组包括目标参与者集合和虚拟参与者集合,其中所述目标参与者的数量小于生成有效签名所需的参与者的数量,其中每个目标参与者和每个虚拟参与者具有i)第一私钥的相应份额、ii)临时私钥的相应份额、iii)第一盲钥的相应份额、iv)第二盲钥的相应份额,并且其中每个目标参与者具有v)与所述临时私钥相对应的临时公钥。

【技术实现步骤摘要】
【国外来华专利技术】

本公开涉及一种生成阈值数字签名的份额的方法。


技术介绍

1、公钥密码学是一种使用密钥对的密码系统,该密钥对包括:私钥,其仅对私钥所有者已知;以及公钥,其是基于对应的私钥生成的,并且可以在不损害私钥安全性的情况下进行传播。

2、公钥密码学使得发送者能够使用接收者的公钥(即,与仅对接收者已知的私钥对应的公钥)来加密消息。该加密消息随后只能使用接收者的私钥进行解密。

3、类似地,发送者可以使用自己的私钥对消息进行签名,例如以证明该消息是由发送者发送的,和/或指示发送者同意该消息。签名者(即,生成签名的一方)使用他们的私钥基于该消息创建数字签名。基于消息创建数字签名意味着将该消息和私钥提供给基于该消息和私钥生成该签名的函数。该签名被添加到(例如,标记到)该消息中或以其他方式与该消息相关联。拥有签名者的对应公钥的任何人都可以使用同一消息以及该消息中的数字签名来验证签名是否有效创建,即签名是否确实是使用签名者的私钥创建的。除确保消息的真实性之外,数字签名还确保消息的完整性和不可否认性。也就是说,数字签名可以用于证明消息在使用该签名进行签名之后未更改,并且签名的创建者将来不能否认他们创建了该签名。

4、数字签名方案通常涉及三个过程,即算法。密钥生成算法用于生成随机私钥和对应的公钥。签名算法用于基于消息和私钥来生成签名。在给定公钥和消息的情况下,验证算法用于验证是否已使用对应的私钥并根据签名算法生成签名。

5、通常,共享秘密可以用于共享分布在参与者群组之间的数据项。每个参与者具有该秘密的不同份额。通常,只有当一定数量(称为“阈值”)的参与者提供其相应份额时才能重建该秘密,例如组合在一起以计算该秘密。共享秘密的常见用途是作为私钥-公钥对的共享私钥。也就是说,私钥可以分布在参与者群组之间,使得没有单个参与者能够访问该私钥。因此,没有单个参与者可以生成消息的有效签名。相反,一些或全部参与者必须共同生成该私钥才能生成该签名。

6、参与者可以使用阈值签名方案,而不是共享他们的私钥份额来生成签名。阈值签名方案允许群组中的阈值数量的参与者使用共享私钥的单独份额基于消息创建数字签名,而不向任何一个参与者提供该私钥。这里,数字签名是基于待签名消息生成的签名。在此类方案中,只有当阈值数量的参与者同意在消息中生成签名时,才能创建签名。使用较少数量的参与者生成签名的任何尝试都不会生成有效的签名。因此,该群组的有效签名(即,使用消息和共享私钥生成的签名)可证明具有阈值数量的人同意生成签名。这还意味着,任何攻击者都需要获取私钥的阈值数量的份额,才能使用该私钥伪造签名。

7、如果用于生成有效签名的阈值与共享私钥的阈值相同,则阈值签名方案被视为阈值最优的签名方案。


技术实现思路

1、阈值签名方案需要阈值数量的参与者做出贡献(即,参与)以生成有效签名。例如,一组参与者必须对阈值数量的签名份额做出贡献。虽然生成有效签名只需要所述阈值数量的签名份额,但是某些签名方案需要超过阈值数量的参与者才能计算这些签名份额。也就是说,可以基于只有在超过所述阈值数量的参与者的情况下才能计算的值来生成签名份额。例如,阈值签名的阈值可以是t+1,而至少需要2t+1个参与者才能生成签名份额,或至少需要所述签名份额所基于的一个或多个值。在这种情况下,给定的一组参与者可能无法使用所述阈值签名方案。因此,需要提供一种技术,使较小的组能够使用这种签名方案。

2、根据本文公开的一个方面,提供了一种生成阈值签名的份额的计算机实现的方法,其中一组参与者包括一组目标参与者(target participant)和一组虚拟参与者(dummyparticipant),其中所述目标参与者的数量小于生成有效签名所需的参与者的数量,其中每个目标参与者和每个虚拟参与者具有i)第一私钥的相应份额、ii)临时私钥的相应份额、iii)第一盲钥的相应份额、iv)第二盲钥的相应份额,并且其中每个目标参与者具有v)与所述临时私钥相对应的临时公钥,并且其中所述方法由所述目标参与者中的第一目标参与者执行并且包括:基于所述临时公钥来生成所述阈值签名的第一分量;基于所述临时私钥的所述相应份额和所述第一盲钥的所述相应份额来生成第一中间密钥的相应份额,并且从每个其他目标参与者和每个虚拟参与者获取所述第一中间密钥的相应份额;基于所述第一中间密钥的所述相应份额来生成所述第一中间密钥;基于所述第一中间密钥的逆和所述第一盲钥的所述相应份额来生成逆临时私钥的相应份额;基于所述第一私钥的所述相应份额、所述第一盲钥的所述相应份额、和所述第二盲钥的所述相应份额来生成第二中间密钥的相应份额,并且从每个其他目标参与者和每个虚拟参与者获取所述第二中间密钥的相应份额;基于所述第二中间密钥的所述相应份额来生成所述第二中间密钥;基于所述阈值签名的所述第一分量、所述第一中间密钥的所述逆、所述第二中间密钥、和所述第二盲钥的所述相应份额来生成预签名值的相应份额;以及,基于所述逆临时私钥的所述相应份额、所述预签名值的所述相应份额、和消息来生成所述阈值签名的相应第二分量。

3、本公开使目标参与者集合能够计算有效签名,而不管目标参与者的数量如何,包括如果所述目标参与者的数量小于所述签名方案所需的参与者的数量。本公开使用了“虚拟参与者”。这些参与者贡献某些数据项(例如,密钥),使得所述目标参与者能够计算所述方案所需的但无法单独由所述目标参与者集合生成的其他数据项。换句话说,本公开使所述目标参与者能够复制方案,其中所述目标参与者集合的规模小于所述方案所需的群组规模。所述方法使得所述目标参与者能够生成有效签名份额,而所述虚拟参与者则不能。

本文档来自技高网...

【技术保护点】

1.一种生成阈值签名的份额的计算机实现的方法,其中参与者群组包括目标参与者集合和虚拟参与者集合,其中目标参与者的数量小于生成有效签名所需的参与者的数量,其中每个目标参与者和每个虚拟参与者具有i)第一私钥的相应份额、ii)临时私钥的相应份额、iii)第一盲钥的相应份额、iv)第二盲钥的相应份额,并且其中每个目标参与者具有v)临时公钥,所述临时公钥对应于所述临时私钥,并且其中所述方法由所述目标参与者中的第一目标参与者执行并且包括:

2.根据权利要求1所述的方法,所述方法包括:将所述阈值签名的所述相应第二分量提供给协调者,用于生成所述阈值签名。

3.根据权利要求1所述的方法,所述方法包括:

4.根据前述任一项权利要求所述的方法,其中所述临时私钥、所述第一盲钥、所述第二盲钥和所述阈值签名的所述第二分量具有第一阈值,并且其中所述第一中间密钥和所述第二中间密钥具有更高的第二阈值。

5.根据前述任一项权利要求所述的方法,所述方法包括:更新所述第二盲钥的所述相应份额,并且其中所述预签名值的所述相应份额基于所述第二盲钥的所更新的相应份额。

>6.根据前述任一项权利要求所述的方法,其中更新所述第二盲钥的所述相应份额包括:

7.根据前述任一项权利要求所述的方法,所述方法包括:更新所述逆临时私钥的所述相应份额,并且其中所述阈值签名的所述相应第二分量基于所述逆临时私钥的所更新的相应份额。

8.根据权利要求7所述的方法,其中更新所述逆临时密钥的所述相应份额包括:

9.根据前述任一项权利要求所述的方法,所述方法包括:向每个其他目标参与者发送所述第一中间密钥的所述相应份额。

10.根据前述任一项权利要求所述的方法,所述方法包括:向每个其他目标参与者发送所述第二中间密钥的所述相应份额。

11.根据前述任一项权利要求所述的方法,其中所述第一中间密钥的所述相应份额基于所述临时私钥的所述相应份额与所述第一盲钥的所述相应份额的乘积。

12.根据前述任一项权利要求所述的方法,其中所述第二中间密钥的所述相应份额至少基于所述第一盲钥的所述相应份额与所述第一私钥的所述相应份额的乘积。

13.根据权利要求2或其任何从属权利要求所述的方法,所述方法包括:从所述协调者接收所述消息。

14.根据权利要求13所述的方法,所述方法包括:在从所述协调者接收所述消息之前生成所述预签名值的所述相应份额。

15.根据前述任一项权利要求所述的方法,其中使用联合可验证随机秘密共享(JVRSS)方案来生成以下各项中的任何一项或多项:所述第一私钥的所述相应份额、所述临时私钥的所述相应份额、所述第一盲钥的所述相应份额、所述第二盲钥的所述相应份额。

16.根据前述任一项权利要求所述的方法,其中所述消息包括区块链事务的至少一部分。

17.根据权利要求3和16所述的方法,所述方法包括:

18.一种计算机设备,所述计算机设备包括:

19.一种计算机程序,所述计算机程序包含在计算机可读存储器上并且被配置为当在计算机设备上运行时,执行根据权利要求1至17中任一项所述的方法。

...

【技术特征摘要】
【国外来华专利技术】

1.一种生成阈值签名的份额的计算机实现的方法,其中参与者群组包括目标参与者集合和虚拟参与者集合,其中目标参与者的数量小于生成有效签名所需的参与者的数量,其中每个目标参与者和每个虚拟参与者具有i)第一私钥的相应份额、ii)临时私钥的相应份额、iii)第一盲钥的相应份额、iv)第二盲钥的相应份额,并且其中每个目标参与者具有v)临时公钥,所述临时公钥对应于所述临时私钥,并且其中所述方法由所述目标参与者中的第一目标参与者执行并且包括:

2.根据权利要求1所述的方法,所述方法包括:将所述阈值签名的所述相应第二分量提供给协调者,用于生成所述阈值签名。

3.根据权利要求1所述的方法,所述方法包括:

4.根据前述任一项权利要求所述的方法,其中所述临时私钥、所述第一盲钥、所述第二盲钥和所述阈值签名的所述第二分量具有第一阈值,并且其中所述第一中间密钥和所述第二中间密钥具有更高的第二阈值。

5.根据前述任一项权利要求所述的方法,所述方法包括:更新所述第二盲钥的所述相应份额,并且其中所述预签名值的所述相应份额基于所述第二盲钥的所更新的相应份额。

6.根据前述任一项权利要求所述的方法,其中更新所述第二盲钥的所述相应份额包括:

7.根据前述任一项权利要求所述的方法,所述方法包括:更新所述逆临时私钥的所述相应份额,并且其中所述阈值签名的所述相应第二分量基于所述逆临时私钥的所更新的相应份额。

8.根据权利要求7所述的方法,其中更新所述逆临时密钥的所述相应份额包括:

9.根据前述任一项权利...

【专利技术属性】
技术研发人员:迈克尔拉·佩蒂特
申请(专利权)人:区块链许可股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1