通用協議(四)半誠實模型

The Semi-Honest Model 半誠實模型

半誠實的參與方,遵循了協議的執行,但是卻保存了協議的中間計算狀態,實際上,半誠實的參與方,只要保存內部的擲硬幣過程(產生隨機數的過程)和所有從其他參與方接收到的消息就行了。特別是,一個半誠實的參與方會選擇隨機數和根據預定的程序進行操作,即根據預定的程序公平的產生隨機數和執行輸入與輸出。值得注意的是,一個半誠實參與方相當於是零知識中的誠實驗證者。

既然積極的惡意敵手更有攻擊能力,那麼我們到底爲什麼還要考慮攻擊能力更弱的半誠實模型?即半誠實的敵手模型的必要性在哪裏?其實在一般情況下,發動主動攻擊要比監聽整個計算過程在攻擊複雜的多,原因是,對於一個運行在計算機上程序,主動的攻擊需要用一些非常複雜的程序去攻擊他,但是對於單純的獲取計算過程中的數據而言,這是比較容易的,所以半誠實敵手模型在實際的生產生活中更加的普遍存在,就是單獨考慮半誠實敵手的必要性。

接下來我們主要探討在安全半誠實模型中的兩個等價的公式,
1.第一個公式直接推廣了零知識的定義的一般性,進一步定義了半誠實模型下的安全性。
2.第二種來源於之前定義的“real VS ideal”方法學。

兩種方法都是遵循“模擬範式”,第一種直接來源於零知識的定義,第二種來源於“退化的通用真實-理想模型”
ps:模擬範式(“simulation paradigm”)可能來源於GMW86,這個沒看過,還需要確定。

從零知識的角度看半誠實模型

簡單的來說,如果一個協議能夠保密的計算函數 f , 那麼凡是能夠從一個參與方視圖獲得的內容,都能夠完全從這個參與方的輸入輸出獲得。

爲了描述方面,這裏定義一些半誠實的行爲:
計算的函數 f : {0,1}* x {0,1}* - > {0,1}* x {0,1}* , 計算結果爲 f( x , y);
其中第一方的計算結果:f1(x , y) 爲計算結果的第一個元素;
其中第一方的計算結果:f2(x , y) 爲計算結果的第二個元素;
協議PI,是一個兩方協議用來計算函數f;
第一方和第二方的視圖 VIEW(x, y ) ;(x, r , m1,m2,…,mt), 其中r是一方隨機輸出,m 爲第t次的輸出消息。
協議執行完成之後的輸出定義爲OUTPUT(x,y)

deterministic case 對於確定性的例子

在這裏插入圖片描述
確定性的例子即爲,輸入確定,則輸出時不會變化的。所以只需要考慮模擬器的視圖和協議執行的視圖即可。

general case 對於確定性的例子

在這裏插入圖片描述
對於通用的例子來說,其實就是,對於概率性的算法,每次的輸出可能是不相同的,所以需要對比模擬器的視圖和協議執行者的視圖。其中式子右邊的這個四部分內容都是相關的隨機數,被定義來源於相同的隨機過程,特別是,OUTPUT完全是相應的由視圖VIEW定義。

基於零知識原語的模擬

首先考慮一個確定性的例子,由式子7.8 7.9 來看,能夠都有效的模擬,完全取決於他自己的輸入和輸出。也就是說參與方能夠從執行過程中獲得所有的信息本質上都包含在他本身的輸入和輸出中。對於確定的函數來說,存在以下的內容:
在這裏插入圖片描述
協議的輸出和函數的輸出相等。

和確定性函數相反的情形就是通用的情形,涉及到隨機的計算過程時,輸出不一定要滿足上圖中,協議的輸出和函數的輸出相等的關係。因爲每一方都是輸隨機的,確實,這兩個隨機的值必須是分佈相同的或者分佈相似的,但是這並不能完全這樣斷言。如下有這樣一個反例:
在這裏插入圖片描述
r 是均勻分佈在字符串{1,0}中,P1先選擇一個隨機數r, 然後發送給P2 ,然後P2 在輸出這個值,就是如此簡單的計算一個函數值。但是這個式子只滿足7.8 但是卻不滿足7.10。當模擬者S2輸出一個隨機的r時。原因在於模擬器應當輸出一個可能的輸出結果,而此處的模擬器隨便輸出的值,本身就不符合應當輸出值的隨機性。這是因爲,在一方的輸出和另一方視圖在同一個協議的執行過程,要求保存這個關係存在於模擬過程中。所以在模擬中,模擬者的視圖應該也是和對方的輸入有關係,並要保持這個關係,但是問題是,在上個反例中,模擬器隨機的輸出一個值破壞了這個關係。這是模擬安全的核心,我們應該模擬一個半誠實方真實可能的輸出,而不僅僅是一個分佈相同的值。

進一步的,式子7.9 、7.10要求參與方的被模擬視圖應該和實際輸出相匹配,爲了演示這個問題,我們描述如下情況,P1選擇一個隨機的字符串s, 並且輸出r = F(s) ,F是一個單項函數,再一次這個協議相當於繼續執行了當前的協議,但是並不清楚這個計算是不是保密的。(因爲P1學習到了F輸出的前象內容)注意,一個模擬器S1(1^n,r)選擇一個均勻的值s ,並且輸出(s, F(s))滿足7.7 但是不滿足7.9. 因爲模擬器的隨機選擇破壞了之前的隨機選擇。但是我們認爲這個問題要比上一個問題寬鬆一些,可以使用下面的這個公式來代替7.7 和 7.9.
在這裏插入圖片描述
上式解決了第一項提出的問題,但是沒有解決當前的問題,其實上式的設計是,用來比較最後的對方的輸出,即只要保證第二方的協議輸出和函數輸出同分布即可,即只要求模擬器的視圖和執行的視圖以及對應模擬器方的輸出和真實對應於被模擬器的輸出相對應,比之7.9放寬了條件。對於式子7.9 和 7.11而言最大的不同是,親着強制要求模擬的視圖和模擬器的輸出向匹配,但是這並沒有在7.11中得到保證。確實,對於7.11 來說S1中的視圖可能和S1的模擬輸出不匹配,但是被模擬的視圖卻能和誠實的P2輸出相對應。這個不一定是真正的事實,但是我們在實踐中傾向於使用一種更加嚴格的方式來定義這個問題。

non-uniform families of polynomial-time VS PPT

以上內容參考《Foundations.of.Cryptography.Volume.2.Basic.Applications(Oded.Goldreich)》
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章