国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      隱私保護下的向量相似性判斷方法與流程

      文檔序號:12490846閱讀:386來源:國知局
      隱私保護下的向量相似性判斷方法與流程

      本發(fā)明涉及在隱私保護下的向量相似性判斷方法。



      背景技術:

      在大數據時代,數據往往是被外包給第三方代理云的。然而在這個過程中用戶的數據可能隱含一些敏感信息,這直接使得隱私數據有泄漏的可能。解決這個問題的一種最直接的方式就是將數據加密之后發(fā)送到服務器端,然后服務器端在密文下實現機器學習,完成相關的數據挖掘算法。但是在這個過程中是比較困難的,比如實現密文下的比較。目前實現密文比較的方案都是基于整數密文的比較,從目前已有的方案來看效率是很低的。而在實際應用場景中,某些事物的特征往往可以用特征向量來表征。而在這個過程中,需要比較的往往是向量的某些屬性,比如夾角、模長、內積等等。比如基于生物特征的認證是通過用戶的生物特征,例如指紋、虹膜、DNA等來識別用戶的身份。首先用戶錄入其生物特征作為模板,當用戶要登錄系統(tǒng),需要提供其生物特征和模板進行比對,如果足夠相似,則用戶通過系統(tǒng)的認證。另一方面,用戶的生物特征又事關用戶的隱私,需要對其保護。

      在表征兩個向量之間的相似性的時候,可以用歐氏距離來度量兩者之間的相似性。在已有模板特征向量V=(V1,…,Vl)和用戶認證時的特征向量W=(W1,…,Wl)中的各個坐標盡可能多的匹配,來返回兩個向量的相似性。一種最常用的方法是計算兩個向量的歐式距離<V,W>=∑i(Vi-Wi)2,距離小者更相似。為了保護用戶的隱私,無論是向量V和向量W都應該加密。然而加密限制了數據的使用,服務器很難采用傳統(tǒng)的加密方法來比較哪兩個向量的歐氏距離更小。而全同態(tài)加密(Fully Homomorphic Encryption,FHE)在不解密的情況下能夠直接基于密文計算。于是一種可能的解決思路是使用向量的同態(tài)加密的方法來安全計算兩個密文歐氏距離:<V',W'>,用X'表示對X的加密。但是傳統(tǒng)的全同態(tài)加密都是基于整數的,它們對于向量的操作都是對向量的單維進行操作,效率極低。

      除此之外,還可以使用內積來表征兩個向量之間的相似性。通過已有模板特征向量V=(V1,…,Vl)和用戶認證時的特征向量W=(W1,…,Wl),來返回兩個向量的相似性分數。我們可以計算兩個向量的內積<V,W>=∑iVi*Wi,距離大者更相似。同樣為了保護用戶的隱私,無論是向量V和向量W都應該加密。同樣的在密文下比較向量內積是困難的。

      從實驗結果來看,目前的加密方案在對單維數據加密時是很快的,但對于乘法的同態(tài)運算需要計算的雙方多次交互。而在計算歐式距離或者向量內積的時候涉及到多次的乘法運算,這使得現有方法的效率很低。其次,對于密文的比較的處理涉及到非常復雜的計算,從已有的實驗結果來看,效率遠遠低于明文下的計算速度。



      技術實現要素:

      本發(fā)明提供的隱私保護下的向量相似性判斷方法,在不公開向量每個維度的值的前提下,仍然可以通過比較向量的模長來判斷向量之間的相似性。

      本發(fā)明是在保證實數向量自身安全性的前提下,公開或者部分公開向量的模長以滿足比較的需求。因為相對于向量的每個維度的值來說,向量模長的隱私性沒有那么強,而模長對于向量的比較是十分重要的,因此可以犧牲向量模長的隱私性來換取減小向量密文下比較的復雜度。

      其中基于向量伸縮變換的隱私保護下的向量相似性判斷方法,包括:

      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的相似度相同。

      本發(fā)明還提供了一種基于向量正交變換的隱私保護下的向量相似性判斷方法,包括:

      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相似。

      正交變換不會改變向量的模長,且能保證模長和內積等的同態(tài)性。正交矩陣定義是:若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的相似度相同。

      本發(fā)明還提供了一種基于向量同態(tài)加密的隱私保護下的向量相似性判斷方法,包括:

      A.接收兩個標準向量x1和x2、以及接收待查詢向量x3;

      B.通過向量同態(tài)加密得到密鑰轉換矩陣M,待查詢向量x3通過密鑰轉換矩陣M得到待查詢向量x3的分類向量c3;

      C.通過向量同態(tài)加密得到標準向量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)的轉置向量。

      本發(fā)明中應用的向量同態(tài)加密的方法是由Zhou和Wornell提出的,該方法可以在對加密數據進行運算時可以保證運算函數的私密性,并且支持向量的加法、線性變換和加權內積的同態(tài)運算。在計算過程中密鑰轉換是很重要的概念。對于給定的明文和它對應的密文和對應的密鑰能夠計算線性變換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的相似度相同。

      本發(fā)明的方法能夠在多個領域中進行應用,例如需要預測一個疑似的肺癌患者是否患有肺癌,可以提取該疑似患者的診斷特征向量x3:(白細胞數量,血小板數量,…,t3(t3為待分類標簽)),即本發(fā)明方法中接收的待查詢向量x3的類別。同時輸入兩個已有的過往患者的記錄x1:(白細胞數量,血小板數量,…t1(患有肺癌)),x2:(白細胞數量,血小板數量,…t2(沒有肺癌)),即本發(fā)明方法中接收的標準向量x1和x2分別的類別。通過本發(fā)明的計算,得到待查詢向量x3是與標準向量x1近似,還是與標準向量x2近似,將待查詢向量x3的類別定義為預期近似的標準向量的類別,即將t3定義為患有肺癌或沒有肺癌。

      在現有對向量相似性判斷方法中,在2015年,Bharath K.Samanthula等人發(fā)表的論文中使用的是一種基于安全多方計算的方法實現相似性的度量。安全多方協(xié)議一個最大的缺點就是需要雙方交互很多次才能實現大小的比較。這種比較方式相對于本發(fā)明的方法來說通信代價太大,本發(fā)明的方法只需要傳輸一次,在之后的計算中不需要任何的交互。

      另一種現有的方法是在2015年,Jiawei Yuan等人在論文SEISA:Secure and Efficient Encrypted Image Search With Access Control中使用向量的拆分方式,在向量里面加隨機數的方式使得在保護向量的隱私的前提下實現向量歐氏距離的比較。這種比較方式雖然實現了歐氏距離的比較,但與本發(fā)明的方法相比,操作更加復雜,而且他們的方案擴展性較差,只適用于歐式距離的比較。本發(fā)明的方法可以支持多種度量方式的比較,包括但不限于歐式距離度量、曼哈頓距離度量、切比雪夫距離度量、閔可夫斯基距離度量、向量內積度量等各種度量方式。

      經實驗對比,上述三個方法與現有技術相比,具有以下優(yōu)點:

      表1:

      使用范圍比較

      從表1中可以看出,本發(fā)明的基于向量伸縮變換的隱私保護下的向量相似性判斷方法和基于向量正交變換的隱私保護下的向量相似性判斷方法均能夠適用于實數范圍的判斷,而目前還沒有一種現有方法可以實現實數域比較的。

      本發(fā)明的方法還具有通信量低和計算量低的優(yōu)點,對比數據見表2和表3:

      表2:

      計算復雜度的比較

      從表2中可以得知,本發(fā)明的基于向量伸縮變換的隱私保護下的向量相似性判斷方法和基于向量正交變換的隱私保護下的向量相似性判斷方法對明文的比較與現有方法比幾乎沒有增加復雜度,基于向量同態(tài)加密的隱私保護下的向量相似性判斷方法在明文比較時只增加了一個范數矩陣H,在數據量較大的情況下,幾乎沒有性能上的損失。

      表3:

      通信量的比較

      由此可見,本發(fā)明的隱私保護下的向量相似性判斷方法,能夠在不公開向量每個維度的值的前提下,通過比較向量的模長高效的判斷向量之間的相似性,并且通過實驗表明,本發(fā)明對密文比較的效率和明文比較對比,性能幾乎沒有下降。對向量內積的計算方法與本發(fā)明模長的判斷方法類似,并且也能夠滿足這樣的特性。

      以下結合實施例的具體實施方式,對本發(fā)明的上述內容再作進一步的詳細說明。但不應將此理解為本發(fā)明上述主題的范圍僅限于以下的實例。在不脫離本發(fā)明上述技術思想情況下,根據本領域普通技術知識和慣用手段做出的各種替換或變更,均應包括在本發(fā)明的范圍內。

      附圖說明

      圖1為本發(fā)明基于向量伸縮變換的隱私保護下的向量相似性判斷方法的流程圖。

      圖2為本發(fā)明基于向量正交變換的隱私保護下的向量相似性判斷方法的流程圖。

      圖3為本發(fā)明向量同態(tài)加密的隱私保護下的向量相似性判斷方法的流程圖。

      具體實施方式

      實施例1:

      如圖1所示本發(fā)明基于向量伸縮變換的隱私保護下的向量相似性判斷方法,包括:

      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所示本發(fā)明基于向量正交變換的隱私保護下的向量相似性判斷方法,包括:

      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所示本發(fā)明基于向量同態(tài)加密的隱私保護下的向量相似性判斷方法,包括:

      A.接收兩個標準向量x1和x2、以及接收待查詢向量x3;

      B.通過向量同態(tài)加密得到密鑰轉換矩陣M,待查詢向量x3通過密鑰轉換矩陣M得到待查詢向量x3的分類向量c3;

      向量同態(tài)加密的基本的加密過程為:

      -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):輸入一個密文向量和密鑰矩陣輸出明文其中解密過程為

      向量同態(tài)加密過程中的密鑰轉換過程為:

      -對于給定的明文和它對應的密文和對應的密鑰能夠計算線性變換Gx對于任意矩陣則他們滿足(GS)c=w(Gx)+Ge.在這一過程中可以把Gx當成在密鑰GS下的明文。在此過程中計算出密鑰轉換矩陣通過密鑰轉換方法將密鑰GS轉換為任意可行的密鑰且滿足新的密文c′=Mc*.其中c*表示原始密文c的比特表示。則原始加密過程為將單位矩陣I轉換為VHE.KG(λ)輸出的密鑰S,則有關系式c=M(wx)*,其中c為生成的密文。

      C.通過向量同態(tài)加密得到標準向量x1對應的密文c1和標準向量x2對應的密文c2,以及密文c1、密文c2和分類向量c3對應的矩陣H;

      由于本實施例是基于向量同態(tài)加密方案(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