一种数据处理方法、装置、设备及存储介质与流程

文档序号:33017176发布日期:2023-01-20 16:52阅读:32来源:国知局
一种数据处理方法、装置、设备及存储介质与流程

1.本公开涉及数据处理领域,尤其涉及一种数据处理方法、装置、设备及存储介质。


背景技术:

2.隐私计算是指在保护数据本身不对外泄露的前提下实现数据分析计算的技术集合,达到对数据“可用、不可见”的目的,在充分保护数据和隐私安全的前提下,实现数据价值的转化和释放。
3.相关技术中,通常采用paillier加密系统对数据进行加密,由于该加密系统的底层运算较复杂,导致数据处理效率较低。


技术实现要素:

4.为了解决上述技术问题,本公开实施例提供了一种数据处理方法。
5.第一方面,本公开提供了一种数据处理方法,所述方法包括:
6.基于具有对应关系的n条待处理明文消息构建n维的明文向量,作为待处理明文向量;其中,n为自然数;
7.对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文,并将所述码文发送至码文运算端;所述码文运算端用于针对目标运算需求基于所述码文执行码文加法操作得到码文运算结果;
8.接收所述码文运算端返回的所述码文运算结果,并对所述码文运算结果进行解码,得到所述码文运算结果对应的明文向量;所述码文运算结果对应的明文向量用于为所述目标运算需求提供明文消息。
9.一种可选的实施方式中,所述对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文,包括:
10.利用预设加密密钥矩阵对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文;其中,所述预设加密密钥矩阵包括n 个加密密钥向量,所述n个加密密钥向量分别来自于对实数向量空间进行正交划分后得到的n个子空间,所述加密密钥向量与所述子空间具有映射关系;
11.相应的,所述对所述码文运算结果进行解码,得到所述码文运算结果对应的明文向量,包括:
12.利用预设解密密钥矩阵对所述码文运算结果进行解码,得到所述码文运算结果对应的明文向量;其中,所述预设解密密钥矩阵包括n 个解密密钥向量的转置,所述n个解密密钥向量分别来自于所述n个子空间,所述解密密钥向量与所述子空间具有映射关系,同一所述子空间中的所述解密密钥向量的转置与所述加密密钥向量之间的乘积为 1。
13.一种可选的实施方式中,所述利用预设加密密钥矩阵对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文之前,还包括:
14.从第一子空间中获取至少一个随机因子向量;所述第一子空间是基于对所述实数
向量空间进行正交划分后得到的,所述第一子空间与所述n个子空间分别为正交关系;
15.相应的,所述利用预设加密密钥矩阵对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文,包括:
16.利用预设加密密钥矩阵和所述至少一个随机因子向量,对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文。
17.一种可选的实施方式中,所述利用预设加密密钥矩阵和所述至少一个随机因子向量,对所述明文向量进行编码,得到所述待处理明文向量对应的码文之前,还包括:
18.从实数域中获取与所述至少一个随机因子向量具有相同数量的实数;所述实数与所述随机因子向量具有映射关系;
19.相应的,所述利用预设加密密钥矩阵和所述至少一个随机因子向量,对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文,包括:
20.利用预设加密密钥矩阵以及具有映射关系的所述随机因子向量和所述实数,对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文。
21.一种可选的实施方式中,所述利用预设加密密钥矩阵对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文,包括:
22.将预设加密密钥矩阵与所述待处理明文向量的乘积,确定为所述待处理明文向量对应的码文。
23.一种可选的实施方式中,所述利用预设加密密钥矩阵以及具有映射关系的所述随机因子向量和所述实数,对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文,包括:
24.将预设加密密钥矩阵与所述待处理明文向量的乘积,确定为第一中间码文;
25.以及,将具有映射关系的所述随机因子向量与所述实数对应相乘后的值进行累加,得到累加值,并将所述累加值确定为第二中间码文;
26.将所述第一中间码文和所述第二中间码文相加后的值,确定为所述待处理明文向量对应的码文。
27.一种可选的实施方式中,所述利用预设解密密钥矩阵对所述码文运算结果进行解码,得到所述码文运算结果对应的明文向量,包括:
28.将预设解密密钥矩阵与所述码文运算结果的乘积,确定为所述码文运算结果对应的明文向量。
29.一种可选的实施方式中,所述利用预设加密密钥矩阵对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文之前,还包括:
30.从实数向量空间确定实对称矩阵;
31.对所述实对称矩阵执行正交分解后,得到第一矩阵;
32.基于所述第一矩阵中的列向量,分别张成所述n个子空间。
33.一种可选的实施方式中,所述对所述实对称矩阵执行正交分解后,得到第一矩阵之后,还包括:
34.基于所述第一矩阵中的连续m个列向量,张成所述第一子空间; m为自然数。
35.第二方面,本公开提供了一种数据处理装置,所述装置包括:
36.构建模块,用于基于具有对应关系的n条待处理明文消息构建n 维的明文向量,作
为待处理明文向量;其中,n为自然数;
37.编码模块,用于对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文;
38.发送模块,用于将所述码文发送至码文运算端;所述码文运算端用于针对目标运算需求基于所述码文执行码文加法操作得到码文运算结果;
39.接收模块,用于接收所述码文运算端返回的所述码文运算结果;
40.解码模块,用于对所述码文运算结果进行解码,得到所述码文运算结果对应的明文向量;所述码文运算结果对应的明文向量用于为所述目标运算需求提供明文消息。
41.第三方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。
42.第四方面,本公开提供了一种数据处理设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。
43.第五方面,本公开提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。
44.本公开实施例提供的技术方案与现有技术相比至少具有如下优点:
45.本公开实施例提供了一种数据处理方法,首先基于具有对应关系的n条待处理明文消息构建n维的明文向量,作为待处理明文向量,其中,n为自然数,然后对待处理明文向量进行编码,得到待处理明文向量对应的码文,并将码文发送至码文运算端,码文运算端用于针对目标运算需求基于码文执行码文加法操作得到码文运算结果,接收码文运算端返回的码文运算结果,并对码文运算结果进行解码,得到码文运算结果对应的明文向量,码文运算结果对应的明文向量用于为目标运算需求提供明文消息。由于本公开实施例将具有对应关系的n条待处理明文消息构建为待处理明文向量,并基于待处理明文向量进行编解码和码文加法计算,能够减少编解码和码文加法计算的次数,从而提高了对待处理明文消息的处理效率。
附图说明
46.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
47.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
48.图1为本公开实施例提供的一种数据处理方法的流程图;
49.图2为本公开实施例提供的另一种数据处理方法的流程图;
50.图3为本公开实施例提供的一种数据处理方法的数据交互图;
51.图4为本公开实施例提供的一种实数向量空间的示意图;
52.图5为本公开实施例提供的一种数据处理装置的结构示意图;
53.图6为本公开实施例提供的一种数据处理设备的结构示意图。
具体实施方式
54.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
55.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
56.隐私计算是指在保护数据本身不对外泄露的前提下实现数据分析计算的技术集合,达到对数据“可用、不可见”的目的,在充分保护数据和隐私安全的前提下,实现数据价值的转化和释放。
57.相关技术中,通常采用paillier加密系统对数据进行加密,由于该加密系统的底层运算较复杂,导致数据处理效率较低。
58.为此,本公开实施例提供了一种数据处理方法,首先基于具有对应关系的n条待处理明文消息构建n维的明文向量,作为待处理明文向量,其中,n为自然数,然后对待处理明文向量进行编码,得到待处理明文向量对应的码文,并将码文发送至码文运算端,码文运算端用于针对目标运算需求基于码文执行码文加法操作得到码文运算结果,接收码文运算端返回的码文运算结果,并对码文运算结果进行解码,得到码文运算结果对应的明文向量,码文运算结果对应的明文向量用于为目标运算需求提供明文消息。由于本公开实施例将具有对应关系的n条待处理明文消息构建为待处理明文向量,并基于待处理明文向量进行编解码和码文加法计算,能够减少编解码和码文加法计算的次数,从而提高了对待处理明文消息的处理效率。
59.基于此,本公开实施例提供了一种数据处理方法,参考图1,为本公开实施例提供的一种数据处理方法的流程图,该方法包括:
60.s101:基于具有对应关系的n条待处理明文消息构建n维的明文向量,作为待处理明文向量。
61.其中,n为自然数。
62.其中,具有对应关系的n条待处理明文消息是指n条待处理明文消息具有相同的标识,例如用户a在平台a上的待处理明文消息为a1、在平台b上的待处理明文消息为a2、在平台c上的待处理明文消息为 a3,那么a1、a2、a3为具有相同的标识的待处理明文消息即均为用户a的待处理明文消息,即待处理明文消息a1、a2和a3属于具有对应关系的3条待处理明文消息。
63.明文向量是指由具有对应关系的n条待处理明文消息构建的n维的明文向量,假设n条待处理明文消息x1,...,xn∈r,其中r是实数域,根据x1,...,xn构建的n维的明文向量x如下所示:
[0064][0065]
s102:对待处理明文向量进行编码,得到待处理明文向量对应的码文,并将码文发送至码文运算端。
[0066]
其中,码文运算端用于针对目标运算需求基于码文执行码文加法操作得到码文运算结果。
[0067]
具体地,目标运算需求是指需要对哪些待处理明文向量中的码文执行码文加法操作的需求。
[0068]
为便于对目标运算需求的理解,示例性地,假设有广告主d和内容平台e两家公司,其中,广告主d的潜在目标客户为客户1和客户 2,而内容平台e掌握有客户1、客户2及客户3分别在10月、11月、 12月的数据,即内容平台e掌握的客户1在10月、11月、12月的数据构成了待处理明文向量1、客户2在10月、11月、12月的数据构成了待处理明文向量2、客户3在10月、11月、12月的数据构成了待处理明文向量3,通过分别对上述待处理明文向量1、待处理明文向量2 和待处理明文向量3进行编码,得到待处理明文向量1对应的码文、待处理明文向量2对应的码文、待处理明文向量3对应的码文。
[0069]
而由于广告主d潜在的目标客户为客户1和客户2(即目标运算需求),因此只需对待处理明文向量1对应的码文、待处理明文向量2 对应的码文执行码文加法操作即可。
[0070]
相应地,码文运算端可以为上述内容平台e所对应的服务器。
[0071]
一种可选的实施方式,可以利用预设加密密钥矩阵对待处理明文向量进行编码,得到待处理明文向量对应的码文,具体地,利用预设加密密钥矩阵对待处理明文向量进行编码的描述,参考下述实施例,本公开在此不做任何赘述。
[0072]
需要说明的是,本公开实施例对待处理明文向量编码的方式不做限制。
[0073]
s103:接收码文运算端返回的码文运算结果,并对码文运算结果进行解码,得到码文运算结果对应的明文向量。
[0074]
其中,码文运算结果对应的明文向量用于为目标运算需求提供明文消息。
[0075]
一种可选的实施方式,可以利用预设解密密钥矩阵对码文运算结果进行解码,得到码文运算结果对应的明文向量,具体地,利用预设解密密钥矩阵对待处理明文向量进行编码的描述,参考下述实施例,本公开在此不做任何赘述。
[0076]
需要说明的是,本公开实施例对待处理明文向量解码的方式不做限制。
[0077]
本公开提供的数据处理方法中,首先基于具有对应关系的n条待处理明文消息构建n维的明文向量,作为待处理明文向量,其中,n 为自然数,然后对待处理明文向量进行编码,得到待处理明文向量对应的码文,并将码文发送至码文运算端,码文运算端用于针对目标运算需求基于码文执行码文加法操作得到码文运算结果,接收码文运算端返回的码文运算结果,并对码文运算结果进行解码,得到码文运算结果对应的明文向量,码文运算结果对应的明文向量用于为目标运算需求提供明文消息。由于本公开实施例将具有对应关系的n条待处理明文消息构建为待处理明文向量,并基于待处理明文向量进行编解码和码文加法计算,能够减少编解码和码文加法计算的次数,从而提高了对待处理明文消息的处理效率。
[0078]
基于上述实施例,本公开还提供了一种数据处理方法,参考图2,为本公开实施例提供的另一种数据处理方法的流程图。
[0079]
s201:基于具有对应关系的n条待处理明文消息构建n维的明文向量,作为待处理明文向量。
[0080]
其中,n为自然数。
[0081]
需要说明的是,步骤s201与上述步骤s101相同,具体参见对步骤s101的描述,此处
不再详述。
[0082]
s202:利用预设加密密钥矩阵对待处理明文向量进行编码,得到待处理明文向量对应的码文,并将码文发送至码文运算端。
[0083]
其中,预设加密密钥矩阵包括n个加密密钥向量,n个加密密钥向量分别来自于对实数向量空间进行正交划分后得到的n个子空间,加密密钥向量与子空间具有映射关系。
[0084]
实数向量空间是指实数域r上的向量空间,用于生成预设加密密钥矩阵,具体地,预设加密密钥矩阵生成过程如下所述:
[0085]
首先,随机将实数向量空间rn正交划分为u1,...,un个子空间,即从u1,...,un个子空间中的任意两个子空间分别抽取一个向量,则抽取到的两个向量一定正交;其中,n≥n,然后从上述n个子空间中分别抽取一个向量,得到加密密钥向量u1,...,un,用于组成预设加密密钥矩阵[u1...un]。
[0086]
需要说明的是,加密密钥向量与子空间具有映射关系,不同的加密密钥向量来自于不同的子空间,即加密密钥向量u1来自子空间u1、加密密钥向量u2来自子空间u2,...,加密密钥向量un来自子空间un。
[0087]
另外,将实数向量空间rn正交划分为u1,...,un个子空间的方式有多种,一种可选的实施方式中,从实数向量空间确定实对称矩阵,对实对称矩阵执行正交分解后,得到第一矩阵,基于第一矩阵中的列向量,分别张成n个子空间。
[0088]
其中,实对称矩阵是指矩阵的行与列数量相同,所有元素均为实数,并且矩阵的转置等于其本身的矩阵。
[0089]
第一矩阵是指对实对称矩阵进行正交分解后得到的正交矩阵。
[0090]
本公开实施例中,从实数向量空间rn中随机选取实对称矩阵m∈rn×n,对实对称矩阵m执行正交分解后,得到m=qλq
t
,其中, q为第一矩阵,λ为对角矩阵,q
t
为第一矩阵的转置矩阵,q,q
t
,λ∈ rn×n,令ui为第一矩阵q的第i列张成的空间,基于第一矩阵q中的列向量,分别张成u1,...,un个子空间。
[0091]
示例性地,随机抽取ui,ui′
∈ui,i=1,...,n,满足随机抽取ui∈ui,uj∈uj,i=1,...,n,j=1,...,n,i≠j,满足
[0092]
一种可选的实施方式中,将预设加密密钥矩阵与待处理明文向量的乘积,确定为待处理明文向量对应的码文。
[0093]
在本公开实施例中,在获取预设加密密钥矩阵和待处理明文向量后,可以将预设加密密钥矩阵与待处理明文向量的乘积,确定为待处理明文向量对应的码文。
[0094]
具体地,假设待处理明文向量预设加密密钥矩阵 w=[u1...un],那么,待处理明文向量x

对应的码文e(x

)=wx


[0095]
s203:接收码文运算端返回的码文运算结果,利用预设解密密钥矩阵对码文运算结果进行解码,得到码文运算结果对应的明文向量。
[0096]
其中,预设解密密钥矩阵包括n个解密密钥向量的转置,n个解密密钥向量分别来自于n个子空间,解密密钥向量与子空间具有映射关系,同一子空间中的解密密钥向量的转
置与加密密钥向量之间的乘积为1。
[0097]
码文运算结果为码文运算端对码文执行码文加法操作后得到。
[0098]
码文运算端用于对码文进行运算操作,如码文加法操作。
[0099]
在本公开实施例中,假设待处理明文向量x对应的码文为e(x),待处理明文向量x

对应的码文为e(x

),在确定待处理明文向量对应的码文e(x)、e(x

)后,将码文发送至码文运算端,码文运算端对码文e(x) 和e(x

)执行码文加法操作,得到对应的码文运算结果e(x)+e(x

) 并返回。
[0100]
实际应用中,参与同一次码文加法运算的待处理明文向量可以包括多于2个,具体的处理方式可参照上述实施例进行理解。
[0101]
具体地,预设解密密钥矩阵生成过程如下所述:
[0102]
在实数向量空间rn正交划分为u1,...,un个子空间后,从上述n个子空间中分别抽取对应的解密密钥向量其中,解密密钥向量与子空间具有映射关系,然后将解密密钥向量的转置作为预设解密密钥矩阵其中, ui为加密密钥向量。
[0103]
需要说明的是,解密密钥向量与加密密钥向量u1,...,un来自于同一次正交划分的子空间,例如u1均来自于u1,u2均来自于u2,un均来自于un。
[0104]
一种可选的实施方式中,随机将实数向量空间rn划分为u1,...,un个子空间,n≥n,使得u1,...,un是一个rn空间的正交划分,即随机抽取ui,使其满足然后从上述n个子空间中分别抽取对应的加密密钥向量u1...un和解密密钥向量在获取到加密密钥向量u1...un和解密密钥向量后,将加密密钥向量u1...un组成预设加密密钥矩阵[u1...un],解密密钥向量的转置组成预设解密密钥矩阵
[0105]
在本公开实施例中,在获取码文运算结果后,利用预设解密密钥矩阵对该码文运算结果进行解码,得到码文运算结果对应的待处理明文向量。
[0106]
一种可选的实施方式中,在获取码文运算结果后,将预设解密密钥矩阵与码文运算结果的乘积,确定为码文运算结果对应的待处理明文向量。
[0107]
假设码文运算结果d=e(x)+e(x

),预设加密密钥矩阵 w=[u1...un],预设解密密钥矩阵
[0108]
其中,e(x)为待处理明文向量x对应的码文,e(x

)为待处理明文向量x

对应的码文。
[0109]
在本公开实施例中,在获取码文运算结果d后,基于预设解密密钥矩阵与码文运算
结果的乘积,计算得到码文运算结果对应的待处理明文向量d

,其中,e(x)=wx,e(x

)=wx

以及
[0110]
码文运算结果对应的待处理明文向量d的具体计算过程如下所示:
[0111][0112]
其中,x+x

即为码文运算结果e(x)+e(x

)对应的待处理明文向量。
[0113]
本公开实施例提供的种数据处理方法中,首先基于具有对应关系的n条待处理明文消息构建n维的明文向量,作为待处理明文向量,n 为自然数,利用预设加密密钥矩阵对待处理明文向量进行编码,得到待处理明文向量对应的码文,并将码文发送至码文运算端,其中,预设加密密钥矩阵包括n个加密密钥向量,n个加密密钥向量分别来自于对实数向量空间进行正交划分后得到的n个子空间,加密密钥向量与子空间具有映射关系,然后接收码文运算端返回的码文运算结果,利用预设解密密钥矩阵对码文运算结果进行解码,得到码文运算结果对应的明文向量,其中,预设解密密钥矩阵包括n个解密密钥向量的转置,n个解密密钥向量分别来自于n个子空间,解密密钥向量与子空间具有映射关系,同一子空间中的解密密钥向量的转置与加密密钥向量之间的乘积为1。由于本公开实施例将具有对应关系的n条待处理明文消息构建为待处理明文向量,并基于待处理明文向量进行编解码和码文加法计算,能够减少编解码和码文加法计算的次数,从而提高了对待处理明文消息的处理效率。
[0114]
为了提高数据处理过程中数据的安全性,本公开还提供了一种数据处理方法,参考图3,为本公开实施例提供的一种数据处理方法的数据交互图,其中,该数据处理方法包括:
[0115]
s301:数据处理端基于具有对应关系的n条待处理明文消息构建n 维的明文向量,作为待处理明文向量。
[0116]
其中,n为自然数。
[0117]
数据处理端可以是笔记本电脑、台式计算机、服务器或服务器集群等。
[0118]
需要说明的是,步骤s301与上述步骤s101相同,具体参见对步骤s101的描述,此处不再详述。
[0119]
s302:从第一子空间中获取至少一个随机因子向量。
[0120]
其中,第一子空间是基于对实数向量空间进行正交划分后得到的,第一子空间与n个子空间分别为正交关系。
[0121]
第一子空间用于对待处理明文向量进行加密,使得同一个待处理明文向量加密后对应的码文具有随机性,提高了数据处理的安全性。
[0122]
具体地,第一子空间的获取如下所述:
[0123]
随机将实数向量空间rn正交划分为n个子空间(u1,...,un)及一个第一子空间v,其中n≥n+1,第一子空间v与n个子空间分别正交,即从第一子空间v中任取一个随机因子向量
v使得:
[0124][0125]
为ui子空间中的任一向量的转置。
[0126]
一种可选的实施方式中,从实数向量空间确定实对称矩阵,对实对称矩阵执行正交分解后,得到第一矩阵,基于第一矩阵中的列向量,分别张成n个子空间,基于第一矩阵中的连续m个列向量,张成第一子空间;m为自然数。
[0127]
其中,实对称矩阵是指矩阵的行与列数量相同,所有元素均为实数,并且矩阵的转置等于其本身的矩阵。
[0128]
第一矩阵是指对实对称矩阵进行正交分解后得到的正交矩阵。
[0129]
本公开实施例中,从实数向量空间rn中随机选取实对称矩阵 m

∈rn×n,其中,n≥n+1,对实对称矩阵m

执行正交分解后,得到 m

=qλq
t
,其中,q为第一矩阵,λ为对角矩阵,q
t
为第一矩阵的转置矩阵,q,q
t
,λ∈rn×n,令ui为第一矩阵q的第i列张成的空间,基于第一矩阵q中的列向量,分别张成u1,...,un个子空间,v为第一矩阵q的连续m个列向量张成的第一子空间,如图4所示,左侧为第一矩阵张成的n个子空间,右侧为第一矩阵张成的第一子空间。
[0130]
s303:利用预设加密密钥矩阵和至少一个随机因子向量,对待处理明文向量进行编码,得到待处理明文向量对应的码文。
[0131]
其中,预设加密密钥矩阵包括n个加密密钥向量,n个加密密钥向量分别来自于对实数向量空间进行正交划分后得到的n个子空间,加密密钥向量与子空间具有映射关系。
[0132]
随机因子向量与第一子空间具有映射关系。
[0133]
在本公开实施例中,随机将实数向量空间rn正交划分为u1,...,un个子空间和一个第一子空间v,其中,n≥n+1,然后从上述n个子空间中分别抽取对应的加密密钥向量u1,...,un组成预设加密密钥矩阵[u1...un],从第一子空间v中抽取k>0个随机因子向量v1,...,vk,利用预设加密密钥矩阵[u1...un]和随机因子向量v1,...,vk,对待处理明文向量进行编码,得到待处理明文向量对应的码文。
[0134]
一种可选的实施方式中,从实数域中获取与至少一个随机因子向量具有相同数量的实数,利用预设加密密钥矩阵以及具有映射关系的随机因子向量和实数,对待处理明文向量进行编码,得到待处理明文向量对应的码文。
[0135]
其中,实数与随机因子向量具有映射关系。
[0136]
在本公开实施例中,从第一子空间v中抽取k>0个随机因子向量 v1,...,vk,从实数域r中抽取k个实数α1,...,αk,然后利用预设加密密钥矩阵以及具有映射关系的随机因子向量和实数,对待处理明文向量进行编码,得到待处理明文向量对应的码文。
[0137]
另一种可选的实施方式中,将预设加密密钥矩阵与待处理明文向量的乘积,确定为第一中间码文,然后将具有映射关系的随机因子向量与实数对应相乘后的值进行累加,得到累加值,并将累加值确定为第二中间码文,再将第一中间码文和第二中间码文相加后的值,确定为待处理明文向量对应的码文。
[0138]
其中,实数与随机因子向量具有映射关系。
[0139]
第一中间码文的生成过程与上述步骤s102中待处理明文向量对应的码文生成过
程相同,在此不做任何赘述。
[0140]
第二中间码文的生成过程如下所述:
[0141]
首先,在第一子空间v中抽取k>0个随机因子向量v1,...,vk,在实数域r中抽取k个实数α1,...,αk,然后将具有映射关系的随机因子向量与实数对应相乘后的值进行累加,得到累加值该累加值即为第二中间码文。
[0142]
在本公开实施例中,在获取第一中间码文及第二中间码文后,将第一中间码文和第二中间码文相加后的值确定为待处理明文向量对应的码文。
[0143]
s304:数据处理端将码文发送至码文运算端。
[0144]
需要说明得到是步骤s304与上述步骤s102相同,具体参见对步骤s102的描述,此处不再详述。
[0145]
s305:数据处理端接收码文运算端返回的码文运算结果,利用预设解密密钥矩阵对码文运算结果进行解码,得到码文运算结果对应的明文向量。
[0146]
其中,码文运算结果对应的明文向量用于为目标运算需求提供明文消息。
[0147]
具体地,预设解密密钥矩阵的生成过程与上述步骤s203中明文向量对应的预设解密密钥矩阵生成过程相同,在此不做任何赘述。
[0148]
在本公开实施例中,在获取码文运算结果后,基于预设解密密钥矩阵与码文运算结果的乘积,计算得到码文运算结果对应的待处理明文向量。
[0149]
假设码文运算结果d=e(y)+e(y

),预设加密密钥矩阵 w=[u1...un],预设解密密钥矩阵
[0150]
其中,e(y)为待处理明文向量y对应的码文,e(y

)为待处理明文向量y

对应的码文,
[0151][0152][0153][0154][0155]
其中,vk、vk为第一子空间v中任一随机因子向量,
[0156][0157]
码文运算结果对应的待处理明文向量d的具体计算过程如下所示:
[0158][0159]
其中,y+y

即为码文运算结果e(y)+e(y

)对应的待处理明文向量。
[0160]
本公开实施例提供的种数据处理方法中,数据处理端具有对应关系的n条待处理明文消息构建n维的明文向量,作为待处理明文向量, n为自然数,然后从第一子空间中获取至少一个随机因子向量,其中,第一子空间是基于对实数向量空间进行正交划分后得到的,第一子空间与n个子空间分别为正交关系,再利用预设加密密钥矩阵和至少一个随机因子向量,对待处理明文向量进行编码,得到待处理明文向量对应的码文,并发送至码文运算端,接收码文运算端返回的码文运算结果,利用预设解密密钥矩阵对码文运算结果进行解码,得到码文运算结果对应的明文向量,其中,码文运算结果对应的明文向量用于为目标运算需求提供明文消息。本公开在利用预设加密密钥矩阵对待处理明文向量进行编码的基础上,添加了随机因子向量,使得同一个待处理明文向量加密后对应的码文具有随机性,提高了数据处理的安全性,保证了数据处理过程中数据的安全。
[0161]
基于上述方法实施例,本公开还提供了一种数据处理装置,参考图5,为本公开实施例提供的一种数据处理装置的结构示意图,所述装置包括:
[0162]
构建模块501,用于基于具有对应关系的n条待处理明文消息构建 n维的明文向量,作为待处理明文向量;其中,n为自然数;
[0163]
编码模块502,用于对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文;
[0164]
发送模块503,用于将所述码文发送至码文运算端;所述码文运算端用于针对目标运算需求基于所述码文执行码文加法操作得到码文运算结果;
[0165]
接收模块504,用于接收所述码文运算端返回的所述码文运算结果;
[0166]
解码模块505,用于对所述码文运算结果进行解码,得到所述码文运算结果对应的明文向量;所述码文运算结果对应的明文向量用于为所述目标运算需求提供明文消息。
[0167]
一种可选的实施方式中,所述编码模块具体用于:
[0168]
利用预设加密密钥矩阵对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文;其中,所述预设加密密钥矩阵包括n 个加密密钥向量,所述n个加密密钥向量分别来自于对实数向量空间进行正交划分后得到的n个子空间,所述加密密钥向量与所述子空间具有映射关系;
[0169]
相应的,所述解码模块具体用于:
[0170]
利用预设解密密钥矩阵对所述码文运算结果进行解码,得到所述码文运算结果对应的明文向量;其中,所述预设解密密钥矩阵包括n 个解密密钥向量的转置,所述n个解密密钥向量分别来自于所述n个子空间,所述解密密钥向量与所述子空间具有映射关系,同一所述子空间中的所述解密密钥向量的转置与所述加密密钥向量之间的乘积为1。
[0171]
一种可选的实施方式中,所述装置还包括:
[0172]
第一获取模块,用于从第一子空间中获取至少一个随机因子向量;所述第一子空间是基于对所述实数向量空间进行正交划分后得到的,所述第一子空间与所述n个子空间分别为正交关系;
[0173]
相应的,所述编码模块具体用于:
[0174]
利用预设加密密钥矩阵和所述至少一个随机因子向量,对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文。
[0175]
一种可选的实施方式中,所述装置还包括:
[0176]
第二获取模块,用于从实数域中获取与所述至少一个随机因子向量具有相同数量的实数;所述实数与所述随机因子向量具有映射关系;
[0177]
相应的,所述编码模块具体用于:
[0178]
利用预设加密密钥矩阵以及具有映射关系的所述随机因子向量和所述实数,对所述待处理明文向量进行编码,得到所述待处理明文向量对应的码文。
[0179]
一种可选的实施方式中,所述编码模块具体用于:
[0180]
将预设加密密钥矩阵与所述待处理明文向量的乘积,确定为所述待处理明文向量对应的码文。
[0181]
一种可选的实施方式中,所述编码模块具体用于:
[0182]
将预设加密密钥矩阵与所述待处理明文向量的乘积,确定为第一中间码文;
[0183]
以及,累加模块,用于将具有映射关系的所述随机因子向量与所述实数对应相乘后的值进行累加,得到累加值,并将所述累加值确定为第二中间码文;
[0184]
确定子模块,用于将所述第一中间码文和所述第二中间码文相加后的值,确定为所述待处理明文向量对应的码文。
[0185]
一种可选的实施方式中,所述解码模块具体用于:
[0186]
将预设解密密钥矩阵与所述码文运算结果的乘积,确定为所述码文运算结果对应的明文向量。
[0187]
一种可选的实施方式中,所述装置还包括:
[0188]
确定模块,用于从实数向量空间确定实对称矩阵;
[0189]
执行模块,用于对所述实对称矩阵执行正交分解后,得到第一矩阵;
[0190]
第一张成模块,用于基于所述第一矩阵中的列向量,分别张成所述n个子空间。
[0191]
一种可选的实施方式中,所述装置还包括:
[0192]
第二张成模块,用于基于所述第一矩阵中的连续m个列向量,张成所述第一子空间;m为自然数。
[0193]
本公开实施例提供的数据处理装置中,首先基于具有对应关系的n 条待处理明文消息构建n维的明文向量,作为待处理明文向量,其中, n为自然数,然后对待处理明文向量进行编码,得到待处理明文向量对应的码文,并将码文发送至码文运算端,码文运算端用于
针对目标运算需求基于码文执行码文加法操作得到码文运算结果,接收码文运算端返回的码文运算结果,并对码文运算结果进行解码,得到码文运算结果对应的明文向量,码文运算结果对应的明文向量用于为目标运算需求提供明文消息。由于本公开实施例将具有对应关系的n条待处理明文消息构建为待处理明文向量,并基于待处理明文向量进行编解码和码文加法计算,能够减少编解码和码文加法计算的次数,从而提高了对待处理明文消息的处理效率。
[0194]
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的数据处理方法。
[0195]
本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本公开实施例所述的数据处理方法。
[0196]
另外,本公开实施例还提供了一种数据处理设备,参见图6所示,可以包括:
[0197]
处理器601、存储器602、输入装置603和输出装置604。数据处理设备中的处理器601的数量可以一个或多个,图6中以一个处理器为例。在本公开的一些实施例中,处理器601、存储器602、输入装置 603和输出装置604可通过总线或其它方式连接,其中,图6中以通过总线连接为例。
[0198]
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行数据处理设备的各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置603可用于接收输入的数字或字符信息,以及产生与数据处理设备的用户设置以及功能控制有关的信号输入。
[0199]
具体在本实施例中,处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现上述数据处理设备的各种功能。
[0200]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0201]
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1