一种分布式签名系统及管理方法与流程

文档序号:24558287发布日期:2021-04-06 12:08阅读:134来源:国知局
一种分布式签名系统及管理方法与流程

本申请涉及互联网领域,具体而言,涉及一种分布式签名系统及管理方法。



背景技术:

随着社会的发展和科学的进步,互联网被广泛的应用到各个领域,给人们的生活带来了极大的便利性。互联网产品中的数字货币与区块链技术也应运而生。为了保障数字货币与区块链的大规模安全应用,密钥与签名成为了保障安全核心的环节。

现有技术中,绝大多数数字货币通过非对称加密与签名来保护账户与数字资产的安全。私钥一旦泄漏或被黑客窃取,则会造成无法挽回的损失。



技术实现要素:

本申请的目的在于提供一种分布式签名系统及管理方法,以至少部分改善上述问题。

为了实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请实施例提供一种分布式签名系统,所述分布式签名系统包括:注册中心机和签名机单元,所述签名机单元包括至少两个签名机,所述注册中心机分别与每一台签名机通信连接;

每一台目标签名机分别用于将所有的目标签名机的标识数字带入各自的随机数多项式,获得第一计算结果和第二计算结果,其中,所述目标签名机为所述签名机单元中的任意一台签名机,第一计算结果表征将目标签名机自身的标识数字带入随机数多项式的计算结果,不同的第二计算结果表征不同的其他的目标签名机的标识数字带入随机数多项式的计算结果;

每一台目标签名机分别用于通过第一临时密钥将每一个第二计算结果进行加密,并将加密后的每一个第二计算结果通过所述注册中心机分别传输给对应的目标签名机;

每一台目标签名机分别用于依据自身的第一计算结果和其他的目标签名机传输的第二计算结果生成对应的私钥碎片。

可选地,每一台目标签名机分别用于依据各自的随机数多项式中的预设数量的随机参数与椭圆曲线类型的基点进行椭圆曲线乘法运算,获取特征点集合,其中,所述特征点集合包括基点与每一个随机参数的乘积;

每一台目标签名机分别用于通过所述第一临时密钥将各自的特征点集合进行加密,并将加密后的特征点集合广播给其他的目标签名机;

每一台目标签名机分别用于依据自身的特征点集合与其他的目标签名机传输的特征点集合进行椭圆曲线加法运算,获得临时公钥;

每一台目标签名机分别用于通过所述第一临时密钥对各自的临时公钥进行加密,并将加密后的临时公钥广播给其他的目标签名机;

每一台目标签名机均用于验证自身的临时公钥与其他的目标签名机传输的临时公钥均相同时,表征钥匙生成成功,将临时公钥作为最后的公钥。

可选地,指定签名机为其中一台目标签名机;

所述指定签名机用于向所述注册中心机发起签名请求,其中,所述签名请求包括待签名哈希数据,目标公钥以及椭圆曲线类型;

所述注册中心机用于将所述签名请求广播至其他签名机;

被指定签名机用于在接收到所述签名请求后,确认存储有与所述目标公钥对应的私钥碎片时,通过所述注册中心机向所述指定签名机反馈可继续指令,其中,所述被指定签名机为除所述指定签名机以外的任意一台目标签名机;

所述指定签名机与数量为所述预设数量-1的被指定签名机组成签名机组;

所述签名机组内的每一台签名机分别用于自身的私钥碎片和椭圆曲线随机数r进行椭圆曲线签名,获得各自的签名结果,并将各自的签名结果广播给所述签名机组内的其他签名机;

所述签名机组内的每一台签名机还用于依据自身的签名结果和所述签名机组内的其他签名机广播的签名结果进行拉格朗日插值计算,获取最终的签名结果。

可选地,第一代的目标签名机用于向所述注册中心机传输私钥生成请求,其中,所述第一代的目标签名机为所述签名机单元内的任意一台签名机,所述私钥生成请求包括椭圆曲线类型、其他参与方总数以及签名完成阈值;

所述注册中心机用于接收所述第一代的目标签名机传输的所述私钥生成请求,从在线的其他签名机中,确定数量为所述其他参与方总数的第二代的目标签名机;

所述注册中心机还用于对私钥生成请求进行更新,获得第二代私钥生成请求,其中,所述第二代私钥生成请求包括椭圆曲线类型、其他参与方总数、签名完成阈值以及每一台目标签名机的唯一标识符;

所述注册中心机还用于向每一台目标签名机广播更新后的第二代私钥生成请求。

可选地,所有的目标签名机用于依据椭圆曲线密钥协商协议生成第一临时密钥。

可选地,每一台目标签名机分别用于生成各自对应的随机数多项式,其中,所述随机数多项式包括预设数量的随机参数,每一个随机参数分作为所述随机数多项式中对应阶乘未知数的参数,所述预设数量为签名完成阈值+1的和;

每一台目标签名机分别用于将所有的目标签名机的唯一标识符通过哈希算法转换为对应的标识数字。

第二方面,本申请实施例提供一种分布式签名系统管理方法,应用于分布式签名系统,所述分布式签名系统包括:注册中心机和签名机单元,所述签名机单元包括至少两个签名机,所述注册中心机分别与每一台签名机通信连接;

每一台目标签名机分别将所有的目标签名机的标识数字带入各自的随机数多项式,获得第一计算结果和第二计算结果,其中,所述目标签名机为所述签名机单元中的任意一台签名机,第一计算结果表征将目标签名机自身的标识数字带入随机数多项式的计算结果,不同的第二计算结果表征不同的其他的目标签名机的标识数字带入随机数多项式的计算结果;

每一台目标签名机分别通过第一临时密钥将每一个第二计算结果进行加密,并将加密后的每一个第二计算结果通过所述注册中心机分别传输给对应的目标签名机;

每一台目标签名机分别依据自身的第一计算结果和其他的目标签名机传输的第二计算结果生成对应的私钥碎片。

可选地,在每一台目标签名机分别依据自身的第一计算结果和其他的目标签名机传输的第二计算结果生成对应的私钥碎片之后,所述方法还包括:

每一台目标签名机分别依据各自的随机数多项式中的预设数量的随机参数与椭圆曲线类型的基点进行椭圆曲线乘法运算,获取特征点集合,其中,所述特征点集合包括基点与每一个随机参数的乘积;

每一台目标签名机分别通过所述第一临时密钥将各自的特征点集合进行加密,并将加密后的特征点集合广播给其他的目标签名机;

每一台目标签名机分别依据自身的特征点集合与其他的目标签名机传输的特征点集合进行椭圆曲线加法运算,获得临时公钥;

每一台目标签名机分别通过所述第一临时密钥对各自的临时公钥进行加密,并将加密后的临时公钥广播给其他的目标签名机;

每一台目标签名机均验证自身的临时公钥与其他的目标签名机传输的临时公钥均相同时,表征钥匙生成成功,将临时公钥作为最后的公钥。

可选地,在每一台目标签名机分别将所有的目标签名机的标识数字带入各自的随机数多项式,获得第一计算结果和第二计算结果之前,所述方法还包括:

第一代的目标签名机向所述注册中心机传输私钥生成请求,其中,所述第一代的目标签名机为所述签名机单元内的任意一台签名机,所述私钥生成请求包括椭圆曲线类型、其他参与方总数以及签名完成阈值;

所述注册中心机接收所述第一代的目标签名机传输的所述私钥生成请求,从在线的其他签名机中,确定数量为所述其他参与方总数的第二代的目标签名机;

所述注册中心机还对私钥生成请求进行更新,获得第二代私钥生成请求,其中,所述第二代私钥生成请求包括椭圆曲线类型、其他参与方总数、签名完成阈值以及每一台目标签名机的唯一标识符;

所述注册中心机还向每一台目标签名机广播更新后的第二代私钥生成请求。

可选地,在每一台目标签名机分别将所有的目标签名机的标识数字带入各自的随机数多项式,获得第一计算结果和第二计算结果之前,所述方法还包括:

所有的目标签名机依据椭圆曲线密钥协商协议生成第一临时密钥;

每一台目标签名机分别生成各自对应的随机数多项式,其中,所述随机数多项式包括预设数量的随机参数,每一个随机参数分作为所述随机数多项式中对应阶乘未知数的参数,所述预设数量为签名完成阈值+1的和;

每一台目标签名机分别将所有的目标签名机的唯一标识符通过哈希算法转换为对应的标识数字。

相对于现有技术,本申请实施例所提供的一种分布式签名系统及管理方法中,每一台目标签名机分别用于将所有的目标签名机的标识数字带入各自的随机数多项式,获得第一计算结果和第二计算结果,其中,目标签名机为签名机单元中的任意一台签名机,第一计算结果表征将目标签名机自身的标识数字带入随机数多项式的计算结果,不同的第二计算结果表征不同的其他的目标签名机的标识数字带入随机数多项式的计算结果;每一台目标签名机分别用于通过第一临时密钥将每一个第二计算结果进行加密,并将加密后的每一个第二计算结果通过注册中心机分别传输给对应的目标签名机;每一台目标签名机分别用于依据自身的第一计算结果和其他的目标签名机传输的第二计算结果生成对应的私钥碎片。整个过程中,第一计算结果并未经过注册中心机,从而注册中心机无法获取每一个目标签名机的私钥碎片,从而保障了私钥的安全性,减少了对注册中心机的依赖。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。

图1为本申请实施例提供的分布式签名系统的架构示意图;

图2为本申请实施例提供的分布式签名系统的架构示意图之一;

图3为本申请实施例提供的分布式签名系统管理方法的流程示意图;

图4为本申请实施例提供的分布式签名系统管理方法的流程示意图之一;

图5为本申请实施例提供的分布式签名系统管理方法的流程示意图之一。

图中:10-签名机;10m-目标签名机;100-签名机单元;100m-签名机组;200-注册中心机。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

在本申请的描述中,需要说明的是,术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。

在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

为了克服现有技术中的问题,本申请实施例提供了一种分布式签名系统。请参考图1和图2,分布式签名系统包括:注册中心机200和签名机单元100,签名机单元100包括至少两个签名机10,注册中心机200分别与每一台签名机10通信连接。可选地,本申请实施例中的通信连接可以是有线通信,也可以是无线通信。

每一台目标签名机10m分别用于将所有的目标签名机10m的标识数字带入各自的随机数多项式,获得第一计算结果和第二计算结果,其中,目标签名机10m为签名机单元100中的任意一台签名机10,第一计算结果表征将目标签名机10m自身的标识数字带入随机数多项式的计算结果,不同的第二计算结果表征不同的其他的目标签名机10m的标识数字带入随机数多项式的计算结果。

每一台目标签名机10m分别用于通过第一临时密钥将每一个第二计算结果进行加密,并将加密后的每一个第二计算结果通过注册中心机200分别传输给对应的目标签名机10m。

每一台目标签名机10m分别用于依据自身的第一计算结果和其他的目标签名机10m传输的第二计算结果生成对应的私钥碎片。

综上所述,本申请实施例提供的分布式签名系统中,每一台目标签名机分别用于将所有的目标签名机的标识数字带入各自的随机数多项式,获得第一计算结果和第二计算结果,其中,目标签名机为签名机单元中的任意一台签名机,第一计算结果表征将目标签名机自身的标识数字带入随机数多项式的计算结果,不同的第二计算结果表征不同的其他的目标签名机的标识数字带入随机数多项式的计算结果;每一台目标签名机分别用于通过第一临时密钥将每一个第二计算结果进行加密,并将加密后的每一个第二计算结果通过注册中心机分别传输给对应的目标签名机;每一台目标签名机分别用于依据自身的第一计算结果和其他的目标签名机传输的第二计算结果生成对应的私钥碎片。整个过程中,第一计算结果并未经过注册中心机,从而注册中心机无法获取每一个目标签名机的私钥碎片,从而保障了私钥的安全性,减少了对注册中心机的依赖。

对于前文所述的随机数多项式,本申请实施例还提供了一种可能的实现方式,请参考下文,假设签名机a、b以及c为目标签名机10m,签名机a、b以及c对应的标识数字分别为a、b以及c。

以签名机a为例,其对应的随机数多项式为:

fa(x)=a0+a1x+...+atxt

其中,ai表征阶乘为i的未知数的随机参数,t≥i≥0。

签名机a对应的第一计算结果为fa(a),第二计算结果包括fa(b)和fa(c)。fa(b)与签名机b对应,fa(c)与签名机c对应。

同理,签名机b对应的第一计算结果为fb(b),第二计算结果包括fb(a)和fb(c);签名机b对应的第一计算结果为fc(c),第二计算结果包括fc(a)和fc(b)。

在前文的基础上,关于如何获得公钥,本申请实施例还提供了一种可能的实现方式,请参考下文。

每一台目标签名机10m分别用于依据各自的随机数多项式中的预设数量的随机参数与椭圆曲线类型的基点进行椭圆曲线乘法运算,获取特征点集合,其中,特征点集合包括基点与每一个随机参数的乘积。

继续以签名机a为例,fa(x)=a0+a1x+…+atxt;签名机a的随机数多项式中的随机参数为ai,t≥i≥0。签名机a的特征点集合的表达式为[a0g、a1g…atg],其中g表示椭圆曲线类型的基点。同理,签名机b的特征点集合的表达式为[b0g、b1g…btg];签名机c的特征点集合的表达式为[c0g、c1g…ctg]。

每一台目标签名机10m分别用于通过第一临时密钥将各自的特征点集合进行加密,并将加密后的特征点集合广播给其他的目标签名机10m。

继续以签名机a为例,通过第一临时密钥对[a0g、a1g…atg]进行加密,并将加密后的[a0g、a1g…atg]广播给签名机b和签名机c。同时,签名机b会将加密后的[b0g、b1g…btg]广播给签名机a和签名机c,签名机c会将加密后的[c0g、c1g…ctg]广播给签名机b和签名机a。

每一台目标签名机10m分别用于依据自身的特征点集合与其他的目标签名机10m传输的特征点集合进行椭圆曲线加法运算,获得临时公钥。

签名机a以及[a0g、a1g…atg]、[b0g、b1g…btg]以及[c0g、c1g…ctg]进行椭圆曲线加法运算,获得临时公钥。同理,签名机b和签名机c也会获得临时公钥。

每一台目标签名机10m分别用于通过第一临时密钥对各自的临时公钥进行加密,并将加密后的临时公钥广播给其他的目标签名机。

可选地,通过第一临时密钥对各自的临时公钥进行加密,进步保障公钥传输过程的安全性。签名机a将其获得的临时公钥广播给签名机b和签名机c,签名机b和签名机c同理。

每一台目标签名机10m均用于验证自身的临时公钥与其他的目标签名机传输的临时公钥均相同时,表征钥匙生成成功,将临时公钥作为最后的公钥。

签名机a验证其接收到的签名机b和签名机c广播的临时公钥,与其自身的临时公钥是否相同。若每一台目标签名机10m均验证自身的临时公钥与其他的目标签名机传输的临时公钥均相同时,表征钥匙生成成功,将临时公钥作为最后的公钥。

在前文的基础上,关于如何进行签名,本申请实施例还提供了一种可能的实现方式,请参考下文。

指定签名机为其中一台目标签名机10m,指定签名机为发起签名请求的目标签名机10m。

指定签名机用于向注册中心机200发起签名请求,其中,签名请求包括待签名哈希数据,目标公钥以及椭圆曲线类型。

注册中心机200用于将签名请求广播至其他签名机10。

被指定签名机用于在接收到签名请求后,确认存储有与目标公钥对应的私钥碎片时,通过注册中心机200向指定签名机反馈可继续指令,其中,被指定签名机为除指定签名机以外的任意一台目标签名机10m。

可选地,其他签名机10在接收到注册中心机200广播的签名请求时,判断是否存储有与目标公钥对应的私钥碎片,若存储有,则作为被指定签名机,通过注册中心机200向指定签名机反馈可继续指令,若未存储有,则通过注册中心机200向指定签名机反馈不可签名。

指定签名机与数量为预设数量-1的被指定签名机组成签名机组100m。

可选地,指定签名机从反馈可继续指令的被指定签名机中,选择响应速度最快的,预设数量-1个被指定签名机,组成签名机组100m。

签名机组100m内的每一台签名机分别用于自身的私钥碎片和椭圆曲线随机数r进行椭圆曲线签名,获得各自的签名结果,并将各自的签名结果广播给签名机组内的其他签名机。

其中,椭圆曲线签名算法(ellipticcurvedigitalsignaturealgorithm,简称ecdsa)是使用椭圆曲线加密算法(ecc)对数字签名算法(dsa)的模拟。在使用较短的密钥的情况下,ecc可以达到于dl系统相同的安全级别。其计算参数更小,密钥更短,运算速度更快,签名也更加短小。

可选地,签名机组100m内的签名机通过椭圆曲线密钥协商协议(简称,ecdh)生成临时密钥r,作为椭圆曲线随机数r。

签名机组100m内的每一台签名机还用于依据自身的签名结果和签名机组100m内的其他签名机广播的签名结果进行拉格朗日插值计算,获取最终的签名结果。

可选地,签名机组100m内的每一台签名机还用于将各自的签名结果广播给签名机组100m内的其他签名机。签名机组100m内的每一台签名机还用于验证自身的签名结果与其他签名机的签名结果是否相同,若相同,则表示签名成功,若不相同,则表示签名不成功。

在前文的基础上,关于如何确定目标签名机,本申请实施例还提供了一种可能的实现方式,请参考下文。

第一代的目标签名机10m用于向注册中心机200传输私钥生成请求,其中,第一代的目标签名机10m为签名机单元100内的任意一台签名机10,私钥生成请求包括椭圆曲线类型、其他参与方总数以及签名完成阈值。第一代的目标签名机10m为最初向注册中心机200传输私钥生成请求的签名机10。

可能地,其他参与方总数+1大于等于签名完成阈值。

注册中心机200用于接收第一代的目标签名机10m传输的私钥生成请求,从在线的其他签名机中,确定数量为其他参与方总数的第二代的目标签名机10m。

注册中心机200还用于对私钥生成请求进行更新,获得第二代私钥生成请求,其中,第二代生成请求包括椭圆曲线类型、其他参与方总数、签名完成阈值以及每一台目标签名机的唯一标识符。

注册中心机200还用于向每一台目标签名机10m广播更新后的第二代私钥生成请求。

在前文的基础上,关于如何生成第一临时密钥,本申请实施例还提供了一种可能的实现方式,请参考下文。

所有的目标签名机10m用于依据椭圆曲线密钥协商协议生成第一临时密钥。

可选地,ecdh算法可以使通讯双方在不可信网络中在不暴露密钥的情况下协商出一个双方可知,但其他人不可知的密钥。ecdh密钥协商算法不仅仅限于两方。通过执行协商协议的迭代和交换中间数据,任意多个用户都可以参与协商中。

多方ecdh密钥协商过程如下:

下面的例子中alice、bob以及carol一起产生临时密钥,三方选取同一条椭圆曲线,该椭圆曲线的基点为g1。

1.alice、bob以及carol各自选取一个大整数a,b,c作为自己的私钥。

2.alice计算a*g1将结果发送给bob。

3.bob计算b*(a*g1)=(a*b)*g1将结果发送给carol。

4.carol计算(a*b*g1)*c=(a*b*c)*g1将结果的x座标作为私钥。

5.bob计算b*g1将结果发送给carol。

6.carol计算(b*g1)*c=(b*c)*g1将结果发送给alice。

7.alice计算(b*c*g1)*a=(a*b*c)*g1将结果的x座标作为私钥。

8.carol计算c*g1将结果发送给alice。

9.alice计算(c*g1)*a=(c*a)*g1将结果发送给bob。

10.bob计算(c*a*g1)b=(a*b*c)*g1将结果的x座标作为私钥。

如此,alice,bob,carol在公开网络中协商出了只有他们三方才知道的临时密钥。

可选地,关于如何获取标识数字,本申请实施例还提供了一种可能的实现方式,请参考下文。

每一台目标签名机10m分别用于生成各自对应的随机数多项式,其中,随机数多项式包括预设数量的随机参数,每一个随机参数分作为随机数多项式中对应阶乘未知数的参数,预设数量为签名完成阈值+1的和。

可选地,继续以签名机a为例,签名机a生成的随机数多项式为:fa(x)=a0+a1x+…+atxt。签名机a的随机数多项式中的随机参数为ai,t≥i≥0。预设数量为t+1,即签名完成阈值为t。

可选地,目标签名机10m使用联合随机秘钥分享算法(jointrandomsecretsharing,jrss),生成各自对应的随机数多项式。

每一台目标签名机10m分别用于将所有的目标签名机10m的唯一标识符通过哈希算法转换为对应的标识数字。

可选地,关于如何进行入网鉴权,本申请实施例还提供了一种可能的实现方式,请参考下文。

注册中心机用于接入签名机,对签名机进行入网鉴权。只有可信的签名机才可以加入到这个签名机系统当中,注册中心机也用于传输签名机之前生成的中间加密数据,签名机之间通过多方ecdh算法协商出的密钥进行通讯,注册中心机无法获取到这个密钥。

请参阅图3,图3为本申请实施例提供的一种分布式签名系统管理方法,可选的,该分布式签名系统管理方法应用于上文所述的分布式签名系统。如图3所示,分布式签名系统管理方法包括:

s105,每一台目标签名机分别将所有的目标签名机的标识数字带入各自的随机数多项式,获得第一计算结果和第二计算结果。

其中,目标签名机为签名机单元中的任意一台签名机,第一计算结果表征将目标签名机自身的标识数字带入随机数多项式的计算结果,不同的第二计算结果表征不同的其他的目标签名机的标识数字带入随机数多项式的计算结果。

s106,每一台目标签名机分别通过第一临时密钥将每一个第二计算结果进行加密,并将加密后的每一个第二计算结果通过注册中心机分别传输给对应的目标签名机。

s107,每一台目标签名机分别依据自身的第一计算结果和其他的目标签名机传输的第二计算结果生成对应的私钥碎片。

在图3的基础上,关于如何生成公钥,本申请实施例还提供了一种可能的实现方式,请参考图4,分布式签名系统管理方法还包括:

s108,每一台目标签名机分别依据各自的随机数多项式中的预设数量的随机参数与椭圆曲线类型的基点进行椭圆曲线乘法运算,获取特征点集合。

其中,特征点集合包括基点与每一个随机参数的乘积。

s109,每一台目标签名机分别通过第一临时密钥将各自的特征点集合进行加密,并将加密后的特征点集合广播给其他的目标签名机。

s110,每一台目标签名机分别依据自身的特征点集合与其他的目标签名机传输的特征点集合进行椭圆曲线加法运算,获得临时公钥。

s111,每一台目标签名机分别通过第一临时密钥对各自的临时公钥进行加密,并将加密后的临时公钥广播给其他的目标签名机。

s112,每一台目标签名机均验证自身的临时公钥与其他的目标签名机传输的临时公钥均相同时,表征钥匙生成成功,将临时公钥作为最后的公钥。

在图4的基础上,关于如何确定目标签名机,本申请实施例还提供了一种可能的实现方式,请参考图5,分布式签名系统管理方法还包括:

s101,第一代的目标签名机向注册中心机传输私钥生成请求。

其中,第一代的目标签名机为签名机单元内的任意一台签名机,私钥生成请求包括椭圆曲线类型、其他参与方总数以及签名完成阈值。

s201,注册中心机接收第一代的目标签名机传输的私钥生成请求,从在线的其他签名机中,确定数量为其他参与方总数的第二代的目标签名机。

s202,注册中心机还对私钥生成请求进行更新,获得第二代私钥生成请求。

其中,第二代生成请求包括椭圆曲线类型、其他参与方总数、签名完成阈值以及每一台目标签名机的唯一标识符。

s203,注册中心机还向每一台目标签名机广播更新后的第二代私钥生成请求。

s102,所有的目标签名机依据椭圆曲线密钥协商协议生成第一临时密钥。

s103,每一台目标签名机分别生成各自对应的随机数多项式。

其中,随机数多项式包括预设数量的随机参数,每一个随机参数分作为随机数多项式中对应阶乘未知数的参数,预设数量为签名完成阈值+1的和。

s104,每一台目标签名机分别将所有的目标签名机的唯一标识符通过哈希算法转换为对应的标识数字。

s105,每一台目标签名机分别将所有的目标签名机的标识数字带入各自的随机数多项式,获得第一计算结果和第二计算结果。

需要说明的是,本实施例所提供的分布式签名系统管理方法,其应用于上述的分布式签名系统。可以执行上述分布式签名系统实施例所示的功能用途,以实现对应的技术效果。为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1