CN109861964B - 数据分析方法、设备以及系统 - Google Patents

数据分析方法、设备以及系统 Download PDF

Info

Publication number
CN109861964B
CN109861964B CN201811459980.6A CN201811459980A CN109861964B CN 109861964 B CN109861964 B CN 109861964B CN 201811459980 A CN201811459980 A CN 201811459980A CN 109861964 B CN109861964 B CN 109861964B
Authority
CN
China
Prior art keywords
data
encrypted
sim
similarity
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811459980.6A
Other languages
English (en)
Other versions
CN109861964A (zh
Inventor
孙志蔚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201811459980.6A priority Critical patent/CN109861964B/zh
Publication of CN109861964A publication Critical patent/CN109861964A/zh
Application granted granted Critical
Publication of CN109861964B publication Critical patent/CN109861964B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本申请提供了一种数据分析方法、相关设备以及系统。所述方法由服务器执行,包括:接收客户端发送的公钥和及用公钥加密的第一数据E(A),E()为同态加密函数,A为第一数据;通过公钥对服务器中的第三数据进行加密,得到加密后的第三数据E(B),B为第三数据;根据E(A)及E(B),得到加密后的第一数据和第三数据的相似度E(sim);将加密后的第一数据和第三数据的相似度E(sim)发送至客户端进行解密,得到解密后的第一数据和第三数据的相似度sim;接收客户端发送的解密后的第一数据和第三数据的相似度sim;在sim大于预设阈值的情况下,确定第二数据和所述第四数据相似,并使用第四数据代替第二数据进行数据分析。

Description

数据分析方法、设备以及系统
技术领域
本申请涉及数据加密领域,尤其涉及一种数据分析方法、设备以及系统。
背景技术
信息系统在运行的过程中会产生大量的日志文件,其中,日志文件记录了信息系统在运行过程中产生的各种信息,例如,特征信息以及隐私信息,其中,特征信息可以用于进行故障诊断,隐私信息记录了用户的隐私。但是,故障信息和隐私信息通常还夹杂在一起,无法很好地区分。例如,日志文件中记载了“servic port eh2 ip127.22.22.22conflict”,这条日志表明了IP地址127.22.22.22发生了冲突,其中,servicport eh2 ip***conflict是特征信息,127.22.22.22是隐私信息。
当信息系统出现了故障时,用户需要将日志文件发送给信息系统提供商进行故障分析。但是,如果用户将日志文件没有加密的明文发送给信息系统提供商,则会导致用户的隐私信息被泄漏,如果用户将日志文件加密后得到的密文发送给信息提供商,则会导致信息提供商无法进行故障分析。
发明内容
本申请提供了一种数据分析方法、设备以及系统,能够在不泄露用户隐私的情况下,将数据发送给他人进行数据分析。
第一方面,提供了一种数据分析方法,由服务器执行,包括:
接收客户端发送的公钥和及用所述公钥加密的第一数据E(A),其中,E()为同态加密函数,A为所述第一数据,所述第一数据为由第二数据生成的;
通过所述公钥对所述服务器中的第三数据进行加密,得到加密后的第三数据E(B),其中,B为所述第三数据,所述第三数据为由第四数据生成的;
根据E(A)及E(B),得到加密后的第一数据和第三数据的相似度E(sim),其中,sim为所述第一数据和所述第三数据的相似度;
将所述加密后的第一数据和第三数据的相似度E(sim)发送至客户端进行解密,得到解密后的第一数据和第三数据的相似度sim;
接收客户端发送的解密后的第一数据和第三数据的相似度sim;
在所述解密后的第一数据和第三数据的相似度sim大于预设阈值的情况下,确定所述第二数据和所述第四数据相似,并使用第四数据代替所述第二数据进行数据分析。
第二方面,提供了一种相似数据确定方法,由客户端执行,包括:
向服务器发送的公钥和及用所述公钥加密的第一数据E(A),其中,E()为同态加密函数,A为所述第一数据,所述第一数据为由第二数据生成的;
接收服务器发送的加密后的第一数据和第三数据的相似度E(sim),其中,sim为所述第一数据和所述第三数据的相似度,所述加密后的第一数据和第三数据的相似度E(sim)是服务器根据加密后的第一数据E(A)以及加密后的第三数据E(B)确定的,B为所述第三数据,所述第三数据为由第四数据生成的;
用私钥对所述加密后的第一数据和第三数据的相似度E(sim)进行解密,得到解密后的第一数据和第三数据的相似度sim;
向服务器发送解密后的第一数据和第三数据的相似度sim。
通过第一方面或者第二方面,能够不需要将明文的第二数据和第四数据发送给服务器,服务器也能确定第二数据和第四数据之间的相似度,并使用不存在隐私信息的第四数据代替存在隐私信息的第四数据进行分析,从而实现了在不泄露用户隐私的情况下,将数据发送给他人进行数据分析。
结合第一方面或者第二方面,在一些可能的设计中,客户端将第二数据通过语义特征提取算法转换为语义特征集合,其中,所述语义特征提取算法包括潜在语义分析LSA算法、n-gram算法中的一种或者多种;将所述语义特征集合通过转换算法转换为第一数据,其中,所述转换算法包括simhash算法。
结合第一方面或者第二方面,在一些可能的设计中,服务器将第四数据通过语义特征提取算法转换为语义特征集合,其中,所述语义特征提取算法包括潜在语义分析LSA算法、n-gram算法中的一种或者多种;将所述语义特征集合通过转换算法转换为第三数据,其中,所述转换算法包括simhash算法。
结合第一方面或者第二方面,在一些可能的设计中,所述加密后的第一数据E(A)包括E(a)以及E(1/|a|),其中,a为由第二数据转换的向量,1/|a|为向量a的向量长度的倒数,所述加密后的第三数据E(B)包括E(b)以及E(1/|b|),其中,b为由第四数据转换的向量,1/|b|为向量b的向量长度的倒数,
根据以下公式计算所述加密后的第一数据和第三数据的相似度E(sim):
E(sim)=E(a)*E(b)*E(1/|a|)*E(1/|b|)。
结合第一方面或者第二方面,在一些可能的设计中,所述加密后的第一数据E(A)包括
Figure BDA0001888457090000021
E(x1),E(x2),…,E(xn),其中,
Figure BDA0001888457090000022
分别为x1,x2,…,xn的平方,x1,x2,…,xn为a中的n个元素,a为由第二数据转换的向量,所述第二数据E(B)包括
Figure BDA0001888457090000023
E(y1),E(y2),…,E(yn),其中,
Figure BDA0001888457090000024
Figure BDA0001888457090000025
分别为y1,y2,…,yn的平方,y1,y2,…,yn为b中的n个元素,b为由第四数据转换的向量,
根据以下公式确定加密后的第一数据和第三数据的相似度E(sim):
Figure BDA0001888457090000026
结合第一方面或者第二方面,在一些可能的设计中,所述加密后的第一数据E(A)包括
Figure BDA0001888457090000027
其中,
Figure BDA0001888457090000028
分别为x1,x2,…,xn的平方,x1,x2,…,xn为a中的n个元素,a为由第二数据转换的向量,所述第二数据E(B)包括
Figure BDA0001888457090000029
Figure BDA00018884570900000210
其中,
Figure BDA00018884570900000211
分别为y1,y2,…,yn的平方,y1,y2,…,yn为b中的n个元素,b为由第四数据转换的向量,
根据以下公式确定加密后的第一数据和第三数据的相似度E(sim):
Figure BDA0001888457090000031
结合第一方面或者第二方面,在一些可能的设计中,所述加密后的第一数据E(A)包括
Figure BDA0001888457090000032
E(x1),E(x2),…,E(xn),
Figure BDA0001888457090000033
其中,
Figure BDA0001888457090000034
Figure BDA0001888457090000035
分别为x1,x2,…,xn的平方,x1,x2,…,xn为a中的n个元素,
Figure BDA0001888457090000036
为x1,x2,…,xn的平均值,
Figure BDA0001888457090000037
Figure BDA0001888457090000038
的平方,a为由第二数据转换的向量,所述第二数据E(B)包括
Figure BDA0001888457090000039
Figure BDA00018884570900000310
E(y1),E(y2),…,E(yn),
Figure BDA00018884570900000311
其中,
Figure BDA00018884570900000312
分别为y1,y2,…,yn的平方,y1,y2,…,yn为b中的n个元素,
Figure BDA00018884570900000313
为y1,y2,…,yn的平均值,
Figure BDA00018884570900000314
Figure BDA00018884570900000315
的平方,b为由第四数据转换的向量,
根据以下公式确定加密后的第一数据和第三数据的相似度E(sim):
Figure BDA00018884570900000316
第三方面,提供了一种服务器,包括能够实现如第一方面任一项所述的方法的单元。
第四方面,提供了一种客户端,包括能够实现如第二方面任一项所述的方法的单元。
第五方面,提供了一种服务器,包括:处理器和存储器,所述处理器执行所述存储器中的代码执行如第一方面任一项所述的方法。
第六方面,提供了一种客户端,包括:处理器和存储器,所述处理器执行所述存储器中的代码执行如第二方面任一项所述的方法。
第七方面,提供了一种计算机非瞬态存储介质,包括指令,当所述指令在服务器上运行时,使得所述服务器执行如第一方面任一项所述的方法。
第八方面,提供了一种计算机非瞬态存储介质,包括指令,当所述指令在客户端上运行时,使得所述客户端执行如第二方面任一项所述的方法。
第九方面,提供了一种通信系统,其特征在于,包括服务器和客户端,其中,所述服务器和所述客户端之间可以进行通信;
所述服务器用于执行如第一方面任一项所述的方法;
所述客户端用于执行如第二方面任一项所述的方法。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1至图4是本申请实施例提供的一些数据分析方法的流程交互图;
图5是本申请实施例提供的一种服务端的结构示意图;
图6是本申请实施例提供的一种客户端的结构示意图;
图7是本申请实施例提供的一种通信系统的结构示意图。
具体实施方式
为了便于理解,下面首先对本申请涉及的同态加密函数以及相似度加密函数分别进行详细的介绍。
同态加密函数可以包括加法同态加密函数、乘法同态加密函数以及全同态加密函数。其中,
加法同态加密函数为满足E(x+y)=E(x)+E(y)的加密函数,x为第一明文数据,y为第二明文数据,E()为加法同态加密函数,E(x)为通过加法同态加密函数对所述第一明文数据进行加密得到的第一加密数据,E(y)为通过加法同态加密函数对所述第二明文数据进行加密得到的第二加密数据,x+y为第一明文数据和第二明文数据的和,E(x+y)为通过加法同态加密函数对x+y进行加密得到的加密数据。常用的加法同态加密函数包括:paillier函数以及benaloh函数等等。
乘法同态加密函数为满足E(xy)=E(x)*E(y)的加密函数,x为第一明文数据,y为第二明文数据,E()为乘法同态加密函数,E(x)为通过乘法同态加密函数对所述第一明文数据进行加密得到的第一加密数据,E(y)为通过乘法同态加密函数对所述第二明文数据进行加密得到的第二加密数据,xy为第一明文数据和第二明文数据的乘积,E(xy)为通过乘法同态加密函数对xy进行加密得到的加密数据。常用的乘法同态加密函数包括:RSA函数、ElGamal函数等等。
全同态加密函数是同时满足加法同态以及乘法同态的加密函数,常用的全同态加密函数包括:金特里提出的全同态加密算法(Gentry's fully homomorphic encryptionscheme)、整数全同态加密函数、整数环全同态加密函数以及理想格全同态加密函数、SEAL同态加密函数库、基于理想格的方案、基于扰动学习(learning with errors,LWE)问题的方案等等。
应理解,有些文章还定义了减法同态加密函数、除法同态加密函数等等,但是,减法、除法等运算都可以转变为加法和乘法的运算,因此,可以认为减法同态加密算法、除法同态加密算法等等都可以转化为加法同态加密函数以及乘法同态加密函数。
相似度函数可以包括加法相似度函数、乘法相似度函数以及全同态相似度函数。其中,
加法相似度函数为仅包括加法运算的相似度函数。具体地,加法相似度函数满足sim=a1+a2+…+an,其中,sim为的第一明文数据和第二明文数据之间的相似度,n为大于0的整数,a1至an为根据第一明文数据和第二明文数据计算得到的常数。加法相似度函数可以包括常用的加法相似度函数以及未来研究出来的加法相似度函数,此处不作具体限定。
乘法相似度函数为仅包括乘法运算的相似度函数。具体地,乘法相似度函数满足sim=a1*a2*…*an,其中,sim为第一明文数据和第二明文数据之间的相似度,n为大于0的整数,a1至an为根据第一明文数据和第二明文数据计算得到的常数。乘法相似度函数可以包括余弦相似度函数以及未来研究出来的乘法相似度函数,此处不作具体限定。其中,余弦相似度函数为:
Figure BDA0001888457090000041
其中,a为第一数据,b为第二数据,θ为第一数据和第二数据之间的夹角。
全同态相似度函数为包括加法运算以及乘法运算的相似度函数。具体地,全同态相似度函数满足sim=k1*a1+k2*a2+…+kn*an,其中,sim为第一明文数据和第二明文数据之间的相似度,n为大于0的整数,k1至kn为根据第一明文数据和第二明文数据计算得到的系数,a1至an为根据第一明文数据和第二明文数据计算得到的常数。全同态相似度函数可以包括N-gram相似度函数,Word2vec相似度函数,TF-IDF相似度函数,曼哈顿距离函数、皮尔逊相关系数函数、欧氏距离函数、Jaccard相似度函数以及未来研究出来的全同态相似度函数,此处不作具体限定。其中,欧氏距离函数、曼哈顿距离函数以及皮尔逊相关系数函数分别为:
欧氏距离函数为:
Figure BDA0001888457090000051
其中,x1,x2,…,xn为第一数据中的n个元素,y1,y2,…,yn为第二数据中的n个元素,d为第一数据和第二数据之间的欧氏距离。
曼哈顿距离函数为:
Figure BDA0001888457090000052
其中,x1,x2,…,xn为第一数据中的n个元素,y1,y2,…,yn为第二数据中的n个元素,d为第一数据和第二数据之间的曼哈顿距离。
皮尔逊相关系数函数为:
Figure BDA0001888457090000053
其中,
Figure BDA0001888457090000054
为x1,x2,…,xn的平均值,x1,x2,…,xn为第一数据中的n个元素,
Figure BDA0001888457090000055
为y1,y2,…,yn的平均值,y1,y2,…,yn为第二数据中的n个元素,
应理解,减法运算和除法运算都可以转变为加法和乘法的运算,因此,这里的加法运算是广义的加法运算,即,这里的加法运算包括“+”运算以及“-”运算,这里的乘法运算是广义的乘法运算,即,这里的乘法运算包括“*”运算以及“÷”运算。
为了解决背景技术中描述的技术问题,本申请提出了一种数据分析方法。下面将以第二数据为第一日志,第四数据为第二日志为例对本申请的数据分析方法进行详细的介绍。
第一日志存储在客户端,是客户端的信息系统在运行的过程中产生的日志文件。第一日志文件记录了客户端的信息系统在运行过程中产生的特征信息以及隐私信息。例如,第一日志中可以是“servic port eh2 ip 127.22.22.22conflict”,其中,“servicport**ip***conflict”是客户端的特征信息,用于表示客户端由于地址冲突而发生了故障,“eh2”和“127.22.22.22”是客户端的隐私信息,“eh2”用于表示客户端的端口为eh2,“127.22.22.22”用于表示客户端的IP地址为127.22.22.22。应理解,上述例子中仅仅以第一日志为地址冲突时生成的日志为例,在实际应用中,第一日志还可以是死机时生成的日志,系统找不到指定路径时产成的日志,或者系统无法打开文件时产成的日志等等,此处不作具体限定。
第二日志存储在服务器,是服务商模拟第一日志生成的日志文件,由于服务商预先可以知道由于地址发生冲突而发生故障的日志必然为“servic port**ip*.*.*.*conflict”形式,因此,服务商可以随意填入一个端口“180”以及IP地址“11.11.11.11”,从而得到第二日志“servic port 80 ip 11.11.11.11conflict”。可以理解,上述例子中以填入的端口“180”以及IP地址为“11.11.11.11”为例,在实际应用中,还可以随意填入端口“30”以及IP地址“12.34.56.78”等等,此处不作具体限定。另外,服务商除了可以模拟地址冲突时生成的第一日志生成第二日志之外,还可以模拟死机时生成的第一日志生成第二日志,模拟系统找不到指定路径时生成的第一日志生成第二日志等等,此处不作具体限定。
为了便于后续比较第一日志和第二日志的相似度,客户端可以通过转换函数将第一日志转换为第一向量,服务器也可以通过同样的转换函数将第二日志转换为第二向量。其中,转换函数可以是局部敏感函数,通常来说,局部敏感函数可以包括相似哈希(simhash)函数等等。局部敏感函数可以定义为:如果转换前的第一日志和第二日志是相似的,则转换后的第一向量和第二向量也是相似的。举个例子说明,如果
第一日志为“servic port eh2 ip 127.22.22.22conflict”
第二日志为“servic port 180 ip 11.11.11.11conflict”
则通过局部敏感函数转换后的结果为:
第一向量:10000100101011011111111001111100001001011001011
第二向量:10000100101011010111111001111100001101010001011
明显地,当第一日志和第二日志只有端口和IP地址不同时,通过局部敏感函数转换后的第一向量和第二向量只有3个比特是不相同的,具有高度的相似性。
由于第一日志和第二日志的长度太短,容易导致客户端和服务器通过局部敏感函数将第一日志和第二日志转换为第一向量以及第二向量时的误差过高,所以,客户端和服务器在将第一日志和第二日志转换为第一向量以及第二向量之前,客户端和服务器还可以分别通过相同的语义特征提取算函数将第一日志和第二日志处理为第一语义特征集合以及第二语义特征集合,然后,客户端和服务器再分别通过局部敏感函数将第一语义特征集合和第二语义特征集合分别转换为第一向量以及第二向量。其中,语义特征提取函数可以包括n-gram模型等等。举个例子说明,如果
第一日志为“servic port eh2ip 127.22.22.22conflict”
第二日志为“servic port 180ip 11.11.11.11conflict”
则通过语义特征提取函数转换后的结果为:
第一语义特征集合:{“ser”,“rvi”,“ice”,”e_p”,“por”,“rt_,“_et”,“th2”,“2_ip”,“172.22.22.22”,“_co”,”onf”,“fli”,”ict”};
第二语义特征集合:{“ser”,“rvi”,“ice”,”e_p”,“por”,“rt_,“_18”,“180”,“0_ip”,“11.11.11.11”,“_co”,”onf”,“fli”,”ict”};
明显地,提取后的第一语义特征集合和第二语义特征集合比提取前的第一日志和第二日志的长度要长,因此,客户端和服务器分别通过局部敏感函数将第一语义特征集合和第二语义特征集合分别转换为第一向量以及第二向量时,误差率会大大降低。
如图1所示,图1是本申请提供的一种数据分析方法的流程示意图。本申请的数据分析方法是以同态加密函数为乘法同态加密函数,相似度函数为余弦相似度函数为例进行说明。如图1所示,本申请的数据分析方法包括如下步骤:
S101:客户端生成公钥和私钥。以RSA函数为例,客户端可以通过以下方式生成公钥和私钥:
(1)任意选择两个质数p,q,并将p乘以q得到n。其中,为了提高破解的难度,p,q两个数不能太小,目前被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解。因此可以认为,1024位的RSA密钥基本安全,2048位的密钥极其安全。
n=p*q;
(2)求p-1和q-1的最小公倍数L。
L=lcm(p-1,q-1);
(3)求e,e必须满足两个条件:e是介乎于1和L之间的数,并且,e和L的最大公约数为1。即,
1<e<L;
gcd(e,L)=1;
(4)求d,并且,d、e和L之间必须满足以下关系:
1<d<L;
E*dmodL=1;
通过上述计算,就可以得到公钥(e,n)以及私钥(d,n)。应理解,上述例子仅仅是以RSA函数为例,其他的同态加密函数可以通过其他的方式生成公钥和私钥,此处不作具体限定。
S102:客户端根据第一向量生成第一数据,使用所述公钥(e,n)加密第一数据A,从而得到加密的第一数据E(A),其中,E()为乘法同态加密函数。其中,第一向量是第一日志转换而来的,具体请参阅上文。
在本申请具体的实施例中,客户端根据第一向量a生成的第一数据A。这里,第一数据A包括第一向量a和第一向量的向量长度的倒数1/|a|。其中,第一向量的长度可以根据以下公式计算得到:
Figure BDA0001888457090000071
其中,x1,x2,…,xn为第一向量a中的n个元素。
在本申请具体的实施例中,客户端可以通过如下公式加密第一向量a和第一向量的向量长度的倒数1/|a|,从而得到加密的第一数据E(a)以及E(1/|a|):
E(a)=aemod n
E(1/|a|)=(1/|a|)emod n
其中,a为所述第一向量,|a|为所述第一向量的向量长度,(e,n)为客户端生成的公钥。
S103:客户端将公钥以及加密的第一数据E(a)以及E(1/|a|)发送给服务器。相应地,服务器接收客户端发送的公钥以及加密的第一数据E(a)以及E(1/|a|)。
S104:服务器根据第二向量生成第三数据,使用所述公钥加密第三数据B,从而得到加密的第三数据E(B),其中,E()为乘法同态加密函数。其中,第二向量可以是第二日志转换而来的,具体请参见上文。
在本申请具体的实施例中,客户端根据第二向量b生成的第三数据B。这里,第三数据B包括第二向量b和第二向量的向量长度的倒数1/|b|。其中,第二向量的长度可以根据以下公式计算得到:
Figure BDA0001888457090000081
其中,y1,y2,…,yn为第一向量b中的n个元素。
在本申请具体的实施例中,客户端可以通过如下公式加密第二向量b和第二向量的向量长度的倒数1/|b|,从而得到加密的第三数据E(b)以及E(1/|b|):
E(b)=bemod n
E(1/|b|)=(1/|b|)emod n
其中,b为所述第二向量,|b|为所述第二向量的向量长度,(e,n)为客户端生成的公钥。
S105:服务器根据加密后的第一数据E(A)及加密后的第二数据E(B),得到加密后的第一数据和第三数据的相似度E(sim),其中,sim为所述第一数据和所述第三数据的相似度。
在本申请具体的实施例中,所述加密后的第一数据和第三数据的相似度E(sim)是根据以下公式确定的:
E(sim)=E(a)*E(b)*E(1/|a|)*E(1/|b|)
其中,a为第一向量,1/|a|为第一向量a的向量长度的倒数,b为由第二向量,1/|b|为第二向量b的向量长度的倒数。
在本申请具体的实施例中,上述公式可以根据乘法同态加密函数以及余弦相似度函数推导出来的,具体地:
Figure BDA0001888457090000082
根据乘法同态加密函数的性质,就可以有:
Figure BDA0001888457090000083
S106:服务器将加密后的第一数据和第三数据的相似度E(sim)发送给客户端。相应地,客户端接收服务器发送的加密后的第一数据和第三数据的相似度E(sim)。
S107:客户端通过私钥对所述加密后的第一数据和第三数据的相似度E(sim)进行解密,从而得到第一数据和第三数据的相似度sim。
在本申请具体的实施例中,客户端可以通过如下的公式对加密后的第一数据和第三数据的相似度E(sim)进行解密,从而得到第一数据和第三数据的相似度sim:
sim=[E(sim)]d mod n
其中,sim为第一数据和第三数据的相似度,(d,n)为私钥。
S108:客户端将第一数据和第三数据的相似度sim发送给服务器。相应地,服务器接收客户端发送的第一数据和第三数据的相似度sim。
S109:在第一数据和第三数据的相似度sim大于预设阈值的情况下,服务器确定第一向量和第二向量相似,并使用第二向量代替第一向量进行数据分析。
如图2所示,图2是本申请提供的一种数据分析方法的流程示意图。本申请的数据分析方法是以同态加密函数为全同态加密函数,相似度函数为欧氏距离函数为例进行说明。如图2所示,本申请的数据分析方法包括如下步骤:
S201:客户端生成公钥和私钥。
S202:客户端根据第一向量生成第一数据,使用所述公钥加密第一数据A,从而得到加密的第一数据E(A),其中,E()为全同态加密函数。
在本申请具体的实施例中,客户端根据第一向量a生成的第一数据A。这里,第一数据A包括x1,x2,…,xn
Figure BDA0001888457090000094
其中,x1,x2,…,xn为第一向量a中的n个元素,
Figure BDA0001888457090000095
分别为x1,x2,…,xn的平方。
在本申请具体的实施例中,客户端使用所述公钥加密x1,x2,…,xn,从而得到E(x1),E(x2),…,E(xn),客户端使用所述公钥加密xn
Figure BDA0001888457090000096
从而得到
Figure BDA0001888457090000097
Figure BDA0001888457090000098
S203:客户端将公钥以及加密的第一数据
Figure BDA0001888457090000099
E(x1),E(x2),…,E(xn)发送给服务器。相应地,服务器接收客户端发送的公钥以及加密的第一数据
Figure BDA00018884570900000910
Figure BDA00018884570900000911
E(x1),E(x2),…,E(xn)。
S204:服务器根据第二向量生成第三数据,使用所述公钥加密第三数据B,从而得到加密的第三数据E(B),其中,E()为全同态加密函数。
在本申请具体的实施例中,客户端根据第二向量b生成的第三数据B。这里,第三数据b包括y1,y2,…,yn
Figure BDA00018884570900000912
其中,y1,y2,…,yn为第二向量b中的n个元素,
Figure BDA00018884570900000913
分别为y1,y2,…,yn的平方。
在本申请具体的实施例中,客户端使用所述公钥加密y1,y2,…,yn,从而得到E(y1),E(y2),…,E(yn),使用所述公钥加密
Figure BDA00018884570900000914
从而得到
Figure BDA00018884570900000915
S205:服务器根据加密后的第一数据E(A)及加密后的第二数据E(B),得到加密后的第一数据和第三数据的相似度E(sim),其中,sim为所述第一数据和所述第三数据的相似度。
在本申请具体的实施例中,所述加密后的第一数据和第三数据的相似度E(sim)是根据以下公式确定的:
Figure BDA0001888457090000091
在本申请具体的实施例中,上述公式可以根据全同态加密函数以及欧氏距离函数推导出来的,具体地:
Figure BDA0001888457090000092
根据全同态加密函数的性质,就可以有:
Figure BDA0001888457090000093
S206:服务器将加密后的第一数据和第三数据的相似度E(sim)发送给客户端。相应地,客户端接收服务器发送的加密后的第一数据和第三数据的相似度E(sim)。
S207:客户端通过私钥对所述加密后的第一数据和第三数据的相似度E(sim)进行解密,从而得到第一数据和第三数据的相似度sim。
S208:客户端将第一数据和第三数据的相似度sim发送给服务器。相应地,服务器接收客户端发送的第一数据和第三数据的相似度sim。
S209:在第一数据和第三数据的相似度sim大于预设阈值的情况下,服务器确定第一向量和第二向量相似,并使用第二向量代替第一向量进行数据分析。
如图3所示,图3是本申请提供的一种数据分析方法的流程示意图。本申请的数据分析方法是以同态加密函数为全同态加密函数,相似度函数为曼哈顿距离函数为例进行说明。如图3所示,本申请的数据分析方法包括如下步骤:
S301:客户端生成公钥和私钥。
S302:客户端根据第一向量生成第一数据,使用所述公钥加密第一数据A,从而得到加密的第一数据E(A),其中,E()为全同态加密函数。
在本申请具体的实施例中,客户端根据第一向量a生成的第一数据A。这里,第一数据A包括
Figure BDA0001888457090000102
其中,x1,x2,…,xn为第一向量a中的n个元素,
Figure BDA0001888457090000103
Figure BDA0001888457090000104
分别为x1,x2,…,xn的平方。
在本申请具体的实施例中,客户端使用所述公钥加密xn
Figure BDA0001888457090000105
从而得到
Figure BDA0001888457090000106
Figure BDA0001888457090000107
S303:客户端将公钥以及加密的第一数据
Figure BDA0001888457090000108
发送给服务器。相应地,服务器接收客户端发送的公钥以及加密的第一数据
Figure BDA0001888457090000109
S304:服务器根据第二向量生成第三数据,使用所述公钥加密第三数据B,从而得到加密的第三数据E(B),其中,E()为全同态加密函数。
在本申请具体的实施例中,客户端根据第二向量b生成的第三数据B。这里,第三数据b包括
Figure BDA00018884570900001010
其中,y1,y2,…,yn为第二向量b中的n个元素,
Figure BDA00018884570900001011
Figure BDA00018884570900001012
分别为y1,y2,…,yn的平方。
在本申请具体的实施例中,客户端使用所述公钥加密
Figure BDA00018884570900001013
从而得到
Figure BDA00018884570900001014
Figure BDA00018884570900001015
S305:服务器根据加密后的第一数据E(A)及加密后的第二数据E(B),得到加密后的第一数据和第三数据的相似度E(sim),其中,sim为所述第一数据和所述第三数据的相似度。
在本申请具体的实施例中,所述加密后的第一数据和第三数据的相似度E(sim)是根据以下公式确定的:
Figure BDA0001888457090000101
其中,a为第一向量,1/|a|为第一向量a的向量长度的倒数,b为由第二向量,1/|b|为第二向量b的向量长度的倒数。
在本申请具体的实施例中,上述公式可以根据全同态加密函数以及曼哈顿距离函数推导出来的,具体地:
Figure BDA0001888457090000111
根据全同态加密函数的性质,就可以有:
Figure BDA0001888457090000112
S306:服务器将加密后的第一数据和第三数据的相似度E(sim)发送给客户端。相应地,客户端接收服务器发送的加密后的第一数据和第三数据的相似度E(sim)。
S307:客户端通过私钥对所述加密后的第一数据和第三数据的相似度E(sim)进行解密,从而得到第一数据和第三数据的相似度sim。
S308:客户端将第一数据和第三数据的相似度sim发送给服务器。相应地,服务器接收客户端发送的第一数据和第三数据的相似度sim。
S309:在第一数据和第三数据的相似度sim大于预设阈值的情况下,服务器确定第一向量和第二向量相似,并使用第二向量代替第一向量进行数据分析。
如图4所示,图4是本申请提供的一种数据分析方法的流程示意图。本申请的数据分析方法是以同态加密函数为全同态加密函数,相似度函数为皮尔逊相关系数函数为例进行说明。如图4所示,本申请的数据分析方法包括如下步骤:
S401:客户端生成公钥和私钥。
S402:客户端根据第一向量生成第一数据,使用所述公钥加密第一数据A,从而得到加密的第一数据E(A),其中,E()为全同态加密函数。
在本申请具体的实施例中,客户端根据第一向量a生成的第一数据A。这里,第一数据A包括
Figure BDA0001888457090000113
x1,x2,…,xn
Figure BDA0001888457090000114
其中,x1,x2,…,xn为第一向量a中的n个元素,
Figure BDA0001888457090000115
分别为x1,x2,…,xn的平方,
Figure BDA0001888457090000116
为x1,x2,…,xn的平均值,
Figure BDA0001888457090000117
Figure BDA0001888457090000118
的平方。
在本申请具体的实施例中,客户端使用所述公钥加密xn
Figure BDA0001888457090000119
从而得到
Figure BDA00018884570900001110
客户端使用所述公钥加密x1,x2,…,xn
Figure BDA00018884570900001111
从而得到E(x1),E(x2),…,E(xn),
Figure BDA00018884570900001112
S403:客户端将公钥以及加密的第一数据
Figure BDA00018884570900001113
E(x1),E(x2),…,E(xn),
Figure BDA00018884570900001114
发送给服务器。相应地,服务器接收客户端发送的公钥以及加密的第一数据
Figure BDA00018884570900001115
E(x1),E(x2),…,E(xn),
Figure BDA00018884570900001116
S404:服务器根据第二向量生成第三数据,使用所述公钥加密第三数据B,从而得到加密的第三数据E(B),其中,E()为全同态加密函数。
在本申请具体的实施例中,客户端根据第二向量b生成的第三数据B。这里,第三数据B包括
Figure BDA00018884570900001117
y1,y2,…,yn
Figure BDA00018884570900001118
其中,y1,y2,…,yn为第二向量b中的n个元素,
Figure BDA00018884570900001119
分别为y1,y2,…,yn的平方,
Figure BDA00018884570900001120
为y1,y2,…,yn的平均值,
Figure BDA00018884570900001121
Figure BDA00018884570900001122
的平方。
在本申请具体的实施例中,客户端使用所述公钥加密yn
Figure BDA00018884570900001123
从而得到
Figure BDA00018884570900001124
客户端使用所述公钥加密y1,y2,…,yn
Figure BDA00018884570900001125
从而得到E(y1),E(y2),…,E(yn),
Figure BDA0001888457090000124
S405:服务器根据加密后的第一数据E(A)及加密后的第二数据E(B),得到加密后的第一数据和第三数据的相似度E(sim),其中,sim为所述第一数据和所述第三数据的相似度。
在本申请具体的实施例中,所述加密后的第一数据和第三数据的相似度E(sim)是根据以下公式确定的:
Figure BDA0001888457090000121
其中,a为第一向量,1/|a|为第一向量a的向量长度的倒数,b为由第二向量,1/|b|为第二向量b的向量长度的倒数。
在本申请具体的实施例中,上述公式可以根据全同态加密函数以及皮尔逊相关系数推导出来的,具体地:
Figure BDA0001888457090000122
根据全同态加密函数的性质,就可以有:
Figure BDA0001888457090000123
S406:服务器将加密后的第一数据和第三数据的相似度E(sim)发送给客户端。相应地,客户端接收服务器发送的加密后的第一数据和第三数据的相似度E(sim)。
S407:客户端通过私钥对所述加密后的第一数据和第三数据的相似度E(sim)进行解密,从而得到第一数据和第三数据的相似度sim。
S408:客户端将第一数据和第三数据的相似度sim发送给服务器。相应地,服务器接收客户端发送的第一数据和第三数据的相似度sim。
S409:在第一数据和第三数据的相似度sim大于预设阈值的情况下,服务器确定第一向量和第二向量相似,并使用第二向量代替第一向量进行数据分析。
应理解,上述日志文件的故障分析应用场景仅仅是一种举例,在实际应用中,本申请可以应用到任何一种需要将包含隐私信息文件发送给其他人进行数据分析的应用场景中,此处不作具体限定。在实际应用中,只需要将该应用场景下的文件分别转换为第一向量以及第二向量即可。
本申请实施例提供了一种通信系统。本实施例的通信系统包括服务器和客户端,其中,服务器和客户端之间可以互相进行通信。
如图5所示,服务器110包括一个或多个处理器111、通信接口112和存储器113。其中,处理器111、通信接口112和存储器113之间可以通过总线124连接。
处理器111包括一个或者多个通用处理器,其中,通用处理器可以是能够处理电子指令的任何类型的设备,包括中央处理器(Central Processing Unit,CPU)、微处理器、微控制器、主处理器、控制器以及ASIC(Application Specific Integrated Circuit,专用集成电路)等等。它能够是仅用于服务器110的专用处理器或者能够与其它服务器110共享。处理器111执行各种类型的数字存储指令,例如存储在存储器113中的软件或者固件程序,它能使服务器110提供较宽的多种服务。例如,处理器111能够执行程序或者处理数据,以执行本文讨论的方法的至少一部分。
通信接口112可以为有线接口(例如以太网接口),用于与客户端进行通信。当通信接口112为有线接口时,通信接口112可以采用TCP/IP之上的协议族,例如,RAAS协议、远程函数调用(Remote Function Call,RFC)协议、简单对象访问协议(Simple Object AccessProtocol,SOAP)协议、简单网络管理协议(Simple Network Management Protocol,SNMP)协议、公共对象请求代理体系结构(Common Object Request Broker Architecture,CORBA)协议以及分布式协议等等。
存储器113可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)存储器还可以包括上述种类的存储器的组合。存储器可以存储同态加密函数以及相似度函数。其中,同态加密函数可以包括加法同态加密函数、乘法同态加密函数以及全同态加密函数等等中的一种或者多种。相似度函数可以包括加法相似度函数、乘法相似度函数以及全同态相似度函数中的一种或者多种。
可以理解,上述服务器可以用于执行如图1至图4所示的数据分析方法中的服务器所执行的步骤,具体请参阅图1至图4以及相关描述。
如图6所示,客户端210包括一个或多个处理器211、通信接口212和存储器213。其中,处理器211、通信接口212和存储器213之间可以通过总线124连接。
处理器211包括一个或者多个通用处理器,其中,通用处理器可以是能够处理电子指令的任何类型的设备,包括中央处理器(Central Processing Unit,CPU)、微处理器、微控制器、主处理器、控制器以及ASIC(Application Specific Integrated Circuit,专用集成电路)等等。它能够是仅用于客户端的专用处理器或者能够与其它服务器210共享。处理器211执行各种类型的数字存储指令,例如存储在存储器213中的软件或者固件程序,它能使客户端提供较宽的多种服务。例如,处理器211能够执行程序或者处理数据,以执行本文讨论的方法的至少一部分。
通信接口212可以为有线接口(例如以太网接口),用于与服务器或用户进行通信。当通信接口212为有线接口时,通信接口112可以采用TCP/IP之上的协议族,例如,RAAS协议、远程函数调用(Remote Function Call,RFC)协议、简单对象访问协议(Simple ObjectAccess Protocol,SOAP)协议、简单网络管理协议(Simple Network ManagementProtocol,SNMP)协议、公共对象请求代理体系结构(Common Object Request BrokerArchitecture,CORBA)协议以及分布式协议等等。
存储器213可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)存储器还可以包括上述种类的存储器的组合。存储器可以存储同态加密函数以及相似度函数。其中,同态加密函数可以包括加法同态加密函数、乘法同态加密函数以及全同态加密函数等等中的一种或者多种。
需要说明的是,服务器中存储器存储的同态加密函数和客户端中存储的同态函数是相同的。例如,当服务器中存储的同态加密函数为RSA函数时,客户端存储的同态加密函数也是RSA函数。
可以理解,上述客户端可以用于执行如图1至图4所示的数据分析方法中的客户端所执行的步骤,具体请参阅图1至图4以及相关描述。
如图7所示,图7是本申请实施例提供了一种通信系统的结构示意图。本实施例的通信系统包括服务器和客户端,其中,服务器和客户端之间可以互相进行通信。
图7中的服务器包括接收模块310、处理模块320以及发送模块330。
所述接收模310块用于接收客户端发送的公钥和及用所述公钥加密的第一数据E(A),其中,E()为同态加密函数,A为所述第一数据,所述第一数据为由第二数据生成的;
所述处理模块320用于通过所述公钥对所述服务器中的第三数据进行加密,得到加密后的第三数据E(B),其中,B为所述第三数据,所述第三数据为由第四数据生成的;
所述处理模块320用于根据E(A)及E(B),得到加密后的第一数据和第三数据的相似度E(sim),其中,sim为所述第一数据和所述第三数据的相似度;
所述发送模块330用于将所述加密后的第一数据和第三数据的相似度E(sim)发送至客户端进行解密,得到解密后的第一数据和第三数据的相似度sim;
所述接收模块310用于接收客户端发送的解密后的第一数据和第三数据的相似度sim;
所述处理模块320用于在所述解密后的第一数据和第三数据的相似度sim大于预设阈值的情况下,确定所述第二数据和所述第四数据相似,并使用第四数据代替所述第二数据进行数据分析。
上述服务器用于执行如图1至图4所示的数据分析方法中的服务器所执行的步骤,具体请参阅图1至图4以及相关描述。
图7中的客户端:发送模块410、接收模块420以及处理模块430。
所述发送模块410用于向服务器发送的公钥和及用所述公钥加密的第一数据E(A),其中,E()为同态加密函数,A为所述第一数据,所述第一数据为由第二数据生成的;
所述接收模块420用于接收服务器发送的加密后的第一数据和第三数据的相似度E(sim),其中,sim为所述第一数据和所述第三数据的相似度,所述加密后的第一数据和第三数据的相似度E(sim)是服务器根据加密后的第一数据E(A)以及加密后的第三数据E(B)确定的,B为所述第三数据,所述第三数据为由第四数据生成的;
所述处理模块430用于用私钥对所述加密后的第一数据和第三数据的相似度E(sim)进行解密,得到解密后的第一数据和第三数据的相似度sim;
所述发送模块410用于向服务器发送解密后的第一数据和第三数据的相似度sim。
上述客户端用于执行如图1至图4所示的数据分析方法中的客户端所执行的步骤,具体请参阅图1至图4以及相关描述。
上述能够不需要将明文的第二数据和第四数据发送给服务器,服务器也能确定第二数据和第四数据之间的相似度,并使用不存在隐私信息的第四数据代替存在隐私信息的第四数据进行分析,从而实现了在不泄露用户隐私的情况下,将数据发送给他人进行数据分析。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态存储盘Solid State Disk(SSD))等。

Claims (18)

1.一种数据分析方法,其特征在于,由服务器执行,包括:
接收客户端发送的公钥和及用所述公钥加密的第一数据E(A),其中,E()为同态加密函数,A为所述第一数据,所述第一数据为由第二数据生成的;
通过所述公钥对所述服务器中的第三数据进行加密,得到加密后的第三数据E(B),其中,B为所述第三数据,所述第三数据为由第四数据生成的;
根据E(A)及E(B),得到加密后的第一数据和第三数据的相似度E(sim),其中,sim为所述第一数据和所述第三数据的相似度;
将所述加密后的第一数据和第三数据的相似度E(sim)发送至客户端进行解密,得到解密后的第一数据和第三数据的相似度sim;
接收客户端发送的解密后的第一数据和第三数据的相似度sim;
在所述解密后的第一数据和第三数据的相似度sim大于预设阈值的情况下,确定所述第二数据和所述第四数据相似,并使用第四数据代替所述第二数据进行数据分析。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将第四数据通过语义特征提取算法转换为语义特征集合;
将所述语义特征集合通过转换算法转换为第三数据,其中,所述转换算法包括simhash算法。
3.根据权利要求1或2所述的方法,其特征在于,所述加密后的第一数据E(A)包括E(a)以及E(1/|a|),其中,a为由第二数据转换的向量,1/|a|为向量a的向量长度的倒数,所述加密后的第三数据E(B)包括E(b)以及E(1/|b|),其中,b为由第四数据转换的向量,1/|b|为向量b的向量长度的倒数,
根据以下公式计算所述加密后的第一数据和第三数据的相似度E(sim):
E(sim)=E(a)*E(b)*E(1/|a|)*E(1/|b|)。
4.根据权利要求1或2所述的方法,其特征在于,所述加密后的第一数据E(A)包括
Figure FDA0001888457080000011
Figure FDA0001888457080000012
E(x1),E(x2),...,E(xn),其中,
Figure FDA0001888457080000013
分别为x1,x2,...,xn的平方,x1,x2,...,xn为a中的n个元素,a为由第二数据转换的向量,所述第二数据E(B)包括
Figure FDA0001888457080000014
E(y1),E(y2),...,E(yn),其中,
Figure FDA0001888457080000015
Figure FDA0001888457080000016
分别为y1,y2,...,yn的平方,y1,y2,...,yn为b中的n个元素,b为由第四数据转换的向量,
根据以下公式确定加密后的第一数据和第三数据的相似度E(sim):
Figure FDA0001888457080000017
5.根据权利要求1或2所述的方法,其特征在于,所述加密后的第一数据E(A)包括
Figure FDA0001888457080000018
Figure FDA0001888457080000019
其中,
Figure FDA00018884570800000110
分别为x1,x2,...,xn的平方,x1,x2,...,xn为a中的n个元素,a为由第二数据转换的向量,所述第二数据E(B)包括
Figure FDA0001888457080000021
Figure FDA0001888457080000022
其中,
Figure FDA0001888457080000023
分别为y1,y2,...,yn的平方,y1,y2,...,yn为b中的n个元素,b为由第四数据转换的向量,
根据以下公式确定加密后的第一数据和第三数据的相似度E(sim):
Figure FDA0001888457080000024
6.根据权利要求1或2所述的方法,其特征在于,所述加密后的第一数据E(A)包括
Figure FDA0001888457080000025
Figure FDA0001888457080000026
Figure FDA0001888457080000027
E(x1),E(x2),...,E(xn),
Figure FDA0001888457080000028
其中,
Figure FDA0001888457080000029
分别为x1,x2,...,xn的平方,x1,x2,...,xn为a中的n个元素,
Figure FDA00018884570800000210
为x1,x2,...,xn的平均值,
Figure FDA00018884570800000211
Figure FDA00018884570800000212
的平方,a为由第二数据转换的向量,所述第二数据E(B)包括
Figure FDA00018884570800000213
Figure FDA00018884570800000214
Figure FDA00018884570800000215
E(y1),E(y2),...,E(yn),
Figure FDA00018884570800000216
其中,
Figure FDA00018884570800000217
分别为y1,y2,...,yn的平方,y1,y2,...,yn为b中的n个元素,
Figure FDA00018884570800000218
为y1,y2,...,yn的平均值,
Figure FDA00018884570800000219
Figure FDA00018884570800000220
的平方,b为由第四数据转换的向量,
根据以下公式确定加密后的第一数据和第三数据的相似度E(sim):
Figure FDA00018884570800000221
7.一种相似数据确定方法,其特征在于,由客户端执行,包括:
向服务器发送的公钥和及用所述公钥加密的第一数据E(A),其中,E()为同态加密函数,A为所述第一数据,所述第一数据为由第二数据生成的;
接收服务器发送的加密后的第一数据和第三数据的相似度E(sim),其中,sim为所述第一数据和所述第三数据的相似度,所述加密后的第一数据和第三数据的相似度E(sim)是服务器根据加密后的第一数据E(A)以及加密后的第三数据E(B)确定的,B为所述第三数据,所述第三数据为由第四数据生成的;
用私钥对所述加密后的第一数据和第三数据的相似度E(sim)进行解密,得到解密后的第一数据和第三数据的相似度sim;
向服务器发送解密后的第一数据和第三数据的相似度sim。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
将第二数据通过语义特征提取算法转换为语义特征集合;
将所述语义特征集合通过转换算法转换为第一数据,其中,所述转换算法包括simhash算法。
9.根据权利要求7或8所述的方法,其特征在于,所述加密后的第一数据E(A)包括E(a)以及E(1/|a|),其中,a为由第二数据转换的向量,1/|a|为向量a的向量长度的倒数,所述加密后的第三数据E(B)包括E(b)以及E(1/|b|),其中,b为由第四数据转换的向量,1/|b|为向量b的向量长度的倒数,
所述加密后的第一数据和第三数据的相似度E(sim)是根据以下公式确定的:
E(sim)=E(a)*E(b)*E(1/|a|)*E(1/|b|)。
10.一种服务器,其特征在于,包括接收模块、处理模块、以及发送模块,
所述接收模块用于接收客户端发送的公钥和及用所述公钥加密的第一数据E(A),其中,E()为同态加密函数,A为所述第一数据,所述第一数据为由第二数据生成的;
所述处理模块用于通过所述公钥对所述服务器中的第三数据进行加密,得到加密后的第三数据E(B),其中,B为所述第三数据,所述第三数据为由第四数据生成的;
所述处理模块用于根据E(A)及E(B),得到加密后的第一数据和第三数据的相似度E(sim),其中,sim为所述第一数据和所述第三数据的相似度;
所述发送模块用于将所述加密后的第一数据和第三数据的相似度E(sim)发送至客户端进行解密,得到解密后的第一数据和第三数据的相似度sim;
所述接收模块用于接收客户端发送的解密后的第一数据和第三数据的相似度sim;
所述处理模块用于在所述解密后的第一数据和第三数据的相似度sim大于预设阈值的情况下,确定所述第二数据和所述第四数据相似,并使用第四数据代替所述第二数据进行数据分析。
11.根据权利要求10所述的服务器,其特征在于,
所述处理模块用于将第四数据通过语义特征提取算法转换为语义特征集合;
所述处理模块用于将所述语义特征集合通过转换算法转换为第三数据,其中,所述转换算法包括simhash算法。
12.根据权利要求10或11所述的服务器,其特征在于,所述加密后的第一数据E(A)包括E(a)以及E(1/|a|),其中,a为由第二数据转换的向量,1/|a|为向量a的向量长度的倒数,所述加密后的第三数据E(B)包括E(b)以及E(1/|b|),其中,b为由第四数据转换的向量,1/|b|为向量b的向量长度的倒数,
所述处理模块用于根据以下公式计算所述加密后的第一数据和第三数据的相似度E(sim):
E(sim)=E(a)*E(b)*E(1/|a|)*E(1/|b|)。
13.根据权利要求10或11所述的服务器,其特征在于,所述加密后的第一数据E(A)包括
Figure FDA0001888457080000031
E(x1),E(x2),...,E(xn),其中,
Figure FDA0001888457080000032
分别为x1,x2,...,xn的平方,x1,x2,...,xn为a中的n个元素,a为由第二数据转换的向量,所述第二数据E(B)包括
Figure FDA0001888457080000033
E(y1),E(y2),...,E(yn),其中,
Figure FDA0001888457080000034
Figure FDA0001888457080000035
分别为y1,y2,...,yn的平方,y1,y2,...,yn为b中的n个元素,b为由第四数据转换的向量,
所述处理模块用于根据以下公式确定加密后的第一数据和第三数据的相似度E(sim):
Figure FDA0001888457080000041
14.根据权利要求10或11所述的服务器,其特征在于,所述加密后的第一数据E(A)包括
Figure FDA0001888457080000042
其中,
Figure FDA0001888457080000043
分别为x1,x2,...,xn的平方,x1,x2,...,xn为a中的n个元素,a为由第二数据转换的向量,所述第二数据E(B)包括
Figure FDA0001888457080000044
Figure FDA0001888457080000045
其中,
Figure FDA0001888457080000046
分别为y1,y2,...,yn的平方,y1,y2,...,yn为b中的n个元素,b为由第四数据转换的向量,
所述处理模块用于根据以下公式确定加密后的第一数据和第三数据的相似度E(sim):
Figure FDA0001888457080000047
15.根据权利要求10或11所述的服务器,其特征在于,所述加密后的第一数据E(A)包括
Figure FDA0001888457080000048
Figure FDA0001888457080000049
E(x1),E(x2),...,E(xn),
Figure FDA00018884570800000410
其中,
Figure FDA00018884570800000411
Figure FDA00018884570800000412
分别为x1,x2,...,xn的平方,x1,x2,...,xn为a中的n个元素,
Figure FDA00018884570800000413
为x1,x2,...,xn的平均值,
Figure FDA00018884570800000414
Figure FDA00018884570800000415
的平方,a为由第二数据转换的向量,所述第二数据E(B)包括
Figure FDA00018884570800000416
Figure FDA00018884570800000417
Figure FDA00018884570800000418
E(y1),E(y2),...,E(yn),
Figure FDA00018884570800000419
其中,
Figure FDA00018884570800000420
分别为y1,y2,...,yn的平方,y1,y2,...,yn为b中的n个元素,
Figure FDA00018884570800000421
为y1,y2,...,yn的平均值,
Figure FDA00018884570800000422
Figure FDA00018884570800000423
的平方,b为由第四数据转换的向量,
所述处理模块用于根据以下公式确定加密后的第一数据和第三数据的相似度E(sim):
Figure FDA00018884570800000424
16.一种客户端,其特征在于,包括:发送模块、接收模块以及处理模块,
所述发送模块用于向服务器发送的公钥和及用所述公钥加密的第一数据E(A),其中,E()为同态加密函数,A为所述第一数据,所述第一数据为由第二数据生成的;
所述接收模块用于接收服务器发送的加密后的第一数据和第三数据的相似度E(sim),其中,sim为所述第一数据和所述第三数据的相似度,所述加密后的第一数据和第三数据的相似度E(sim)是服务器根据加密后的第一数据E(A)以及加密后的第三数据E(B)确定的,B为所述第三数据,所述第三数据为由第四数据生成的;
所述处理模块用于用私钥对所述加密后的第一数据和第三数据的相似度E(sim)进行解密,得到解密后的第一数据和第三数据的相似度sim;
所述发送模块用于向服务器发送解密后的第一数据和第三数据的相似度sim。
17.根据权利要求16所述的客户端,其特征在于,
所述处理模块用于将第二数据通过语义特征提取算法转换为语义特征集合;
所述处理模块用于将所述语义特征集合通过转换算法转换为第一数据,其中,所述转换算法包括simhash算法。
18.根据权利要求16或17所述的客户端,其特征在于,所述加密后的第一数据E(A)包括E(a)以及E(1/|a|),其中,a为由第二数据转换的向量,1/|a|为向量a的向量长度的倒数,所述加密后的第三数据E(B)包括E(b)以及E(1/|b|),其中,b为由第四数据转换的向量,1/|b|为向量b的向量长度的倒数,
所述加密后的第一数据和第三数据的相似度E(sim)是根据以下公式确定的:
E(sim)=E(a)*E(b)*E(1/|a|)*E(1/|b|)。
CN201811459980.6A 2018-11-30 2018-11-30 数据分析方法、设备以及系统 Active CN109861964B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811459980.6A CN109861964B (zh) 2018-11-30 2018-11-30 数据分析方法、设备以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811459980.6A CN109861964B (zh) 2018-11-30 2018-11-30 数据分析方法、设备以及系统

Publications (2)

Publication Number Publication Date
CN109861964A CN109861964A (zh) 2019-06-07
CN109861964B true CN109861964B (zh) 2021-10-15

Family

ID=66890591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811459980.6A Active CN109861964B (zh) 2018-11-30 2018-11-30 数据分析方法、设备以及系统

Country Status (1)

Country Link
CN (1) CN109861964B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637174B (zh) * 2020-12-16 2022-10-21 百度在线网络技术(北京)有限公司 数据相关度计算方法、装置、电子设备和存储介质
CN113382021B (zh) * 2021-08-11 2021-10-29 北京开科唯识技术股份有限公司 一种金融数据处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106161405A (zh) * 2015-04-21 2016-11-23 上海交通大学 基于同态加密机制的隐私可保护信息安全计算实现方法
CN107147484A (zh) * 2017-05-12 2017-09-08 南京邮电大学 一种面向隐私保护的浮点数全同态加密方法
CN108519983A (zh) * 2018-02-05 2018-09-11 中国科学院信息工程研究所 一种基于潜层语义分析的安全的文档相似性计算方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10303893B2 (en) * 2015-12-14 2019-05-28 Panasonic Intellectual Property Corporation Of America Search method, search device, search system, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106161405A (zh) * 2015-04-21 2016-11-23 上海交通大学 基于同态加密机制的隐私可保护信息安全计算实现方法
CN107147484A (zh) * 2017-05-12 2017-09-08 南京邮电大学 一种面向隐私保护的浮点数全同态加密方法
CN108519983A (zh) * 2018-02-05 2018-09-11 中国科学院信息工程研究所 一种基于潜层语义分析的安全的文档相似性计算方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向云存储的基于全同态密码技术的文档相似度计算方法;江小平、张巍等;《计算机工程与科学》;20171030;第39卷(第10期);第1808-1809页 *

Also Published As

Publication number Publication date
CN109861964A (zh) 2019-06-07

Similar Documents

Publication Publication Date Title
JP7137707B2 (ja) キー管理方法、クライアントおよびプログラム
Liu et al. Efficient and privacy-preserving outsourced calculation of rational numbers
Liu et al. An efficient privacy-preserving outsourced calculation toolkit with multiple keys
CN110089071B (zh) 安全的分布式数据处理
US9264221B2 (en) Systems and methods for faster public key encryption using the associated private key portion
Davidson et al. Frodopir: Simple, scalable, single-server private information retrieval
CN111431705B (zh) 一种适用于可搜索加密的密码逆向防火墙方法
Jabbar et al. Using fully homomorphic encryption to secure cloud computing
JP6556955B2 (ja) 通信端末、サーバ装置、プログラム
CN115065457B (zh) 数据查询方法及装置
US20140095860A1 (en) Architecture for cloud computing using order preserving encryption
CN111404952B (zh) 变电站数据加密传输方法、装置、计算机设备和存储介质
El Bouchti et al. Encryption as a service for data healthcare cloud security
CN116488919B (zh) 一种数据处理方法、通信节点及存储介质
CN109861964B (zh) 数据分析方法、设备以及系统
US11233646B2 (en) Searchable encryption method
JP7229778B2 (ja) 鍵管理システム及び方法
CN107852324B (zh) 用于加密消息的方法和加密节点
Gupta et al. Compendium of data security in cloud storage by applying hybridization of encryption algorithm
US20210226791A1 (en) Encryption system, encryption apparatus, decryption apparatus, encryption method, decryption method, and program
CN113824713B (zh) 一种密钥生成方法、系统及存储介质
JP6563857B2 (ja) コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法、プログラム
Chavan et al. Secure CRM cloud service using RC5 algorithm
Waziri et al. Big data analytics and data security in the cloud via fully homomorphic encryption
CN112507349A (zh) 数据加密存储、加密搜索、应用的方法及其相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant