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

对密文进行压缩的信息处理方法、装置、设备及介质

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


对密文进行压缩的信息处理方法、装置、设备及介质

技术领域

本申请涉及区块链技术领域,尤其涉及一种对密文进行压缩的信息处理方法、装置、设备及介质。

背景技术

目前,互联网已经渗透至日常生活中,使用互联网进行信息交互具有通信便捷、通信效率高、通信成本低的优点。例如在进行网络聊天时、在线业务办理时、以及互联网办公等场景时,均会进行信息交互,而信息交互过程中会产生大量信息,大多数信息都需要进行存储,例如,医疗平台中会使用终端对每个患者的病历信息、患者信息等进行存储,以便于后续进行追溯等处理。然而,信息存储空间有限,如何降低服务器对信息进行存储的压力,节省存储空间是亟待解决的问题。

发明内容

本申请实施例提供一种对密文进行压缩的信息处理方法、装置、设备及介质,可以降低区块链的存储压力,节省存储空间。

本申请实施例一方面提供一种对密文进行压缩的信息处理方法,包括:

获取用于描述信息的目标函数,以及待处理的目标信息;

获取该目标信息对应的随机数,根据该随机数对该目标信息进行调整,得到调整后的目标信息;

根据该目标函数以及该调整后的目标信息,获取该目标信息对应的坐标信息;

对该目标信息对应的坐标信息进行加密,得到该目标信息对应的坐标信息的密文;

对该目标信息对应的坐标信息的密文进行压缩处理,得到压缩后的密文,将该压缩后的密文存储至区块链网络中。

可选的,该目标信息对应的坐标信息包括第一坐标和第二坐标,该对该目标信息对应的坐标信息的密文进行压缩处理,得到压缩后的密文,包括:从该第一坐标的密文中剪切出目标长度的字节,作为剪切后的第一坐标的密文,该目标长度小于该第一坐标的密文对应的字节长度;将该剪切后的第一坐标的密文与该第二坐标的密文确定为该压缩后的密文。

可选的,该目标长度为1;该从该第一坐标的密文中剪切出目标长度的字节,作为剪切后的第一坐标的密文,包括:从该第一坐标的密文中剪切出该第一坐标的符号位字节;将该第一坐标的符号位字节确定为该剪切后的第一坐标的密文。

可选的,该根据该随机数对该目标信息进行调整,得到调整后的目标信息,包括:将该随机数与该目标信息进行拼接,得到拼接后的目标信息;若该拼接后的目标信息小于信息阈值,则将该拼接后的目标信息确定为调整后的目标信息。

可选的,该方法还包括:若该拼接后的目标信息大于或等于该信息阈值,则调整该随机数;将调整后的随机数与该目标信息进行拼接,得到候选信息;若该候选信息小于该信息阈值,则将该候选信息确定为调整后的目标信息。

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

可选的,该方法还包括:从该区块链网络中读取该压缩后的密文;对该压缩后的密文进行解压缩处理,得到该目标信息对应的坐标信息的密文;对该目标信息对应的坐标信息的密文进行解密,得到该目标信息对应的坐标信息;根据该目标信息对应的坐标信息以及该目标函数,确定该调整后的目标信息;根据该调整后的目标信息以及该目标信息对应的随机数确定该目标信息。

本申请实施例一方面提供一种对密文进行压缩的信息处理装置,包括:

信息获取模块,用于获取用于描述信息的目标函数,以及待处理的目标信息;

信息调整模块,用于获取该目标信息对应的随机数,根据该随机数对该目标信息进行调整,得到调整后的目标信息;

坐标获取模块,用于根据该目标函数以及该调整后的目标信息,获取该目标信息对应的坐标信息;

信息加密模块,用于对该目标信息对应的坐标信息进行加密,得到该目标信息对应的坐标信息的密文;

信息压缩模块,用于对该目标信息对应的坐标信息的密文进行压缩处理,得到压缩后的密文,将该压缩后的密文存储至区块链网络中。

可选的,该目标信息对应的坐标信息包括第一坐标和第二坐标,该信息压缩模块,具体用于:从该第一坐标的密文中剪切出目标长度的字节,作为剪切后的第一坐标的密文,该目标长度小于该第一坐标的密文对应的字节长度;将该剪切后的第一坐标的密文与该第二坐标的密文确定为该压缩后的密文。

可选的,该目标长度为1;该信息压缩模块,具体用于:从该第一坐标的密文中剪切出该第一坐标的符号位字节;将该第一坐标的符号位字节确定为该剪切后的第一坐标的密文。

可选的,该信息调整模块,具体用于:将该随机数与该目标信息进行拼接,得到拼接后的目标信息;若该拼接后的目标信息小于信息阈值,则将该拼接后的目标信息确定为调整后的目标信息。

可选的,该装置还包括:随机数调整模块,用于若该拼接后的目标信息大于或等于该信息阈值,则调整该随机数;将调整后的随机数与该目标信息进行拼接,得到候选信息;若该候选信息小于该信息阈值,则将该候选信息确定为调整后的目标信息。

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

可选的,该装置还包括:信息解密模块,用于:从该区块链网络中读取该压缩后的密文;对该压缩后的密文进行解压缩处理,得到该目标信息对应的坐标信息的密文;对该目标信息对应的坐标信息的密文进行解密,得到该目标信息对应的坐标信息;根据该目标信息对应的坐标信息以及该目标函数,确定该调整后的目标信息;根据该调整后的目标信息以及该目标信息对应的随机数确定该目标信息。

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

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

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

本申请实施例中,通过对目标信息对应的坐标信息的密文进行压缩处理,得到压缩后的密文,并将压缩后的密文存储至区块链网络中。由于直接将目标信息的密文存储至区块链网络中,会导致区块链网络的空间资源占用较大,因此对目标信息对应的坐标信息的密文进行压缩后存储至区块链网络中,可以降低区块链网络的存储压力,节省存储空间。进一步的,通过使用随机数对目标信息进行调整,有利于根据调整后的目标信息生成调整后的目标信息对应的坐标信息,提高获取调整后的目标信息对应的坐标信息的成功率。通过对目标信息进行加密,非法终端需要对加密后的目标信息进行破解后才能获取到目标信息的内容,可以提高目标信息的安全性。此外,通过将目标信息的密文压缩后存储至区块链网络中,基于区块链不可篡改且不易丢失的特性,可以提高信息的安全性,以及,减少终端本地存储空间的资源占用。

附图说明

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

图1是本申请实施例提供的一种对密文进行压缩的信息处理方法的流程示意图;

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

图3是本申请实施例提供的一种对密文进行压缩的信息处理方法的流程示意图;

图4是本申请实施例提供的一种对密文进行压缩的信息处理方法的流程示意图;

图5是本申请实施例提供的一种对密文进行压缩的信息处理装置的组成结构示意图;

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

具体实施方式

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

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

本申请适用于医疗平台中,则目标信息例如可以为患者的病历信息、患者信息等等,通过对患者的病历信息、患者信息以及医疗平台的其他信息进行加密,对加密后的信息进行压缩,并将压缩后的信息存储至区块链网络中,有利于对患者的病历信息、患者信息等进行管理,提高患者的信息的安全性;通过对加密后的信息进行压缩,可以节省存储空间。

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

S101,获取用于描述信息的目标函数,以及待处理的目标信息。

这里,目标函数可以是指椭圆曲线对应的函数,目标函数也可以是指其他曲线对应的函数。目标函数包括曲线参数,目标函数的曲线参数包括曲线的长度、基点等等。目标信息可以是指某机构的交易数据、营业数据、该机构的内部资料等数据。交易数据可以包括交易双方信息、交易金额、交易时间、交易物品等等;营业数据可以包括营业金额、售出物品种类及数量等等;内部资料可以包括该机构的收益情况、合作方信息以及负债情况或者其他重要性程度较高的数据等等。

S102,获取目标信息对应的随机数,根据随机数对目标信息进行调整,得到调整后的目标信息。

具体实现中,可以采用随机数生成算法生成随机数,例如中心极限定理和BoxMuller(坐标变换法)、蒙特卡洛算法、数值概率算法、拉斯维加斯算法或者其他算法生成随机数,并将该生成的随机数确定为目标信息对应的随机数。例如,生成的随机数可以为[0,128]区间内的任意数。

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

在另一种可能的情况下,若目标信息为数值类型的数据,则根据目标信息对应的随机数对目标信息进行调整,得到调整后的目标信息。

S103,根据目标函数以及调整后的目标信息,获取目标信息对应的坐标信息。

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

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

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

举例来进行说明,可以根据调整后的目标信息映射至该目标函数对应的曲线上的目标点的第一坐标和目标函数,确定该目标函数对应的曲线上的目标点的第二坐标,将该第一坐标以及该第二坐标确定为目标信息对应的坐标信息。例如,目标函数对应的曲线可以如公式(1-1)所示:

y

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

S104,对目标信息对应的坐标信息进行加密,得到目标信息对应的坐标信息的密文。

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

S105,对目标信息对应的坐标信息的密文进行压缩处理,得到压缩后的密文,将压缩后的密文存储至区块链网络中。

这里,由于直接将目标信息对应的坐标信息的密文存储至区块链网络中,会导致区块链网络的空间资源占用较大,因此可以对目标信息对应的坐标信息的密文进行压缩,将压缩后的密文存储至区块链网络中,从而降低区块链网络的存储压力,节省存储空间。

可选的,目标信息对应的坐标信息包括第一坐标和第二坐标,对目标信息对应的坐标信息的密文进行压缩处理,得到压缩后的密文的方法可以为:从第一坐标的密文中剪切出目标长度的字节,作为剪切后的第一坐标的密文;将剪切后的第一坐标的密文与第二坐标的密文确定为所述压缩后的密文。

其中,目标长度小于第一坐标的密文对应的字节长度。例如,第一坐标可以为y坐标,则第二坐标为x坐标,计算机设备可以通过二进制来表示y坐标的密文对应的字节,y坐标的密文对应的字节长度可以根据目标函数对应的曲线的长度确定。例如,曲线的长度为32字节,则第一坐标的密文对应的字节长度可以为32字节,或者,曲线的长度也可以为其他字节,这里不对此进行限定。因此,目标长度小于32字节,例如可以为1字节、2字节、5字节、31字节,等等。第二坐标的密文对应的字节长度可以等于第一坐标的密文对应的字节长度,例如第一坐标的密文对应的字节长度为32字节,则第二坐标的密文对应的字节长度为32字节。可以理解的是,目标信息对应的坐标信息的密文对应的字节长度越小,存储至区块链网络时占用的资源空间越小;目标信息对应的坐标信息的密文对应的字节长度越大,存储至区块链网络时占用的资源空间越大。例如,字节长度为32的密文存储至区块链网络时占用的资源空间大于字节长度为1的密文存储至区块链网络时占用的资源空间。

举例来对上述过程进行说明,例如,第一坐标的密文对应的字节长度为32字节,第二坐标的密文对应的字节长度为32字节,目标长度为1字节,则从第一坐标的密文对应的32字节中剪切出任意一个字节,如字节d,作为剪切后的第一坐标的密文;将剪切后的第一坐标的密文与第二坐标的密文确定为压缩后的密文。即将剪切得到的字节d和第二坐标的密文对应的32字节确定为压缩后的密文,也就是说,压缩后的密文的字节长度为33字节。

可选的,可以从第一坐标的密文对应的32字节中剪切出任意多个字节,例如剪切出4个字节分别为字节d1~字节d4,则将该字节d1~字节d4和第二坐标的密文对应的32字节确定为压缩后的密文,也就是说,压缩后的密文的中的字节长度为36字节。

可选的,第一坐标可以为x坐标,则第二坐标为y坐标,可参考上述方式从x坐标对应的32个字节中剪切出任意一个字节或者多个字节,将剪切得到的一个字节或者多个字节和y坐标对应的32个字节确定为压缩后的密文。通过对目标信息对应的坐标信息的密文进行剪切,使得剪切后的目标信息对应的坐标信息的密文中的字节变少,从而在将剪切后的密文存储至区块链网络时,由于密文对应的字节长度减少,从而存储该剪切后的密文所需占用的区块链网络的空间减少,并且,可以实现在区块链网络中存储的信息条数不变的情况下,节省存储空间。

可选的,目标长度为1;从第一坐标的密文中剪切出目标长度的字节,作为剪切后的第一坐标的密文的方法可以为:从第一坐标的密文中剪切出第一坐标的符号位字节;将第一坐标的符号位字节确定为剪切后的第一坐标的密文。

其中,第一坐标的符号位字节是指用于表示第一坐标对应的数字为正数或者负数的字节,例如计算机设备可以用二进制中的“0”表示正数,“1”表示负数。例如第一坐标为n,n为一个数字,可以用二进制表示n对应的数字,若n为正数,则可以表示为0n;若n为负数,则可以表示为1n。这里,第一坐标例如可以为y坐标,则第二坐标为x坐标,可以根据目标函数对应的曲线的长度确定第一坐标的密文对应的字节长度,例如,曲线的长度为32字节,则第一坐标的密文对应的字节长度可以为32字节,32字节中包括符号位字节,第二坐标的密文对应的字节长度可以与第一坐标的密文的字节长度相等,即32字节。计算机设备通过从第一坐标的密文中剪切出第一坐标的符号位字节,例如符号位字节为0,表示第一坐标对应的数字为正数;将0确定为剪切后的第一坐标的密文。

通过从第一坐标的密文中剪切出第一坐标的符号位字节,可以确定出第一坐标对应的数字为正数或者负数,并将剪切后的第一坐标的密文与第二坐标的密文确定为压缩后的密文,存储在区块链网络中;在后续对压缩后的密文进行解压缩处理时,由于区块链网络中存储有第二坐标的密文和第一坐标的符号位字节,通过第二坐标的密文、第一坐标的符号位字节以及目标函数可以确定出第一坐标的密文,从而实现对压缩后的密文进行解压缩,得到目标信息的密文,以实现后续对目标信息的密文进行解密。

本申请实施例中,通过对目标信息对应的坐标信息的密文进行压缩处理,得到压缩后的密文,并将压缩后的密文存储至区块链网络中。由于直接将目标信息的密文存储至区块链网络中,会导致区块链网络的空间资源占用较大,因此对目标信息对应的坐标信息的密文进行压缩后存储至区块链网络中,可以降低区块链网络的存储压力,节省存储空间。进一步的,通过使用随机数对目标信息进行调整,有利于根据调整后的目标信息生成调整后的目标信息对应的坐标信息,提高获取调整后的目标信息对应的坐标信息的成功率。通过对目标信息进行加密,非法终端需要对加密后的目标信息进行破解后才能获取到目标信息的内容,可以提高目标信息的安全性。此外,通过将目标信息的密文压缩后存储至区块链网络中,基于区块链不可篡改且不易丢失的特性,可以提高信息的安全性,以及,减少终端本地存储空间的资源占用。

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

S201,将随机数与目标信息进行拼接,得到拼接后的目标信息。

这里,拼接可以是指将目标信息与随机数进行连接,例如目标信息为c1 c2c3,随机数为r,则拼接后的目标信息可以为c1 c2 c3 r,可知,拼接后的目标信息中包括随机数与目标信息。拼接后的目标信息的长度等于曲线长度,也就是说,随机数的长度和目标信息的长度之和等于曲线长度。曲线长度例如可以为32字节,则随机数的长度和目标信息的长度之和等于32字节。或者,曲线长度也可以等于64、128等字节,曲线长度可以根据目标函数确定。

S202,若拼接后的目标信息小于信息阈值,则将拼接后的目标信息确定为调整后的目标信息。

这里,若拼接后的目标信息小于信息阈值,则认为将该目标信息映射至目标函数对应的曲线上的目标点的第一坐标,可以根据该第一坐标以及该目标函数,计算得到该目标函数对应的曲线上的目标点的第二坐标,即可以得到目标信息对应的坐标信息。若拼接后的目标信息大于或等于信息阈值,则认为将该目标信息映射至目标函数对应的曲线上的目标点的第一坐标,无法根据该第一坐标以及该目标函数,计算得到该目标函数对应的曲线上的目标点的第二坐标,即无法得到目标信息对应的坐标信息。通过将随机数与目标信息进行拼接,可以得到拼接后的目标信息,从而根据拼接后的目标信息与信息阈值的大小关系,将拼接后的目标信息确定为调整后的目标信息。

S203,若拼接后的目标信息大于或等于信息阈值,则调整随机数。

这里,由于拼接后的目标信息大于或等于信息阈值时,将该目标信息映射至目标函数对应的曲线上的目标点的第一坐标,无法根据该第一坐标以及该目标函数,计算得到该目标函数对应的曲线上的目标点的第二坐标,即无法得到目标信息对应的坐标信息。因此,若拼接后的目标信息大于或等于信息阈值,则需要继续调整随机数。

S204,将调整后的随机数与目标信息进行拼接,得到候选信息。

S205,若候选信息小于信息阈值,则将候选信息确定为调整后的目标信息。

这里,若候选信息小于信息阈值,将该候选信息映射至目标函数对应的曲线上的目标点的第一坐标,可以根据该第一坐标以及该目标函数,计算得到该目标函数对应的曲线上的目标点的第二坐标,即可以得到候选信息对应的坐标信息。

在一种可能的实现方式中,若候选信息大于或等于信息阈值,则调整随机数;根据调整后的随机数与候选信息进行拼接,得到拼接后的候选信息;若拼接后的候选信息小于信息阈值,则将拼接后的候选信息确定为调整后的目标信息。

这里,若候选信息大于或等于信息阈值,则认为将该候选信息映射至目标函数对应的曲线上的目标点的第一坐标,无法根据该第一坐标以及该目标函数,计算得到该目标函数对应的曲线上的目标点的第二坐标,即无法得到候选信息对应的坐标信息。也就是说,若候选信息大于或等于信息阈值,则继续调整随机数,直到对调整后的随机数与候选信息进行拼接,拼接后的候选信息小于信息阈值,则将拼接后的候选信息确定为调整后的目标信息。通过不断对随机数进行调整,并使用调整后的随机数对目标信息进行调整,可以使得调整后的目标信息小于信息阈值,从而可以实现将调整后的目标信息映射至目标函数对应的曲线上的目标点的第一坐标,并且根据该第一坐标以及该目标函数,计算得到该目标函数对应的曲线上的目标点的第二坐标,从而实现后续对目标信息的加密。

本申请实施例中,通过对目标信息和目标信息对应的随机数进行拼接,以及不断调整目标信息对应的随机数,可以得到调整后的目标信息,提高后续对目标信息进行加密的成功率。

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

S301,获取用于描述信息的目标函数,以及待处理的目标信息。

S302,获取目标信息对应的随机数,根据随机数对目标信息进行调整,得到调整后的目标信息。

S303,根据目标函数以及调整后的目标信息,获取目标信息对应的坐标信息。

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

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

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

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

在一种可能的实现方式中,可以从区块链网络中获取第一信息,以及第一信息的属性信息;根据第一信息的属性信息生成目标信息对应的私钥。其中,第一信息和目标信息可以属于同一机构的信息,第一信息为该机构上传至区块链网络中的历史信息,即在目标信息加密上传至区块链网络之前,上传至区块链网络中的信息。第一信息的属性信息可以包括第一信息的上传时间、第一信息的所属终端、第一信息的上传地址中的一种。其中,第一信息的所属终端是指上传第一信息至区块链网络的终端;第一信息的上传地址可以是指上传第一信息的终端的IP地址、终端的MAC地址等等。

具体实现中,计算机设备可以获取第一信息的属性信息,使用上述加密算法根据第一信息的属性信息,生成一个随机数p,将该随机数p确定为目标信息对应的私钥。或者,还可以对该随机数p进行哈希运算,得到目标信息对应的私钥,即hash(p)=p1,将p1作为目标信息对应的私钥。

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

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

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

H=h*G (1-2)

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

S306,根据目标信息对应的密钥对候选坐标进行加密,得到候选坐标的密文。

S307,对候选坐标的密文与目标信息对应的坐标信息进行融合,得到目标信息对应的坐标信息的密文。

例如,目标信息为i,可以通过公式(1-3)的方式对候选坐标进行加密,得到候选坐标的密文,以及对目标信息对应的坐标信息与候选坐标的密文进行融合,得到目标信息i对应的坐标信息的密文。

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

其中,候选坐标为H,Ci为目标信息i对应的坐标信息的密文,Mi为目标信息i对应的坐标信息,ki为目标信息i对应的密钥。ki*H表示根据目标信息i对应的密钥对候选坐标进行加密,得到候选坐标的密文。

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

S308,对目标信息对应的坐标信息的密文进行压缩处理,得到压缩后的密文,将压缩后的密文存储至区块链网络中。

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

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

可选的,将压缩后的密文存储至区块链网络后,还可以对压缩后的密文进行解密,从而获取到目标信息的内容。请参见图4,图4是本申请实施例提供的一种对密文进行压缩的信息处理方法的流程示意图,该方法应用于区块链网络中的节点。如图4所示,该方法包括:

S401,从区块链网络中读取压缩后的密文。

S402,对压缩后的密文进行解压缩处理,得到目标信息对应的坐标信息的密文。

这里,由于在将目标信息的密文存储至区块链之前,对目标信息的密文进行了压缩,因此,需要对压缩后的密文进行解压缩处理,得到目标信息对应的坐标信息的密文后,才能对目标信息对应的坐标信息的密文进行解密。

具体的,若对目标信息对应的坐标信息的密文进行压缩时,是对目标信息对应的坐标信息的密文中的第一坐标的字节进行了剪切,将剪切得到的字节和目标信息对应的坐标信息的密文中的第二坐标作为压缩后的密文,则可以根据该第二坐标和目标函数,计算得到待选的第一坐标,并根据待选的第一坐标和该剪切得到的字节确定目标信息对应的坐标信息的密文中的第一坐标,从而得到解压缩后的目标信息对应的坐标信息的密文。

S403,对目标信息对应的坐标信息的密文进行解密,得到目标信息对应的坐标信息。

这里,可以通过公式(1-4)的方式对目标信息进行解密,得到目标信息对应的坐标信息。

Mi=Ci-ki*H (1-4)

其中,候选坐标为H,Ci为目标信息i对应的坐标信息的密文,Mi为目标信息i对应的坐标信息,ki为目标信息i对应的密钥。通过公式(1-4)的方式可以实现对目标信息进行解密,从而得到目标信息的坐标信息。

S404,根据目标信息对应的坐标信息以及目标函数,确定调整后的目标信息。

这里,由于在对目标信息进行加密时,是根据目标函数以及调整后的目标信息,获取目标信息对应的坐标信息,例如对调整后的目标信息进行编码,得到编码数据,将编码数据映射至目标函数对应的曲线上得到对应的坐标点,从而根据该坐标点得到目标信息对应的坐标信息。因此,可以根据目标信息对应的坐标信息以及目标函数得到调整后的目标信息对应的编码数据,根据编码数据确定调整后的目标信息。

S405,根据调整后的目标信息以及目标信息对应的随机数确定目标信息。

这里,由于生成目标信息对应的坐标信息时,是根据目标函数以及调整后的目标信息生成的,且由于调整后的目标信息是根据目标信息对应的随机数对目标信息进行调整得到的,因此,这里可以先根据目标信息对应的坐标信息以及目标信息对应的随机数确定目标信息。若对目标信息进行调整时,是将随机数与目标信息进行拼接得到的,则可以将目标信息中的随机数删除,并根据删除随机数后的目标信息确定目标信息。例如目标信息为c1 c2 c3,随机数为r,拼接后的目标信息可以为c1 c2 c3 r,则将随机数r删除后得到的目标信息为c1 c2 c3。也就是说,可以将目标信息中的随机数删除,并根据删除随机数后的目标信息确定解密后的目标信息,从而实现对目标信息的解密。

本申请实施例中,通过从区块链网络读取压缩后的密文,由于在将密文存储至区块链网络时,进行了压缩,因此需要对压缩后的密文进行解压缩处理,得到目标信息对应的坐标信息的密文,对目标信息对应的坐标信息的密文进行解密,得到目标信息对应的坐标信息;通过目标信息对应的坐标信息和目标函数,得到调整后的目标信息。由于在对目标信息进行加密之前,是采用随机数对目标信息进行调整,因此可以根据调整后的目标信息和随机数得到调整前的目标信息,即得到解密后的目标信息,从而实现对目标信息的解密。通过将目标信息加密后存储至区块链网络,可以节省终端本地空间资源占用,并且,基于区块链不可篡改且不易丢失的特性,可以提高信息的安全性。

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

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

信息获取模块501,用于获取用于描述信息的目标函数,以及待处理的目标信息;

信息调整模块502,用于获取该目标信息对应的随机数,根据该随机数对该目标信息进行调整,得到调整后的目标信息;

坐标获取模块503,用于根据该目标函数以及该调整后的目标信息,获取该目标信息对应的坐标信息;

信息加密模块504,用于对该目标信息对应的坐标信息进行加密,得到该目标信息对应的坐标信息的密文;

信息压缩模块505,用于对该目标信息对应的坐标信息的密文进行压缩处理,得到压缩后的密文,将该压缩后的密文存储至区块链网络中。

可选的,该目标信息对应的坐标信息包括第一坐标和第二坐标,该信息压缩模块505,具体用于:

从该第一坐标的密文中剪切出目标长度的字节,作为剪切后的第一坐标的密文,该目标长度小于该第一坐标的密文对应的字节长度;

将该剪切后的第一坐标的密文与该第二坐标的密文确定为该压缩后的密文。

可选的,该目标长度为1;该信息压缩模块505,具体用于:

从该第一坐标的密文中剪切出该第一坐标的符号位字节;

将该第一坐标的符号位字节确定为该剪切后的第一坐标的密文。

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

将该随机数与该目标信息进行拼接,得到拼接后的目标信息;

若该拼接后的目标信息小于信息阈值,则将该拼接后的目标信息确定为调整后的目标信息。

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

若该拼接后的目标信息大于或等于该信息阈值,则调整该随机数;

将调整后的随机数与该目标信息进行拼接,得到候选信息;

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

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

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

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

根据该目标信息对应的密钥对该候选坐标进行加密,得到该候选坐标的密文;

对该候选坐标的密文与该目标信息对应的坐标信息进行融合,得到该目标信息对应的坐标信息的密文。

可选的,该装置50还包括:信息解密模块507,用于:

从该区块链网络中读取该压缩后的密文;

对该压缩后的密文进行解压缩处理,得到该目标信息对应的坐标信息的密文;

对该目标信息对应的坐标信息的密文进行解密,得到该目标信息对应的坐标信息;

根据该目标信息对应的坐标信息以及该目标函数,确定该调整后的目标信息;

根据该调整后的目标信息以及该目标信息对应的随机数确定该目标信息。

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

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

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

本申请实施例中,通过对目标信息对应的坐标信息的密文进行压缩处理,得到压缩后的密文,并将压缩后的密文存储至区块链网络中,由于直接将目标信息的密文存储至区块链网络中,会导致区块链网络的空间资源占用较大,因此对目标信息对应的坐标信息的密文进行压缩后存储至区块链网络中,可以降低区块链网络的存储压力,节省存储空间。进一步的,通过使用随机数对目标信息进行调整,有利于根据调整后的目标信息生成调整后的目标信息对应的坐标信息,提高获取调整后的目标信息对应的坐标信息的成功率。通过对目标信息进行加密,非法终端需要对加密后的目标信息进行破解后才能获取到目标信息的内容,可以提高目标信息的安全性。此外,通过将目标信息的密文压缩后存储至区块链网络中,基于区块链不可篡改且不易丢失的特性,可以提高信息的安全性,以及,减少终端本地存储空间的资源占用。

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

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

获取用于描述信息的目标函数,以及待处理的目标信息;

获取该目标信息对应的随机数,根据该随机数对该目标信息进行调整,得到调整后的目标信息;

根据该目标函数以及该调整后的目标信息,获取该目标信息对应的坐标信息;

对该目标信息对应的坐标信息进行加密,得到该目标信息对应的坐标信息的密文;

对该目标信息对应的坐标信息的密文进行压缩处理,得到压缩后的密文,将该压缩后的密文存储至区块链网络中。

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

本申请实施例中,通过对目标信息对应的坐标信息的密文进行压缩处理,得到压缩后的密文,并将压缩后的密文存储至区块链网络中,由于直接将目标信息的密文存储至区块链网络中,会导致区块链网络的空间资源占用较大,因此对目标信息对应的坐标信息的密文进行压缩后存储至区块链网络中,可以降低区块链网络的存储压力,节省存储空间。进一步的,通过使用随机数对目标信息进行调整,有利于根据调整后的目标信息生成调整后的目标信息对应的坐标信息,提高获取调整后的目标信息对应的坐标信息的成功率。通过对目标信息进行加密,非法终端需要对加密后的目标信息进行破解后才能获取到目标信息的内容,可以提高目标信息的安全性。此外,通过将目标信息的密文压缩后存储至区块链网络中,基于区块链不可篡改且不易丢失的特性,可以提高信息的安全性,以及,减少终端本地存储空间的资源占用。

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

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

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

技术分类

06120112188027