【隱私計算筆談】MPC系列專題(八):OT協議(一)

PlatON技術團隊發表於2023-01-04

通用的半誠實公鑰OT協議
 
之前已經介紹過Naor-Pinkas不經意傳輸協議,Naor-Pinkas不經意傳輸協議基於離散對數困難問題,這次介紹一個通用的基於公鑰的半誠實安全的不經意傳輸協議和Beaver的非黑盒構造。
 
有一個傳送方Alice和一個接收方Bob,這個協議的前提條件是能夠在公鑰空間裡隨機取樣獲得一個公鑰。而不是先獲得私鑰,再透過私鑰產生公鑰。
 
簡單的說就是能夠隨機生成一個和公鑰格式相同的隨機數。Alice在協議中的輸入為秘密值\( ?_0,?_1 \),Bob在協議的輸入為選擇位元?∈{0,1} 。
 
協議開始時,Bob首先生成一個公私鑰對(\( ??_{Bob},??_{Bob} \)),並在公鑰空間裡進行隨機取樣,再生成一個隨機公鑰\( ??′_{Bob} \),Bob根據自己輸入的選擇位元b,如果選擇位元?=0,那麼Bob將(\( ??_{Bob}, ??′_{Bob} \))傳送給Alice;如果選擇位元?=1,那麼Bob將(\( ??′_{Bob}, ??_{Bob} \))傳送給Alice。
 
將Alice從Bob那收到的公鑰記為(\( ??_0,??_1 \)),Alice收到Bob發來的公鑰對後,向Bob傳送兩個密文(\( ?_0,?_1 \)),其中
 

$$ ?_0=???_{??0}(?_0),?_1=???_{??1}(?_1) $$

 
\( ???_y(?) \)指用加密演算法Enc和加密秘鑰y加密x。
 
Bob 接收到(\( ?_0,?_1 \))後,使用自己的私鑰\( ??_{Bob} \)解密密文\( ?_? \)。
 

圖片

 
該不經意傳輸協議基於半誠實的,即Bob和Alice都不會違反協議,遵守協議的規定,Bob產生的公鑰\( ??′_{Bob} \)是隨機產生的,Bob無法得知公鑰\( ??′_{Bob} \)所對應的私鑰。
 
如果Bob是惡意的使用者,不遵守協議規定,先產生一個私鑰\( ??′_{Bob} \)後再根據\( ??′_{Bob} \)產生對應的公鑰\( ??′_{Bob} \),則Alice傳送過來的(\( ?_0,?_1 \))Bob均可解密,所以協議前提是半誠實的。
 
Bob不知道\( ??′_{Bob} \)所對應的私鑰,也就只能解密(\( ?_0,?_1 \))其中之一,無法解密Alice使用\( ??′_{Bob} \)加密的\( ?_{1-b} \)。 
 

圖片

 

Beaver的非黑盒構造

之前介紹過的多個混淆電路估值協議都需要使用到不經意傳輸協議,Beaver提出了一種自舉姚氏混淆電路協議(bootstrapping Yao’s GC protocol),可以用少量的公鑰密碼學操作生成多項式數量級的不經意傳輸協議。 
 
假設Alice是傳送方,Bob是接收方。有一個布林電路C,該電路能夠實現不經意傳輸函式F,函式F的輸入是加密過的Bob的選擇位元串以及Alice的秘密值對,輸出是OT協議的執行結果。有一個偽隨機函式?(?),可以將?位元的輸入?擴充套件到?位元。
 
Bob產生?位元長的選擇位元串?,和?位元長的隨機位元串?,利用偽隨機函式?(?)來將?擴充套件到?位元長,之後Bob向Alice傳送?(?)⨁?。
 
Alice收到?(?)⨁?後,將收到的?(?)⨁?和自己持有的秘密值對 
 

$$ {(?_{10},?_{11}),(?_{20},?_{21}),…,(?_{m0},?_{m1})} $$

 
作為函式F的輸入。之後Bob再向函式F輸入?,函式F會透過由Bob輸入的?計算出?(?)後對?(?)⨁?進行解密得到?,再利用選擇位元串?從Alice的秘密值對中進行選擇,並輸出選擇結果。
 

圖片

 
即對於函式F而言,它只需要Bob的?位元的輸入?。函式F的實現可以透過混淆電路,在Alice由於不知道?,因此無法解密出?。Alice計算函式F對應的布林電路後,對其進行混淆。
 
之後Alice將混淆電路以及?(?)⨁?和\( {(?_{10},?_{11}),(?_{20},?_{21}),…,(?_{m0},?_{m1})} \)對應的導線加密值傳送給 Bob,Bob則透過?次OT協議獲取對應的輸入導線的加密值,進行電路估值。 
 
若?(?)⨁?已經在協議開始之前傳送給了Alice,那麼 Bob在協議中需要輸入的只有?位元隨機位元串?,由於混淆電路的輸入位元數量和需要執行的OT次數相關聯,Alice預先生成混淆電路後傳送給Bob,Bob透過?次OT獲取輸入?的各個位元對應的混淆秘鑰,進行電路估值。
 
若不使用這種結構直接進行OT協議,由於選擇位元串?是?位元長,因此需要?個OT協議。透過這種構造成功將?個OT協議降為了?個OT協議。

相關文章