本说明书实施例属于区块链,尤其涉及一种多方签名方法、系统和设备。
背景技术:
1、区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
技术实现思路
1、本发明的目的在于提供一种多方签名方案,以节省存储资源,提高系统效率。
2、本说明书第一方面提供一种多方签名方法,所述方法包括:
3、n个签名方中的每方提供签名份额,其中,所述n个签名方对应的n个签名份额中的正确的签名份额通过由签名方基于门限签名算法生成,所述n个签名方中包括t个恶意方;
4、在t<n/3的情况中,所述n个签名方中的至少一方基于第一多项式和所述n个签名份额计算所述n个签名份额对应的完整签名,所述第一多项式在任一签名方传输错误的签名份额的情况下的值为零,所述n个签名份额对应于第二多项式,所述第二多项式为d度多项式,其中d大于或者等于t。
5、第二方面提供一种多方签名方法,包括:
6、获取n个签名方各自的签名份额,其中,所述n个签名方对应的n个签名份额中的正确的签名份额通过由签名方基于门限签名算法生成,所述n个签名方中包括t个恶意方;
7、在t<n/3的情况中,基于第一多项式和所述n个签名份额计算所述n个签名份额对应的完整签名,所述第一多项式在任一签名方传输错误的签名份额的情况下的值为零,所述n个签名份额对应于第二多项式,所述第二多项式为d度多项式,其中d大于或者等于t。
8、第三方面提供一种多方签名系统,所述系统包括n个签名设备,
9、所述n个签名设备中的每个签名设备用于提供签名份额,其中,所述n个签名设备对应的n个签名份额中的正确的签名份额通过由签名设备基于门限签名算法生成,所述n个签名设备中包括t个恶意设备;
10、在t<n/3的情况中,所述n个签名设备中的至少一个签名设备用于基于第一多项式和所述n个签名份额计算所述n个签名份额对应的完整签名,所述第一多项式在任一签名方传输错误的签名份额的情况下的值为零,所述n个签名份额对应于第二多项式,所述第二多项式为d度多项式,其中d大于或者等于t。
11、第四方面提供一种多方签名设备,包括:
12、获取单元,用于获取n个签名方各自的签名份额,其中,所述n个签名方对应的n个签名份额中的正确的签名份额通过由签名方基于门限签名算法生成,所述n个签名方中包括t个恶意方;
13、计算单元,用于在t<n/3的情况中,基于第一多项式和所述n个签名份额计算所述n个签名份额对应的完整签名,所述第一多项式在任一签名方传输错误的签名份额的情况下的值为零,所述n个签名份额对应于第二多项式,所述第二多项式为d度多项式,其中d大于或者等于t。
14、第五方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第二方面所述的方法。
15、第六方面提供一种多方签名设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第二方面所述的方法。
16、本申请提供的上述方案,在多个签名方进行门限签名时,不需要记录所有签名方的公钥信息,减少了存储空间的消耗,同时通信轮数减少,提高了系统效率。
1.一种多方签名方法,所述方法包括:
2.根据权利要求1所述的方法,所述n个签名份额为各签名方对区块链中的第一交易进行签名而生成,所述n个签名方中的至少一方基于第一多项式和所述n个签名份额计算所述n个签名份额对应的完整签名包括:
3.根据权利要求2所述的方法,所述门限签名算法包括schnorr门限签名算法,所述方法还包括:
4.根据权利要求3所述的方法,所述第三签名方基于所述n个第一秘密分享值获取第一秘密值包括:
5.根据权利要求3所述的方法,还包括:
6.根据权利要求5所述的方法,还包括:
7.根据权利要求3所述的方法,所述n个签名方分别生成与第三签名方对应的n个第一秘密分享值包括:
8.根据权利要求1或2所述的方法,所述n个签名方基于第一多项式和所述n个签名份额计算所述n个签名份额对应的完整签名,包括:
9.根据权利要求1所述的方法,还包括:
10.一种多方签名方法,包括:
11.根据权利要求10所述的方法,所述n个签名份额为各签名方对区块链中的第一交易进行签名而生成,所述方法还包括:
12.一种多方签名系统,所述系统包括n个签名设备,
13.一种多方签名设备,包括:
14.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求10或11所述的方法。
15.一种多方签名设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求10或11所述的方法。