一种交互式聚合签名方法、设备及存储介质技术

技术编号:25091140 阅读:195 留言:0更新日期:2020-07-31 23:35
本发明专利技术公开了一种交互式聚合签名方法、设备及存储介质,属于数据加密技术领域。包括:S101、根据所有参与方的随机数生成一个挑战数,并将参与方对应的随机数,挑战数和提案消息分别发送给对应参与方;S102、接收参与方的消息,若消息中含有部分签名,则记录下来部分签名;S103、判断记录的部分签名的数量是否达到提案消息通过要求的数量;若是,则S104、将这些部分签名生成一个聚合签名;若否,则输出提案消息未通过,无法生成聚合签名,或重复S101‑S103。针对现有技术中存在区块链系统中无法高效地进行大量聚合签名计算的技术问题,可以高效地进行大量的聚合签名计算。

【技术实现步骤摘要】
一种交互式聚合签名方法、设备及存储介质
本专利技术涉及数据加密
,尤其涉及一种交互式聚合签名方法、设备及存储介质。
技术介绍
数字签名在计算机系统中已经是不可或缺的一部分了。无论是身份认证,还是通信加密,数字签名都是其中的核心。数字签名在密码学上保证了身份无法伪造,数据无法篡改。这对于信用社会的建立具有十分重要的意义。在投票类的系统中,多个参与方独立地对提案进行投票,对提案用自己的数字证书进行签名。聚合签名算法是将多个签名合并成一个签名的算法。通过聚合签名可以减少签名大小,从而减少需要频繁使用多次签名的区块链系统的区块大小,因此具有十分重要的意义。目前聚合签名算法主要基于两种不同的原理,有两种不同的实现,即非交互式聚合签名与交互式聚合签名。非交互式聚合签名基于双线性映射的性质。其中BLS聚合签名算法是最常见的非交互聚合签名算法。该类算法无需额外的消息传输,签名和签名验证都比较简单,但签名和签名验证的速度都比基于椭圆曲线的签名慢的多。交互式聚合签名算法基于Schnorr多签名与签名验证方案,该方案需要进行三次消息交互,受网络延时影响,但是聚合后签名的验证速度要明显快于BLS聚合签名算法。在区块链系统中,所有节点都需要频繁地对大量的提案进行投票。为了证明一个提案的有效性,需要证明有足够数量的节点都对该提案进行了签名。通过提供该提案的聚合签名,可以很容易地验证这一点。但是,如果将这些聚合签名的计算都孤立的看待,则无论选择以上哪种聚合签名算法,效果都不能让人满意。
技术实现思路
专利技术要解决的技术问题针对现有技术中存在区块链系统中无法高效地进行大量聚合签名计算的技术问题,本专利技术提供了一种交互式聚合签名方法、设备及存储介质。可以高效地进行大量的聚合签名计算。技术方案为解决上述问题,本专利技术提供的技术方案为:一种交互式聚合签名方法,适用于发起方所在节点,包括:S101、根据所有参与方的随机数生成一个挑战数,并将参与方对应的随机数,挑战数和提案消息分别发送给对应参与方;S102、接收参与方的消息,若消息中含有部分签名,则记录下来部分签名;S103、判断记录的部分签名的数量是否达到提案消息通过要求的数量;若是,则S104、将这些部分签名生成一个聚合签名;若否,输出提案消息未通过,无法生成聚合签名,或重复S101-S103;其中,在S101和S102之间,参与方接收发起方发来包含有随机数,挑战数和提案消息的消息;判断本地的随机数与消息中的随机数是否一致;若是且同意所述提案消息,则对提案消息生成部分签名,生成新的随机数;把包含有部分签名和新的随机数的消息发送给发起方;若是且不同意所述提案消息,则发送拒绝所述提案消息的信息给发起方;若否,则不对所述提案消息签名,向发起方发送本地的随机数。可选的,所述重复S101-S103的前提为:若超过设定响应时间仍未收到提案消息通过要求的数量的部分签名,若未响应的参与方的节点数量、与拒绝提案消息的参与方的节点数量之和,小于拒绝提案消息所需的数量,则重复S101-S103;否则输出提案信息未通过,无法生成聚合签名。可选的,所述根据所有参与方的随机数生成一个挑战数,进一步为:采用Ed25519算法根据所有参与方的随机数生成一个挑战数。可选的,所述对提案消息生成部分签名,进一步为:采用Ed25519算法对提案消息生成部分签名。可选的,所述S102还包括记录参与方的新的随机数,用以更新参与方随机数列表。可选的,所述参与方随机数列表的更新方法包括S101和S102。一种交互式聚合签名方法,适用于参与方所在节点,包括:S201、接收发起方发来包含有随机数,挑战数和提案消息的消息;判断本地的随机数与消息中的随机数是否一致;若是且同意所述提案消息,则S202、对提案消息生成部分签名,生成新的随机数;把包含有部分签名和新的随机数的消息发送给发起方;若是且不同意所述提案消息,则S203、发送拒绝所述提案消息的信息给发起方;若否,则S204、不对所述提案消息签名,向发起方发送本地的随机数。可选的,所述对提案消息生成部分签名,进一步为:采用Ed25519算法对提案消息生成部分签名。此外,本专利技术提供了一种设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如以上所述的方法。相应地,本专利技术提供了一种存储有计算机程序的存储介质,该程序被处理器执行时实现如以上任一项所述的方法。有益效果采用本专利技术提供的技术方案,与现有技术相比,具有如下有益效果:可以有效的降低在大量使用聚合签名的场景下的聚合签名计算的效率,提升使用聚合签名的系统的性能。附图说明图1为本专利技术的一种设备结构示意图;图2是发起方发送提案信息给参与方的示意图;图3是参与方接受提案信息发送部分签名给发起方的示意图;图4是发起方生成聚合签名并更新本地随机数列表的示意图;图5为本专利技术一实施例提供的适用于发起方所在节点的一种交互式聚合签名方法流程图;图6为本专利技术另一实施例提供的适用于发起方所在节点的一种交互式聚合签名方法流程图;图7为本专利技术一实施例提供的适用于参与方所在节点的一种交互式聚合签名方法流程图。具体实施方式为进一步了解本专利技术的内容,结合附图及实施例对本专利技术作详细描述。下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。本专利技术中所述的第一、第二等词语,是为了描述本专利技术的技术方案方便而设置,并没有特定的限定作用,均为泛指,对本专利技术的技术方案不构成限定作用。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。实施例1本实施例提供了一种交互式聚合签名方法,适用于发起方所在节点,如图5所示,包括:S101、根据所有参与方的随机数生成一个挑战数,并将参与方对应的随机数,挑战数和提案消息分别发送给对应参与方;S102、接收参与方的消息,若消息中含有部分签名,则记录下来部分签名;S103、判断记录的部分签名的数量是否达到提案消息通过要求的数量;若是,则S104、将这些部分签名生成一个聚合签名;若否,则输出提案消息未通过,无法生成聚合签名,或重复S101-S103;其中,在S101和S102之间,参与方接收发起方发来包含有随机数,挑战数和提案消息的消息;判断本地的随机数与消息中的随机数是否一致;若是且同意所述提案消息,则对提案消息生成部分签名,生成新的随机数;把包含有部分签名和新的随机数的消息发送给发起方;若是且不同意所述提案消息,则发送拒绝所述提案消息的信息给发起方;若否,则不对所述提案消息签名,向发起方发送本地的随机数。本文档来自技高网...

【技术保护点】
1.一种交互式聚合签名方法,适用于发起方所在节点,其特征在于,包括:/nS101、根据所有参与方的随机数生成一个挑战数,并将参与方对应的随机数,挑战数和提案消息分别发送给对应参与方;/nS102、接收参与方的消息,若消息中含有部分签名,则记录下来部分签名;/nS103、判断记录的部分签名的数量是否达到提案消息通过要求的数量;/n若是,则S104、将这些部分签名生成一个聚合签名;若否,则输出提案消息未通过,无法生成聚合签名,或重复S101-S103;/n其中,在S101和S102之间,参与方接收发起方发来包含有随机数,挑战数和提案消息的消息;判断本地的随机数与消息中的随机数是否一致;/n若是且同意所述提案消息,则对提案消息生成部分签名,生成新的随机数;把包含有部分签名和新的随机数的消息发送给发起方;/n若是且不同意所述提案消息,则发送拒绝所述提案消息的信息给发起方;/n若否,则不对所述提案消息签名,向发起方发送本地的随机数。/n

【技术特征摘要】
1.一种交互式聚合签名方法,适用于发起方所在节点,其特征在于,包括:
S101、根据所有参与方的随机数生成一个挑战数,并将参与方对应的随机数,挑战数和提案消息分别发送给对应参与方;
S102、接收参与方的消息,若消息中含有部分签名,则记录下来部分签名;
S103、判断记录的部分签名的数量是否达到提案消息通过要求的数量;
若是,则S104、将这些部分签名生成一个聚合签名;若否,则输出提案消息未通过,无法生成聚合签名,或重复S101-S103;
其中,在S101和S102之间,参与方接收发起方发来包含有随机数,挑战数和提案消息的消息;判断本地的随机数与消息中的随机数是否一致;
若是且同意所述提案消息,则对提案消息生成部分签名,生成新的随机数;把包含有部分签名和新的随机数的消息发送给发起方;
若是且不同意所述提案消息,则发送拒绝所述提案消息的信息给发起方;
若否,则不对所述提案消息签名,向发起方发送本地的随机数。


2.根据权利要求1所述的方法,其特征在于:
所述重复S101-S103的前提为:若超过设定响应时间仍未收到提案消息通过要求的数量的部分签名,则判断未响应的参与方的节点数量、与拒绝提案消息的参与方的节点数量之和,小于拒绝提案消息所需的数量,则重复S101-S103;若否,则输出提案信息未通过,无法生成聚合签名。


3.根据权利要求1所述的方法,其特征在于:
所述根据所有参与方的随机数生成一个挑战数,进一步为:采用Ed25519算法根据所有参与方的随机数生成一个挑战数。


4.根据权利...

【专利技术属性】
技术研发人员:邱炜伟李伟张珂杰黄方蕾汪晓可
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:浙江;33

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

1