隐私保护下的向量相似性判断方法与流程

文档序号:12490846阅读:333来源:国知局
隐私保护下的向量相似性判断方法与流程

本发明涉及在隐私保护下的向量相似性判断方法。



背景技术:

在大数据时代,数据往往是被外包给第三方代理云的。然而在这个过程中用户的数据可能隐含一些敏感信息,这直接使得隐私数据有泄漏的可能。解决这个问题的一种最直接的方式就是将数据加密之后发送到服务器端,然后服务器端在密文下实现机器学习,完成相关的数据挖掘算法。但是在这个过程中是比较困难的,比如实现密文下的比较。目前实现密文比较的方案都是基于整数密文的比较,从目前已有的方案来看效率是很低的。而在实际应用场景中,某些事物的特征往往可以用特征向量来表征。而在这个过程中,需要比较的往往是向量的某些属性,比如夹角、模长、內积等等。比如基于生物特征的认证是通过用户的生物特征,例如指纹、虹膜、DNA等来识别用户的身份。首先用户录入其生物特征作为模板,当用户要登录系统,需要提供其生物特征和模板进行比对,如果足够相似,则用户通过系统的认证。另一方面,用户的生物特征又事关用户的隐私,需要对其保护。

在表征两个向量之间的相似性的时候,可以用欧氏距离来度量两者之间的相似性。在已有模板特征向量V=(V1,…,Vl)和用户认证时的特征向量W=(W1,…,Wl)中的各个坐标尽可能多的匹配,来返回两个向量的相似性。一种最常用的方法是计算两个向量的欧式距离<V,W>=∑i(Vi-Wi)2,距离小者更相似。为了保护用户的隐私,无论是向量V和向量W都应该加密。然而加密限制了数据的使用,服务器很难采用传统的加密方法来比较哪两个向量的欧氏距离更小。而全同态加密(Fully Homomorphic Encryption,FHE)在不解密的情况下能够直接基于密文计算。于是一种可能的解决思路是使用向量的同态加密的方法来安全计算两个密文欧氏距离:<V',W'>,用X'表示对X的加密。但是传统的全同态加密都是基于整数的,它们对于向量的操作都是对向量的单维进行操作,效率极低。

除此之外,还可以使用內积来表征两个向量之间的相似性。通过已有模板特征向量V=(V1,…,Vl)和用户认证时的特征向量W=(W1,…,Wl),来返回两个向量的相似性分数。我们可以计算两个向量的內积<V,W>=∑iVi*Wi,距离大者更相似。同样为了保护用户的隐私,无论是向量V和向量W都应该加密。同样的在密文下比较向量內积是困难的。

从实验结果来看,目前的加密方案在对单维数据加密时是很快的,但对于乘法的同态运算需要计算的双方多次交互。而在计算欧式距离或者向量內积的时候涉及到多次的乘法运算,这使得现有方法的效率很低。其次,对于密文的比较的处理涉及到非常复杂的计算,从已有的实验结果来看,效率远远低于明文下的计算速度。



技术实现要素:

本发明提供的隐私保护下的向量相似性判断方法,在不公开向量每个维度的值的前提下,仍然可以通过比较向量的模长来判断向量之间的相似性。

本发明是在保证实数向量自身安全性的前提下,公开或者部分公开向量的模长以满足比较的需求。因为相对于向量的每个维度的值来说,向量模长的隐私性没有那么强,而模长对于向量的比较是十分重要的,因此可以牺牲向量模长的隐私性来换取减小向量密文下比较的复杂度。

其中基于向量伸缩变换的隐私保护下的向量相似性判断方法,包括:

A.接收两个标准向量x1和x2,以及接收待查询向量x3;

B.通过L=λx+ex对所述两个标准向量x1和x2和待查询向量x3进行伸缩,得到两个标准向量x1和x2对应的两个标准输出向量L1和L2,以及待查询向量x3的待查询输出向量L3,其中L为输出向量,λ为接收的大整数,x为接收的向量,ex为与向量x对应的服从期望μ=0的高斯分布的噪声向量;

C.设置误差阈值d,且d服从期望μ=2λ的高斯分布,并分别计算||L1-L3||和||L2-L3||;

D.计算(||L1-L3||-||L2-L3||)与误差阈值d的大小关系,确定待查询向量x3与标准向量x1或标准向量x2相似。

对于两个向量来说,同时伸缩相同的倍数,其模长的相对大小是不变的,考虑到安全性,加入了噪声向量ex,通过L=λx+ex对接收的各向量进行伸缩,x为明文向量。在比较的时候用L的模长来表示λx的模长。由于向量x是归一化处理之后的,因此用向量L表示λx的模长误差约2/λ,当λ足够大时,误差是足够小的。

进一步的,由于上述方法中是存在误差的,因此根据高斯分布设置误差阈值d后,步骤D的一种具体方式为:

如果(||L1-L3||-||L2-L3||)>d,则待查询向量x3与标准向量x2相似;

如果(||L1-L3||-||L2-L3||)<-d,则待查询向量x3与标准向量x1相似;

如果-d≤(||L1-L3||-||L2-L3||)≤d,则待查询向量x3与标准向量x1和标准向量x2的相似度相同。

本发明还提供了一种基于向量正交变换的隐私保护下的向量相似性判断方法,包括:

A.接收两个标准向量x1和x2、正交矩阵P、以及接收待查询向量x3;

B.通过L=Px对所述两个标准向量x1和x2和待查询向量x3进行正交变换,得到两个标准向量x1和x2对应的两个标准输出向量L1和L2,以及待查询向量x3的待查询输出向量L3,其中L为输出向量,x为接收的向量;

C.分别计算||L1-L3||和||L2-L3||;

D.计算(||L1-L3||-||L2-L3||)与0之间的大小关系,确定待查询向量x3与标准向量x1或标准向量x2相似。

正交变换不会改变向量的模长,且能保证模长和內积等的同态性。正交矩阵定义是:若ATA=I或AAT=I,则A或AT称为正交矩阵。于是可以作正交变换L=Px,P为正交矩阵。由于该方法是没有误差的,因此其判断的准确性可以达到100%,这在现有的判断方法中是没有过的。

进一步的,步骤D的其中一种方式为:

如果(||L1-L3||-||L2-L3||)>0,则待查询向量x3与标准向量x2相似;

如果(||L1-L3||-||L2-L3||)<0,则待查询向量x3与标准向量x1相似;

如果(||L1-L3||-||L2-L3||)=0,则待查询向量x3与标准向量x1和标准向量x2的相似度相同。

本发明还提供了一种基于向量同态加密的隐私保护下的向量相似性判断方法,包括:

A.接收两个标准向量x1和x2、以及接收待查询向量x3;

B.通过向量同态加密得到密钥转换矩阵M,待查询向量x3通过密钥转换矩阵M得到待查询向量x3的分类向量c3;

C.通过向量同态加密得到标准向量x1对应的密文c1和标准向量x2对应的密文c2,以及密文c1、密文c2和分类向量c3对应的矩阵H;

D.计算((c1-c3)TH(c1-c3)-(c2-c3)TH(c2-c3))和0之间的大小,确定待查询向量x3与标准向量x1或标准向量x2相似,其中(c1-c3)T为(c1-c3)的转置向量,(c2-c3)T为(c2-c3)的转置向量。

本发明中应用的向量同态加密的方法是由Zhou和Wornell提出的,该方法可以在对加密数据进行运算时可以保证运算函数的私密性,并且支持向量的加法、线性变换和加权內积的同态运算。在计算过程中密钥转换是很重要的概念。对于给定的明文和它对应的密文和对应的密钥能够计算线性变换Gx。对于任意矩阵则他们满足(GS)c=w(Gx)+Ge。在这一过程中可以把Gx当成在密钥GS下的明文。在此过程中能够计算出密钥转换矩阵通过密钥转换方法将密钥GS转换为任意可行的密钥且满足新的密文c′=Mc*。其中c*表示原始密文c的比特表示。则原始加密过程为将单位矩阵I转换为VHE.KG(λ)输出的密钥S,则有关系式c=M(wx)*,其中c为生成的密文。

进一步的,步骤D的其中一种方式为:

如果((c1-c3)TH(c1-c3)-(c2-c3)TH(c2-c3))>0,则待查询向量x3与标准向量x2相似;

如果((c1-c3)TH(c1-c3)-(c2-c3)TH(c2-c3))<0,则待查询向量x3与标准向量x1相似;

如果((c1-c3)TH(c1-c3)-(c2-c3)TH(c2-c3))=0,则待查询向量x3与标准向量x1和标准向量x2的相似度相同。

本发明的方法能够在多个领域中进行应用,例如需要预测一个疑似的肺癌患者是否患有肺癌,可以提取该疑似患者的诊断特征向量x3:(白细胞数量,血小板数量,…,t3(t3为待分类标签)),即本发明方法中接收的待查询向量x3的类别。同时输入两个已有的过往患者的记录x1:(白细胞数量,血小板数量,…t1(患有肺癌)),x2:(白细胞数量,血小板数量,…t2(没有肺癌)),即本发明方法中接收的标准向量x1和x2分别的类别。通过本发明的计算,得到待查询向量x3是与标准向量x1近似,还是与标准向量x2近似,将待查询向量x3的类别定义为预期近似的标准向量的类别,即将t3定义为患有肺癌或没有肺癌。

在现有对向量相似性判断方法中,在2015年,Bharath K.Samanthula等人发表的论文中使用的是一种基于安全多方计算的方法实现相似性的度量。安全多方协议一个最大的缺点就是需要双方交互很多次才能实现大小的比较。这种比较方式相对于本发明的方法来说通信代价太大,本发明的方法只需要传输一次,在之后的计算中不需要任何的交互。

另一种现有的方法是在2015年,Jiawei Yuan等人在论文SEISA:Secure and Efficient Encrypted Image Search With Access Control中使用向量的拆分方式,在向量里面加随机数的方式使得在保护向量的隐私的前提下实现向量欧氏距离的比较。这种比较方式虽然实现了欧氏距离的比较,但与本发明的方法相比,操作更加复杂,而且他们的方案扩展性较差,只适用于欧式距离的比较。本发明的方法可以支持多种度量方式的比较,包括但不限于欧式距离度量、曼哈顿距离度量、切比雪夫距离度量、闵可夫斯基距离度量、向量内积度量等各种度量方式。

经实验对比,上述三个方法与现有技术相比,具有以下优点:

表1:

使用范围比较

从表1中可以看出,本发明的基于向量伸缩变换的隐私保护下的向量相似性判断方法和基于向量正交变换的隐私保护下的向量相似性判断方法均能够适用于实数范围的判断,而目前还没有一种现有方法可以实现实数域比较的。

本发明的方法还具有通信量低和计算量低的优点,对比数据见表2和表3:

表2:

计算复杂度的比较

从表2中可以得知,本发明的基于向量伸缩变换的隐私保护下的向量相似性判断方法和基于向量正交变换的隐私保护下的向量相似性判断方法对明文的比较与现有方法比几乎没有增加复杂度,基于向量同态加密的隐私保护下的向量相似性判断方法在明文比较时只增加了一个范数矩阵H,在数据量较大的情况下,几乎没有性能上的损失。

表3:

通信量的比较

由此可见,本发明的隐私保护下的向量相似性判断方法,能够在不公开向量每个维度的值的前提下,通过比较向量的模长高效的判断向量之间的相似性,并且通过实验表明,本发明对密文比较的效率和明文比较对比,性能几乎没有下降。对向量内积的计算方法与本发明模长的判断方法类似,并且也能够满足这样的特性。

以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。

附图说明

图1为本发明基于向量伸缩变换的隐私保护下的向量相似性判断方法的流程图。

图2为本发明基于向量正交变换的隐私保护下的向量相似性判断方法的流程图。

图3为本发明向量同态加密的隐私保护下的向量相似性判断方法的流程图。

具体实施方式

实施例1:

如图1所示本发明基于向量伸缩变换的隐私保护下的向量相似性判断方法,包括:

A.接收两个标准向量x1和x2,以及接收待查询向量x3;

B.通过L=λx+ex对所述两个标准向量x1和x2和待查询向量x3进行伸缩,得到两个标准向量x1和x2对应的两个标准输出向量L1和L2,以及待查询向量x3的待查询输出向量L3,其中L为输出向量,λ为接收的大整数,x为接收的向量,ex为与向量x对应的服从期望μ=0的高斯分布的噪声向量;

C.设置误差阈值d,且d服从期望μ=2λ的高斯分布,并分别计算||L1-L3||和||L2-L3||;

D.如果(||L1-L3||-||L2-L3||)>d,则待查询向量x3与标准向量x2相似;

如果(||L1-L3||-||L2-L3||)<-d,则待查询向量x3与标准向量x1相似;

如果-d≤(||L1-L3||-||L2-L3||)≤d,则待查询向量x3与标准向量x1和标准向量x2的相似度相同。

实施例2:

如图2所示本发明基于向量正交变换的隐私保护下的向量相似性判断方法,包括:

A.接收两个标准向量x1和x2、正交矩阵P、以及接收待查询向量x3;

B.通过L=Px对所述两个标准向量x1和x2和待查询向量x3进行正交变换,得到两个标准向量x1和x2对应的两个标准输出向量L1和L2,以及待查询向量x3的待查询输出向量L3,其中L为输出向量,x为接收的向量;

C.分别计算||L1-L3||和||L2-L3||;

D.如果(||L1-L3||-||L2-L3||)>0,则待查询向量x3与标准向量x2相似;

如果(||L1-L3||-||L2-L3||)<0,则待查询向量x3与标准向量x1相似;

如果(||L1-L3||-||L2-L3||)=0,则待查询向量x3与标准向量x1和标准向量x2的相似度相同。

实施例3:

如图3所示本发明基于向量同态加密的隐私保护下的向量相似性判断方法,包括:

A.接收两个标准向量x1和x2、以及接收待查询向量x3;

B.通过向量同态加密得到密钥转换矩阵M,待查询向量x3通过密钥转换矩阵M得到待查询向量x3的分类向量c3;

向量同态加密的基本的加密过程为:

-VHE.KG(λ):输入一个安全参数λ,选择参数且满足m<n,q>>p和w(p-1)<q,构造矩阵S满足且是一个单位矩阵,输出密钥S和公开参数Param=(l,m,n,p,q,w,χ)。

-VHE.E(x,S):输入明文向量和密钥矩阵输出密文且满足Sc=wx+e其中w是一个大整数,e是一个噪声向量w/2,且满足|S|<<w。将加密过程VHE.E(x,S)写成Es(x)。

-VHE.D(c,S):输入一个密文向量和密钥矩阵输出明文其中解密过程为

向量同态加密过程中的密钥转换过程为:

-对于给定的明文和它对应的密文和对应的密钥能够计算线性变换Gx对于任意矩阵则他们满足(GS)c=w(Gx)+Ge.在这一过程中可以把Gx当成在密钥GS下的明文。在此过程中计算出密钥转换矩阵通过密钥转换方法将密钥GS转换为任意可行的密钥且满足新的密文c′=Mc*.其中c*表示原始密文c的比特表示。则原始加密过程为将单位矩阵I转换为VHE.KG(λ)输出的密钥S,则有关系式c=M(wx)*,其中c为生成的密文。

C.通过向量同态加密得到标准向量x1对应的密文c1和标准向量x2对应的密文c2,以及密文c1、密文c2和分类向量c3对应的矩阵H;

由于本实施例是基于向量同态加密方案(VHE)的。在VHE中有公式:

其中x为明文向量,因此可以简化为:

wx=W(wx)*

则得到:

(wx)T(wx)=((wx)*)TWTW(wx)*

再通过公式:c=M(wx)*来构建矩阵A,使得AM=W。令H=ATA,得到

cTHc=H((wx)*)TMTATAM(wx)T

cTHc=H((wx)*)TMTATAM(wx)T=(wx)T(wx)=w2xTx

由AM=W可知,计算结果刚好为明文模长的W的平方倍。

D.计算((c1-c3)TH(c1-c3)-(c2-c3)TH(c2-c3))和0之间的大小,

如果((c1-c3)TH(c1-c3)-(c2-c3)TH(c2-c3))>0,则待查询向量x3与标准向量x2相似;

如果((c1-c3)TH(c1-c3)-(c2-c3)TH(c2-c3))<0,则待查询向量x3与标准向量x1相似;

如果((c1-c3)TH(c1-c3)-(c2-c3)TH(c2-c3))=0,则待查询向量x3与标准向量x1和标准向量x2的相似度相同。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1