集合交集問題的安全計算:解讀

本文記錄閱讀該paper的筆記。

摘要

image
要點:
(1)集合的勢:交/並集個數
(2)該文主要討論三點:

  • 集合的勢與閾值的大小關係
  • 集合的交/並集與元素的包含關係
  • 集合的交/並集的判定

(3)模擬範例:是安全性證明的方法

引言

image
首先給出三個場景,依次分析一下:
(1)全部領導集合Q,全部員工集合P,員工滿意領導的集合X,現想確定X中的數量大於閾值t
(2)用戶信用判斷(多個指標),每個機構P(一個指標)都有一個信用合格的用戶名單X,現想確認一個用戶是否在所有名單中X,即求一個元素是否在交集中。
(3)所有員工名單A,每個機構P(一個用戶的信用指標)都有一個信用合格的用戶名單X,現想判斷A是否都在X的交集中,即一個集合是否在交集中。
下面也是主要分爲這三塊介紹。

預備知識

安全性定義

image

模擬範例文中說參考:【Brief Report: Examining Driving Behavior in Young Adults with High Functioning Autism Spectrum Disorders:A Pilot Study Using a Driving Simulation Paradigm】,看着名字不像是安全性分析,倒是一個具體的場景實現。

這裏是給出半誠實參與的安全性證明,模擬器的輸入和輸出與真實情況下是不可取分的,即在半誠實安全。

門限密碼

門限密碼體制是MPC中對抗合謀攻擊的一個重要工具。

在門限密碼體制中, n 個參與者 聯合生成公鑰, 解密密鑰由 n 個參與者聯合持有. 公鑰可以直接加密消息, 但解密需要 n 個參與者中一定 數量人員參與才能正確解密,即如果至少需要 t 個人參與才能解密, 少於 t 個人時無法獲取明文的任何信息,這樣的密碼體制稱爲 (t, n) 門限密碼體制。

本文需要的是 (n, n) 門限密碼體制。
image
image
給出ELGamal的一個變體,是門限密碼:
(1)密鑰生成和ElGamal類似,n個私鑰\(k_i\)(每人一個),一個公鑰\(h\)
(2)加密是和ElGamal一樣的,密文是兩部分
(3)解密,是需要所有人的私鑰才能解密成功
(4)具有“加法同態性”:\(E(m_1)E(m_2)=E(m_1+m_2)\),其實是密文相乘解密後相當於明文相加,當然這也算是具有同態性。
(5)這裏的小素數$\rho $就是門限,有沒有想到離散對數問題。

密文重隨機化

image

主要是因爲:在下面加密選擇和保密替換中,用戶可能會通過觀察\(M\),判讀出上一個用戶改變了什麼,(透露出一些數據信息),所以需要對\(M\)中的密文重隨機數化,即重新加密,密文改變,明文不變。

集合的勢與閾值的大小關係

交集

image

換成標準形式是:

image

可以看到,目的就是判斷交集的大小與閾值的大小關係。

原理

image

  • 這裏的閾值\(t\in Q\)\(t\)\(Q\)按說是沒啥關係吧?\(t\)就是一個數。
  • 還有這裏的\(Q\)\(l\)個元素,每個集合\(X\)\(l_i\)個元素,兩者沒有關係哈(剛開始就看錯了)

按自己的意思舉個例子理解一下:

Q=(1,2,3,4,5)
P1:X1=(1,2,3)
P2:X2=(2,3,4)
P3:X3=(3,4,5)
Alice:t=2
對於P1:M1=(1,1,1,0,0)
對於P2:M2=(0,1,1,0,0)
對於P3:M3=(0,0,1,0,0)
L=0+0+1+0+0=1
L-t<0,即輸出爲0

上面沒有加入加密,沒有安全性可言,下面加入加密:

方案

image
image
注意:
(1)Alice將\(-t\)加密\(E(-t)\),發送給\(P_n\)
(2)\(P_n\)\(E(M_n)\)中的元素逐個相乘得到\(E(L)\),然後再將\(E(L)\)\(E(-t)\)相乘得到\(E(F)\),最後將\(E(F)\)隨機化,得到\((u,v)\),並公佈\(u\)
(3)Alice和n個用戶都是參與者,所以有\(n+1\)個私鑰\(k_i\)
(4)Alice和(n-1)和用戶各自計算\(t_i=u^{k_i}\)
(5)\(P_n\)解密,這裏需要聯合解密(n+1個參與者)
(6)注意這裏\(E(-t)*E(L)=E(L-t)\)(別忘了加法同態性!)

正確性和安全性分析

後面補充吧,先弄懂方案。

並集

這裏改成並集,即求並集的大小與閾值的大小關係:

image

該部分內容和前面幾乎相同,只需對交集協議中的(3)步進行簡單修改:

方案

image

注意:
(1)這裏的“保密替換”和交集相反。

正確性和安全性

參考交集

集合的交/並集與元素的包含關係

交集

該部分內容判斷元素與集合交 集的關係:

image
具體如下:
image

原理和前面介紹的前 3 步相同,只需修改第 (4) 步和第 (5) 步:

image

原理

image
image

正確性和安全性

image
這部分可不是模擬範例證明的!

並集

目的:
image

方案

image

集合的交/並集的判定

交集

目的:想要判斷一個集合是否在交集中

image
具體說:
image

原理

image
其就是就是將Alice也看作是一個參與者,最後求出交集的長度,與Alice集合的長度比較。
具體協議如下:
image
注意:
(1)這裏是Alice解密,\(P_i\)聯合計算出\(t_i\)(n個)

正確性和安全性

image

並集

目的:
image

原理

image

性能

從計算和通信消耗來看:

計算

image

通信

image

總結

以上協議的模指數運算依賴參與者的數量 n 和全集的勢 l, 因此協議執行時間受參與者的數量 n 和全集的勢 l 影響.
image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章