掌桥专利:专业的专利平台
掌桥专利
首页

基于共享根密钥的信息处理方法、装置、设备及介质

文献发布时间:2023-06-19 09:29:07


基于共享根密钥的信息处理方法、装置、设备及介质

技术领域

本申请涉及区块链技术领域,尤其涉及基于共享根密钥的信息处理方法、装置、设备及介质。

背景技术

随着网络的发展,通过网络进行信息交互的方式得到大量用户的青睐,用户使用网络的数量增加导致产生的信息数量增加,而大量的信息需要进行存储,例如,医院管理中针对病患的处方流转、病人管理等信息需要进行存储,才便于后续追溯。传统的信息存储方式一般为终端本地存储,该种信息存储方式存在较大的风险,非法终端容易获取到本地存储的信息,导致信息的泄露,以及,非法用户可以对本地存储的信息进行篡改,导致信息安全性较低,并且,当本地存储出现故障时,导致信息无法找回,从而造成损失。因此,如何确保信息存储过程中信息的安全性,防止信息泄露是亟待解决的问题。

发明内容

本申请实施例提供基于共享根密钥的信息处理方法、装置、设备及介质,可以实现对信息进行加密,提高信息的安全性,防止信息泄露。

本申请实施例一方面提供基于共享根密钥的信息处理方法,包括:

获取用于描述信息的目标函数,以及待处理的目标信息所属的机构对应的机构信息,根据该机构信息生成该目标信息对应的根密钥,该机构信息包括该机构的保密等级、该机构的债务信息以及该机构的盈利信息中的至少一种;

根据该根密钥生成该目标信息中每条子信息对应的密钥,该目标信息包括至少两条子信息;

获取该每条子信息对应的第一随机数,根据该第一随机数对该每条子信息进行调整,得到调整后的每条子信息;

根据该目标函数以及该调整后的每条子信息,获取该至少两条子信息中每条子信息对应的坐标信息;

采用该每条子信息对应的密钥,对该至少两条子信息中的对应子信息的坐标信息进行加密,得到该每条子信息对应的坐标信息的密文;

将该每条子信息对应的坐标信息的密文确定为该目标信息的密文,将该目标信息的密文存储至区块链网络中。

可选的,该机构信息包括该机构的保密等级,该根据该机构信息生成该目标信息对应的根密钥,包括:根据该机构的保密等级生成第二随机数;获取该第二随机数中的字节长度,根据该字节长度对该第二随机数进行填充处理,得到填充处理后的第二随机数;对该填充处理后的第二随机数进行哈希运算,得到该目标信息对应的根密钥。

可选的,该机构信息包括该机构的债务信息和该机构的盈利信息;该根据该机构信息生成该目标信息对应的根密钥,包括:根据该机构的债务信息和该机构的盈利信息,确定该机构的资金等级;根据该机构的资金等级生成第三随机数;对该第三随机数进行哈希运算,得到该目标信息对应的根密钥。

可选的,该根据该根密钥生成该目标信息中每条子信息对应的密钥,包括:获取该每条子信息的生成时间;根据该每条子信息的生成时间确定第一子信息和第二子信息,该第一子信息为该目标信息中生成时间最早的子信息,该第二子信息的生成时间后于该第一子信息的生成时间;对该根密钥进行哈希运算,得到该第一子信息的密钥;对该第一子信息的密钥进行哈希运算,得到该第二子信息的密钥。

可选的,该根据该第一随机数对该每条子信息进行调整,得到调整后的每条子信息,包括:将该每条子信息与该第一随机数相减,得到相减后的每条子信息;若该相减后的每条子信息小于信息阈值,则将该相减后的每条子信息确定为调整后的每条子信息。

可选的,该方法还包括:若该相减后的每条子信息大于或等于该信息阈值,则调整该第一随机数;将该每条子信息与调整后的第一随机数相减,得到候选的每条子信息;若该候选的每条子信息小于该信息阈值,则将该候选的每条子信息确定为调整后的每条子信息。

可选的,该对该至少两条子信息中的对应子信息的坐标信息进行加密,得到该每条子信息对应的坐标信息的密文,包括:获取该目标信息所属的终端的私钥,以及该每条子信息对应的密钥;获取该目标信息对应的候选坐标,该候选坐标是根据该目标函数的曲线的基点坐标与该私钥得到的;根据该每条子信息对应的密钥对该候选坐标进行加密,得到该候选坐标的密文;对该每条子信息对应的坐标信息与对应的候选坐标的密文进行融合,得到该每条子信息对应的坐标信息的密文。

本申请实施例一方面提供基于共享根密钥的信息处理装置,包括:

根密钥生成模块,用于获取用于描述信息的目标函数,以及待处理的目标信息所属的机构对应的机构信息,根据该机构信息生成该目标信息对应的根密钥,该机构信息包括该机构的保密等级、该机构的债务信息以及该机构的盈利信息中的至少一种;

子密钥生成模块,用于根据该根密钥生成该目标信息中每条子信息对应的密钥,该目标信息包括至少两条子信息;

信息调整模块,用于获取该每条子信息对应的第一随机数,根据该第一随机数对该每条子信息进行调整,得到调整后的每条子信息;

坐标获取模块,用于根据该目标函数以及该调整后的每条子信息,获取该至少两条子信息中每条子信息对应的坐标信息;

信息加密模块,用于采用该每条子信息对应的密钥,对该至少两条子信息中的对应子信息的坐标信息进行加密,得到该每条子信息对应的坐标信息的密文;

信息存储模块,用于将该每条子信息对应的坐标信息的密文确定为该目标信息的密文,将该目标信息的密文存储至区块链网络中。

可选的,该机构信息包括该机构的保密等级,该根密钥生成模块,具体用于:根据该机构的保密等级生成第二随机数;获取该第二随机数中的字节长度,根据该字节长度对该第二随机数进行填充处理,得到填充处理后的第二随机数;对该填充处理后的第二随机数进行哈希运算,得到该目标信息对应的根密钥。

可选的,该机构信息包括该机构的债务信息和该机构的盈利信息;该根密钥生成模块,具体用于:根据该机构的债务信息和该机构的盈利信息,确定该机构的资金等级;根据该机构的资金等级生成第三随机数;对该第三随机数进行哈希运算,得到该目标信息对应的根密钥。

可选的,该子密钥生成模块,具体用于:获取该每条子信息的生成时间;根据该每条子信息的生成时间确定第一子信息和第二子信息,该第一子信息为该目标信息中生成时间最早的子信息,该第二子信息的生成时间后于该第一子信息的生成时间;对该根密钥进行哈希运算,得到该第一子信息的密钥;对该第一子信息的密钥进行哈希运算,得到该第二子信息的密钥。

可选的,该信息调整模块,具体用于:将该每条子信息与该第一随机数相减,得到相减后的每条子信息;若该相减后的每条子信息小于信息阈值,则将该相减后的每条子信息确定为调整后的每条子信息。

可选的,该装置还包括:随机数调整模块,用于若该相减后的每条子信息大于或等于该信息阈值,则调整该第一随机数;将该每条子信息与调整后的第一随机数相减,得到候选的每条子信息;若该候选的每条子信息小于该信息阈值,则将该候选的每条子信息确定为调整后的每条子信息。

可选的,该信息加密模块,具体用于:获取该目标信息所属的终端的私钥,以及该每条子信息对应的密钥;获取该目标信息对应的候选坐标,该候选坐标是根据该目标函数的曲线的基点坐标与该私钥得到的;根据该每条子信息对应的密钥对该候选坐标进行加密,得到该候选坐标的密文;对该每条子信息对应的坐标信息与对应的候选坐标的密文进行融合,得到该每条子信息对应的坐标信息的密文。

本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;

上述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行本申请实施例中上述一方面中的方法。

本申请实施例一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面的基于共享根密钥的信息处理方法。

本申请实施例中,由于目标信息对应的根密钥是通过目标信息所属的机构对应的机构信息生成的,且机构信息包括机构的保密等级、机构的债务信息以及机构的盈利信息等,为机构较为机密的信息,非法终端难以获取到该机构信息,即难以获取到目标信息对应的根密钥。因此,根据该根密钥生成目标信息中每条子信息对应的密钥,并采用每条子信息对应的密钥对每条子信息进行加密后,由于非法终端难以获取到根密钥,因此不能实现对密文进行解密,可以提高密文破解的难度,提高信息的安全性。通过对至少两条子信息中每条子信息进行调整,有利于根据调整后的每条子信息生成调整后的每条子信息对应的坐标信息,提高获取调整后的每条子信息对应的坐标信息的成功率。通过对目标信息中的每条子信息进行加密,避免非法终端对该密文进行破解,从而提高每条子信息的安全性,进而提高目标信息的安全性。通过将目标信息的密文信息存储至区块链网络中,基于区块链不可篡改且不易丢失的特性,可以提高信息的安全性;此外,将目标信息的密文存储至区块链网络中,可以减少终端本地存储空间的资源占用。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种基于共享根密钥的信息处理方法的流程示意图;

图2是本申请实施例提供的一种对每条子信息进行调整的方法的流程示意图;

图3是本申请实施例提供的一种基于共享根密钥的信息处理方法的流程示意图;

图4是本申请实施例提供的一种基于共享根密钥的信息处理装置的组成结构示意图;

图5是本申请实施例提供的一种计算机设备的组成结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请所涉及的区块链是一种分布式数据存储、点对点传输(P2P传输)、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层;区块链可由多个借由密码学串接并保护内容的串连交易记录(又称区块)构成,用区块链所串接的分布式账本能让多方有效纪录交易,且可永久查验此交易(不可篡改)。其中,共识机制是指区块链网络中实现不同节点之间建立信任、获取权益的数学算法;也就是说,共识机制是区块链各网络节点共同认可的一种数学算法。

本申请技术方案适用于医院管理中,即目标信息可以是指病患的处方流转、病人管理等信息,通过对病患的处方流转、病人管理等信息进行加密得到病患的处方流转、病人管理等信息对应的密文,并将加密后的数据存储至区块链网络中,有利于实现对病患的处方流转、病人管理等信息的管理,提高医院管理的信息的安全性。

请参见图1,图1是本申请实施例提供的一种基于共享根密钥的信息处理方法的流程示意图,该方法应用于区块链网络中的节点,该节点可以是独立的一个物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。或者,该节点可以是指计算机设备,包括手机、平板电脑、笔记本电脑、掌上电脑、智能音响、移动互联网设备(MID,mobile internet device)、POS(Point Of Sales,销售点)机、可穿戴设备(例如智能手表、智能手环等)等。如图1所示,该方法包括:

S101,获取用于描述信息的目标函数,以及待处理的目标信息所属的机构对应的机构信息,根据机构信息生成目标信息对应的根密钥。

这里,目标函数可以是指椭圆曲线对应的函数,目标函数也可以是指其他曲线对应的函数。目标信息可以是指某机构的交易数据、营业数据、该机构的内部资料等数据。目标信息所属的机构对应的机构信息包括机构的保密等级、机构的债务信息以及机构的盈利信息中的至少一种。为了增加对目标信息的密文进行解密的难度,避免目标信息的密文被非法用户破解,可根据机构信息生成目标信息对应的根密钥,即可根据机构的保密等级、机构的债务信息以及机构的盈利信息中的至少一种生成目标信息对应的根密钥。

可选的,目标信息所属的机构对应的机构信息包括机构的保密等级,根据机构信息生成目标信息对应的根密钥的方法可以为:根据目标信息所属的机构的保密等级生成第二随机数;获取第二随机数中的字节长度,根据字节长度对第二随机数进行填充处理,得到填充处理后的第二随机数;对填充处理后的第二随机数进行哈希运算,得到目标信息对应的根密钥。

这里,机构的保密等级可以根据机构的性质进行划分,例如,机构的性质可以包括国防机构、教育机构、小型零售机构,等等。其中,国防机构的保密等级大于教育机构的保密等级、教育机构的保密等级大于小型零售机构的保密等级。第二随机数中的字节长度是指第二随机数对应的字节的数量,例如第二随机数为0~255之间的数,则对应的字节长度为1,或者,若第二随机数为大于255的数,字节长度大于1,等等。

具体的,例如可以获取目标信息所属的机构的保密等级,调用C语言中的rand函数,根据目标信息所属的机构的保密等级返回一个第二随机数k,然后获取第二随机数k中的字节长度;根据字节长度对第二随机数进行填充处理,得到填充处理后的第二随机数,即对1个字节对应的8bit(即位)进行填充,例如可以将二进制填充为0或者1。也就是说,填充处理后的第二随机数与填充处理前的第二随机数对应的数值不同,填充前的第二随机数为k,填充后的第二随机数为p,p与k对应的数值不同。对填充处理后的第二随机数p进行哈希运算,即hash(p)=p1,将p1作为目标信息对应的根密钥。

由于对第二随机数进行了填充处理,得到填充后的第二随机数,且对于一个第二随机数有多种填充方式,包括对8bit中的一位或者多位进行填充,因此填充后的第二随机数与填充前的第二随机数不相等,即使非法终端获取到目标信息所属的机构的保密等级,并且根据该保密等级生成第二随机数,由于对第二随机数的填充方式有多种,非法终端也难以获得正确的填充后的随机数,因此无法实现获取目标信息对应的根密钥,从而可以提高信息的安全性。

可选的,目标信息所属的机构对应的机构信息包括机构的债务信息和该机构的盈利信息,根据机构信息生成目标信息对应的根密钥的方法可以为:根据机构的债务信息和机构的盈利信息,确定机构的资金等级;根据机构的资金等级生成第三随机数;对第三随机数进行哈希运算,得到目标信息对应的根密钥。

这里,机构的债务信息可以是指该机构公司与特定人或者特定机构之间的债权债务关系,包括公司贷款、应付账款、未付款的采购件等等。机构的盈利信息可以是指机构获取的收益,等等。其中,根据机构的债务信息和机构的盈利信息,确定机构的资金等级可以是指根据机构的盈利信息与机构的债务信息之差确定机构的资金等级。机构的资金等级越高,表示该机构的效益越好;机构的资金等级越低,表示该机构的效益越差。例如,当机构的盈利信息与机构的债务信息之差大于第一数量阈值时,该机构的资金等级为第一资金等级;当机构的盈利信息与机构的债务信息之差大于第二数量阈值且小于第一数量阈值时,该机构的资金等级为第二资金等级;当机构的盈利信息与机构的债务信息之差小于第二数量阈值时,该机构的资金等级为第三资金等级,其中,第一数量阈值大于第二数量阈值,第一资金等级大于第二资金等级大于第三资金等级。

具体的,可以通过获取机构的债务信息和机构的盈利信息,确定机构的资金等级,例如根据机构的资金等级生成第三随机数m;对第三随机数m进行哈希运算,即hash(m)=m1,将m1作为目标信息对应的根密钥。由于第三随机数是根据机构的资金等级生成的,而机构的资金等级是根据机构的债务信息和机构的盈利信息确定的,而机构的债务信息和机构的盈利信息等属于机构保密性较高的信息,因此非法终端不容易获取到,从而无法获取到机构的资金等级,进而无法生成第三随机数,因此无法实现获取目标信息对应的根密钥,从而可以提高信息的安全性。

可选的,还可以从区块链网络中获取与该机构关联的信息,从关联信息中获取信息的私密等级大于等级阈值的信息条数,对该信息条数进行哈希运算,得到目标信息对应的根密钥。这里,与该机构关联的信息是指区块链网络中该机构存储的所有信息,信息的私密等级大于等级阈值表示信息的私密程度较高,例如为绝密;信息的私密等级小于等级阈值表示信息的私密程度较低,例如为秘密,绝密的私密程度大于秘密的私密程度。例如,从区块链网络中获取与该机构关联的信息,且该关联信息中信息的私密等级大于等级阈值的信息条数为q,对信息条数q进行哈希运算,即hash(q)=q1,将q1作为目标信息对应的根密钥。由于绝密信息为机构保密程度较高的信息,因此非法终端难以获取到该信息,进而无法获取到目标信息对应的根密钥,可以提高信息的安全性。

S102,根据根密钥生成目标信息中每条子信息对应的密钥。

这里,目标信息包括至少两条子信息。具体的,根据根密钥生成目标信息中每条子信息对应的密钥的方法包括:获取每条子信息的生成时间;根据每条子信息的生成时间确定第一子信息和第二子信息,第二子信息的生成时间后于第一子信息的生成时间;对根密钥进行哈希运算,得到第一子信息的密钥;对第一子信息的密钥进行哈希运算,得到第二子信息的密钥。

举例来进行说明,例如目标信息对应的根密钥为n,目标信息中包含2条子信息分别为子信息a1和子信息a2,且2条子信息对应的生成时间分别为t1、t2,t1>t2,因此,第一子信息为子信息a1、第二子信息为子信息a2,对目标信息对应的根密钥进行哈希运算,得到第一子信息的密钥,即hash(n)=n1,则n1为第一子信息的密钥;对第一子信息的密钥进行哈希运算,得到第二子信息的密钥,即hash(n1)=n2,则n2为第二子信息的密钥。

若第二子信息的数量大于1,如第二子信息的数量为3条,分别为子信息a2、子信息a3和子信息a4,3条第二子信息的生成时间分别为t2、t3、t4,且t2>t3>t4,第一子信息的密钥为n1,则对第一子信息的密钥进行哈希运算,得到第二子信息a2的密钥,即hash(n1)=n2,则n2为子信息a2的密钥;对第二子信息a2的密钥进行哈希运算,得到第二子信息a3的密钥,即hash(n2)=n3,则n3为子信息a3的密钥;对第二子信息a3的密钥进行哈希运算,得到第二子信息a4的密钥,即hash(n3)=n4,则n4为子信息a4的密钥。由此,可计算得到每条子信息对应的密钥。通过对根密钥进行哈希运算得到子信息对应的密钥,可以提高子信息对应的密钥的难度,从而在后续使用子信息对应的密钥对每条子信息进行加密时,可以提高加密的难度,降低密文被非法终端破解的概率,提高信息的安全性。

在一种可能的实现方式中,根据根密钥生成目标信息中每条子信息对应的密钥的方法包括:获取每条子信息的信息长度;根据每条子信息的信息长度确定第一子信息和第二子信息,第一子信息为目标信息中信息长度最大的子信息,第二子信息的信息长度小于第一子信息的信息长度;对根密钥进行哈希运算,得到第一子信息的密钥;对第一子信息的密钥进行哈希运算,得到第二子信息的密钥。

举例来进行说明,例如目标信息对应的根密钥为k,目标信息中包含2条子信息分别为子信息b1和子信息b2,且2条子信息对应的生成时间分别为s1、s2,s1>s2,因此,第一子信息为子信息b1、第二子信息为子信息b2,对目标信息对应的根密钥进行哈希运算,得到第一子信息的密钥,即hash(k)=k1,则k1为第一子信息的密钥;对第一子信息的密钥进行哈希运算,得到第二子信息的密钥,即hash(k1)=k2,则k2为第二子信息的密钥。若第二子信息的数量大于1,则根据各个第二子信息的信息长度从大到小进行排序,得到排序后的第二子信息,例如排序后的第二子信息包括子信息b2、b3、b4,且b2的长度大于b3的信息长度大于b4的信息长度,且第一子信息的密钥为k1,则对第一子信息的密钥进行哈希运算,得到第二子信息b2的密钥为k2;对第二子信息b2的密钥进行哈希运算,得到第二子信息b3的密钥为k3;对第二子信息b3的密钥进行哈希运算,得到第二子信息b4的密钥为k4。由此可以根据每条子信息的信息长度和根密钥计算得到每条子信息对应的密钥,由于每条子信息的长度不等,由此根据每条子信息的长度和根密钥计算得到的子信息对应的密钥不同,可以提高后续使用子信息对应的密钥对每条子信息进行加密的难度,降低密文被非法终端破解的概率,提高信息的安全性。

S103,获取每条子信息对应的第一随机数,根据第一随机数对每条子信息进行调整,得到调整后的每条子信息。

这里,由于每条子信息对应的数值大于第一阈值时,不能实现将每条子信息映射到目标函数的曲线上,则无法根据目标函数的曲线计算得到每条子信息对应的坐标点。因此可以使用第一随机数对每条子信息进行调整,使得调整后的每条子信息对应的数值小于或等于第一阈值,从而实现将每条子信息映射到目标函数的曲线上,根据目标函数的曲线计算得到每条子信息对应的坐标点。通过使用第一随机数对每条子信息进行调整,可以提高获取每条子信息对应的坐标点的概率,从而提高加密成功的概率。第一阈值可以是根据目标函数对应的曲线参数确定的,如该曲线参数为曲线长度c,则第一阈值为2

具体实现中,可以采用随机数生成算法生成随机数,例如中心极限定理和BoxMuller(坐标变换法)、蒙特卡洛算法、数值概率算法、拉斯维加斯算法或者其他算法生成随机数,并将该生成的随机数确定为每条子信息对应的第一随机数。或者,也可以调用C语言中的rand函数生成随机数。

在一种可能的情况下,若每条子信息不为数值类型的数据,则可以对每条子信息进行编码,得到数值类型的编码数据,根据每条子信息对应的第一随机数对每条子信息对应的编码数据进行调整,得到调整后的每条子信息。

在另一种可能的情况下,若每条子信息为数值类型的数据,则根据每条子信息对应的第一随机数对每条子信息进行调整,得到调整后的每条子信息。可知,调整后的每条子信息包括该条子信息和该条子信息对应的第一随机数。

可选的,根据第一随机数对每条子信息进行调整的方法可以如图2所示,图2是本申请实施例提供的一种对每条子信息进行调整的方法的流程示意图,如图2所示,该方法包括如下步骤:

S11,将每条子信息与第一随机数相减,得到相减后的每条子信息。

S12,若相减后的每条子信息小于信息阈值,则将相减后的每条子信息确定为调整后的每条子信息。

步骤S11~步骤S12中,若相减后的每条子信息小于信息阈值,则认为将该条子信息映射至目标函数对应的曲线上的目标点的第一坐标,可以根据该第一坐标以及该目标函数,计算得到该目标函数对应的曲线上的目标点的第二坐标,即可以得到每条子信息对应的坐标信息。若相减后的每条子信息大于或等于信息阈值,则认为将该条子信息映射至目标函数对应的曲线上的目标点的第一坐标,无法根据该第一坐标以及该目标函数,计算得到该目标函数对应的曲线上的目标点的第二坐标,即无法得到每条子信息对应的坐标信息。其中,每条子信息对应的第一随机数可以相等,也可以不等。其中,信息阈值例如可以为2

通过将每条子信息与第一随机数相减,可以得到相减后的每条子信息,从而根据相减后的每条子信息与信息阈值的大小关系,将相减后的每条子信息确定为调整后的每条子信息。其中,每条子信息与第一随机数相减可以是指将每条子信息对应的数值减去第一随机数,可知,相减后得到的每条子信息对应的数值小于的相减前的子信息对应的数值。

S13,若相减后的每条子信息大于或等于信息阈值,则调整第一随机数。

S14,将每条子信息与调整后的第一随机数相减,得到候选的每条子信息。

这里,由于相减后的每条子信息大于或等于信息阈值时,将该条子信息映射至目标函数对应的曲线上的目标点的第一坐标,无法根据该第一坐标以及该目标函数,计算得到该目标函数对应的曲线上的目标点的第二坐标,即无法得到每条子信息对应的坐标信息。因此,需要对每条子信息对应的第一随机数进行调整,并将调整后的每条子信息与第一随机数相减,得到候选的每条子信息。

S15,若候选的每条子信息小于信息阈值,则将候选的每条子信息确定为调整后的每条子信息。

可知,若候选的每条子信息小于信息阈值,将该条子信息映射至目标函数对应的曲线上的目标点的第一坐标,可以根据该第一坐标以及该目标函数,计算得到该目标函数对应的曲线上的目标点的第二坐标,即可以得到每条子信息对应的坐标信息。若候选的每条子信息大于或等于信息阈值,则认为将该条子信息映射至目标函数对应的曲线上的目标点的第一坐标,无法根据该第一坐标以及该目标函数,计算得到该目标函数对应的曲线上的目标点的第二坐标,即无法得到每条子信息对应的坐标信息。也就是说,若候选的每条子信息大于或等于信息阈值,则继续调整第一随机数,直到对候选的每条子信息与调整后的第一随机数相减,相减后的候选的每条子信息小于信息阈值,则将相减后的候选的每条子信息确定为调整后的每条子信息。通过对每条子信息和每条子信息对应的第一随机数相减,以及不断调整每条子信息对应的第一随机数,可以得到调整后的每条子信息,提高后续对每条子信息进行加密的成功率。

S104,根据目标函数以及调整后的每条子信息,获取至少两条子信息中每条子信息对应的坐标信息。

这里,例如可以对调整后非数值类型的每条子信息进行编码,得到调整后数值类型的每条子信息对应的编码数据,将调整后数值类型的每条子信息对应的编码数据映射至目标函数对应的曲线上得到对应的坐标点,从而根据该坐标点得到每条子信息对应的坐标信息。

在一种可能的实现方式中,可以获取目标函数对应的曲线,将调整后的每条子信息映射至该目标函数对应的曲线上的目标点的第一坐标;根据该第一坐标以及该目标函数,确定该目标函数对应的曲线上的目标点的第二坐标;将该第一坐标以及该第二坐标确定为每条子信息对应的坐标信息,从而获取到至少两条子信息中每条子信息对应的坐标信息。

举例来对获取至少两条子信息中任意一条子信息c对应的坐标信息进行说明,可以根据第一坐标和目标函数,确定该目标函数对应的曲线上的目标点的第二坐标,将该第一坐标以及该第二坐标确定为子信息c对应的坐标信息。例如,目标函数对应的曲线可以如公式(1-1)所示:

y

其中,a和b均为已知的实数,x和y均为参数,通过确定x或者y中的任意一个参数的值,则可以通过公式(1-1)计算得到另一个参数的值,例如,通过确定x的值,根据公式(1-1)可计算得到y的值。

例如,a为1,b为-1,子信息c映射至该目标函数对应的曲线上的目标点的第一坐标(例如该目标点的横坐标)为1,将a,b以及该第一坐标作为x代入公式(1-1)中,得到y为1,即该目标函数对应的曲线上的目标点的第二坐标为1,则子信息c对应的坐标信息为(1,1),通过该方法,可以获取到至少两条子信息中其他子信息对应的坐标信息,从而获取到至少两条子信息中每条子信息对应的坐标信息。

S105,采用每条子信息对应的密钥,对至少两条子信息中每条子信息对应的坐标信息进行加密,得到每条子信息对应的坐标信息的密文。

这里,计算机设备可以采用每条子信息对应的密钥,对至少两条子信息中每条子信息对应的坐标信息进行加密,得到每条子信息对应的坐标信息的密文。具体实现中,计算机设备可以获取目标信息所属的终端的私钥,根据该终端的私钥和每条子信息对应的密钥,对至少两条子信息中每条子信息对应的坐标信息进行加密,得到每条子信息对应的坐标信息的密文。可知,子信息对应的坐标信息的密文为对子信息加密后的得到的密文,在未对其进行解密的情况下,即使获取到该密文也无法获知该密文对应的子信息的内容。通过使用目标信息所属的终端的私钥和每条子信息对应的密钥对目标信息对应的每条子信息进行加密,可以提高目标信息的安全性。

S106,将每条子信息对应的坐标信息的密文确定为目标信息的密文,将目标信息的密文存储至区块链网络中。

这里,上述步骤中,对于至少两条子信息中的每条子信息,都会得到每条子信息对应的坐标信息的密文,因此,将每条子信息对应的坐标信息的密文确定为目标信息的密文,也就是说,目标信息的密文包括至少两条子信息中的每条子信息对应的坐标信息的密文,至此,可以实现对目标信息进行加密得到目标信息的密文,可以将目标信息的密文存储至区块链网络中。通过将目标信息发送至区块链网络中进行加密以及存储,可以减少终端本地存储空间的资源占用,以及,可以避免目标信息存储在终端本地被非法用户篡改,提高目标信息的安全性。

本申请实施例中,由于目标信息对应的根密钥是通过目标信息所属的机构对应的机构信息生成的,且机构信息包括机构的保密等级、机构的债务信息以及机构的盈利信息等,为机构较为机密的信息,非法终端难以获取到该机构信息,即难以获取到目标信息对应的根密钥。因此,根据该根密钥生成目标信息中每条子信息对应的密钥,并采用每条子信息对应的密钥对每条子信息进行加密后,由于非法终端难以获取到根密钥,因此不能实现对密文进行解密,可以提高密文破解的难度,提高信息的安全性。通过对至少两条子信息中每条子信息进行调整,有利于根据调整后的每条子信息生成调整后的每条子信息对应的坐标信息,提高获取调整后的每条子信息对应的坐标信息的成功率。通过对目标信息中的每条子信息进行加密,避免非法终端对该密文进行破解,从而提高每条子信息的安全性,进而提高目标信息的安全性。通过将目标信息的密文信息存储至区块链网络中,基于区块链不可篡改且不易丢失的特性,可以提高信息的安全性;此外,将目标信息的密文存储至区块链网络中,可以减少终端本地存储空间的资源占用。

请参见图3,图3是本申请实施例提供的一种基于共享根密钥的信息处理方法的流程示意图,该方法应用于区块链网络中的节点。如图3所示,该方法包括:

S201,获取用于描述信息的目标函数,以及待处理的目标信息所属的机构对应的机构信息,根据机构信息生成目标信息对应的根密钥。

S202,根据根密钥生成目标信息中每条子信息对应的密钥。

S203,获取每条子信息对应的第一随机数,根据第一随机数对每条子信息进行调整,得到调整后的每条子信息。

S204,根据目标函数以及调整后的每条子信息,获取至少两条子信息中每条子信息对应的坐标信息。

这里,步骤S201~S204的具体内容可以参考图1对应的实施例中步骤S101~S104的内容,此处不再赘述。

S205,获取目标信息所属的终端的私钥,以及每条子信息对应的密钥。

这里,目标信息所属的终端为上传目标信息至区块链网络中进行加密以及存储等处理的终端,目标信息所属的终端的私钥为通过该终端生成的私钥。

具体实现中,例如可以获取该目标信息所属终端的标识,采用SECP256K1算法生成第四随机数,对第四随机数进行填充,得到终端的私钥,该终端的私钥可以是指包括256位的数。这里,终端的标识可以是指终端的出厂编号,或者其他用于唯一指示该终端的标识。

S206,获取目标信息对应的候选坐标。

其中,候选坐标是根据目标函数的曲线的基点坐标与终端的私钥得到的。具体的,可以获取目标函数的曲线的基点坐标;获取基点坐标与终端的私钥的乘积,得到候选坐标。

这里,通过获取目标函数的曲线,以及目标函数的曲线参数,可以获取该目标函数的曲线的基点坐标。例如基点为G,对应的基点坐标为(x1,y1),终端的私钥为h,则可以根据公式(1-2)计算得到候选坐标:

H=h*G (1-2)

其中,候选坐标为H,基点为G,终端的私钥为h。

S207,根据每条子信息对应的密钥对候选坐标进行加密,得到候选坐标的密文。

S208,对每条子信息对应的坐标信息与对应的候选坐标的密文进行融合,得到每条子信息对应的坐标信息的密文。

例如,目标信息对应的子信息的数量为n条,子信息i为n条子信息中的任意一条子信息,可以通过公式(1-3)的方式对候选坐标进行加密,得到候选坐标的密文,以及对子信息i对应的坐标信息与候选坐标的密文进行和融合,得到子信息i对应的坐标信息的密文。

Ci=Mi+ki*H (1-3)

其中,候选坐标为H,Ci为子信息i对应的坐标信息的密文,Mi为子信息i对应的坐标信息,ki为子信息i对应的密钥。ki*H表示根据子信息i对应的密钥对候选坐标进行加密,得到候选坐标的密文。可知,对于n条子信息中的其他子信息,也可以通过公式(1-3)进行加密和融合,得到其他子信息对应的坐标信息的密文。对于每一条子信息,通过公式(1-3)进行加密和融合可以得到该条子信息对应的坐标信息的密文,也就是说,一条子信息对应一条子信息对应的坐标信息的密文的数量,即对于n条子信息,最终得到的子信息对应的坐标信息的密文的数量为n。

具体实现中,可以采用加密算法对每条子信息对应的坐标信息进行加密,得到每条子信息对应的坐标信息的密文,加密算法例如可以包括Elgamal算法(一种非对称加密算法)、Rabin算法(一种非对称加密算法)、Diffie-Hellman算法(一种非对称加密算法)、ECC算法(椭圆曲线加密算法)。计算机设备根据终端的私钥以及每条子信息对应的密钥,对至少两条子信息中每条子信息对应的坐标信息进行加密,得到每条子信息对应的坐标信息的密文,可以实现对每条子信息进行加密,得到对应的密文,终端获取到每条子信息对应的密文后,需要进行解密,才能获知每条密文对应的子信息。

S209,将每条子信息对应的坐标信息的密文确定为目标信息的密文,将目标信息的密文存储至区块链网络中。

这里,步骤S209的具体内容可以参考图1对应的实施例中步骤S106的内容,此处不再赘述。

本申请实施例中,根据终端的私钥以及每条子信息对应的密钥,对至少两条子信息中每条子信息对应的坐标信息进行加密,得到每条子信息对应的坐标信息的密文,可以实现对每条子信息进行加密,得到对应的密文,终端获取到每条子信息对应的密文后,需要进行解密,才能获知每条密文对应的子信息。通过对每条子信息进行加密,即使非法终端获取到子信息对应的密文,由于无法实现解密,也无法获取到子信息的内容,因此可以保证每条子信息的安全性,从而保证目标信息的安全性。

上面介绍了本申请实施例的方法,下面介绍本申请实施例的装置。

参见图4,图4是本申请实施例提供的一种基于共享根密钥的信息处理装置的组成结构示意图,上述基于共享根密钥的信息处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于共享根密钥的信息处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。该装置40包括:

根密钥生成模块401,用于获取用于描述信息的目标函数,以及待处理的目标信息所属的机构对应的机构信息,根据该机构信息生成该目标信息对应的根密钥,该机构信息包括该机构的保密等级、该机构的债务信息以及该机构的盈利信息中的至少一种;

子密钥生成模块402,用于根据该根密钥生成该目标信息中每条子信息对应的密钥,该目标信息包括至少两条子信息;

信息调整模块403,用于获取该每条子信息对应的第一随机数,根据该第一随机数对该每条子信息进行调整,得到调整后的每条子信息;

坐标获取模块404,用于根据该目标函数以及该调整后的每条子信息,获取该至少两条子信息中每条子信息对应的坐标信息;

信息加密模块405,用于采用该每条子信息对应的密钥,对该至少两条子信息中的对应子信息的坐标信息进行加密,得到该每条子信息对应的坐标信息的密文;

信息存储模块406,用于将该每条子信息对应的坐标信息的密文确定为该目标信息的密文,将该目标信息的密文存储至区块链网络中。

可选的,该机构信息包括该机构的保密等级,该根密钥生成模块401,具体用于:

根据该机构的保密等级生成第二随机数;

获取该第二随机数中的字节长度,根据该字节长度对该第二随机数进行填充处理,得到填充处理后的第二随机数;

对该填充处理后的第二随机数进行哈希运算,得到该目标信息对应的根密钥。

可选的,该机构信息包括该机构的债务信息和该机构的盈利信息;该根密钥生成模块401,具体用于:

根据该机构的债务信息和该机构的盈利信息,确定该机构的资金等级;

根据该机构的资金等级生成第三随机数;

对该第三随机数进行哈希运算,得到该目标信息对应的根密钥。

可选的,该子密钥生成模块402,具体用于:

获取该每条子信息的生成时间;

根据该每条子信息的生成时间确定第一子信息和第二子信息,该第一子信息为该目标信息中生成时间最早的子信息,该第二子信息的生成时间后于该第一子信息的生成时间;

对该根密钥进行哈希运算,得到该第一子信息的密钥;

对该第一子信息的密钥进行哈希运算,得到该第二子信息的密钥。

可选的,该信息调整模块403,具体用于:

将该每条子信息与该第一随机数相减,得到相减后的每条子信息;

若该相减后的每条子信息小于信息阈值,则将该相减后的每条子信息确定为调整后的每条子信息。

可选的,该装置40还包括:随机数调整模块407,用于:

若该相减后的每条子信息大于或等于该信息阈值,则调整该第一随机数;

将该每条子信息与调整后的第一随机数相减,得到候选的每条子信息;

若该候选的每条子信息小于该信息阈值,则将该候选的每条子信息确定为调整后的每条子信息。

可选的,该信息加密模块405,具体用于:

获取该目标信息所属的终端的私钥,以及该每条子信息对应的密钥;

获取该目标信息对应的候选坐标,该候选坐标是根据该目标函数的曲线的基点坐标与该私钥得到的;

根据该每条子信息对应的密钥对该候选坐标进行加密,得到该候选坐标的密文;对该每条子信息对应的坐标信息与对应的候选坐标的密文进行融合,得到该每条子信息对应的坐标信息的密文。

需要说明的是,图4对应的实施例中未提及的内容可参见方法实施例的描述,这里不再赘述。

根据本申请的一个实施例,图1所示的基于共享根密钥的信息处理方法所涉及的步骤可由图4所示的基于共享根密钥的信息处理装置中的各个模块来执行。例如,图1中所示的步骤S101可由图4中的根密钥生成模块401来执行,图1中所示的步骤S102可由图4中的子密钥生成模块402来执行;图1中所示的步骤S103可由图4中的信息调整模块403来执行;图1中所示的步骤S104可由图4中的坐标获取模块404来执行;图1中所示的步骤S105可由图4中的信息加密模块405来执行;图1中所示的步骤S106可由图4中的信息存储模块406来执行。根据本申请的一个实施例,图4所示的基于共享根密钥的信息处理中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。在本申请的其它实施例中,基于共享根密钥的信息处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。

根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图1、图2和图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图4中所示的基于共享根密钥的信息处理装置,以及来实现本申请实施例的基于共享根密钥的信息处理方法。上述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。

本申请实施例中,由于目标信息对应的根密钥是通过目标信息所属的机构对应的机构信息生成的,且机构信息包括机构的保密等级、机构的债务信息以及机构的盈利信息等,为机构较为机密的信息,非法终端难以获取到该机构信息,即难以获取到目标信息对应的根密钥。因此,根据该根密钥生成目标信息中每条子信息对应的密钥,并采用每条子信息对应的密钥对每条子信息进行加密后,由于非法终端难以获取到根密钥,因此不能实现对密文进行解密,可以提高密文破解的难度,提高信息的安全性。通过对至少两条子信息中每条子信息进行调整,有利于根据调整后的每条子信息生成调整后的每条子信息对应的坐标信息,提高获取调整后的每条子信息对应的坐标信息的成功率。通过对目标信息中的每条子信息进行加密,避免非法终端对该密文进行破解,从而提高每条子信息的安全性,进而提高目标信息的安全性。通过将目标信息的密文信息存储至区块链网络中,基于区块链不可篡改且不易丢失的特性,可以提高信息的安全性;此外,将目标信息的密文存储至区块链网络中,可以减少终端本地存储空间的资源占用。

参见图5,图5是本申请实施例提供的一种计算机设备的组成结构示意图。如图5所示,上述计算机设备50可以包括:处理器501,网络接口504和存储器505,此外,上述计算机设备50还可以包括:用户接口503,和至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信。其中,用户接口503可以包括显示屏(Display)、键盘(Keyboard),可选用户接口503还可以包括标准的有线接口、无线接口。网络接口504可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器505可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器505可选的还可以是至少一个位于远离前述处理器501的存储装置。如图5所示,作为一种计算机可读存储介质的存储器505中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。

在图5所示的计算机设备50中,网络接口504可提供网络通讯功能;而用户接口503主要用于为用户提供输入的接口;而处理器501可以用于调用存储器505中存储的设备控制应用程序,以实现:

获取用于描述信息的目标函数,以及待处理的目标信息所属的机构对应的机构信息,根据该机构信息生成该目标信息对应的根密钥,该机构信息包括该机构的保密等级、该机构的债务信息以及该机构的盈利信息中的至少一种;

根据该根密钥生成该目标信息中每条子信息对应的密钥,该目标信息包括至少两条子信息;

获取该每条子信息对应的第一随机数,根据该第一随机数对该每条子信息进行调整,得到调整后的每条子信息;

根据该目标函数以及该调整后的每条子信息,获取该至少两条子信息中每条子信息对应的坐标信息;

采用该每条子信息对应的密钥,对该至少两条子信息中的对应子信息的坐标信息进行加密,得到该每条子信息对应的坐标信息的密文;

将该每条子信息对应的坐标信息的密文确定为该目标信息的密文,将该目标信息的密文存储至区块链网络中。

应当理解,本申请实施例中所描述的计算机设备50可执行前文图1图2以及图3所对应实施例中对上述基于共享根密钥的信息处理方法的描述,也可执行前文图4所对应实施例中对上述基于共享根密钥的信息处理装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。

本申请实施例中,由于目标信息对应的根密钥是通过目标信息所属的机构对应的机构信息生成的,且机构信息包括机构的保密等级、机构的债务信息以及机构的盈利信息等,为机构较为机密的信息,非法终端难以获取到该机构信息,即难以获取到目标信息对应的根密钥。因此,根据该根密钥生成目标信息中每条子信息对应的密钥,并采用每条子信息对应的密钥对每条子信息进行加密后,由于非法终端难以获取到根密钥,因此不能实现对密文进行解密,可以提高密文破解的难度,提高信息的安全性。通过对至少两条子信息中每条子信息进行调整,有利于根据调整后的每条子信息生成调整后的每条子信息对应的坐标信息,提高获取调整后的每条子信息对应的坐标信息的成功率。通过对目标信息中的每条子信息进行加密,避免非法终端对该密文进行破解,从而提高每条子信息的安全性,进而提高目标信息的安全性。通过将目标信息的密文信息存储至区块链网络中,基于区块链不可篡改且不易丢失的特性,可以提高信息的安全性;此外,将目标信息的密文存储至区块链网络中,可以减少终端本地存储空间的资源占用。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被计算机执行时使该计算机执行如前述实施例该的方法,该计算机可以为上述提到的计算机设备的一部分。例如为上述的处理器501。作为示例,程序指令可被部署在一个计算机设备上执行,或者被部署位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链网络。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,该的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

相关技术
  • 基于共享根密钥的信息处理方法、装置、设备及介质
  • 基于共享根密钥的加密方法、装置、设备及介质
技术分类

06120112187982