隐私数据处理方法、装置、系统及存储介质与流程

专利2023-05-20  115



1.本发明涉及数据处理技术领域,具体而言,涉及一种隐私数据处理方法、装置、系统及存储介质。


背景技术:

2.随着数据隐私和数据安全的问题受到社会各界的广泛关注,如何在保护数据隐私的同时实现数据价值的有效利用已成为学术界和产业界亟待解决的重要问题。
3.隐私计算,是指在提供隐私保护的前提下,实现数据价值挖掘的技术体系。当前,隐私计算的主要应用场景之一是结合机器学习技术解决在保障数据隐私的前提下,不同数据来源的联合建模问题;而在建模过程中,需要解决线性函数及非线性函数的隐私计算问题,其中,向量内积是线性函数隐私计算问题的典型之一,具有广泛的应用场景。
4.为解决向量内积的隐私计算问题,目前主要有以下三种方案:1)基于多方安全计算技术,常使用beaver triple三元组计算密文乘法;2)基于半同态加密算法,通常使用paillier算法,paillier算法是加法同态算法,支持密文加法以及密文乘常数的计算;3)基于全同态加密算法,为实现n/2维的向量内积的密文计算,需要运行一次密文乘明文以及log2n-1次密文移位运算。发明人在实施上述三种方案进行隐私数据计算过程中,发现基于多方安全计算技术的方法,需要额外第三方辅助计算;基于半同态加密算法的方法,在密文计算向量内积时需要逐位分别执行密文乘常数的运算,计算量大;基于全同态加密算法的方法,需要运行一次密文乘明文以及log2n-1次密文移位运算,可见,上述任一项隐私计算方案,在保护数据隐私安全的条件下,都存在计算过程操作繁琐,计算过程冗余,计算量大,计算效率低等问题。


技术实现要素:

5.鉴于上述问题,本发明提出了一种隐私数据处理方法、装置、系统及存储介质,以至少解决相关技术中在保护数据隐私安全的条件下向量内积的计算过程冗余的技术问题。
6.第一方面,本发明提供了一种隐私数据处理方法,应用于隐私数据处理系统中的第一参与方,所述方法包括:
7.利用本方公钥,采用约定的全同态加密算法,对所述第一参与方中的第一隐私数据进行加密,得到第一密文数据;
8.将所述第一密文数据发送至所述隐私数据处理系统中的第二参与方,其中,所述第二参与方利用预设数据处理规则和所述第二参与方中的第二隐私数据对所述第一密文数据进行密文运算,得到第二密文数据,并将所述第二密文数据发送至所述第一参与方;
9.在接收到所述第二密文数据后,利用本方私钥,对所述第二密文数据进行解密,得到解密向量;
10.根据所述预设数据处理规则和所述解密向量确定所述第一隐私数据和所述第二隐私数据的向量内积。
11.第二方面,本发明提供了另一种隐私数据处理方法,应用于隐私数据处理系统中的第二参与方,所述方法包括:
12.接收所述隐私数据处理系统中的第一参与方发送的第一密文数据,其中,所述第一密文数据由所述第一参与方利用本方公钥采用约定的全同态加密算法对所述第一参与方中的第一隐私数据进行加密得到;
13.利用预设数据处理规则和所述第二参与方中的第二隐私数据对所述第一密文数据进行密文运算,得到第二密文数据;
14.将所述第二密文数据发送至所述第一参与方,其中,所述第一参与方利用本方私钥对所述第二密文数据进行解密,得到解密向量;并根据所述预设数据处理规则和所述解密向量确定所述第一隐私数据和所述第二隐私数据的向量内积。
15.第三方面,本发明提供了一种隐私数据处理装置,应用于隐私数据处理系统中的第一参与方,所述装置包括:
16.加密模块,用于利用本方公钥,采用约定的全同态加密算法,对所述第一参与方中的第一隐私数据进行加密,得到第一密文数据;
17.发送模块,用于将所述第一密文数据发送至所述隐私数据处理系统中的第二参与方,其中,所述第二参与方利用预设数据处理规则和所述第二参与方中的第二隐私数据对所述第一密文数据进行密文运算,得到第二密文数据,并将所述第二密文数据发送至所述第一参与方;
18.解密模块,用于在接收到所述第二密文数据后,利用本方私钥,对所述第二密文数据进行解密,得到解密向量;
19.确定模块,用于根据所述预设数据处理规则和所述解密向量确定所述第一隐私数据和所述第二隐私数据的向量内积。
20.第四方面,本发明提供了另一种隐私数据处理装置,应用于隐私数据处理系统中的第二参与方,所述装置包括:
21.接收模块,用于接收所述隐私数据处理系统中的第一参与方发送的第一密文数据,其中,所述第一密文数据由所述第一参与方利用本方公钥采用约定的全同态加密算法对所述第一参与方中的第一隐私数据进行加密得到;
22.运算模块,用于利用预设数据处理规则和所述第二参与方中的第二隐私数据对所述第一密文数据进行密文运算,得到第二密文数据;
23.发送模块,用于将所述第二密文数据发送至所述第一参与方,其中,所述第一参与方利用本方私钥对所述第二密文数据进行解密,得到解密向量;并根据所述预设数据处理规则和所述解密向量确定所述第一隐私数据和所述第二隐私数据的向量内积。
24.第五方面,本发明提供了一种隐私数据处理系统,所述系统包括上述任一项所述的装置。
25.第六方面,本发明还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
26.第七方面,本发明还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项装置实施例中的步骤。
27.本发明实施例提供的一种隐私数据处理方法,隐私数据处理系统中的第一参与方利用本方公钥,采用约定的全同态加密算法,对第一参与方自身持有的第一隐私数据作为明文数据进行加密,得到第一密文数据;然后将第一密文数据发送至隐私数据处理系统中的第二参与方,经由第二参与方将自身持有的第二隐私数据作为明文数据,利用预设数据处理规则和第二隐私数据对第一密文数据进行密文运算,得到第二密文数据,即结合了明文和密文之间的运算操作,并将第二密文数据发送至第一参与方;在接收到第二密文数据后,利用本方私钥,对第二密文数据进行解密,得到解密向量;根据预设数据处理规则和解密向量确定第一隐私数据和第二隐私数据的向量内积,不仅利用预设数据处理规则保证了第一参与方与第二参与方持有的隐私数据的隐私安全,且无需进行逐位的密文移位运算,大大减少了冗余的计算过程,从而解决了相关技术中在保护数据隐私安全的条件下向量内积的计算过程冗余的技术问题。
附图说明
28.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍。
29.图1是根据本发明实施例提供的一种隐私数据处理方法的流程图;
30.图2是根据本发明实施例提供的另一种隐私数据处理方法的流程图;
31.图3是根据本发明实施例提供的一种隐私数据处理装置的结构框图;
32.图4是根据本发明实施例提供的另一种隐私数据处理装置的结构框图。
具体实施方式
33.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
34.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放式术语。
35.为了解决相关技术存在的技术问题,在本实施例中提供了一种隐私数据处理方法。下面以具体地实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
36.图1是根据本发明实施例提供的一种隐私数据处理方法的流程图,如图1所示,该方法应用于隐私数据处理系统中的第一参与方,该流程包括如下步骤:
37.步骤s102,利用本方公钥,采用约定的全同态加密算法,对第一参与方中的第一隐私数据进行加密,得到第一密文数据。
38.本实施例中以ckks的全同态加密算法的密钥为例,依据高斯分布x在环rq上随机
选择一个元素s

x作为私钥,然后在环rq上随机均匀选取一个元素a1
←rq
,同时在高斯分布x上随机选取一个差错e

x,计算a0=-a1s+e。令私钥sk=s,公钥pk=(a0,a1)。通过上述方式能够计算得到第一参与方的一组密钥对,密钥对中包括一个公钥和一个私钥,公钥用于加密,可以共享,私钥用于解密,必须保密。
39.基于全同态加密算法的方法中,实现密文计算最高效的方法是基于ckks全同态加密算法的方法,ckks算法支持密文加法、密文乘法、密文乘明文以及密文移位等运算,其主要特点是计算结果是近似结果而非精确结果;由于在机器学习领域中,近似结果对整体系统的影响有限,因此使用基于ckks全同态加密算法实现向量内积的密文计算是一种实用且有效的方法。在本实施例中,优选基于ckks的全同态加密算法。
40.步骤s104,将第一密文数据发送至隐私数据处理系统中的第二参与方,其中,第二参与方利用预设数据处理规则和第二参与方中的第二隐私数据对所述第一密文数据进行密文运算,得到第二密文数据,并将第二密文数据发送至第一参与方。
41.需要说明的是,本实施例中的第一隐私数据与第二隐私数据为事先约定好的,两者具有相同的向量维度。
42.现有的全同态加密算法进行向量内积,在密文内积计算过程中,在乘法之后需要对每个位置的元素进行求和,由于算法的明文和密文并非是一一对应的关系,需要对不同位置的元素求和,必须使用密文移位操作;因此,现有的密文内积计算过程中,为了实现n/2维的向量内积的密文计算,需要运行一次密文乘明文以及log2n-1次密文移位运算,计算过程繁琐,计算量大。
43.为了解决向量内积密文计算过程冗余的问题,在本实施例中,第一参与方将对自身保存的第一隐私数据和输入密钥进行加密后得到的密文(即上述第一密文数据)发送给了第二参与方,采用全同态加密算法,在保护第一隐私数据的隐私安全条件下,保留了第一隐私数据的计算性,使得第二参与方可直接对第一密文数据进行运算操作。
44.进一步地,第二参与方接收到第一密文数据后,根据预设数据处理规则对自身的隐私数据进行了密文运算,得到第二密文数据,即对第二隐私数据的加密运算,从而避免了第二参与方中的第二隐私数据的泄露问题。
45.步骤s106,在接收到第二密文数据后,利用本方私钥,对第二密文数据进行解密,得到解密向量。
46.步骤s108,根据预设数据处理规则和解密向量确定第一隐私数据和第二隐私数据的向量内积。
47.在本案的一个应用场景中,假设第一参与方为评估机构,第二参与方为银行,评估机构针对银行中的用户1的多种数据,对用户1的用户价值进行一个评估。评估机构持有评估参数(a1,a2,a3)(即上述第一隐私数据),用户1的数据为(b1,b2,b3)(即上述第二隐私数据),比如b1指代用户1的存款数据,b2指代用户1的贷款数据,b3指代用户1的收入数据;
48.进一步地,为了保护评估机构的评估参数以及银行中的用户1的数据的隐私安全,采用基于ckks的全同态加密算法及上述ckks的全同态加密算法生成的公钥,对评估机构的评估参数进行全同态加密,得到第一密文数据,以保护评估机构中数据的隐私;然后将第一密文数据发送给银行(即第二参与方),银行根据预设数据处理规则对用户1的多种数据进行密文运算,得到第二密文数据,并反馈给评估机构,然后评估机构即可利用向量内积的计
算函数处理预设数据处理规则和第二密文数据。在保护各数据方的数据隐私安全的条件下,还不影响计算性;最后在评估机构对评估机构持有的评估参数与银行的用户1数据进行向量内积,将计算得到的近似结果作为对用户1价值的分析数据。
49.根据上述实施例,隐私数据处理系统中的第一参与方利用本方公钥,采用约定的全同态加密算法,对第一参与方自身持有的第一隐私数据作为明文数据进行加密,得到第一密文数据;然后将第一密文数据发送至隐私数据处理系统中的第二参与方,经由第二参与方将自身持有的第二隐私数据作为明文数据,利用预设数据处理规则和第二隐私数据对第一密文数据进行密文运算,得到第二密文数据,即结合了明文和密文之间的运算操作,并将第二密文数据发送至第一参与方;在接收到第二密文数据后,利用本方私钥,对第二密文数据进行解密,得到解密向量;根据预设数据处理规则和解密向量确定第一隐私数据和第二隐私数据的向量内积,不仅利用预设数据处理规则保证了第一参与方与第二参与方持有的隐私数据的隐私安全,且无需进行逐位的密文移位运算,大大减少了冗余的计算过程,从而解决了相关技术中在保护数据隐私安全的条件下向量内积的计算过程冗余的技术问题。
50.在本案的一个可选的实施例中,预设数据处理规则为第一参与方和第二参与方事先约定的目标数组,且目标数组的维度、第一隐私数据的维度及第二隐私数据的维度均相同;
51.其中,预设数据处理规则至少包括以下之一:目标数组中前2
ρ
项的数组值为1,其余项的数组值为0,其中,ρ为大于等于1的自然数,且1≤2
ρ
≤维度;目标数组中每隔2
τ-1项的数组值为1,其余项的数组值为0,其中,τ为大于等于1的自然数,且1≤2
τ-1≤维度;目标数组中前2
ρ
项中每隔2
τ-1项的数组值为1,其余项的数组值为0。
52.举例说明,目标数组c={c0,

,c
n/2-1
}∈{0,1}
n/2
;则预设数据处理规则满足一下3种情况:
53.1)c的前2
ρ
项为1,其余为0,即
54.2)c的每隔2
τ-1项为1,其余为0,即
[0055][0056]
3)c的前2
ρ
项中每隔2
τ-1项为1,其余为0,即
[0057][0058]
通过上述实施例,能够实现根据各参与方之间的约定,按照约定的预设数据处理规则,选取各自的隐私数据中的选择项,利用选择项计算各参与方中的隐私数据的向量内积,不仅减少了数据的计算量,还进一步地保证了各参与方持有的数据的隐私问题。
[0059]
在本案的一个可选的实施例中,上述步骤s108包括:构建第一隐私数据与第二隐私数据的向量内积对应的第一运算模型;按照预设数据处理规则处理第一运算模型,得到第二运算模型;按照预设映射规则处理第二运算模型,得到第三运算模型;将隐私数据处理系统中的系统参数和解密向量代入第三运算模型进行运算,得到第一隐私数据和第二隐私数据的向量内积。
[0060]
具体实施时,参与方a持有的第一隐私数据为va={a0,

,a
n/2-1
},参与方b持有的第二隐私数据为vb={b0,

,b
n/2-1
},其中,向量维度为以预设数据处理规则:目标数组中前2
ρ
项的数组值为1,其余项的数组值为0为例,即
[0061]
首先构建va和vb的向量内积的第一运算模型,即
[0062]
进一步地,由于ci的取值,则
[0063]
进一步地,根据canonical映射规则(即上述预设映射规则),有进一步地,根据canonical映射规则(即上述预设映射规则),有其中,canonical映射将虚数向量映射为一个分圆多项式,例如:复数向量(3+4i,2-i)对应于令x分别取两个本源单位根ξ8,带入多项式,就可以得到复数向量,而由复数向量计算多项式则是对以上计算的逆运算,以能够对加密的向量进行解密,进而能够处理数据类型为复数的数据。
[0064]
基于上文各个实施例提供的隐私数据处理方法,基于同一发明构思,在本实施例中还提供了另一种隐私数据处理方法,该方法用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。
[0065]
图2是根据本发明实施例提供的另一种隐私数据处理方法的流程图,如图2所示,该方法应用于隐私数据处理系统中的第二参与方,该流程包括如下步骤:
[0066]
步骤s202,接收隐私数据处理系统中的第一参与方发送的第一密文数据,其中,第一密文数据由第一参与方利用本方公钥采用约定的全同态加密算法对第一参与方中的第一隐私数据进行加密得到;
[0067]
步骤s204,利用预设数据处理规则和第二参与方中的第二隐私数据对第一密文数据进行密文运算,得到第二密文数据;
[0068]
步骤s206,将第二密文数据发送至第一参与方,其中,第一参与方利用本方私钥对第二密文数据进行解密,得到解密向量;并根据预设数据处理规则和解密向量确定第一隐私数据和第二隐私数据的向量内积。
[0069]
本实施例中的预设数据处理规则为第一参与方和第二参与方事先约定的目标数组,且目标数组的维度、第一隐私数据的维度及第二隐私数据的维度均相同;
[0070]
其中,预设数据处理规则至少包括以下之一:目标数组中前2
ρ
项的数组值为1,其余项的数组值为0,其中,ρ为大于等于1的自然数,且1≤2
ρ
≤维度;目标数组中每隔2
τ-1项的数组值为1,其余项的数组值为0,其中,τ为大于等于1的自然数,且1≤2
τ-1≤维度;目标数组中前2
ρ
项中每隔2
τ-1项的数组值为1,其余项的数组值为0。
[0071]
进一步地,上述步骤s206具体包括:对第二隐私数据和第一密文数据进行乘法运算,得到第三密文数据;从第二参与方的数据空间中,随机选取维度与第二隐私数据的数据维度相同的初始向量;对预设数据处理规则和初始向量进行运算,得到目标向量,其中,目标向量的维度为初始向量的维度的两倍;对第三密文数据和目标向量进行加法运算,得到第二密文数据。
[0072]
现有的全同态加密算法在进行密文内积计算过程中,在乘法之后需要对每个位置的元素进行求和,由于算法的明文和密文并非是一一对应的关系。例如:(m1,m2,m3)加密后对应(c1,c2,c3);但改变明文中的任一元素,如:(m1,m2,m4),对应的密文的每个位置均不同,比如为(c4,c5,c6)。因此,需要对不同位置的元素求和,必须使用密文移位操作;因此,现有的密文内积计算过程中,为了实现n/2维的向量内积的密文计算,需要运行一次密文乘明文以及log2n-1次密文移位运算,计算过程繁琐,计算量大。
[0073]
为了解决向量内积密文计算过程冗余的问题,在本实施例中,参与方a将对自身的第一隐私数据和输入密钥进行加密后得到的密文(即上述第一密文数据)发送给了参与方b,采用全同态加密算法,在保护第一隐私数据的隐私安全条件下,保留了第一隐私数据的计算性,使得参与方b可直接对第一密文数据进行运算操作。
[0074]
进一步地,参与方b接收到第一密文数据后,将自身保存的第二隐私数据,通过明文乘密文计算,得到第三密文数据。例如,参与方a的第一隐私数据为a=(a1,a2,a3),参与方b的第二隐私数据约定为b=(b1,b2,b3),计算a和b的内积,通过对a加密得到c=enc(a)=(c1,c2,c3),执行密文乘明文计算c*b=(c4,c5,c6)=enc(a1*b1,a2*b2,a3*b3)(即上述第三密文数据)。
[0075]
在得到第三密文数据之后,参与方b在z
qn/2-1
空间内随机选取n/2-1维向量e0={e1,
…en/2-1
},计算n维向量e={e0,

,e
n/2-1
},其中e0根据目标数据c(即上述预设数据处理规则)计算得到,参与方b通过密文加明文方法计算r=t+e,其中,t为上述第三密文数据,并将r(即上述第二密文数据)发送给参与方a。
[0076]
传统的密文内积计算过程中需要对c*b作密文移位,比如c*b+rotation(c*b,1)+rotation(c*b,2)=enc(a1*b1+a2*b2+a3*b3,x,x),其中,rotation指代密文移位,从而解密得到内积。本实施例根据约定的预设数据处理规则,选取明文数据中的部分数据,进行一次明文乘密文运算,一次密文加明文运算,保护隐私数据的隐私,且操作简单,无需进行逐位密文移位算法,减少了计算量。
[0077]
下面结合一具体实施例,对本发明提供的隐私数据处理方法做进一步地说明:
[0078]
本发明实施例提供一种基于全同态加密的支持择项运算的向量内积隐私计算方法,具体内容如下:
[0079]
参与方a持有私有数据向量va={a0,

,a
n/2-1
},参与方b持有私有数据向量vb={b0,

,b
n/2-1
},双方约定择项系数c={c0,

,c
n/2-1
}∈{0,1}
n/2
(即上述预设数据处理规则),计算参与方a持有的va和参与方b持有的vb的向量内积公式为(即上述第一运算模型),其中择项系数c满足以下三种情况之一:
[0080]
一,c的前2
ρ
项为1,其余为0,即
[0081]
二,c的每隔2
τ-1项为1,其余为0,即
[0082]
三,c的前2
ρ
项中每隔2
τ-1项为1,其余为0,即
[0083]
进一步地,包括以下步骤:
[0084]
步骤一,参与方a将所拥有的数据向量va={a0,

,a
n/2-1
}作为输入明文,将a的公钥pka作为输入密钥,使用全同态加密ckks算法加密为enc(va),并将enc(va)发送给参与方b;
[0085]
步骤二,参与方b将所拥有的数据向量vb={b0,

,b
n/2-1
},通过密文乘明文方法计算t=enc(va)
×vb

[0086]
步骤三,参与方b在z
qn/2-1空间内随机选取n/2-1维向量e0={e1,
…en/2-1
},计算n维向量e={e0,

,e
n/2-1
},其中e0根据择项系数c计算得到,
[0087]
步骤四,参与方b通过密文加明文方法计算r=t+e,并将r发送给参与方a;
[0088]
步骤五,参与方a使用私钥ska解密获得向量vr=dec(r)={r0,

,r
n-1
},计算其中,m/2=n=2
n-1
,ξm=e-2πi/m
,当c满足情况一时,当c满足情况二时,当c满足情况三时,
[0089]
进一步地,上述三种情况下每一种计算过程如下:
[0090]
一、目标数组c的前2
ρ
项为1,其余为0,即要计算向量内积由于ci的取值,可知根据canonical映射规则,有将j,k分别按比特展开,得到将j,k分别按比特展开,得到其中j
l
,k
l
分别表示j,k的第l比特,因此分别表示j,k的第l比特,因此依据的性质对该式中的k
ρ-1
到k0依次化简,得到依次化简,得到
[0091]
二、c的每隔2
τ-1项为1,其余为0,即要计算由于ci的取值,可知根据canonical映射规则,有将j,k分别按比特展开,得到其中j
l
,k
l
分别表示j,k的第l比特,因此
依据依据的性质对该式中的k
n-3-τ
到k0依次化简,得到
[0092]
三、c的前2
ρ
项中每隔2
τ-1项为1,其余为0,即要计算由于ci的取值,可知根据canonical映射规则,有则,有将j,k分别按比特展开,得到将j,k分别按比特展开,得到其中j
l
,k
l
分别表示j,k的第l比特,因此分别表示j,k的第l比特,因此依据依据的性质对该式中的k
ρ-τ-1
到k0依次化简,得到依次化简,得到
[0093]
令当c满足情况一时,当c满足情况一时,当c满足情况二时,当c满足情况二时,当c满足情况三时,当c满足情况三时,
[0094]
需要说明的是,是指隐私数据的向量维数,j表示[0,n-1]的整数,因此对于任意的j,可以逐位分解成0和1组成的字串,其中每个位置是j
l
;ξm仅与m有关,m/2=n=2
n-1
,b
n-2
存储作为固定的参数,在每次计算s,计算结果只与维数、预设数据处理规则中的ρ或者τ与对应的固定参数b
n-2
有关,与输入的隐私数据及输入密钥对(即上述公钥和私钥)无关,影响ckks的安全强度的模数、层数可通过预先计算得到。因此,在进行大量向量内积隐私计算过程中,仅需要对有关输入数据(包括择项系数c的选取)和系统参数,结合固定参数的预计算,得到最终结果。可以简化计算流程,提高算法的运行效率。
[0095]
可选地,针对上述三种情况,通过调整输入顺序满足大多实际场景,例如:输入数据是(a0,

a9),(b0,

b9),需要计算第1、5、7项的内积和,即c1=c5=c7=1,不满足上述三种情况,但可以交换输入顺序,如:a0《-》a1,a2《-》a5,a4《-》a7,这样满足第三种情况,前5项中每隔1项为1,可以根据具体需要设定择项系数,结合输入的变换可以灵活使用,通过本方案给出了更广泛的适用场景。
[0096]
通过本发明实施例,基于全同态加密的向量内积隐私计算方法将向量内积隐私计算过程中所需要的输入参数和系统参数分离,对系统参数执行预先计算,从而减少冗余的计算过程,提高算法效率。
[0097]
基于上文各个实施例提供的隐私数据处理方法,基于同一发明构思,在本实施例中还提供了一种隐私数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进
行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0098]
图3是根据本发明实施例提供的一种隐私数据处理装置的结构框图,如图3所示,该装置应用于隐私数据处理系统中的第一参与方,包括:
[0099]
加密模块30,用于利用本方公钥,采用约定的全同态加密算法,对第一参与方中的第一隐私数据进行加密,得到第一密文数据;
[0100]
发送模块32,连接至上述加密模块30,用于将第一密文数据发送至隐私数据处理系统中的第二参与方,其中,第二参与方利用预设数据处理规则和第二参与方中的第二隐私数据对第一密文数据进行密文运算,得到第二密文数据,并将第二密文数据发送至第一参与方;
[0101]
解密模块34,连接至上述发送模块32,用于在接收到第二密文数据后,利用本方私钥,对第二密文数据进行解密,得到解密向量;
[0102]
确定模块36,连接至上述解密模块34,用于根据预设数据处理规则和解密向量确定第一隐私数据和第二隐私数据的向量内积。
[0103]
进一步地,预设数据处理规则为第一参与方和第二参与方事先约定的目标数组,且目标数组的维度、第一隐私数据的维度及第二隐私数据的维度均相同;
[0104]
其中,预设数据处理规则至少包括以下之一:目标数组中前2ρ项的数组值为1,其余项的数组值为0,其中,ρ为大于等于1的自然数,且1≤2
ρ
≤维度;目标数组中每隔2
τ-1项的数组值为1,其余项的数组值为0,其中,τ为大于等于1的自然数,且1≤2
τ-1≤维度;目标数组中前2
ρ
项中每隔2
τ-1项的数组值为1,其余项的数组值为0。
[0105]
进一步地,确定模块36包括:
[0106]
构建单元,用于构建第一隐私数据与第二隐私数据的向量内积对应的第一运算模型;
[0107]
第一处理单元,用于按照预设数据处理规则处理第一运算模型,得到第二运算模型;
[0108]
第二处理单元,用于按照预设映射规则处理第二运算模型,得到第三运算模型;
[0109]
运算单元,用于将隐私数据处理系统中的系统参数和解密向量代入第三运算模型进行运算,得到第一隐私数据和第二隐私数据的向量内积。
[0110]
图4是根据本发明实施例提供的另一种隐私数据处理装置的结构框图,如图4所示,该装置应用于隐私数据处理系统中的第二参与方,包括:
[0111]
接收模块40,用于接收隐私数据处理系统中的第一参与方发送的第一密文数据,其中,第一密文数据由第一参与方利用本方公钥采用约定的全同态加密算法对第一参与方中的第一隐私数据进行加密得到;
[0112]
运算模块42,连接至上述接收模块40,用于利用预设数据处理规则和第二参与方中的第二隐私数据对第一密文数据进行密文运算,得到第二密文数据;
[0113]
发送模块44,连接至上述运算模块42,用于将第二密文数据发送至第一参与方,其中,第一参与方利用本方私钥对第二密文数据进行解密,得到解密向量;并根据预设数据处理规则和解密向量确定第一隐私数据和第二隐私数据的向量内积。
[0114]
进一步地,预设数据处理规则为第一参与方和第二参与方事先约定的目标数组,且目标数组的维度、第一隐私数据的维度及第二隐私数据的维度均相同;
[0115]
其中,预设数据处理规则至少包括以下之一:目标数组中前2
ρ
项的数组值为1,其余项的数组值为0,其中,ρ为大于等于1的自然数,且1≤2
ρ
≤维度;目标数组中每隔2
τ-1项的数组值为1,其余项的数组值为0,其中,τ为大于等于1的自然数,且1≤2
τ-1≤维度;目标数组中前2
ρ
项中每隔2
τ-1项的数组值为1,其余项的数组值为0。
[0116]
进一步地,运算模块42包括:
[0117]
第一运算单元,用于对第二隐私数据和第一密文数据进行乘法运算,得到第三密文数据;
[0118]
选取单元,用于从第二参与方的数据空间中,随机选取维度与第二隐私数据的数据维度相同的初始向量;
[0119]
第二运算单元,用于对预设数据处理规则和初始向量进行运算,得到目标向量,其中,目标向量的维度为初始向量的维度的两倍;
[0120]
第三运算单元,用于对第三密文数据和目标向量进行加法运算,得到第二密文数据。
[0121]
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
[0122]
本发明的实施例还提供了一种隐私数据处理系统,该系统包括上述任一项的装置。
[0123]
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0124]
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0125]
s1,利用本方公钥,采用约定的全同态加密算法,对所述第一参与方中的第一隐私数据进行加密,得到第一密文数据;
[0126]
s2,将所述第一密文数据发送至所述隐私数据处理系统中的第二参与方,其中,所述第二参与方利用预设数据处理规则和所述第二参与方中的第二隐私数据对所述第一密文数据进行密文运算,得到第二密文数据,并将所述第二密文数据发送至所述第一参与方;
[0127]
s3,在接收到所述第二密文数据后,利用本方私钥,对所述第二密文数据进行解密,得到解密向量;
[0128]
s4,根据所述预设数据处理规则和所述解密向量确定所述第一隐私数据和所述第二隐私数据的向量内积。
[0129]
可选地,在本实施例中,上述存储介质还可以被设置为存储用于执行以下步骤的计算机程序:
[0130]
s1,接收所述隐私数据处理系统中的第一参与方发送的第一密文数据,其中,所述第一密文数据由所述第一参与方利用本方公钥采用约定的全同态加密算法对所述第一参与方中的第一隐私数据进行加密得到;
[0131]
s2,利用预设数据处理规则和所述第二参与方中的第二隐私数据对所述第一密文
数据进行密文运算,得到第二密文数据;
[0132]
s3,将所述第二密文数据发送至所述第一参与方,其中,所述第一参与方利用本方私钥对所述第二密文数据进行解密,得到解密向量;并根据所述预设数据处理规则和所述解密向量确定所述第一隐私数据和所述第二隐私数据的向量内积。
[0133]
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
[0134]
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0135]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种隐私数据处理方法,其特征在于,应用于隐私数据处理系统中的第一参与方,所述方法包括:利用本方公钥,采用约定的全同态加密算法,对所述第一参与方中的第一隐私数据进行加密,得到第一密文数据;将所述第一密文数据发送至所述隐私数据处理系统中的第二参与方,其中,所述第二参与方利用预设数据处理规则和所述第二参与方中的第二隐私数据对所述第一密文数据进行密文运算,得到第二密文数据,并将所述第二密文数据发送至所述第一参与方;在接收到所述第二密文数据后,利用本方私钥,对所述第二密文数据进行解密,得到解密向量;根据所述预设数据处理规则和所述解密向量确定所述第一隐私数据和所述第二隐私数据的向量内积。2.根据权利要求1所述的方法,其特征在于,所述预设数据处理规则为所述第一参与方和所述第二参与方事先约定的目标数组,且所述目标数组的维度、所述第一隐私数据的维度及所述第二隐私数据的维度均相同;其中,所述预设数据处理规则至少包括以下之一:所述目标数组中前2
ρ
项的数组值为1,其余项的数组值为0,其中,ρ为大于等于1的自然数,且1≤2
ρ
≤维度;所述目标数组中每隔2
τ-1项的数组值为1,其余项的数组值为0,其中,τ为大于等于1的自然数,且1≤2
τ-1≤维度;所述目标数组中前2
ρ
项中每隔2
τ-1项的数组值为1,其余项的数组值为0。3.根据权利要求1或2所述的方法,其特征在于,所述根据所述预设数据处理规则和所述解密向量确定所述第一隐私数据和所述第二隐私数据的向量内积包括:构建所述第一隐私数据与所述第二隐私数据的向量内积对应的第一运算模型;按照所述预设数据处理规则处理所述第一运算模型,得到第二运算模型;按照预设映射规则处理所述第二运算模型,得到第三运算模型;将所述隐私数据处理系统中的系统参数和所述解密向量代入所述第三运算模型进行运算,得到所述第一隐私数据和所述第二隐私数据的向量内积。4.一种隐私数据处理方法,其特征在于,应用于隐私数据处理系统中的第二参与方,所述方法包括:接收所述隐私数据处理系统中的第一参与方发送的第一密文数据,其中,所述第一密文数据由所述第一参与方利用本方公钥采用约定的全同态加密算法对所述第一参与方中的第一隐私数据进行加密得到;利用预设数据处理规则和所述第二参与方中的第二隐私数据对所述第一密文数据进行密文运算,得到第二密文数据;将所述第二密文数据发送至所述第一参与方,其中,所述第一参与方利用本方私钥对所述第二密文数据进行解密,得到解密向量;并根据所述预设数据处理规则和所述解密向量确定所述第一隐私数据和所述第二隐私数据的向量内积。5.根据权利要求4所述的方法,其特征在于,所述预设数据处理规则为所述第一参与方和所述第二参与方事先约定的目标数组,且所述目标数组的维度、所述第一隐私数据的维度及所述第二隐私数据的维度均相同;其中,所述预设数据处理规则至少包括以下之一:所述目标数组中前2
ρ
项的数组值为1,
其余项的数组值为0,其中,ρ为大于等于1的自然数,且1≤2
ρ
≤维度;所述目标数组中每隔2
τ-1项的数组值为1,其余项的数组值为0,其中,τ为大于等于1的自然数,且1≤2
τ-1≤维度;所述目标数组中前2
ρ
项中每隔2
τ-1项的数组值为1,其余项的数组值为0。6.根据权利要求4或5所述的方法,其特征在于,所述利用预设数据处理规则和所述第二参与方中的第二隐私数据对所述第一密文数据进行密文运算,得到第二密文数据,包括:对所述第二隐私数据和所述第一密文数据进行乘法运算,得到第三密文数据;从所述第二参与方的数据空间中,随机选取维度与所述第二隐私数据的数据维度相同的初始向量;对所述预设数据处理规则和所述初始向量进行运算,得到目标向量,其中,所述目标向量的维度为所述初始向量的维度的两倍;对所述第三密文数据和所述目标向量进行加法运算,得到所述第二密文数据。7.一种隐私数据处理装置,其特征在于,应用于隐私数据处理系统中的第一参与方,所述装置包括:加密模块,用于利用本方公钥,采用约定的全同态加密算法,对所述第一参与方中的第一隐私数据进行加密,得到第一密文数据;发送模块,用于将所述第一密文数据发送至所述隐私数据处理系统中的第二参与方,其中,所述第二参与方利用预设数据处理规则和所述第二参与方中的第二隐私数据对所述第一密文数据进行密文运算,得到第二密文数据,并将所述第二密文数据发送至所述第一参与方;解密模块,用于在接收到所述第二密文数据后,利用本方私钥,对所述第二密文数据进行解密,得到解密向量;确定模块,用于根据所述预设数据处理规则和所述解密向量确定所述第一隐私数据和所述第二隐私数据的向量内积。8.一种隐私数据处理装置,其特征在于,应用于隐私数据处理系统中的第二参与方,所述装置包括:接收模块,用于接收所述隐私数据处理系统中的第一参与方发送的第一密文数据,其中,所述第一密文数据由所述第一参与方利用本方公钥采用约定的全同态加密算法对所述第一参与方中的第一隐私数据进行加密得到;运算模块,用于利用预设数据处理规则和所述第二参与方中的第二隐私数据对所述第一密文数据进行密文运算,得到第二密文数据;发送模块,用于将所述第二密文数据发送至所述第一参与方,其中,所述第一参与方利用本方私钥对所述第二密文数据进行解密,得到解密向量;并根据所述预设数据处理规则和所述解密向量确定所述第一隐私数据和所述第二隐私数据的向量内积。9.一种隐私数据处理系统,其特征在于,所述系统包括权利要求7所述的装置和权利要求8所述的装置。10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

技术总结
本发明提供了一种隐私数据处理方法、装置、系统及存储介质,该方法包括:利用本方公钥,采用约定的全同态加密算法,对第一参与方中的第一隐私数据进行加密,得到第一密文数据;将第一密文数据发送至隐私数据处理系统中的第二参与方,其中,第二参与方利用预设数据处理规则和第二参与方中的第二隐私数据对第一密文数据进行密文运算,得到第二密文数据,并将第二密文数据发送至第一参与方;在接收到第二密文数据后,利用本方私钥,对第二密文数据进行解密,得到解密向量;根据预设数据处理规则和解密向量确定第一隐私数据和第二隐私数据的向量内积。通过本发明,解决了相关技术中在保护数据隐私安全的条件下向量内积的计算过程冗余的技术问题。算过程冗余的技术问题。算过程冗余的技术问题。


技术研发人员:ꢀ(74)专利代理机构
受保护的技术使用者:北京绪方科技有限公司
技术研发日:2022.07.13
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-2721.html

最新回复(0)