区块链交易网络的密钥对生成方法及数据传输方法与流程



1.本发明涉及区块链交易网络安全领域,特别涉及一种区块链交易网络的密钥对生成方法及区块链交易网络的数据传输方法。


背景技术:



2.工业区块链交易网络将分散在整个流中的多个流程数据进行采集、传送、分析、存储以及决策等,以提高整个生产链的效率。它将分布在每个流上的业务数据利用传感器进行数据感知并利用移动通信、智能分析等技术将整个数据的采集分析和处理融入到生产过程各个环节。但由于区块链交易网络将生产的各个环节以及数据,通过网络节点实现数据采集并在开放的区块链交易网络进行传输,这给产品流数据的安全性和隐私性,带来极大的安全挑战,特别是区块链交易网络中,节点是由一些计算能力和存储容量都有限的级传感节点组成,因此传统的加密方案在区块链交易网络中存在诸多弊端,甚至会出现加密数据丢失、处理不及时和传输性能等瓶颈。


技术实现要素:



3.针对区块链交易网络中敏感数据传输的安全需求,同时考虑到区块链交易网络节点的计算能力,本发明公开实施例至少提供一种区块链交易网络的密钥对生成方法及数据传输方法。
4.第一方面,本发明实施例提供了一种区块链交易网络的密钥对生成方法,包括如下步骤:生成系统参数矩阵x并公开给网络中各节点;所述各节点根据所述系统参数矩阵x确定秘密钥;基于所述秘密钥构造密钥矩阵,并根据所述密钥矩阵计算公钥。
5.可选地,所述系统参数矩阵x是按照如下步骤生成的:选取一个大素数p,定义;选取一个的只有对角线为1的单位矩阵e,即e =;对所述单位矩阵e中每一行作随机初等变换,然后再针对每一列作初等变换,生成一个秩为的满秩矩阵;从范围内随机选择个整数,将所述个整数作为矩阵的新增一列,生成的系统参数矩阵,其中所述系统参数矩阵中的所有元素,满足该矩阵的秩是n-1。
6.可选地,所述根据所述系统参数矩阵x确定秘密钥,包括:获取矩阵行数n和素数阶的有限域;在范围内随机选择满足以下条件的n个数: 对所有, 若, 则,若,则,其中表示两个数的最大公因数,的值为1表示互素;以向量作为本节点的秘密钥,保存在节点存储器中。
7.可选地,所述基于所述秘密钥构造密钥矩阵,并根据所述密钥矩阵计算公钥包括如下步骤:以秘密钥向量d=(构造密钥矩阵: =,其中,所述矩阵中第二行是第一行的元素向左循环移位得到,第三行由第二元素向左循环移位得到,依此类推;利用所述公开的系统参数矩阵计算本节点公钥:,所述是一个的矩阵,即 =;以(,x)作为本节点的公钥,并公开。
8.第二方面,本发明实施例还提供一种区块链交易网络的数据传输方法,包括如下步骤:发送节点n1利用发送节点n1的公钥(s1,x)和接收节点n2的公钥(s2,x)对交易数据进行加密并发送;接收节点n2利用发送节点n1的公钥(s1,x)和接收节点n2的秘密钥d2对所述加密后的交易数据进行解密;其中,所述公钥(s1,x)、公钥(s2,x)、秘密钥向量d2是根据第一方面所述的方法生成的。
9.可选地,所述发送节点n1利用发送节点n1的公钥(s1,x)和接收节点n2的公钥(s2,x)对交易数据进行加密并发送包括:构造消息数据矩阵:将交易数据m1编码成维的矩阵,每个矩阵元素范围在如果数据长度不够维数,则将矩阵中后续元素用1填充;
计算密文:解析所述接收节点n2的公钥(s2,x),判断x和s2是否是的矩阵,且矩阵每个元素是否都在范围,如果是,则计算密文;发送数据给所述接收节点n2。
10.可选地,所述方法还包括:接收多个加密数据,所述多个加密数据由所述发送节点n1对多个交易数据加密后发送给所述接收节点n2;利用节点同态处理,对所述多个加密数据进行节点间密文同态加法运算。
11.相对于现有技术,本发明实施例提供的区块链交易网络的密钥对生成方法及数据传输方法具有以下有益效果:本发明提出了在无条件的信息论安全下实现安全保证的可认证加密方案,与传统加密方式显著不同之处在于,本发明基于一种在私钥向量上构造可交换矩阵乘的方法,利用奇异矩阵的不可逆性,实现信息的安全保密和私钥的保护。本发明针对区块链交易网络中的敏感数据传输的安全需求,同时考虑到区块链交易网络节点的计算能力,本发明不需要大阶有限域上的运算,充分考虑到区块链交易网络的节点存储容量小、计算能力低、通信带宽窄的特定场景,主要优势体现在:一是算法速度高效,可有效应用于存储容量小且计算能力小的区块链交易网络安全系统中。
12.二是安全性达到信息论安全,不基于任何传统公钥密码体制所需的数论上的安全假设条件。
13.三是本方案所表达的消息是二维矩阵,具有一次处理多个数据集的能力。
14.四是本方案可以实现密文上的加法同态运算,可对多密文数据进行数据聚合,可以实现区块链交易网络多链路的密文聚合安全数据通信。
15.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
16.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1示出了本发明公开实施例所提供的一种区块链交易网络的密钥对生成方法的流程图;图2示出了本发明公开实施例所提供的一种区块链交易网络的数据传输方法的流程图;图3示出了本发明公开实施例所提供的另一种区块链交易网络的数据传输方法的流程图。
具体实施方式
18.下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
19.需要注意的是,除非另有说明,本技术使用的技术术语或者科学术语应当为本技术所属领域技术人员所理解的通常意义。
20.另外,术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
21.本技术实施例提供一种区块链交易网络的密钥对生成方法及数据传输方法,下面结合附图进行说明。
22.实施例1请参考图1,其示出了本技术的一些实施方式所提供的一种区块链交易网络的密钥对生成方法的流程图,如图所示,方法可以包括以下步骤:s101,生成系统参数矩阵x并公开给网络中各节点;s102,所述各节点根据所述系统参数矩阵x确定秘密钥;s103,基于所述秘密钥构造密钥矩阵,并根据所述密钥矩阵计算公钥。
23.进一步的,所述步骤s101中所述系统参数矩阵x是按照如下步骤生成的:选取一个大素数p,定义;选取一个的只有对角线为1的单位矩阵e,即e =;对所述单位矩阵e中每一行作随机初等变换,然后再针对每一列作初等变换,生成一个秩为的满秩矩阵;从范围内随机选择个整数,将所述个整数作为矩阵的新增一列,生成的系统参数矩阵,其中所述系统参数矩阵中的所有元素,满足该矩阵的秩是n-1。
24.值得进一步说明的是,在构造的秩为的矩形中,任选列形成的方阵是满秩矩阵。
25.进一步的,所述步骤s102中所述根据所述系统参数矩阵x确定秘密钥,包括:获取矩阵行数n和素数阶的有限域;
在范围内随机选择满足以下条件的n个数: 对所有, 若, 则,若,则,其中表示两个数的最大公因数,的值为1表示互素;;以向量作为本节点的秘密钥,保存在节点存储器中。
26.进一步的,所述步骤s103中所述基于所述秘密钥构造密钥矩阵,并根据所述密钥矩阵计算公钥包括如下步骤:以秘密钥向量d=(构造密钥矩阵: =,其中,所述矩阵中第二行是第一行的元素向左循环移位得到,第三行由第二元素向左循环移位得到,依此类推;利用所述公开的系统参数矩阵计算本节点公钥:,所述是一个的矩阵,即 =;以(x)作为本节点的公钥,并公开。
27.本发明所述的一种区块链交易网络的密钥对生成方法,基于一种在私钥向量上构造可交换矩阵乘的方法,利用奇异矩阵的不可逆性,实现了私钥的保护。本发明针对区块链交易网络中的敏感数据传输的安全需求,同时考虑到区块链交易网络节点的计算能力,本发明不需要大阶有限域上的运算,充分考虑到区块链交易网络的节点存储容量小、计算能力低、通信带宽窄的特定场景,算法速度高效,可有效应用于存储容量小且计算能力小的区块链交易网络安全系统中。
28.实施例2请参考图2,其示出了本技术的一些实施方式所提供的一种区块链交易网络的数据传输方法的流程图,如图2所示,方法可以包括以下步骤:s201,发送节点n1利用发送节点n1的公钥(s1,x)和接收节点n2的公钥(s2,x)对交易数据进行加密并发送;s202,接收节点n2利用发送节点n1的公钥(s1,x)和接收节点n2的秘密钥d2对所述加密后的交易数据进行解密;其中,所述公钥(s1,x)、公钥(s2,x)、秘密钥向量d2是根据实施例1中所述的方法生成的。
29.进一步的,所述步骤s201中所述发送节点n1利用发送节点n1的公钥(s1,x)和接收
节点n2的公钥(s2,x)对交易数据进行加密并发送包括:构造消息数据矩阵:将交易数据m1编码成维的矩阵,每个矩阵元素范围在如果数据长度不够维数,则将矩阵中后续元素用1填充;计算密文:解析所述接收节点n2的公钥(s2,x),判断x和s2是否是的矩阵,且矩阵每个元素是否都在范围,如果是,则计算密文;发送数据给所述接收节点n2。
30.进一步的,所述步骤s202中所述解密过程具体包括如下步骤:s2021,接收所述数据;s2022,获取所述公开的系统参数矩阵x及所述接收节点n2的秘密钥;s2023,验证是否是所述发送节点n1的合法公钥;若是,则执行步骤s2024,若否,则结束;s2024,验证所述密文是否是维的矩阵,且矩阵中每个元素是否都在范围;若是,则执行步骤s2025,若否,则结束;s2025,利用所述秘密钥d2构造密钥矩阵,构造过程参见实施例1中的所述方法;s2026,计算中间变量,其中,符号表示矩阵的转置矩阵;s2027,计算中间变量,其中,表示矩阵的逆矩阵;s2028,计算解密数据;s2029,输出解密数据。
31.进一步的,如图3所示,所述方法还包括如下步骤:s203,接收多个加密数据,所述多个加密数据由所述发送节点n1对多个交易数据加密后发送给所述接收节点n2;示例的,所述发送节点n1还对交易数据m2加密,生成密文c2并发送给所述接收节点n2;其中,,;所述接收节点n2接收所述密文c1和c2;s204,利用节点同态处理,对所述多个加密数据进行节点间密文同态加法运算。
32.示例的,所述节点间密文同态加法运算具体包括如下步骤:所述接收节点n2接收到所述密文c1和c2后,验证是否是所述发送节点n1的合法公钥;若是,则执行下一步,若否,则结束;
计算c=,其中==();输出c;所述c为区块链交易网络两节点密文交易数据在无需解密的情况下进行加法同态计算后的结果,解密后即为两节点明文交易数据计算后的结果。
33.其中,所述节点间密文同态可以实现区块链交易网络多链路的密文聚合安全数据通信,区块链交易网络中,节点之间传输加密后的交易数据,还需要进行加(减)法数值运算,以实现密态交易数据的运算,为了避免敏感交易数据泄露,本实施例可以在不解密交易数据的前提下,基于同态加密方法对密文交易数据进行加(减)法运算,从而不仅能够实现在加密密态数据上二次运算的能力,保障交易数据隐私,还可以实现区块链网络交易数据的传输和计算。
34.实施例3为了便于本领域普通技术人员理解和实施本发明,以下以素数、矩阵维度为例对本发明的区块链交易网络的密钥对生成方法和区块链交易网络中点对点数据传输方法进行说明。
35.区块链交易网络的密钥对生成方法包括如下过程:构造单位阵e = ;然后随机选取,进行行列变换:对角矩阵乘,再做行变换和列变换,得到=
ꢀꢀ
= (mod 17);再随机选取4个随机数,设(1,2,3,4),则形成的矩阵x为:x= ,并公开矩阵x。
36.节点n1从小于17的正整数上随机选取5个两两互素的数d1=(2,3,5,7,13),构造密钥矩阵:k1= 然后计算对应公钥:
置节点n1的公钥是(s1,x), 其解密私钥是d1=(2,3,5,7,13)。
37.同样的方法,可以构造n2的公钥(s2,x),其私钥是d2, 对应如下:,。
38.区块链交易网络中点对点数据传输方法包括加密过程和解密过程:一次需要加密的一组数据最多是个数,如果多于这个数量,可以采用分组的方法进行多次加密。设要加密的数据是,则加密过程包括:首先构造消息数据矩阵m=;然后计算密文然后计算密文=。
39.其中解密过程包括:首先,利用构造循环矩阵k2:k2=;然后计算;再计算;
最后计算。
40.综上,本发明所述的一种区块链交易网络中点对点数据传输方法,能够在无条件的信息论安全下实现安全保证的可认证加密方案,与传统加密方式显著不同之处在于,本发明基于一种在私钥向量上构造可交换矩阵乘的方法,利用奇异矩阵的不可逆性,实现信息的安全保密和私钥的保护。本发明针对区块链交易网络中的敏感数据传输的安全需求,同时考虑到区块链交易网络节点的计算能力,本发明不需要大阶有限域上的运算,充分考虑到区块链交易网络的节点存储容量小、计算能力低、通信带宽窄的特定场景,主要优势体现在:一是算法速度高效,可有效应用于存储容量小且计算能力小的区块链交易网络安全系统中。
41.二是安全性达到信息论安全,不基于任何传统公钥密码体制所需的数论上的安全假设条件。
42.三是本发明所表达的消息是二维矩阵,具有一次处理多个数据集的能力。
43.四是本发明可以实现密文上的加法同态运算,可对多密文数据进行数据聚合,可以实现区块链交易网络多链路的密文聚合安全数据通信。
44.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围,其均应涵盖在本技术的权利要求和说明书的范围当中。

技术特征:


1.一种区块链交易网络的密钥对生成方法,所述密钥对包括公钥和秘密钥,其特征在于,生成系统参数矩阵x并公开给网络中各节点;所述各节点根据所述系统参数矩阵x确定秘密钥;基于所述秘密钥构造密钥矩阵,并根据所述密钥矩阵计算公钥。2.根据权利要求1所述的方法,其特征在于,所述系统参数矩阵x是按照如下步骤生成的:选取一个大素数p,定义;选取一个的只有对角线为1的单位矩阵e,即e =;对所述单位矩阵e中每一行作随机初等变换,然后再针对每一列作初等变换,生成一个秩为的满秩矩阵;从范围内随机选择个整数,将所述个整数作为矩阵的新增一列,生成的系统参数矩阵,其中所述系统参数矩阵中的所有元素,满足该矩阵的秩是n-1。3.根据权利要求2所述的方法,其特征在于,所述根据所述系统参数矩阵x确定秘密钥,包括:获取矩阵行数n和素数阶的有限域;在范围内随机选择满足以下条件的n个数: 对所有, 若, 则,若,则,其中表示两个数和的最大公因数,的值为1表示和互素;以向量作为本节点的秘密钥,保存在节点存储器中。4.根据权利要求3所述的方法,其特征在于,所述基于所述秘密钥构造密钥矩阵,并根据所述密钥矩阵计算公钥包括如下步骤:以秘密钥向量构造密钥矩阵: =,其中,所述矩阵中第二行是第一行的元素向左循环移位得到,第三行由第二元素向左循环移位得到,依此类推;利用所述公开的系统参数矩阵计算本节点公钥:,所述是一个
的矩阵,即=;以(,x)作为本节点的公钥,并公开。5.一种区块链交易网络的数据传输方法,其特征在于,包括如下步骤:发送节点n1利用发送节点n1的公钥(s1,x)和接收节点n2的公钥(s2,x)对交易数据进行加密并发送;接收节点n2利用发送节点n1的公钥(s1,x)和接收节点n2的秘密钥d2对所述加密后的交易数据进行解密;其中,所述公钥(s1,x)、公钥(s2,x)、秘密钥向量d2是根据权利要求4所述的方法生成的。6.根据权利要求5所述的方法,其特征在于,所述发送节点n1利用发送节点n1的公钥(s1,x)和接收节点n2的公钥(s2,x)对交易数据进行加密并发送包括:构造消息数据矩阵:将交易数据m1编码成维的矩阵,每个矩阵元素范围在如果数据长度不够维数,则将矩阵中后续元素用1填充;计算密文:解析所述接收节点n2的公钥(s2,x),判断x和s2是否是的矩阵,且矩阵每个元素是否都在范围,如果是,则计算密文;发送数据给所述接收节点n2。7.根据权利要求5所述的方法,其特征在于,所述方法还包括:接收多个加密数据,所述多个加密数据由所述发送节点n1对多个交易数据加密后发送给所述接收节点n2;利用节点同态处理,对所述多个加密数据进行节点间密文同态加法运算。

技术总结


本申请实施例公开了区块链交易网络的密钥对生成方法及数据传输方法。所述密钥对生成方法包括:生成系统参数矩阵X并公开给网络中各节点;所述各节点根据所述系统参数矩阵X确定秘密钥;基于所述秘密钥构造密钥矩阵,并根据所述密钥矩阵计算公钥。所述数据传输方法,包括:发送节点N1利用发送节点N1的公钥和接收节点N2的公钥对交易数据进行加密并发送;接收节点N2利用发送节点N1的公钥和接收节点N2的秘密钥对所述加密后的交易数据进行解密;其中,所述公钥和秘密钥均是根据前述方法生成的。本发明能在无条件信息论安全下实现安全保证的多链路上安全加密数据传输,具有极好的系统处理性能。统处理性能。统处理性能。


技术研发人员:

刘克飞 郑喜 熊自康 骆运虎

受保护的技术使用者:

深圳市迪博企业风险管理技术有限公司

技术研发日:

2022.11.17

技术公布日:

2022/12/19

本文发布于:2024-09-22 13:23:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/42373.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   矩阵   节点   区块
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议