一种随机数的生成方法、生成装置及存储介质制造方法及图纸

技术编号:22060200 阅读:36 留言:0更新日期:2019-09-07 17:44
本申请实施例公开了一种随机数的生成方法、生成装置及存储介质,该随机数的生成方法,应用于区块链系统,区块链系统包括相互连接的至少两个节点,至少两个节点中包括第一节点和第二节点,生成方法由第一节点执行,生成方法包括:获取自身基于预设消息生成的第一签名信息;获取第二节点基于预设消息生成的第二签名信息;将第一签名信息和第二签名信息聚合,得到聚合后的签名信息;根据聚合后的签名信息,生成第一随机数;获取第二节点对第一随机数的合法性验证结果;当基于第二节点的合法性验证结果确定第一随机数合法时,将第一随机数存储。本申请通过多个节点参与随机数的生成,提高了随机数生成的安全性。

A Method of Generating Random Number, Generating Device and Storage Media

【技术实现步骤摘要】
一种随机数的生成方法、生成装置及存储介质
本申请涉及通信
,具体涉及一种随机数的生成方法、生成装置及存储介质。
技术介绍
随机数是专门的随机试验的结果。在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。产生随机数有多种不同的方法。这些方法被称为随机数发生器。随机数最重要的特性是:它所产生的后面的那个数与前面的那个数毫无关系。现有技术存在的一个较大问题是,随机数的生成方式安全性不高。
技术实现思路
本申请实施例提供一种随机数的生成方法、生成装置及存储介质,可以提高随机数生成的安全性。一方面,本申请提供一种随机数的生成方法,应用于区块链系统,所述区块链系统包括相互连接的至少两个节点,所述至少两个节点中包括第一节点和第二节点,所述生成方法由所述第一节点执行,所述生成方法包括:获取自身基于预设消息生成的第一签名信息;获取所述第二节点基于所述预设消息生成的第二签名信息;将所述第一签名信息和所述第二签名信息聚合,得到聚合后的签名信息;根据所述聚合后的签名信息,生成第一随机数;获取所述第二节点对所述第一随机数的合法性验证结果;当基于所述第二节点的合法性验证结果确定所述第一随机数合法时,将所述第一随机数存储。一方面,本申请提供一种随机数的生成装置,应用于区块链系统中的第一节点,所述区块链系统包括相互连接的至少两个节点,所述至少两个节点中包括第一节点和第二节点,所述生成装置包括:第一获取单元,用于获取自身基于预设消息生成的第一签名信息;第二获取单元,用于获取所述第二节点基于所述预设消息生成的第二签名信息;签名单元,用于将所述第一签名信息和所述第二签名信息聚合,得到聚合后的签名信息;随机数生成单元,用于根据所述聚合后的签名信息,生成第一随机数;第三获取单元,用于获取所述第二节点对所述第一随机数的合法性验证结果;随机数存储单元,用于当基于所述第二节点的合法性验证结果确定所述第一随机数合法时,将所述第一随机数存储。其中,所述第一获取单元包括签名子单元和秘密分享单元,所述秘密分享单元用于,与所述第二节点进行秘密分享,以得到秘密信息;所述第一签名单元用于,根据所述秘密信息,对预设消息进行签名,得到所述第一签名信息。其中,所述秘密分享单元用于,按预设秘密生成策略生成秘密数;所述秘密分享单元用于,按预设秘密分享策略将所述秘密数分成N个第一子秘密信息,N为所述区块链系统中节点数量,其中,N为正整数;所述秘密分享单元用于,分别接收所述第二节点发送的第二子秘密信息,所述第二子秘密信息包括所述第二节点中N-1个节点分别发送的子秘密信息;所述秘密分享单元用于,根据所述第二子秘密信息获取秘密信息。其中,所述秘密分享单元用于,验证获取到的N-1个第二子秘密信息的有效性;所述秘密分享单元用于,若验证获取到的所述N-1个第二子秘密信息有效,根据所述第二子秘密信息获取秘密信息。其中,所述秘密分享单元用于,验证获取的N-1个第二子秘密信息的有效性,以获取第一有效性验证结果;所述秘密分享单元用于,接收所述第二节点发送的第二有效性验证结果;所述秘密分享单元用于,根据所述第一有效性验证结果和所述第二有效性验证结果,确定N-1个子秘密信息的有效性;所述秘密分享单元用于,在确定所述N-1个第二子秘密信息有效时,则根据所述第二子秘密信息获取秘密信息。其中,所述签名单元用于,对所述第一签名信息和所述第二签名信息依次进行合法性校验;所述签名单元用于,在得到的所述第一签名信息和所述第二签名信息中存在T个合法签名信息时,将所述T个合法签名信息聚合,得到所述聚合后的签名信息,其中,T为正整数,且T不大于N。其中,随机数生成单元用于,获取所述第一节点的私钥;随机数生成单元用于,根据所述聚合后的签名信息、所述第一节点的私钥,生成所述第一随机数以及所述第一随机数对应的证明信息。其中,所述获取单元还包括获取子单元和验证子单元;所述获取子单元用于,获取所述第二节点的公钥、所述第二节点的第二随机数以及所述第二随机数对应的证明信息;所述验证子单元用于,根据所述聚合后的签名信息、所述第二节点的公钥、所述第二随机数以及所述第二随机数对应的证明信息,验证所述第二随机数的合法性;所述随机数存储单元用于,在所述验证子单元验证所述第二随机数合法时,则将所述第二随机数存储。一方面,本申请提供一种存储介质,所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行第一方面任一项所述的随机数的生成方法。本申请实施例的随机数的生成方法,应用于区块链系统,区块链系统包括相互连接的至少两个节点,至少两个节点中包括第一节点和第二节点,生成方法由第一节点执行,生成方法包括:获取自身基于预设消息生成的第一签名信息;获取第二节点基于预设消息生成的第二签名信息;将第一签名信息和第二签名信息聚合,得到聚合后的签名信息;根据聚合后的签名信息,生成第一随机数;获取第二节点对第一随机数的合法性验证结果;当基于第二节点的合法性验证结果确定第一随机数合法时,将第一随机数存储。本申请通过多个节点参与随机数的生成,提高了随机数生成的安全性。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例所提供的区块链系统的场景示意图;图2是本申请实施例提供的随机数的生成方法的一个实施例流程示意图;图3是本申请实施例提供的随机数的生成方法的另一个实施例流程示意图;图4是本申请实施例提供的随机数的生成方法中各节点的信息交互示意图;图5是本申请实施例提供的随机数的生成装置的一实施例结构示意图;图6是图5中第一获取单元的一具体实施例结构示意图;图7是图5中第三获取单元的一具体实施例结构示意图;图8是本申请实施例提供的随机数的生成装置的另一个实施例结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在对本专利技术实施例进行详细地解释说明之前,先对本专利技术实施例涉及到的一些名词进行解释说明。区块链:区块链技术脱胎于比特币技术,是比特币的底层技术,其是去中心化的分布式账本数据库。区块链本身是一串使用密码学算法相关联产生的数据块(即区块),每一个数据块中包含了多次区块链网络交易有效确认的信息。正是基于此,所以无法通过篡改区块上的数据来进行作弊,能够确保任何区块上的数据均是公开透明的,确保了数据的安全性。区块链可以分为公有链、私有链、联盟链。其中,联盟链则介于公有链和私有链之间,由若干组织一起合作维护一条区块链,该区块链的使用必须是有权限的管理,相关信息会得到保护,典型如金融组织。总结来说,区块链是由节点参与的分布式数据库系统,或者,也可称之为一个基于P2P(点对点)网络的分布式公共账本,其特点是不可更改、不可伪造,还本文档来自技高网...

【技术保护点】
1.一种随机数的生成方法,其特征在于,应用于区块链系统,所述区块链系统包括相互连接的至少两个节点,所述至少两个节点中包括第一节点和第二节点,所述生成方法由所述第一节点执行,所述生成方法包括:获取自身基于预设消息生成的第一签名信息;获取所述第二节点基于所述预设消息生成的第二签名信息;将所述第一签名信息和所述第二签名信息聚合,得到聚合后的签名信息;根据所述聚合后的签名信息,生成第一随机数;获取所述第二节点对所述第一随机数的合法性验证结果;当基于所述第二节点的合法性验证结果确定所述第一随机数合法时,将所述第一随机数存储。

【技术特征摘要】
1.一种随机数的生成方法,其特征在于,应用于区块链系统,所述区块链系统包括相互连接的至少两个节点,所述至少两个节点中包括第一节点和第二节点,所述生成方法由所述第一节点执行,所述生成方法包括:获取自身基于预设消息生成的第一签名信息;获取所述第二节点基于所述预设消息生成的第二签名信息;将所述第一签名信息和所述第二签名信息聚合,得到聚合后的签名信息;根据所述聚合后的签名信息,生成第一随机数;获取所述第二节点对所述第一随机数的合法性验证结果;当基于所述第二节点的合法性验证结果确定所述第一随机数合法时,将所述第一随机数存储。2.根据权利要求1所述的生成方法,其特征在于,所述获取自身基于预设消息生成的第一签名信息,包括:与所述第二节点进行秘密分享,以得到秘密信息;根据所述秘密信息,对预设消息进行签名,得到所述第一签名信息。3.根据权利要求2所述的生成方法,其特征在于,与所述第二节点进行秘密分享,以得到秘密信息,包括:按预设秘密生成策略生成秘密数;按预设秘密分享策略将所述秘密数分成N个第一子秘密信息,N为所述区块链系统中节点数量,其中,N为正整数;分别接收所述第二节点发送的第二子秘密信息,所述第二子秘密信息包括所述第二节点中N-1个节点分别发送的子秘密信息;根据所述第二子秘密信息获取秘密信息。4.根据权利要求3所述的生成方法,其特征在于,所述根据所述第二子秘密信息获取秘密信息,包括:验证获取到的N-1个第二子秘密信息的有效性;若验证获取到的所述N-1个第二子秘密信息有效,则根据所述第二子秘密信息获取秘密信息。5.根据权利要求3所述的生成方法,其特征在于,所述根据得到的N-1个第二子秘密信息获取秘密信息,包括:验证获取的N-1个第二子秘密信息的有效性,以获取第一有效性验证结果;接收所述第二节点发送的第二有效性验证结果;根据所述第一有效性验证结果和所述第二有效性验证结果,确定N-1个子秘密信息的有效性;若确定所述N-1个第二子秘密信息有效,则根据所述...

【专利技术属性】
技术研发人员:刘攀张劲松王宗友
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1