一种实现门限签名的方法技术

技术编号:39786745 阅读:9 留言:0更新日期:2023-12-22 02:26
一种实现分布式门限签名的方法,包括:分布式密钥生成阶段:

【技术实现步骤摘要】
一种实现门限签名的方法、系统和节点


[0001]本说明书实施例属于密码学
,尤其涉及一种实现门限签名的方法

系统和节点


技术介绍

[0002]在密码学中,公开钥匙密码学,简称公钥密码学,又称非对称密码学,是使用一对公钥和私钥
(
公钥

私钥记为
pk

sk
,其中
pk
表示
public key

sk
表示
secret key)
的密码学,与只用一个私钥密码学相对应

公钥密码学包括加密算法和数字签名算法

公钥

私钥密码对是现代密码学安全的基石,很多的应用都是基于
pk

sk
,例如基于
https(Hypertext Transfer Protocol Secure
,安全的超文本传输协议
)
应用层加密传输协议以及区块链等

[0003]私钥通常代表拥有该私钥的一方的身份,其只能由私钥的拥有者持有,不能公开,而对应的公钥可以公开出去

使用私钥进行的签名可以表示私钥拥有者对数字世界的某种信息进行的认可,签名的信息在协议的消息中也可以表示私钥拥有者的某种行为

一般的,一个拥有者单独拥有一个私钥,则这个拥有者可以采用自身私钥对某个信息进行签名后发给其它方/>。
接收方收到这个签名后,可以采用对应的公钥对该签名进行验证

验证通过,则接收方可以确认是拥有者对该信息进行了签名,且所签名的信息没有被篡改

[0004]有些时候账户需要灵活的访问控制策略,尤其是区块链上由多方共同控制一个账户的情况

一些需求下,需要由
n
个参与方共同控制一个账户

这样,控制这个账户的行为,例如转账等,需要由全部的
n
个参与方均认可才能控制该账户执行转账的行为

另一些需求下,并不需要由
n
个参与方全部同意,而是可以由其中的
t+1
个参与方
(t+1<n

t
为门限
)
同意的情况下即可以控制账户,这可以通过门限签名来实现

在这类门限密码学中
,
私钥信息被分享给独立的多个参与方
,
每一次私钥计算都需要多个参与方同意
,
从而提高算法安全性;而且当少量参与方发生故障

不可用时,不影响私钥的可用性

一个安全的
(t,n)
门限密码算法应当满足
:(1)
任意多于
t
个参与者可以计算最终的签名

交换的密钥或明文
,

t
个或少于
t
个参与者不能得到关于以上结果的任何信息;
(2)
在算法执行过程中不泄露关于私钥和参与方的私钥份额的任何信息


技术实现思路

[0005]本专利技术的目的在于提供一种实现门限签名的方法

系统和节点,包括:
[0006]一种实现分布式门限签名的方法,包括:分布式密钥生成阶段:
n
个参与方中的每一个各自生成第一随机值和第二随机值,并经同态加密后与其它参与方交换;每一参与方基于收集的第一随机值和第二随机值以及通过分布式密钥生成协议生成的秘密份额之和生成私钥份额;分布式签名的离线阶段,至少
t+1
个参与方中的每一个执行:更新自身私钥份额,生成自身的第三随机值及对应第三随机值公钥并广播;分布式签名的在线阶段,所述至少
t+1
个参与方中的每一个执行:收集齐第三随机值公钥后计算第三随机值公钥的总坐标,并基于该总坐标对消息计算签名份额中的
r
,还基于
r
以及自身的第三随机值

更新后的
自身私钥份额对消息计算签名份额的分量
s
i
,从而得到签名份额

[0007]一种计算机设备,包括:
[0008]处理器;
[0009]以及存储器,其中存储有程序,其中在所述处理器执行所述程序时,进行以下操作:
[0010]生成第一随机值和第二随机值,并经同态加密后与其它参与方交换;每一参与方基于收集的第一随机值和第二随机值以及通过分布式密钥生成协议生成的秘密份额之和生成私钥份额;
[0011]更新自身私钥份额,生成自身的第三随机值及对应第三随机值公钥并广播;
[0012]收集齐第三随机值公钥后计算第三随机值公钥的总坐标,并基于该总坐标对消息计算签名份额中的
r
,还基于
r
以及自身的第三随机值

更新后的自身私钥份额对消息计算签名份额的分量
s
i
,从而得到签名份额

[0013]一种存储介质,用于存储程序,其中所述程序在被执行时进行以下操作:
[0014]生成第一随机值和第二随机值,并经同态加密后与其它参与方交换;每一参与方基于收集的第一随机值和第二随机值以及通过分布式密钥生成协议生成的秘密份额之和生成私钥份额;
[0015]更新自身私钥份额,生成自身的第三随机值及对应第三随机值公钥并广播;
[0016]收集齐第三随机值公钥后计算第三随机值公钥的总坐标,并基于该总坐标对消息计算签名份额中的
r
,还基于
r
以及自身的第三随机值

更新后的自身私钥份额对消息计算签名份额的分量
s
i
,从而得到签名份额

[0017]本申请提供的上述方案,可以支持任意门限值

附图说明
[0018]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图

[0019]图1是一实施例中分布式门限密钥生成的示意图;
[0020]图2是一实施例中分布式门限签名的示意图

具体实施方式
[0021]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚

完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例

基于本本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种实现分布式门限签名的方法,包括:分布式密钥生成阶段:
n
个参与方中的每一个各自生成第一随机值和第二随机值,并经同态加密后与其它参与方交换;每一参与方基于收集的第一随机值和第二随机值以及通过分布式密钥生成协议生成的秘密份额之和生成私钥份额;分布式签名的离线阶段,至少
t+1
个参与方中的每一个执行:更新自身私钥份额,生成自身的第三随机值及对应第三随机值公钥并广播;分布式签名的在线阶段,所述至少
t+1
个参与方中的每一个执行:收集齐第三随机值公钥后计算第三随机值公钥的总坐标,并基于该总坐标对消息计算签名份额中的
r
,还基于
r
以及自身的第三随机值

更新后的自身私钥份额对消息计算签名份额的分量
s
i
,从而得到签名份额
。2.
如权利要求1所述的方法,任一方获得至少
t+1
个签名份额后,将所述至少
t+1
个签名份额聚合为总签名
。3.
如权利要求2所述的方法,所述
n
个参与方通过分布式密钥生成协议还生成总公钥;任一方获得总签名及总公钥后,采用所述总公钥验证所述总签名的正确性
。4.
如权利要求1所述的方法,所述分布式密钥生成阶段,
n
个参与方中的每一个参与方具体执行:
S11
:生成第一随机值和第二随机值,计算第二随机值同态密文并广播;并采用第二随机值作为秘密,通过分布式密钥生成协议生成各自的秘密份额之和;
S12
:接收第二随机值同态密文,针对其它参与方生成参与方之间的第一掩数,基于该参与方之间的第一掩数

自身生成的第一随机值和交换得到的第二随机值同态密文计算第一中间密文,并发送第一中间密文至对应接收的参与方;
S13
:接收其它参与方发送的第一中间密文,解密得到第一中间明文,并基于自身的第一随机值和第二随机值以及解密得到的第一中间明文以及参与方之间的第一掩数计算中间值,广播该中间值;基于自身得到的私钥份额之和以及收集齐的中间值之和计算私钥份额
。5.
如权利要求4所述的方法,所述分布式密钥生成阶段还包括
:
生成第一随机值的公钥份额并广播;收集齐
n
个参与方的公钥份额后计算得到总公钥
。6.
如权利要求1所述的方法,所述离线阶段至少
t+1
个参与方中的每一个参与方更新自身私钥份额,具体包括:采用拉格朗日系数更新自身的私钥份额
。7.
如权利要求1所述的方法,所述离线阶段至少
t+1
个参与方中的每一个参与方还生成自身的第三随机值同态密文并广播,还生成第二掩数,并通过同态加密交换第二中间明文
。8.
如权利要求7所述的方法,所述离线阶段至少
t+1
个参与方中的每一个参与方还生成自身的第三随机值同态密文并广播,还生成第二掩数,并通过同...

【专利技术属性】
技术研发人员:林立王欣王尧闫莺
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1