CN108712261B - 一种基于区块链的密钥生成方法、装置及介质 - Google Patents
一种基于区块链的密钥生成方法、装置及介质 Download PDFInfo
- Publication number
- CN108712261B CN108712261B CN201810443039.9A CN201810443039A CN108712261B CN 108712261 B CN108712261 B CN 108712261B CN 201810443039 A CN201810443039 A CN 201810443039A CN 108712261 B CN108712261 B CN 108712261B
- Authority
- CN
- China
- Prior art keywords
- block chain
- node
- group
- secret
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于区块链的密钥生成方法、装置及介质,该方法的步骤包括:选取包含有预设的区块链节点的节点组,并控制节点组中的每一个区块链节点均产生各自的初始秘密;控制各区块链节点分别将自身的初始秘密作为运算因子以根据Shamir密钥分享算法生成秘密片段,并分享至包括自身在内的,节点组中的所有区块链节点;控制各区块链节点分别将被分享的秘密片段进行累加运算,以生成组秘密;在节点组中获取预设门限值数量的目标区块链节点,并通过Lagrange插值算法生成节点组的共识密钥。本方法保证了区块链机制下生成的节点组密钥的安全性及可靠性。此外,本发明还提供一种基于区块链的密钥生成装置及介质,有益效果同上所述。
Description
技术领域
本发明涉及区块链领域,特别是涉及一种基于区块链的密钥生成方法、装置及介质。
背景技术
随着数字货币的兴起,作为底层支撑的区块链技术引起了业界的广泛关注。区块链技术以其去中心化,信息可信且可追溯等优势,引起了产业界对区块链实际应用方案的探索。
在区块链的底层技术中,大量使用了密码学的算法,如网络节点之间的通讯保密、保障消息传递的过程中不被篡改、接收者确认消息来源无误等情况的密码学算法,而密钥是经过密码学算法生成的结果,用于数据加密或数字签名。将区块链中的节点以组的形式进行管理及应用,是当前区块链机制下的一种工作模式,在该模式下,需要针对每个节点组生成相应的密钥,当前情况下,往往是通过节点组中的某一节点或节点组外的控制节点生成节点组的密钥。但是由于难以保证单独节点的合法性,所生成的密钥可能出现被恶意篡改的情况,因此仅靠某一节点生成节点组的密钥,安全性以及可靠性较低,进而降低了区块链机制下,节点组间进行数据传输或数字签名的安全性以及可靠性。
由此可见,提供一种基于区块链的密钥生成方法,以保证区块链机制下,所生成的节点组密钥的安全性及可靠性,进而提高节点组间通过密钥进行数据传输或数字签名的安全性以及可靠性,是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种基于区块链的密钥生成方法、装置及介质,以保证区块链机制下所生成的节点组密钥的安全性及可靠性,进而提高节点组间通过密钥进行数据传输或数字签名的安全性以及可靠性。
为解决上述技术问题,本发明提供一种基于区块链的密钥生成方法,包括:
选取包含有预设的区块链节点的节点组,并控制节点组中的每一个区块链节点均产生各自的初始秘密;
控制各区块链节点分别将自身的初始秘密作为运算因子以根据Shamir密钥分享算法生成秘密片段,并分享至包括自身在内的,节点组中的所有区块链节点;
控制各区块链节点分别将被分享的秘密片段进行累加运算,以生成各自的组秘密;
在节点组中获取预设门限值数量的目标区块链节点,并通过Lagrange插值算法对各目标区块链节点中的组秘密进行运算,以生成节点组的共识密钥。
优选的,当采用具有双线性对特征的椭圆曲线生成共识密钥时,在控制各区块链节点分别将被分享的秘密片段进行累加运算,以生成组秘密后,该方法进一步包括:
控制各区块链节点通过自身的组秘密对相同内容的预设消息进行数字签名以得到签名数据,并将签名数据分享至包括自身在内的,节点组中的所有区块链节点;
控制节点组中的目标区块链节点,利用Lagrange插值算法对预设数量的签名数据进行运算,以生成节点组的共识签名数据。
优选的,预设门限值大于二分之一的区块链节点的数量值。
优选的,初始秘密为具有固定长度的随机数据。
优选的,区块链节点具体为个人电脑。
此外,本发明还提供一种基于区块链的密钥生成装置,包括:
组选取模块,用于选取包含有预设的区块链节点的节点组,并控制节点组中的每一个区块链节点均产生各自的初始秘密;
片段分享模块,用于控制各区块链节点分别将自身的初始秘密作为运算因子以根据Shamir密钥分享算法生成秘密片段,并分享至包括自身在内的,节点组中的所有区块链节点;
累加运算模块,用于控制各区块链节点分别将被分享的秘密片段进行累加运算,以生成各自的组秘密;
密钥生成模块,用于在节点组中获取预设门限值数量的目标区块链节点,并通过Lagrange插值算法对各目标区块链节点中的组秘密进行运算,以生成节点组的共识密钥。
优选的,当采用具有双线性对特征的椭圆曲线生成共识密钥时,该装置进一步包括:
组内签名模块,用于控制各区块链节点通过自身的组秘密对相同内容的预设消息进行数字签名以得到签名数据,并将签名数据分享至包括自身在内的,节点组中的所有区块链节点;
签名生成模块,用于控制节点组中的目标区块链节点,利用Lagrange插值算法对预设数量的签名数据进行运算,以生成节点组的共识签名数据。
此外,本发明还提供一种基于区块链的密钥生成装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的基于区块链的密钥生成方法的步骤。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的基于区块链的密钥生成方法的步骤。
本发明所提供的基于区块链的密钥生成方法,选取由预设区块链节点组成的节点组,进而控制该节点组中的每一个区块链节点均根据Shamir密钥分享算法生成秘密片段,并分享至节点组的其它区块链节点中,每一个区块链节点在接收到组内其它区块链节点的秘密片段后,对秘密片段进行累加以得到各个区块链节点的组秘密,在此基础上,获取预设门限值数量的区块链节点的组秘密,进而通过Lagrange插值算法对所获取的组秘密进行运算并生成节点组整体的共识密钥。由于本方法中每一个区块链节点的组秘密均为组内所有区块链节点共同参与认证并生成的结果,因此通过组秘密所生成整个节点组的共识密钥是受组内所有节点共同承认的,并且组内的任何区块链节点均无法在共识密钥生成前得知其具体的内容,从而避免了仅由组内单独区块链节点生成节点组的密钥可能造成的安全性问题,进而保证了区块链机制下生成的节点组密钥的安全性及可靠性,因此提高了节点组与组外节点通过密钥进行数据传输或数字签名的安全性以及可靠性。此外,本发明还提供一种基于区块链的密钥生成装置及介质,有益效果同上所述。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于区块链的密钥生成方法的流程图;
图2为本发明实施例提供的一种基于区块链的密钥生成装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种基于区块链的密钥生成方法,以保证区块链机制下,所生成的节点组密钥的安全性及可靠性,进而提高节点组间通过密钥进行数据传输或数字签名的安全性以及可靠性。本发明的另一核心是提供一种基于区块链的密钥生成装置及介质。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
实施例一
图1为本发明实施例提供的一种基于区块链的密钥生成方法的流程图。请参考图1,基于区块链的密钥生成方法的具体步骤包括:
步骤S10:选取包含有预设的区块链节点的节点组,并控制节点组中的每一个区块链节点均产生各自的初始秘密。
需要说明的是,本步骤中的节点组是根据具体需要,人为将区块链网络中的节点划分而成的组,组中的节点即为人为所预设的区块链节点。在节点组中的每一个区块链节点产生初始秘密的目的在于,共同参与节点组所对应秘钥的生成,初始秘密的本质为经过预设机制所生成的数据,在理论上可以为区块链节点本身进行数据传输及数据签名的私钥,但是由于区块链节点的私钥对于节点的数据安全性具有很大的影响,因此应根据具体使用场景而定,在此不做具体限定。
步骤S11:控制各区块链节点分别将自身的初始秘密作为运算因子以根据Shamir密钥分享算法生成秘密片段,并分享至包括自身在内的,节点组中的所有区块链节点。
需要说明的是,在Shamir密钥分享算法下,各个区块链节点均生成一个最大的素数,该素数的值应该大于或等于本节点组中区块链节点的最大ID数,在实际情况中,区块链节点的ID数往往与区块链节点的数量有关,在此情况下素数的值应该大于或等于本节点组中区块链节点的数量。各个区块链节点均生成各自的秘密多项式,在此基础上需要保证秘密多项式的常数项为各区块链节点的初始秘密。进而基于Shamir密钥分享算法,各区块链节点中的秘密多项式是基于初始秘密的明确的生成关系而生成的,秘密片段是根据区块链节点的秘密多项式与区块链节点的ID共同生成的,其中,各区块链节点所生成的秘密多项式的最高次幂为当前节点组中所预先设置的门限值减一,并且常数项应为当前区块链节点所生成的初始秘密;秘密片段是各区块链节点将所有组内节点的ID分别代入秘密多项式所得的结果。
因此同一区块链节点向其它组内的区块链节点所分享的各秘密片段,区别在于生成秘密片段所使用的区块链节点的ID。另外,需要强调的是,本步骤的区块链节点也需要将所生成的秘密片段,分享到本地。例如,当前节点组中存在100个区块链节点,其中的某一区块链节点所生成的秘密片段数量也为100个,其中99个分享到对应的其它区块链节点中,剩余的1个留存于本地,以用于后续使用。另外,需要说明的是,在区块链机制下,节点之间进行数据传输均采用非对称加密的形式进行,即发送端通过接收端的公钥对原始数据进行加密得到加密数据,进而将加密数据传输至接收端后,接收端通过自身私钥对加密数据进行解密以得到原始数据,进而保证了发送端所发送的原始数据仅能够由接收端正常获悉。
步骤S12:控制各区块链节点分别将被分享的秘密片段进行累加运算,以生成各自的组秘密。
由于在之前的步骤中,节点组中每个区块链节点均会收到其它区块链节点的秘密片段,因此就相当于每个区块链节点都能够获得到其它区块链节点的认证,进而各区块链节点将所获得的秘密片段生成组秘密,以此保证后续步骤所生产的秘钥受节点组中所有区块链节点的影响。
步骤S13:在节点组中获取预设门限值数量的目标区块链节点,并通过Lagrange插值算法对各目标区块链节点中的组秘密进行运算,以生成节点组的共识密钥。
本步骤中的门限值数量可以根据实际情况或使用需要而设定,但是门限值数量越高,在节点组中获取的目标区块链节点的数量就相对越多,进而共识密钥的生成就受更多的目标区块链节点的参与,可靠性相对更高。对于Lagrange插值算法的具体执行内容,请参见后续的说明。
下面对生成节点组的共识密钥所使用到的Lagrange插值算法的具体执行内容及正确性进行说明:
为了便于表述,对于各执行对象以及各执行对象之间关系参考如下符号说明:
在此基础上可以确定的是,在1≤i≤k的情况下,且G(IDi)=Si,令H(x)=F(x)-G(x),可以确定H(x)为最高次幂不超过k-1次的多项式,而H(IDi)=0在1≤i≤k的情况下均成立,即H(x)≡0,因此F(x)=G(x)。所以通过节点组内的k个区块链节点的组秘密进行Lagrange插值算法的运算得到共识密钥
本发明所提供的基于区块链的密钥生成方法,选取由预设区块链节点组成的节点组,进而控制该节点组中的每一个区块链节点均根据Shamir密钥分享算法生成秘密片段,并分享至节点组的其它区块链节点中,每一个区块链节点在接收到组内其它区块链节点的秘密片段后,对秘密片段进行累加以得到各个区块链节点的组秘密,在此基础上,获取预设门限值数量的区块链节点的组秘密,进而通过Lagrange插值算法对所获取的组秘密进行运算并生成节点组整体的共识密钥。由于本方法中每一个区块链节点的组秘密均为组内所有区块链节点共同参与认证并生成的结果,因此通过组秘密所生成整个节点组的共识密钥是受组内所有节点共同承认的,并且组内的任何区块链节点均无法在共识密钥生成前得知其具体的内容,从而避免了仅由组内单独区块链节点生成节点组的密钥可能造成的安全性问题,进而保证了区块链机制下生成的节点组密钥的安全性及可靠性,因此提高了节点组与组外节点通过密钥进行数据传输或数字签名的安全性以及可靠性。
实施例二
在上述实施例的基础上,本发明还提供以下一系列优选的实施方式。
作为一种优选的实施方式,当采用具有双线性对特征的椭圆曲线生成共识密钥时,在控制各区块链节点分别将被分享的秘密片段进行累加运算,以生成组秘密后,该方法进一步包括:
控制各区块链节点通过自身的组秘密对相同内容的预设消息进行数字签名以得到签名数据,并将签名数据分享至包括自身在内的,节点组中的所有区块链节点;
控制节点组中的目标区块链节点,利用Lagrange插值算法对预设数量的签名数据进行运算,以生成节点组的共识签名数据。
需要强调的是,通过组秘密对相同内容的预设消息进行数字签名仅在采用双线性对特征的椭圆曲线生成共识密钥的条件下,才具有可行性,进而利用Lagrange插值算法对预设数量的签名数据进行运算,才能够生成可用的共识签名。在实际的执行情况中,节点组中的每一个区块链节点均具有一份相同的数据副本,即本实施例中的“预设消息”,进而每个区块链节点均对各自的预设消息进行验证,验证后通过自身的组秘密作为“私钥”对预设消息进行数字签名,进而分享给节点组中的每一个区块链节点,在组节点中的每一个区块链节点均完成上述执行内容后,组内任意一个区块链节点均可以利用Lagrange插值算法对预设数量的签名数据进行运算,并生成节点组的共识签名数据,该共识签名数据由节点组中的所有区块链节点共同生成,因此受节点组整体的承认,安全性较高。
此外,作为一种优选的实施方式,预设门限值大于二分之一的区块链节点的数量值。
由于考虑到本方法的主旨在于由节点组中的区块链节点共同生成节点组的共识密钥,因此预设门限值可以大于当前节点组区块链节点数量的一半,以确保半数以上的区块链节点加入到共识密钥的生成中,保证共识密钥的可靠性。
此外,作为一种优选的实施方式,初始秘密为具有固定长度的随机数据。
由于不同的区块链节点随机生成的初始秘密之间重复的可能性较低,能够在不使用区块链节点的密钥作为初始秘密的基础上,保证了初始秘密的保密性。另外,初始秘密的长度应根据实际使用需求而定,在此不做具体限定。
此外,作为一种优选的实施方式,区块链节点具体为个人电脑。
区块链节点的本质为具有计算能力的设备,由于考虑到个人电脑的成本相对低廉,因此将个人电脑作为节点组中的区块链节点,降低了节点组产生共识密钥以及后续使用共识密钥实现区块链机制的整体成本。当然,区块链节点也可以为手机或平板电脑等廉价的移动设备,用户可以根据具体的使用情况而定。
实施例三
在上文中对于基于区块链的密钥生成方法的实施例进行了详细的描述,本发明还提供一种与该方法对应的基于区块链的密钥生成装置,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图2为本发明实施例提供的一种基于区块链的密钥生成装置结构图。本发明实施例提供的基于区块链的密钥生成装置,包括:
组选取模块10,用于选取包含有预设的区块链节点的节点组,并控制节点组中的每一个区块链节点均产生各自的初始秘密。
片段分享模块11,用于控制各区块链节点分别将自身的初始秘密作为运算因子以根据Shamir密钥分享算法生成秘密片段,并分享至包括自身在内的,节点组中的所有区块链节点。
累加运算模块12,用于控制各区块链节点分别将被分享的秘密片段进行累加运算,以生成各自的组秘密。
密钥生成模块13,用于在节点组中获取预设门限值数量的目标区块链节点,并通过Lagrange插值算法对各目标区块链节点中的组秘密进行运算,以生成节点组的共识密钥。
本发明所提供的基于区块链的密钥生成装置,选取由预设区块链节点组成的节点组,进而控制该节点组中的每一个区块链节点均根据Shamir密钥分享算法生成秘密片段,并分享至节点组的其它区块链节点中,每一个区块链节点在接收到组内其它区块链节点的秘密片段后,对秘密片段进行累加以得到各个区块链节点的组秘密,在此基础上,获取预设门限值数量的区块链节点的组秘密,进而通过Lagrange插值算法对所获取的组秘密进行运算并生成节点组整体的共识密钥。由于本装置中每一个区块链节点的组秘密均为组内所有区块链节点共同参与认证并生成的结果,因此通过组秘密所生成整个节点组的共识密钥是受组内所有节点共同承认的,并且组内的任何区块链节点均无法在共识密钥生成前得知其具体的内容,从而避免了仅由组内单独区块链节点生成节点组的密钥可能造成的安全性问题,进而保证了区块链机制下生成的节点组密钥的安全性及可靠性,因此提高了节点组与组外节点通过密钥进行数据传输或数字签名的安全性以及可靠性。
在实施例三的基础上,当采用具有双线性对特征的椭圆曲线生成共识密钥时,该装置还包括:
组内签名模块,用于控制各区块链节点通过自身的组秘密对相同内容的预设消息进行数字签名以得到签名数据,并将签名数据分享至包括自身在内的,节点组中的所有区块链节点;
签名生成模块,用于控制节点组中的目标区块链节点,利用Lagrange插值算法对预设数量的签名数据进行运算,以生成节点组的共识签名数据。
实施例四
本发明还提供一种基于区块链的密钥生成装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的基于区块链的密钥生成方法的步骤。
本发明所提供的基于区块链的密钥生成装置,选取由预设区块链节点组成的节点组,进而控制该节点组中的每一个区块链节点均根据Shamir密钥分享算法生成秘密片段,并分享至节点组的其它区块链节点中,每一个区块链节点在接收到组内其它区块链节点的秘密片段后,对秘密片段进行累加以得到各个区块链节点的组秘密,在此基础上,获取预设门限值数量的区块链节点的组秘密,进而通过Lagrange插值算法对所获取的组秘密进行运算并生成节点组整体的共识密钥。由于本装置中每一个区块链节点的组秘密均为组内所有区块链节点共同参与认证并生成的结果,因此通过组秘密所生成整个节点组的共识密钥是受组内所有节点共同承认的,并且组内的任何区块链节点均无法在共识密钥生成前得知其具体的内容,从而避免了仅由组内单独区块链节点生成节点组的密钥可能造成的安全性问题,进而保证了区块链机制下生成的节点组密钥的安全性及可靠性,因此提高了节点组与组外节点通过密钥进行数据传输或数字签名的安全性以及可靠性。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的基于区块链的密钥生成方法的步骤。
本发明所提供的基于区块链的密钥生成的计算机可读存储介质,选取由预设区块链节点组成的节点组,进而控制该节点组中的每一个区块链节点均根据Shamir密钥分享算法生成秘密片段,并分享至节点组的其它区块链节点中,每一个区块链节点在接收到组内其它区块链节点的秘密片段后,对秘密片段进行累加以得到各个区块链节点的组秘密,在此基础上,获取预设门限值数量的区块链节点的组秘密,进而通过Lagrange插值算法对所获取的组秘密进行运算并生成节点组整体的共识密钥。由于本计算机可读存储介质中每一个区块链节点的组秘密均为组内所有区块链节点共同参与认证并生成的结果,因此通过组秘密所生成整个节点组的共识密钥是受组内所有节点共同承认的,并且组内的任何区块链节点均无法在共识密钥生成前得知其具体的内容,从而避免了仅由组内单独区块链节点生成节点组的密钥可能造成的安全性问题,进而保证了区块链机制下生成的节点组密钥的安全性及可靠性,因此提高了节点组与组外节点通过密钥进行数据传输或数字签名的安全性以及可靠性。
以上对本发明所提供的一种基于区块链的密钥生成方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (9)
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任一项所述的基于区块链的密钥生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810443039.9A CN108712261B (zh) | 2018-05-10 | 2018-05-10 | 一种基于区块链的密钥生成方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810443039.9A CN108712261B (zh) | 2018-05-10 | 2018-05-10 | 一种基于区块链的密钥生成方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108712261A CN108712261A (zh) | 2018-10-26 |
CN108712261B true CN108712261B (zh) | 2021-02-26 |
Family
ID=63867904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810443039.9A Expired - Fee Related CN108712261B (zh) | 2018-05-10 | 2018-05-10 | 一种基于区块链的密钥生成方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108712261B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6811317B2 (ja) | 2018-11-07 | 2021-01-13 | アドバンスド ニュー テクノロジーズ カンパニー リミテッド | ブロックチェーン機密トランザクション内の暗号化されたトランザクション情報の復元 |
MX374551B (es) | 2018-11-07 | 2025-03-06 | Advanced New Tech Co Ltd | Regulación de transacciones confidenciales de cadena de bloques. |
CN109658078B (zh) * | 2018-12-19 | 2021-04-30 | 上海和数软件有限公司 | 基于生物特征的区块链私钥生成方法、装置及介质 |
CN109687958A (zh) * | 2018-12-28 | 2019-04-26 | 全链通有限公司 | 一种基于保真区块链的艺术品证书设计及验证方法 |
CN109727032A (zh) * | 2018-12-29 | 2019-05-07 | 杭州趣链科技有限公司 | 一种基于身份标识密码的联盟区块链访问控制方法 |
CN109617699B (zh) * | 2019-01-16 | 2024-11-19 | 北京沃东天骏信息技术有限公司 | 一种密钥生成方法、区块链网络服务平台及存储介质 |
CN109687979A (zh) * | 2019-03-06 | 2019-04-26 | 郑州师范学院 | 一种环签名方法、装置、设备及介质 |
CN111147241A (zh) * | 2019-12-31 | 2020-05-12 | 广东卓启投资有限责任公司 | 一种基于区块链的密钥保护方法 |
CN111130776A (zh) * | 2019-12-31 | 2020-05-08 | 广东卓启投资有限责任公司 | 一种基于区块链的保密通信方法 |
CN111355576B (zh) * | 2020-02-24 | 2021-12-24 | 联想(北京)有限公司 | 数据处理方法和计算机系统 |
CN111294205A (zh) * | 2020-02-24 | 2020-06-16 | 联想(北京)有限公司 | 密钥管理方法及装置、计算机系统以及可读存储介质 |
CN111291398B (zh) * | 2020-03-04 | 2022-09-20 | 恒安嘉新(北京)科技股份公司 | 基于区块链的认证方法、装置、计算机设备及存储介质 |
CN111641499B (zh) * | 2020-04-13 | 2025-03-07 | 浪潮云洲工业互联网有限公司 | 一种基于区块链的私钥还原方法、装置、设备及介质 |
CN112015814B (zh) * | 2020-08-26 | 2022-10-04 | 深圳壹账通智能科技有限公司 | 基于区块链网络的数据生成方法、设备、节点及存储介质 |
CN112202550A (zh) * | 2020-09-18 | 2021-01-08 | 苏州浪潮智能科技有限公司 | 一种Ukey认证密钥存储方法、装置及认证方法 |
CN112910870B (zh) * | 2021-01-22 | 2021-11-09 | 西安电子科技大学 | 基于区块链的协同隐私计算数据通信方法 |
CN113242133B (zh) * | 2021-04-29 | 2022-12-13 | 中国人民银行数字货币研究所 | 一种数字证书管理方法和装置 |
EP4333365A1 (en) * | 2021-04-29 | 2024-03-06 | Digital Currency Institute, The People's Bank of China | Digital certificate management method and apparatus |
CN114793160B (zh) * | 2022-06-21 | 2022-09-20 | 聚梦创新(北京)软件技术有限公司 | 用于区块链系统的加密及解密方法、装置以及存储介质 |
CN115174188A (zh) * | 2022-06-29 | 2022-10-11 | 蚂蚁区块链科技(上海)有限公司 | 一种消息传输方法、装置、电子设备和存储介质 |
CN118586021A (zh) * | 2024-08-07 | 2024-09-03 | 深圳竹云科技股份有限公司 | 数据加密方法、装置和计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601957A (zh) * | 2003-09-22 | 2005-03-30 | 华为技术有限公司 | 一种进行组密钥分发的方法 |
CN104754570A (zh) * | 2015-04-13 | 2015-07-01 | 河南师范大学 | 一种基于移动互联网络的密钥分发和重构方法与装置 |
EP3259724A1 (en) * | 2016-02-23 | 2017-12-27 | Nchain Holdings Limited | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
CN107623569A (zh) * | 2017-09-30 | 2018-01-23 | 矩阵元技术(深圳)有限公司 | 基于秘密共享技术的区块链密钥托管和恢复方法、装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020076052A1 (en) * | 1999-10-29 | 2002-06-20 | Marcel M. Yung | Incorporating shared randomness into distributed cryptography |
US20050271207A1 (en) * | 2004-06-05 | 2005-12-08 | Helmut Frey | Method and system for chaotic digital signature, encryption, and authentication |
EP2562736B1 (en) * | 2010-07-23 | 2016-06-29 | Nippon Telegraph And Telephone Corporation | Secret sharing system, sharing apparatus, sharing management apparatus, aquisition apparatus, secret sharing method, program and recording medium |
-
2018
- 2018-05-10 CN CN201810443039.9A patent/CN108712261B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601957A (zh) * | 2003-09-22 | 2005-03-30 | 华为技术有限公司 | 一种进行组密钥分发的方法 |
CN104754570A (zh) * | 2015-04-13 | 2015-07-01 | 河南师范大学 | 一种基于移动互联网络的密钥分发和重构方法与装置 |
EP3259724A1 (en) * | 2016-02-23 | 2017-12-27 | Nchain Holdings Limited | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system |
CN107623569A (zh) * | 2017-09-30 | 2018-01-23 | 矩阵元技术(深圳)有限公司 | 基于秘密共享技术的区块链密钥托管和恢复方法、装置 |
Non-Patent Citations (1)
Title |
---|
Secure joint Bitcoin trading with partially blind fuzzy signatures;Qianhong Wu;《Soft Computing》;20151229;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108712261A (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108712261B (zh) | 一种基于区块链的密钥生成方法、装置及介质 | |
US11050557B2 (en) | Key agreement devices and method | |
CN110419194B (zh) | 密钥交换设备和方法 | |
US8429408B2 (en) | Masking the output of random number generators in key generation protocols | |
US9607158B2 (en) | Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium | |
US10027475B2 (en) | Key agreement device and method | |
EP3487118A1 (en) | Data processing method and device | |
JP3864249B2 (ja) | 暗号通信システム、その端末装置及びサーバ | |
CN108650085B (zh) | 一种基于区块链的组成员扩展方法、装置、设备及介质 | |
Misra et al. | A unique key sharing protocol among three users using non-commutative group for electronic health record system | |
US20160156470A1 (en) | System for sharing a cryptographic key | |
US10630476B1 (en) | Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems | |
US20180302220A1 (en) | User attribute matching method and terminal | |
US20150381365A1 (en) | Network device configured to derive a shared key | |
WO2019110399A1 (en) | Two-party signature device and method | |
Clarke et al. | Cryptanalysis of the dragonfly key exchange protocol | |
CN109905229B (zh) | 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统 | |
US10880278B1 (en) | Broadcasting in supersingular isogeny-based cryptosystems | |
JP2019533382A (ja) | 秘密値の共有に達すること | |
EP2395698A1 (en) | Implicit certificate generation in the case of weak pseudo-random number generators | |
CN116743345A (zh) | 一种密钥使用方法、装置、设备及存储介质 | |
Bakhache et al. | Fast and secure key agreement protocol for the security of low power wireless networks | |
JP5752751B2 (ja) | 復号システム、端末装置、署名システム、その方法、及びプログラム | |
Lu et al. | New forward-secure public-key encryption without random oracles | |
JP2025047194A (ja) | 安定マッチング問題の結果を検証するためのプロトコルに則った計算を行う検証装置、検証方法、検証プログラム及び検証システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220622 Address after: 310008 No.24, nilongshan, Shangcheng District, Hangzhou City, Zhejiang Province Patentee after: Lv Chengmin Address before: Room 1003, building 39, 1218 Wenyi West Road, Cangqian street, Yuhang District, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU ZHIKUAI NETWORK TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210226 |
|
CF01 | Termination of patent right due to non-payment of annual fee |