掷硬币协议
模型
Ideal Model
計(jì)算函數(shù)f:{0,1}?×{0,1}?→{0,1}?×{0,1}?f: \{0,1\}^* \times \{0,1\}^* \rightarrow \{0,1\}^* \times \{0,1\}^*f:{0,1}?×{0,1}?→{0,1}?×{0,1}?的兩方協(xié)議π\(zhòng)piπ,參與方是P1,P2P_1,P_2P1?,P2?。存在敵手AAA完全控制損壞的一方Pi,i∈{0,1}P_i,i \in \{0,1\}Pi?,i∈{0,1},誠(chéng)實(shí)的另一方記做Pj,j=1?iP_j,j=1-iPj?,j=1?i,另外存在一個(gè)可信第三方(trusted party)TTT,一共444個(gè)實(shí)體。
上述過程的輸出叫做在(x,y),z,n(x,y),z,n(x,y),z,n下的函數(shù)fff的ideal execution,記做IDEALf,A(z),i(x,y,n)IDEAL_{f,A(z),i}(x,y,n)IDEALf,A(z),i?(x,y,n),包含PjP_jPj?和AAA的輸出。
Real Model
計(jì)算函數(shù)f:{0,1}?×{0,1}?→{0,1}?×{0,1}?f: \{0,1\}^* \times \{0,1\}^* \rightarrow \{0,1\}^* \times \{0,1\}^*f:{0,1}?×{0,1}?→{0,1}?×{0,1}?的兩方協(xié)議π\(zhòng)piπ,參與方是P1,P2P_1,P_2P1?,P2?。存在敵手AAA完全控制損壞的一方Pi,i∈{0,1}P_i,i \in \{0,1\}Pi?,i∈{0,1},誠(chéng)實(shí)的另一方記做Pj,j=1?iP_j,j=1-iPj?,j=1?i,不存在可信第三方,一共333個(gè)實(shí)體。
上述過程的輸出叫做在(x,y),z,n(x,y),z,n(x,y),z,n下的函數(shù)fff的real execution,記做REALπ,A(z),i(x,y,n)REAL_{\pi,A(z),i}(x,y,n)REALπ,A(z),i?(x,y,n),包含PjP_jPj?和AAA的輸出。
惡意敵手下的安全性定義
令fff是兩方協(xié)議π\(zhòng)piπ要計(jì)算的函數(shù),我們說π\(zhòng)piπ在惡意敵手下帶終止的安全地計(jì)算fff(securely compute fff with abort in the presence of static malicious adversaries),如果對(duì)于任意非均勻PPT的真實(shí)模型下的敵手AAA,都存在一個(gè)非均勻PPT的理想模型下的敵手SSS,對(duì)于任意的i∈{0,1}i \in \{0,1\}i∈{0,1},都有
{IDEALf,S(z),i(x,y,n)}x,y,z,n≡c{REALπ,A(z),i(x,y,n)}x,y,z,n\{IDEAL_{f,S(z),i}(x,y,n)\}_{x,y,z,n} \overset{c}{\equiv} \{REAL_{\pi,A(z),i}(x,y,n)\}_{x,y,z,n} {IDEALf,S(z),i?(x,y,n)}x,y,z,n?≡c{REALπ,A(z),i?(x,y,n)}x,y,z,n?
其中x,y∈{0,1}?x,y \in \{0,1\}^*x,y∈{0,1}?,∣x∣=∣y∣|x|=|y|∣x∣=∣y∣,以及z∈{0,1}?z \in \{0,1\}^*z∈{0,1}?,n∈Nn \in Nn∈N
在討論安全計(jì)算時(shí),我們總是考慮“abort”的。另外,真實(shí)世界的概率性敵手AAA往往被當(dāng)做黑盒,于是模擬器SSS可以定義A′(?):=A(x,z,r;?)A'(\cdot) := A(x,z,r;\cdot)A′(?):=A(x,z,r;?),其中rrr是隨機(jī)帶,那么A′A'A′就是確定性敵手。在證明中只需考慮確定性敵手即可。
Modular Sequential Composition
順序組合定理(Sequential composition theorems):如果一個(gè)協(xié)議在獨(dú)立模型下(in the stand-alone model)是XXX定義下安全的(secure under definition XXX),那么它在順序組合(每一個(gè)進(jìn)程在下一個(gè)進(jìn)程開始前結(jié)束)下是XXX定義下安全的。
在設(shè)計(jì)協(xié)議時(shí),我們可以令這個(gè)協(xié)議包含一個(gè)理想模型下的子例程。首先證明子例程是安全的,然后用可信第三方計(jì)算這個(gè)子例程,在理想模型下證明協(xié)議的安全性。
Hybrid Model:協(xié)議參與方之間進(jìn)行交互(as in the real model),同時(shí)也使用可信第三方(as in the ideal model)。即,協(xié)議π\(zhòng)piπ包含一系列理想調(diào)用(ideal calls)來計(jì)算f1,?,fp(n)f_1,\cdots,f_{p(n)}f1?,?,fp(n)?,且fif_ifi?在fi+1f_{i+1}fi+1?之前被調(diào)用。調(diào)用期間參與方之間不交互。每次理想調(diào)用是獨(dú)立的,可信第三方不保存調(diào)用狀態(tài)。參與方的交互信息記做standard message,與可信第三方的交互信息記做ideal message。
Blum擲硬幣協(xié)議
擲硬幣(Coin Tossing):一個(gè)兩方協(xié)議計(jì)算函數(shù)fct(λ,λ)=(U1,U1)f_{ct}(\lambda,\lambda) = (U_1,U_1)fct?(λ,λ)=(U1?,U1?),其中U1∈{0,1}U_1 \in \{0,1\}U1?∈{0,1}是單個(gè)隨機(jī)比特。
如何擲硬幣?很簡(jiǎn)單:P1P_1P1?和P2P_2P2?各自選擇一個(gè)隨機(jī)比特b1,b2b_1,b_2b1?,b2?,然后發(fā)送給對(duì)方,計(jì)算兩者的異或值b=b1⊕b2b=b_1 \oplus b_2b=b1?⊕b2?。但是,如果在PiP_iPi?發(fā)送bib_ibi?之前就收到了b1?ib_{1-i}b1?i?,那么他就可以選擇bi←b⊕bi?1b_i \leftarrow b \oplus b_{i-1}bi?←b⊕bi?1?使得擲硬幣結(jié)果偏向于bbb。解決方案是:“同時(shí)”發(fā)送,但同步信道難以實(shí)現(xiàn)。
Blum協(xié)議:使用承諾方案來解決同步問題。
解釋:P2P_2P2?接收到ccc之后,P1P_1P1?便無法再更改b1b_1b1?(承諾協(xié)議的綁定性),同時(shí)P2P_2P2?也無法獲得關(guān)于b1b_1b1?的信息來使得結(jié)果偏向bbb(承諾協(xié)議的隱藏性)。
證明安全性:模擬器SSS的挑戰(zhàn)目標(biāo)是,讓它模擬的擲硬幣結(jié)果等于理想模型下可信第三方返回的結(jié)果。
由于擲單個(gè)硬幣,因此期望上只需要回滾222次即可令結(jié)果相同。SSS輸出failfailfail的概率是μ(n)\mu(n)μ(n);當(dāng)輸出的不是failfailfail時(shí),它在IDEALIDEALIDEAL下和REALREALREAL下的輸出分布不可區(qū)分。
詳細(xì)證明過程很長(zhǎng),雖然協(xié)議看起來是如此簡(jiǎn)單。結(jié)論是:假設(shè)ComComCom是完美綁定的,那么Blum協(xié)議可以安全擲硬幣。
常數(shù)輪擲多個(gè)硬幣協(xié)議
應(yīng)用順序組合定理,我們l(n)l(n)l(n)次擲單個(gè)硬幣,依然是安全的。然而,我們更希望獲得常數(shù)輪的擲多個(gè)硬幣。如果只是簡(jiǎn)單地將Blum協(xié)議中的單個(gè)隨機(jī)比特bi∈{0,1}?b_i \in \{0,1\}^*bi?∈{0,1}?替換成ρi∈{0,1}l(n)\rho_i \in \{0,1\}^{l(n)}ρi?∈{0,1}l(n),這就沒法用模擬技術(shù)來證明安全性了,因?yàn)槠谕线@需要2l(n)2^{l(n)}2l(n)次回滾。
解決方案是,做承諾ccc之后,P1P_1P1?不發(fā)送解承諾(ρ1,r)(\rho_1,r)(ρ1?,r),而僅發(fā)送ρ1\rho_1ρ1?,并用零知識(shí)證明ccc就是ρ1\rho_1ρ1?對(duì)應(yīng)的承諾。
令fzkR((x,w),x)f_{zk}^R((x,w),x)fzkR?((x,w),x)是關(guān)于語言R∈NPR \in NPR∈NP的常數(shù)輪零知識(shí)證明協(xié)議,
fzkR((x,w),x):={(λ,R(x,w))x=x′(λ,0)otherwisef_{zk}^R((x,w),x) := \left\{ \begin{aligned} (\lambda,R(x,w)) && x=x'\\ (\lambda,0) && otherwise\\ \end{aligned} \right. fzkR?((x,w),x):={(λ,R(x,w))(λ,0)??x=x′otherwise?
協(xié)議為:
利用混雜模型,可以證明:如果ComComCom是完美綁定的,且l(n)l(n)l(n)是多項(xiàng)式的,那么上述協(xié)議 securely computes the functionality fctl(λ,λ)=(Ul(n),Ul(n))f_{ct}^l(\lambda,\lambda)=(U_{l(n)},U_{l(n)})fctl?(λ,λ)=(Ul(n)?,Ul(n)?) in the (fzkR1,fzkR2)?(f_{zk}^{R_1},f_{zk}^{R_2})-(fzkR1??,fzkR2??)?hybrid model.
總結(jié)
- 上一篇: 行翻转和列翻转_用量子计算机翻转硬币
- 下一篇: 模拟投硬币,一次一投