一种随机数可验证秘密共享方法技术

技术编号:19865820 阅读:20 留言:0更新日期:2018-12-22 13:45
本发明专利技术公开了一种随机数可验证秘密共享方法,包括:时间点A开始,区块链上的授权节点产生子随机数;将子随机数分成N个碎片,形成子随机数碎片,并进行加密;将加密的子随机数碎皮数据分别发送给各接收节点;接收节点收到子随机数碎片并进行解密,时间点A结束;把接收到的各个子随机数的密数据发送到最终随机数据组合者节点;最终随机数据组合者节点把解密数据恢复成子随机数;区块链最终随机数据组合节点把恢复出来的子随机数组合成最终随机数,并打包到区块中。本发明专利技术引入秘密共享来对产生的子随机数进行加密并分成N个碎片,使随机数不能被子随机数生产者和最终随机数组合者知晓、利用和篡改,提高了区块链的安全性。

【技术实现步骤摘要】
一种随机数可验证秘密共享方法
本专利技术涉及互联网数据库
,尤其涉及一种随机数可验证秘密共享方法。
技术介绍
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。区块链是比特币的底层技术,像一个数据库账本,记载所有的交易记录。这项技术也因其安全、便捷的特性逐渐得到了银行与金融业的关注。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本;广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。但是在现有技术中,区块链中产生的随机数容易受到子随机数生产者的干扰,从而导致区块链中的数据容易被人为控制利用和篡改。
技术实现思路
本专利技术的目的是为了解决现有技术中的问题,而提出的一种随机数可验证秘密共享方法,目的是使随机数不能被子随机数生产者和最终随机数组合者知晓、利用和篡改。为了实现上述目的,本专利技术采用了如下技术方案:一种随机数可验证秘密共享方法,包括以下步骤:(1)、时间点A开始,区块链各授权节点根据门限秘密分享算法使子随机数生产者产生子随机数;(2)、将子随机数分成N个碎片,形成子随机数碎片,所述N为自由设定的参数;(3)、区块链各授权节点把分成N份的子随机数碎片进行加密,形成加密的子随机数碎片;(4)、区块链各授权节点把子随机数分成N份加密的数据分别发送给各接收节点;(5)、区块链各授权节点分别接收到各节点产生的其中一份子随机数碎片的数据并在约定的时间内进行解密,时间点A结束;(6)、时间点B开始,区块链各授权节点把接收到的各个子随机数分成N份中的其中一份解密数据发送到最终随机数据组合者节点;(7)、最终随机数据组合者区块链节点把各个节点发送来的解密数据按门限秘密分享算法进行恢复成各个节点产生的子随机数;(8)、区块链中最终随机数据组合节点把恢复出来的各个节点产生的子随机数按预先的规则进行组合成最终随机数,提供给用户使用,并打包到区块中。优选的,所述步骤(3)中需要计算形成的加密的子随机数碎片的哈希值。优选的,所述步骤(3)中区块链各授权节点分别根据各自要接收的节点对象的公钥对子随机数碎片进行加密。优选的,所述步骤(1)中每个子随机数生产者只能看见其他子随机数生产者所共享的部分子随机数。优选的,所述步骤(6)中对子随机数碎片进行解密还原时,需要先向区块链中提出请求。优选的,所述步骤(8)中最终随机数组合者需要在距离时间点A不远的时间点B处合成最终随机数。与现有技术相比,本专利技术提供了一种随机数可验证秘密共享方法,具备以下有益效果:该随机数可验证秘密共享方法,通过在随机数发生机制中引入可验证秘密共享技术使子随机数生产者用其他子随机数生产者的公钥加密写入区块链中,然后其他子随机数生产者对各自收到的子秘密进行解密后还原恢复所有子随机数并随机组合各子随机数,合成最终随机数,让子随机数生产者和最终随机数组合者都无法干扰和控制子随机数的产生。该装置中未涉及部分均与现有技术相同或可采用现有技术加以实现,本专利技术结构简单,操作方便。附图说明图1为本专利技术实施例1中提供的一种随机数可验证秘密共享方法的流程图;图2为本专利技术实施例2中提供的一种随机数可验证秘密共享方法的结构示意图具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。实施例1如图1所示,一种随机数可验证秘密共享方法,包括以下步骤:(1)、时间点A开始,区块链各授权节点根据门限秘密分享算法使子随机数生产者产生子随机数;(2)、将子随机数分成N个碎片,形成子随机数碎片,所述N为自由设定的参数;(3)、区块链各授权节点把分成N份的子随机数碎片进行加密,形成加密的子随机数碎片;(4)、区块链各授权节点把子随机数分成N份加密的数据分别发送给各接收节点;(5)、区块链各授权节点分别接收到各节点产生的其中一份子随机数碎片的数据并在约定的时间内进行解密,时间点A结束;(6)、时间点B开始,区块链各授权节点把接收到的各个子随机数分成N份中的其中一份解密数据发送到最终随机数据组合者节点;(7)、最终随机数据组合者区块链节点把各个节点发送来的解密数据按门限秘密分享算法进行恢复成各个节点产生的子随机数;(8)、区块链中最终随机数据组合节点把恢复出来的各个节点产生的子随机数按预先的规则进行组合成最终随机数,提供给用户使用,并打包到区块中。进一步的,所述步骤(3)中需要计算形成的加密的子随机数碎片的哈希值。进一步的,所述步骤(3)中区块链各授权节点分别根据各自要接收的节点对象的公钥对子随机数碎片进行加密。进一步的,所述步骤(1)中每个子随机数生产者只能看见其他子随机数生产者所共享的部分子随机数。进一步的,所述步骤(6)中对子随机数碎片进行解密还原时,需要先向区块链中提出请求。进一步的,所述步骤(8)中最终随机数组合者需要在距离时间点A不远的时间点B处合成最终随机数,是为了使区块链中的随机数不受最终最终随机数组合者的干扰。实施例2如图2所示,以子随机数生产者A、子随机数生产者B和子随机数生产者C为例,一种随机数可验证秘密共享方法的具体实施方法:a、从时间点A开始,子随机数生产者A、子随机数生产者B和子随机数生产者C均产生子随机数;b、引用秘密共享对产生的子随机数进行加密,具体的加密方式采用其他两个子随机数生产者的公钥对子随机数进行加密,并且将加密后的子随机数分成多个碎片,形成加密的子随机数碎片,并计算形成的加密的子随机数碎片的哈希值;c、加密的子随机数碎片通过秘密共享再分别传给子随机数生产者A、子随机数生产者B和子随机数生产者C,子随机数生产者A、只能看见子随机数生产者B和子随机数生产者C共享的部分子随机数,由此子随机数生产者B也只能看见子随机数生产者A和子随机数生产者C共享的部分子随机数,子随机数生产者C也只能看见子随机数生产者A和子随机数生产者B共享的部分子随机数;d、子随机数碎片向区块链中发送解密请求,请求通过后,子随机数生产者A、子随机数生产者B和子随机数生产者C对子随机数碎片进行解密,并还原恢复所有的合法子随机数,到此为止,时间点A结束;e、子随机数生产者A、子随机数生产者B和子随机数生产者C将解密后的合法子随机数提交给最终随机数组合者,最终随机数组合者接收到合法子随机数时设为最终时间点B,最终时间点B是距离时间点A不远的一个时间点;f、在时间点B后,最终随机数组合者将收到的合法子随机数合成最终随机数,提供给用户使用,并放入区块链中,是为了使区块链中的随机数不受最终最终随机数组合者的干扰,该随机数可验证秘密共享方法操作流程结束。以上所述,仅为本专利技术较佳的具体实施方式,但本专利技术的保护范围并不局限于此,任何熟悉本
的技术人员在本专利技术揭露的技术范围内,根据本专利技术的技术方案及其专利技术构思加以等同替换或改变,都应涵盖在本专利技术的本文档来自技高网
...

【技术保护点】
1.一种随机数可验证秘密共享方法,其特征在于:包括以下步骤:(1)、时间点A开始,区块链各授权节点根据门限秘密分享算法使子随机数生产者产生子随机数;(2)、将子随机数分成N个碎片,形成子随机数碎片,所述N为自由设定的参数;(3)、区块链各授权节点把分成N份的子随机数碎片进行加密,形成加密的子随机数碎片;(4)、区块链各授权节点把子随机数分成N份加密的数据分别发送给各接收节点;(5)、区块链各授权节点分别接收到各节点产生的其中一份子随机数碎片的数据并在约定的时间内进行解密,时间点A结束;(6)、时间点B开始,区块链各授权节点把接收到的各个子随机数分成N份中的其中一份解密数据发送到最终随机数据组合者节点;(7)、最终随机数据组合者区块链节点把各个节点发送来的解密数据按门限秘密分享算法进行恢复成各个节点产生的子随机数;(8)、区块链中最终随机数据组合节点把恢复出来的各个节点产生的子随机数按预先的规则进行组合成最终随机数,提供给用户使用,并打包到区块中。

【技术特征摘要】
1.一种随机数可验证秘密共享方法,其特征在于:包括以下步骤:(1)、时间点A开始,区块链各授权节点根据门限秘密分享算法使子随机数生产者产生子随机数;(2)、将子随机数分成N个碎片,形成子随机数碎片,所述N为自由设定的参数;(3)、区块链各授权节点把分成N份的子随机数碎片进行加密,形成加密的子随机数碎片;(4)、区块链各授权节点把子随机数分成N份加密的数据分别发送给各接收节点;(5)、区块链各授权节点分别接收到各节点产生的其中一份子随机数碎片的数据并在约定的时间内进行解密,时间点A结束;(6)、时间点B开始,区块链各授权节点把接收到的各个子随机数分成N份中的其中一份解密数据发送到最终随机数据组合者节点;(7)、最终随机数据组合者区块链节点把各个节点发送来的解密数据按门限秘密分享算法进行恢复成各个节点产生的子随机数;(8)、区块链中最终随机数据组合节点把恢复出来的各个节点产生的子...

【专利技术属性】
技术研发人员:陈龙
申请(专利权)人:深圳市汇尊区块链技术有限公司
类型:发明
国别省市:广东,44

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

1