宋祥福 蓋 敏 趙圣楠 蔣 瀚
1(山東大學計算機科學與技術學院 濟南 250101) 2(山東大學軟件學院 濟南 250101)
目前,通過共享分散于多機構的孤立數據、挖掘其中蘊含的潛在價值,從而服務于政府決策以及提高服務質量,已經成為一種客觀需求.然而,在很多場景下,數據持有者往往有隱私需求,并且待分享的數據通常包含一定的商業價值,因而數據持有者不想揭示持有數據的明文信息.況且,國內外關于數據安全的法律法規,如歐洲的數據保護總條例(general data protection regulation, GDPR)和《中華人民共和國密碼法》的生效,為數據安全提出了更高的要求.因此,如何在保護數據隱私的前提下,對分散的數據進行融合計算,發掘數據的潛在價值,已經成為學術界和工業界的熱點研究問題.
在數據共享場景中,一種典型應用需求是集合求交(private set intersection, PSI).以兩方計算為例,參與方P0持有集合X,P1持有集合Y,執行集合求交運算后,雙方得到交集結果X∩Y,而不泄露任何其他信息.集合求交可廣泛應用于隱私需求較高的保險、醫療、征信等業務場景,如2個銀行計算共同客戶而不泄露自己持有的客戶群體.然而,僅僅計算集合交集并不能滿足持續擴大的需求.具體來說,很多場景下,協議雙方可能不僅僅滿足于交集計算,而想計算集合運算結果的某些函數.比如雙方可能只想泄露關于交集的某個函數f(X∩Y),如交集大小、交集權值和等.在這些應用場景中,很多時候泄露交集元素都是不被允許的.因此,需要對隱私保護的集合運算及性能進行拓展,從而滿足法規約束下的越來越多的隱私保護數據共享需求.
通用安全多方計算可以實現以上需求.具體來說,安全多方計算能夠允許互不信任的n個參與方P0,P1,…,Pn-1通過協議交互計算某個既定函數f,協議運行結束后,只揭示計算結果y=f(x0,x1,…,xn-1),除此之外不泄露任何關于輸入的信息.雖然近年來基于Yao電路和秘密共享的通用安全多方計算協議的效率得到極大提升,但對于集合運算,專用安全多方計算協議更高效.在本文中提出了計算集合運算統計量的專用安全計算協議.具體來說,在兩方計算場景下,設計了計算集合運算統計量的協議架構.利用該協議,參與方可以高效地計算集合交集大小、并集大小以及交集權值和等統計量,而不泄露具體的交集元素.該協議主要利用了茫然傳輸(oblivious transfer, OT)作為協議的主要密碼組件.由于OT可以通過OT拓展協議生成大量實例,從而使得協議具有較好的可拓展性.具體地,本文主要內容包含3個方面:
1) 提出了計算集合運算統計量的一組協議,能夠實現針對集合運算的數據統計計算,包括交集大小、并集大小、交集權值和交集權值方差等集合運算的統計信息.
2) 該協議可以僅利用OT作為底層密碼組件,因而可以借鑒高效的OT拓展技術實現較好的效率.本文對協議的通信和計算的漸進效率進行了復雜度分析和對比.
3) 在半誠實敵手設定下,利用理想現實模擬對協議進行了安全證明.
基于Diffie-Hellman密鑰協商的PSI協議可以實現較好的通信效率,但是計算效率較低.此類協議[1-2]利用了Hash函數H:{0,1}n→G,其中底層群G為素數階p且判定Diffie-Hellman問題是困難的.具體來說,參與方P0和P1分別持有密鑰k0,k1∈Zp.發送者P1計算Y′={H(y)k1}y∈Y并發送給P0,P0計算X′={H(x)k0}x∈Y并發送給P1.然后P1計算X″={H(x′)k1}x′∈X′并發送給P0.最終,P0計算Y″={H(y′)k0}y′∈Y′,并輸出{x|x″∈X″∩Y″}.
基于OT的PSI協議[3-7]由于計算性能友好,近來成為主流設計思路.基于OT的方案主要想法是利用OT來進行等值比較計算.在等值比較協議中,P0輸入x,P1輸入y,協議結束后P0只能知道x是否等于y.利用這種方法,在最壞情況下,雙方對所有可能的元素對執行運算,產生O(n2)的通信和計算復雜度.為了提高此類協議的效率,可以借鑒Hash分桶[8]的思想,將元素映射到Hash表中的每個桶中,然后逐桶執行等值比較.通過合理選取參數,可以達到O(nlogn)甚至O(n)的復雜度.文獻[9]提出了一個傳輸短消息的OT拓展協議.隨后,通過對文獻[9]中的OT拓展協議進行改進,Kolesnikov等人[10]設計了基于OT拓展的茫然偽隨機函數(oblivious pseudorandom function, OPRF),并將其利用到PSI協議中,實現了ω(n)的復雜度,接近于最優.近來Pinkas等人[11]設計了一個新的稀疏OT拓展協議,能夠允許OPRF接收方計算多個點的OPRF輸出.利用該OT拓展,可以實現O(n)的通信復雜度.
Dong等人[12]提出了一個高效的基于布隆過濾器的成員測試數據結構——混亂布隆過濾器,并將其應用到集合求交協議中;文獻[13]基于混亂布隆過濾器構造了一個惡意敵手下安全的PSI協議.集合求交可利用通用安全計算協議來實現;Huang等人[14]提出利用混亂電路來執行集合求交運算,能夠實現O(nlogn)的復雜度.此外,利用多項式可以表示集合元素.具體來說,給定一個集合,可以將集合元素作為多項式零點值來生成代表集合的多項式,那么2個多項式的最大公約多項式為集合交集,而2個多項式相乘則代表了集合并集.因此,集合求交問題可以轉換成針對多項式的運算;Kissner和Song[15]基于此想法構造了針對集合操作的隱私保護協議,包括集合求交、交集大小、門限并集等.
除了計算集合交集,很多時候參與方可能只想計算關于交集的某個函數f(X∩Y),比如保密計算交集大小、交集元素權重求和、求方差等交集統計量.文獻[16]中的協議可以計算集合交集大小.文獻[17]基于加同態加密設計了保密交集求和協議,可以應用到計算廣告轉化率協議中.具體來說,該協議假設參與方P0持有集合X,另一個參與方P1不僅持有集合Y,同時對于Y中的每一個元素都有一個對應的權值,記該權值集合為V.雙方執行交集權值求和協議,最終P0得到所有交集元素的權值和.隨后,Miao等人[18]利用零知識證明對文獻[16]的交集求和協議進行了安全加固,能夠實現雙輸出模式的惡意敵手下安全.之前提到的文獻[6]同樣支持計算交集的函數,該文獻基于GMW范型[19]的通用電路構造了計算關于交集的某些函數,本質上能夠計算關于交集的任何函數.然而,基于GMW范型的安全計算一個主要的缺點是輪數較高.此外,Le等人[20]基于三方秘密共享設計了一個兩方計算集合交集函數的協議,然而,該協議需要額外借助一個第三方服務器,且服務器不能和任何任意一方合謀;文獻[21]對集合求交的基本構造技巧進行了歸納和總結.
本節中主要介紹后文用到的符號和安全多方計算的一些基本組件.
本文中,λ表示安全參數,函數μ:N→R是可忽略函數,即對于任意大的正多項式ploy(·)以及任何足夠大的λ,都有μ(λ)<1ploy(λ).
1) 茫然傳輸(OT).OT是安全多方計算的核心組件.以應用最廣泛的2選1 OT為例,發送者提供2個消息m0,m1,接收者提供選擇比特b,最終接收者拿到mb.OT的安全性要求接收者不知道m1-b,而發送者不知道接收者的選擇比特b.更一般地,可以定義N選1 OT,其中發送者提供N個消息,接收者只能拿到1個消息.OT的理想功能函數定義為:
FOT功能函數:
① 接收方提供輸入(m1,m2,…,mN),接收方輸入選擇比特b;
② 將mb發送給發送方.
OT只能通過公鑰密碼原語進行構造,但是可以利用對稱技巧進行高效拓展.具體來說,OT拓展協議只需要執行少量的基礎OT,附加高效的對稱操作,就可以產生大量的拓展OT實例.當前,OT拓展技術已經相當高效.
2) 茫然偽隨機函數.茫然偽隨機函數(OPRF)是一個兩方協議,其中發送方持有偽隨機函數F的密鑰key,而接收方持有輸入x.雙方執行協議后,接收方輸出F(key,x)而發送方輸出為空.OPRF的理想功能函數定義為:
FOPRF功能函數:
① 接收方提供輸入(m1,m2,…,mt),隨機選一個PRF密鑰key;
② 將key發送給發送方,(F(key,m1),F(key,m2),…,F(key,mt))發送給接收方.
OPRF理想功能函數可通過多種方式實現,如通過兩方計算AES電路來實現,其中發送方持有密鑰key,接收方持有輸入x,雙方執行安全計算AES(key,x),最終將安全計算結果揭示給OPRF接收方.此外,可利用專用協議計算F(key,x)=H(x,H′(x)key),其中H是普通Hash函數,H′的輸出為某個群元素.當然也可以利用文獻[10]中的OPRF協議,該OPRF協議可以僅僅利用OT拓展協議來實現,因而其計算效率得到大大優化.在實際協議中,參與方可以根據具體場景的需求來選取合適的OPRF協議.為了描述簡單,本文用理想功能函數FOPRF來代替具體的OPRF協議.
在布谷鳥Hash方案中,Hash表保存了b個桶B1,B2,…,Bb,布谷鳥Hash利用了2個Hash函數h1,h2:{0,1}σ→[1,b]將m個元素映射到b=2(1+ε)m個桶中.在布谷鳥Hash的元素插入過程中,當插入元素e時,首先利用2個Hash函數計算2個位置h1(e)和h2(e),然后檢查h1(e)和h2(e)哪一個位置空缺.如果有空缺,那么隨機選一個空缺位置插入e.如果2個位置都已經存在元素,那么隨機選一個位置,用e替換該位置原來的元素o.然后繼續計算h1(o)和h2(o),對元素o繼續做插入處理.持續以上過程,直到沒有元素被移出或者移出次數達到某個界值.對于后一種情況,最后一個被移出的數據會被放置在緩存Stash中.現存結論[6-7]表明,當|Stash|≤lnm時,插入m個元素后失敗的概率為m-s.布谷鳥Hash的查找非常高效,對于待查元素x,只需要計算h1(x)和h2(x),然后查找b個桶中對應2個位置.如果元素x存在,必存在于h1(x)和h2(x)或者Stash中.
文獻[6-7]設計了無Stash的布谷Hash.簡單來說,通過增加布谷Hash函數個數(如Hash函數個數k設為3,4,5)以及合理設置桶的數目,可以在很大的概率下將所有元素放置在桶中,而無需Stash.這種無Stash的布谷Hash技巧,可以避免Stash中元素和集合Y的成員測試.在本文方案中,所有布谷Hash采用此類無Stash的布谷Hash構造技巧.
本節回顧半誠實安全模型的定義,同時也是本文方案可以達到的安全屬性.在半誠實安全模型中,參與方會誠實地參與協議執行,但好奇的腐化方會嘗試分析協議交互視圖來嘗試學到額外(關于誠實方輸入)的信息.

定義1.令f=(f0,f1)為待計算功能函數,方案π在半誠實敵手下安全計算了功能函數f,必須存在該路多項式時間的模擬器Si,i∈{0,1},使得:
其中,x,y∈{0,1}*,|x|=|y|且λ∈N.
對于確定性的功能函數,由于f(x,y)=OUTPUTπ(x,y,λ),定義1可以簡化為

本節介紹隱私保護的集合求交集大小、并集大小以及交集權值和、權值方差等隱私保護統計協議.
3.1.1 共享等值比較
在一個共享等值比較協議中,參與方P0和P1各自提供輸入x和y,協議運行結束后,雙方共享等值比較結果e.其中,如果x=y,P0和P1共享比特e=1;否則,共享e=0.其功能函數為
FSEQ:
① 從P0收到x,從P1收到y;
② 如果x=y,e←1,否則e←0;
③ 隨機選取r←Z2,發送r給P0,發送e⊕r給P1.
功能函數FSEQ可以通過YAO協議或者GMW協議計算等值比較電路來實現.然而,簡單的基于電路的方法存在通信量或輪數過高的缺點.在本文中借助一個基于OT的等值比較協議ΠSEQ[23]來安全計算功能函數FSEQ,相比基于電路的實現,對于長度為l位的待比較字符串,該協議的輪數僅為O(log logl).
ΠSEQ:
① 令v←l,x(v)←x,y(v)←y;
② whilev>δ*δ最小可取為3*



③ end while
④ 令N←2v,P0隨機選取b←Z2,計算(m0,m1,…,mN-1),其中mx(v)←b⊕1,而對于任意i≠x(v),mi←b⊕1;
⑤P0和P1執行N選1 OT,P0輸入(m0,m1,…,mN-1),P1輸入y(v).最終,P0輸出b,P1輸出my(v).

對于長度為l的初始輸入,該協議僅需O(log logl)輪便可分享最終的等值比較結果.這意味著對于長度為128 b的字符串,參與方可以在3輪之內執行完該協議,而且每輪計算量相比于前一輪都大大縮減.此外,利用高效的OT拓展技術和OT預處理技術,協議的計算效率也是相當高效的.
定理1.在FOT混合模式下,協議ΠSEQ安全計算了功能函數FSEQ.

1)P0被腐化.模擬器S0需要根據輸入輸出(x,b),模擬生成一個和真實協議不可區分的視圖.令ΠSEQ中OT的調用次數為m+1,其中包括m次2選1 OT和1次N選1 OT.這里將構造m+1個中間視圖,其中初始視圖和最終視圖分別為真實視圖和模擬視圖.需要證明任意2個相鄰游戲的可區分概率為可忽略概率,因此最終得出真實視圖和模擬試圖不可區分的結論.
H0:H0的視圖和真實協議的視圖完全相同.


由以上游戲可知,H0為真實協議的視圖,而Hm+1為最終模擬器構造的模擬視圖.假如存在一個區分器D,能夠以不可忽略的概率區分出H0和Hm+1.即:
|Pr[D(H0(x,y,r0))]-
Pr[D(Hm+1(x,y,r0))]|>1p(λ);
那么必定存在i,使得:
|Pr[D(Hi-1(x,y,r0))]-
Pr[D(Hi(x,y,r0))]|>1((m+1)p(λ)).
可見,可以利用以上方法構造一個針對第i次OT發送者模擬的區分器D.然而,這和OT的安全性是矛盾的.因此,區分器D對H0和Hm+1的區分優勢是可忽略的.
2)P1被腐化.模擬器S1需要根據輸入輸出(y,my(v)),模擬生成一個和真實協議執行不可區分的視圖.類似于證明P0被腐化的情況,令ΠSEQ中OT的調用次數為m+1,其中包括m次2選1 OT和1次N選1 OT.將構造m+1個中間視圖,其中初始視圖和最終視圖分別為真實視圖和模擬視圖.需要證明使得任意2個相鄰游戲的可區分概率為可忽略,從而最終得出真實視圖和模擬試圖不可區分的結論.
H0:H0的視圖和真實協議的視圖完全相同.


由以上游戲可知,H0為真實協議的視圖,而Hm+1為最終模擬器構造的模擬視圖.假如存在一個區分器D,能夠以不可忽略的概率區分出H0和Hm+1.即:
|Pr[D(H0(x,y,r0))]-
Pr[D(Hm+1(x,y,r0))]|>1p(λ);
那么必定存在i,使得:
|Pr[D(Hi-1(x,y,r0))]-
Pr[D(Hi(x,y,r0))]|>1((m+1)p(λ)).
類似于之前的證明,可以利用以上方法構造針對第i次OT接收者模擬視圖的區分器D.然而,這和OT的安全性是矛盾的.因此,區分器D對H0和Hm+1的區分優勢是可忽略的.
證畢.
3.1.2 共享成員測試
成員測試關注以下場景:P0持有元素x,P1持有集合Y,P0想測試元素x是否屬于P1的集合Y.針對本文關注的場景,要求成員測試的結果共享在參與方,而任意一方不知道測試結果.為此,定義共享成員測試理想功能函數FSPMT:
FSPMT功能函數:
①P0輸入元素x,P1輸入集合Y;
② 計算成員測試結果c,如果x∈Y,則c←1,否則c←0;
③ 隨機選取r←Z2,發送r給P0,發送c⊕r給P1.
針對該理想功能函數,給出了一個計算FSPMT的協議ΠSPMT,該協議利用了功能函數FOPRF和FSEQ,因此工作在(FOPRF,FSEQ)-混合模式.
ΠSPMT:
①P0作為FOPRF的接收方,輸入x.P1作為FOPRF的發送方.最終,FOPRF發送偽隨機函數F的密鑰key給P1,發送F(key,x)給P0;
② 針對任yi∈Y,其中i∈[1,|Y|],P1隨機選取r←Fp,計算多項式:
P1發送多項式P的系數給P0;
③P0計算s=P(F(key,x)).2個參與方調用FSEQ,其中P0輸入s,P1輸入r.最終參與方共享r和s的等值關系.
通過協議ΠSPMT,參與方首先調用FOPRF使得P0拿到OPRF輸出F(key,x).隨后,P1生成多項式P(x)并將多項式的系數發送給P0.這里的直覺是,如果x∈Y,那么x必定是P(x)-r的某個零點值,那么P0計算s=P(F(key,x))必定和r相等.因此,對s和r調用共享等值功能函數FSEQ,最終將x是否屬于Y的信息共享到2個參與方.
ΠSPMT協議利用了功能函數FOPRF和FSEQ,其中FSEQ可以利用基于OT拓展的OPRF實現[9],或者基于茫然偽隨機函數F(key,x)=H(x,H′(x)key)實現.P1生成多項式P(x)并將多項式的系數發送給P0,該過程需要發送的系數規模和集合大小|Y|相當.最終的等值比較功能函數由協議ΠSEQ實現,輪數為O(log logl).
定理2.在(FOPRF,FSEQ)-混合模式下,協議ΠSEQ安全計算了功能函數FSPMT.


H0:H0的視圖和真實協議的視圖完全相同.

H2:H2的視圖和H1的視圖相同,除了模擬器隨機選取多項式系數.由于密鑰只有多項式生成方知道,因此隨機生成的P*的多項式系數和真實協議接收得到的參數不可區分.因此,H1和H2的視圖無法區分.


證畢.
協議ΠSPMT只是針對P0持有一個元素,而P1持有集合Y的情況.而本文關注P0持有集合X,P1持有集合Y,雙方計算f(X∩Y)的情況.如果重復調用以上協議|X|次,會帶來O(n2)的通信復雜度.
針對這個問題,同以往的PSI方案一樣,采用Hash技巧降低上述協議的復雜度.具體來說,P0利用布谷Hash將其輸入集合X映射到Hash表中,而P1利用普通Hash,將每個元素y∈Y放置到Hash表中的所有可能位置.布谷Hash的性質保證如果P0的某個元素x∈Yi,那么無論x被放在所有可能位置的哪一個位置i,在那個位置i上必有x∈Yi,其中Yi是P1利用簡單Hash映射到位置i的所有元素.在接下來的協議中將闡述具體操作過程.
給定功能函數FSPMT,輔助以特定的Hash技巧,可以很方便地計算集合交集大小、交集權值和、方差等基于集合的統計計算.具體示意圖如圖1所示.
3.2.1 計算交集權值和

FPSI-SUM功能函數:

Fig. 1 Private shared membership test based on cuckoo hashing圖1 基于布谷Hash的共享成員測試示意圖
①P0輸入X以及權值集合V,P1輸入集合Y;

針對該理想功能函數,設計了計算交集權值和的協議ΠPSI-SUM,利用3.1節中共享等值比較協議和OT來安全實現FPSI-SUM.
ΠPSI-SUM:
輸入:P0輸入集合X以及每個元素的權值集合V,P1輸入集合Y,其中|X|=|Y|=O(n),以及共享布谷Hash桶個數m=k(1+ε)n,其中k是某個常數值;

①P0利用布谷Hash將X映射到Hash表B1,B2,…,Bm中,令桶i中的元素為xi.P1利用簡單Hash,將集合Y映射到m個桶中,其中每個桶中的元素們定義為Yi.
② 參與方對逐桶執行協議ΠSPMT.P0輸入xi,P1輸入Yi,參與方共享xi是否屬于Yi的信息ci.最終P0輸出[ci]0,P1輸出[ci]1,其中ci=[ci]1⊕[ci]0.



以上方案可以很方便地計算交集和并集權值大小.針對交集大小,發送者只需將每個元素對應的權值統一設置為1即可,這樣只有在交集中的元素被計數為1,否則為0.此外,由于并集大小可以通過公式|X∪Y|=|X|+|Y|-|X∩Y|求得.給定共享的交集大小,只需要計算加法(加法在安全計算中不需要交互就可完成),可以很高效地計算得到并集大小.ΠPSI-SUM支持交集、并集大小計算,本文把以上2個協議特別地記為ΠPSI-CA和ΠPSU-CA.
針對更一般的情況,ΠPSI-SUM可以用于計算廣告轉化率.在計算廣告轉化率協議中,廣告投放商擁有訪問廣告的用戶集合,用戶點擊廣告后,可能會轉向零售商購買商品.因此,零售商不僅擁有購買商品的用戶集合,還額外擁有用戶的消費金額.廣告商和零售商想要計算所有交集用戶的消費總和.可見,計算廣告轉化率本質上是求交集用戶的消費之和,因而可以通過協議ΠPSI-SUM解決.文獻[17-18]中的方案可以實現以上計算需求,然而,這些協議需要額外泄露交集大小,并且嚴重依賴公鑰密碼.本方案不需要泄露交集大小,并且僅僅需要OT就可以實現計算需求.考慮到當下高效的OT拓展和OT預處理技術,本方案的計算效率更加高效.
定理3.在(FSPMT,FOT)-混合模式下,協議ΠPSI-SUM安全計算了功能函數FPSI-SUM.


H0:H0的視圖和真實協議的視圖完全相同.

H2:H2的視圖和H1的視圖相同,除了模擬器調用OT模擬器來生成OT發送過程中的視圖.由OT的安全性,H1和H2的視圖無法區分.


證畢.
3.2.2 計算交集權值的方差


共享成員測試作為本文的最重要的支撐協議,其效率影響著后續基于交集函數的協議的效率.因此,本節主要分析共享成員測試協議的輪數、計算和通信效率,以及和相關方案的比較.
1) 輪數復雜度.共享成員測試協議主要包含OPRF協議、多項式構造、共享等值比較協議.其中OPRF協議根據具體實現不同,輪數會有相應的區別.基于OT拓展的OPRF協議需要執行一輪的基礎OT然后本地生成OPRF輸出,加上利用OT拓展協議中的接收矩陣生成多項式并傳輸系數,總共需要2輪.隨后,基于OT的共享等值比較協議中,針對長度為l的待比較字符串,僅需要O(log logl)輪復雜度即可完成計算.在通常l=64的設定下,這意味著至多需要3輪即可完成等值比較運算.而通常基于GMW范型的等值比較電路的構造,需要O(logl)輪完成計算.從漸進意義上來說,協議的論復雜度為O(log logl),具體輪越數為5輪.而基于電路的構造,漸進意義下至少為O(logl),在l=64的具體參數下,輪數約為10輪.
2) 計算復雜度.本方案不需要同態加密或者通用的電路構造得到,而是高度依賴OT.要知道,執行O(n)次OT,其中n?λ,可以通過僅僅執行O(λ)次的基礎OT協議(基礎OT協議需要公鑰操作),附加高效O(n)次對稱操作,因而可以非常高效地生成大量OT實例.從這個意義上講,相比于依賴同態加密的構造[17]和通用電路的構造[6],本方案計算效率更有優勢.此外,P1的Hash表中每個桶的元素數量最多為O(logn),利用簡單的多項式計算方法需要O(logn),總共O(nlogn).
3) 通信復雜度.在共享成員測試協議中,參與方逐桶執行協議.其中P1利用簡單Hash將集合Y分配到規模為O(n)的Hash表中,其中每個桶的元素個數最多為O(logn).由于P1發送的多項式系數個數和桶中的元素個數相等,所以執行所有桶的成員測試協議總共需要O(nlogn)的通信量.對于共享等值比較協議,一次l位字符串的比較,通信量為O(l).而在實際情況下n?λ,因此總體的通信復雜度為O(nlogn).為了進一步降低通信量,可采用文獻[6]中多項式插值的技巧,將通信復雜度降低到O(n),然而該優化需改變多項式計算方法,一定程度上犧牲了部分計算效率.是否接受該優化,取決于協議應用的具體場景.
目前能夠兩方計算(不依賴第三方服務器)交集函數的集合求交方案中,最高效的方案是基于電路的構造[6].和其相比,本方案在輪復雜度上更具優勢.具體信息如表1所示:

Table 1 Comparison of Efficiency
保密集合求交是很重要的隱私保護數據處理協議,具有實際的商業應用前景.本文僅利用茫然傳輸,設計了一組支持計算集合交集函數的協議,能夠在不泄露交集元素的前提下,計算集合交集大小、并集大小以及交集權值和、交集權值方差.利用Hash技巧,對協議的通信量進行了優化.協議可以在半誠實敵手下證明安全.在未來,將探索支持更多統計功能的協議,以及將這些協議應用到具體的應用場景中.