[发明专利]一种基于区块链的密钥生成方法、装置及介质有效
申请号: | 201810443039.9 | 申请日: | 2018-05-10 |
公开(公告)号: | CN108712261B | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 吕晟珉;胡红钢;吴轶群 | 申请(专利权)人: | 杭州智块网络科技有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08;H04L29/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 311121 浙江省杭州市余杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 密钥 生成 方法 装置 介质 | ||
1.一种基于区块链的密钥生成方法,其特征在于,包括:
选取包含有预设的区块链节点的节点组,并控制所述节点组中的每一个区块链节点均产生各自的初始秘密;
控制各所述区块链节点分别将自身的所述初始秘密作为运算因子以根据Shamir密钥分享算法生成秘密片段,并分享至包括自身在内的,所述节点组中的所有区块链节点;其中,所述秘密片段基于所述秘密多项式与所述区块链节点的ID共同生成的;
控制各所述区块链节点分别将被分享的所述秘密片段进行累加运算,以生成各自的组秘密;
在所述节点组中获取预设门限值数量的目标区块链节点,并通过Lagrange插值算法对各所述目标区块链节点中的所述组秘密进行运算,以生成所述节点组的共识密钥。
2.根据权利要求1所述的方法,其特征在于,当采用具有双线性对特征的椭圆曲线生成所述共识密钥时,在所述控制各所述区块链节点分别将被分享的所述秘密片段进行累加运算,以生成组秘密后,该方法进一步包括:
控制各所述区块链节点通过自身的所述组秘密对相同内容的预设消息进行数字签名以得到签名数据,并将所述签名数据分享至包括自身在内的,所述节点组中的所有区块链节点;
控制所述节点组中的目标区块链节点,利用所述Lagrange插值算法对预设数量的所述签名数据进行运算,以生成所述节点组的共识签名数据。
3.根据权利要求1所述的方法,其特征在于,所述预设门限值大于二分之一的所述区块链节点的数量值。
4.根据权利要求1所述的方法,其特征在于,所述初始秘密为具有固定长度的随机数据。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述区块链节点具体为个人电脑。
6.一种基于区块链的密钥生成装置,其特征在于,包括:
组选取模块,用于选取包含有预设的区块链节点的节点组,并控制所述节点组中的每一个区块链节点均产生各自的初始秘密;
片段分享模块,用于控制各所述区块链节点分别将自身的所述初始秘密作为运算因子以根据Shamir密钥分享算法生成秘密片段,并分享至包括自身在内的,所述节点组中的所有区块链节点;其中,所述秘密片段基于所述秘密多项式与所述区块链节点的ID共同生成的;
累加运算模块,用于控制各所述区块链节点分别将被分享的所述秘密片段进行累加运算,以生成各自的组秘密;
密钥生成模块,用于在所述节点组中获取预设门限值数量的目标区块链节点,并通过Lagrange插值算法对各所述目标区块链节点中的所述组秘密进行运算,以生成所述节点组的共识密钥。
7.根据权利要求6所述的装置,其特征在于,当采用具有双线性对特征的椭圆曲线生成所述共识密钥时,该装置进一步包括:
组内签名模块,用于控制各所述区块链节点通过自身的所述组秘密对相同内容的预设消息进行数字签名以得到签名数据,并将所述签名数据分享至包括自身在内的,所述节点组中的所有区块链节点;
签名生成模块,用于控制所述节点组中的目标区块链节点,利用所述Lagrange插值算法对预设数量的所述签名数据进行运算,以生成所述节点组的共识签名数据。
8.一种基于区块链的密钥生成装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的基于区块链的密钥生成方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的基于区块链的密钥生成方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州智块网络科技有限公司,未经杭州智块网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810443039.9/1.html,转载请声明来源钻瓜专利网。