日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

掷硬币协议

發布時間:2023/12/2 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 掷硬币协议 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

模型

Ideal Model

計算函數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}?的兩方協議π\piπ,參與方是P1,P2P_1,P_2P1?,P2?。存在敵手AAA完全控制損壞的一方Pi,i∈{0,1}P_i,i \in \{0,1\}Pi?,i{0,1}誠實的另一方記做Pj,j=1?iP_j,j=1-iPj?,j=1?i,另外存在一個可信第三方(trusted party)TTT,一共444個實體。

  • 輸入:P1P_1P1?的輸入是xxxP2P_2P2?的輸入是yyyAAA的輔助輸入是zzz,安全參數1n1^n1n作為444者的公共輸入。
  • 將輸入發送給可信第三方:誠實方PjP_jPj?發送xxxTTT,敵手AAA控制損壞方PiP_iPi?TTT發送如下三者之一,abortiabort_iaborti?終止信息、輸入yyy、相同長度的其他任意信息,這取決于敵手AAAz,xz,xz,x的觀察。將P1,P2P_1,P_2P1?,P2?TTT發送的消息統一記做(x′,y′)(x',y')(x,y)
  • 提前終止:如果接收到abortiabort_iaborti?,那么TTTPjP_jPj?發送終止符
  • 可信第三方發送輸出:
  • TTT計算f(x′,y′)=(f1(x′,y′),f2(x′,y′))f(x',y')=(f_1(x',y'),f_2(x',y'))f(x,y)=(f1?(x,y),f2?(x,y)),將fi(x′,y′)f_i(x',y')fi?(x,y)發送給AAA控制的PiP_iPi?
  • 敵手AAA決定發送continuecontinuecontinue還是abortiabort_iaborti?TTT
  • 如果TTT接收到的是continuecontinuecontinue,那么將fj(x′,y′)f_j(x',y')fj?(x,y)發送給誠實方PjP_jPj?;否則,發送abortiabort_iaborti?PjP_jPj?
  • 輸出:誠實方PjP_jPj?輸出fj(x′,y′)f_j(x',y')fj?(x,y),損壞方PiP_iPi?不輸出,敵手AAA輸出任意的關于inputi∈{x,y},z,fi(x′,y′)input_i \in \{x,y\},z,f_i(x',y')inputi?{x,y},z,fi?(x,y)的PPT可計算函數值。
  • 上述過程的輸出叫做在(x,y),z,n(x,y),z,n(x,y),z,n下的函數fffideal 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

    計算函數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}?的兩方協議π\piπ,參與方是P1,P2P_1,P_2P1?,P2?。存在敵手AAA完全控制損壞的一方Pi,i∈{0,1}P_i,i \in \{0,1\}Pi?,i{0,1}誠實的另一方記做Pj,j=1?iP_j,j=1-iPj?,j=1?i,不存在可信第三方,一共333個實體。

  • 輸入:P1P_1P1?的輸入是xxxP2P_2P2?的輸入是yyyAAA的輔助輸入是zzz,安全參數1n1^n1n作為333者的公共輸入。
  • 交互:誠實方PjP_jPj?嚴格按照π\piπ的規則執行,敵手AAA控制損壞方PjP_jPj?按照任意的多項式時間策略發送PjP_jPj?的消息空間中的任意消息。
  • 輸出:誠實方PjP_jPj?輸出fj(x′,y′)f_j(x',y')fj?(x,y),損壞方PiP_iPi?不輸出,敵手AAA輸出任意的關于inputi∈{x,y},z,fi(x′,y′)input_i \in \{x,y\},z,f_i(x',y')inputi?{x,y},z,fi?(x,y)的PPT可計算函數值。
  • 上述過程的輸出叫做在(x,y),z,n(x,y),z,n(x,y),z,n下的函數fffreal 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是兩方協議π\piπ要計算的函數,我們說π\piπ在惡意敵手下帶終止的安全地計算fffsecurely compute fff with abort in the presence of static malicious adversaries),如果對于任意非均勻PPT的真實模型下的敵手AAA,都存在一個非均勻PPT的理想模型下的敵手SSS,對于任意的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 NnN

    在討論安全計算時,我們總是考慮“abort”的。另外,真實世界的概率性敵手AAA往往被當做黑盒,于是模擬器SSS可以定義A′(?):=A(x,z,r;?)A'(\cdot) := A(x,z,r;\cdot)A(?):=A(x,z,r;?),其中rrr是隨機帶,那么A′A'A就是確定性敵手。在證明中只需考慮確定性敵手即可。

    Modular Sequential Composition

    順序組合定理(Sequential composition theorems):如果一個協議在獨立模型下(in the stand-alone model)是XXX定義下安全的(secure under definition XXX),那么它在順序組合(每一個進程在下一個進程開始前結束)下是XXX定義下安全的。

    在設計協議時,我們可以令這個協議包含一個理想模型下的子例程。首先證明子例程是安全的,然后用可信第三方計算這個子例程,在理想模型下證明協議的安全性。

    Hybrid Model:協議參與方之間進行交互(as in the real model),同時也使用可信第三方(as in the ideal model)。即,協議π\piπ包含一系列理想調用(ideal calls)來計算f1,?,fp(n)f_1,\cdots,f_{p(n)}f1?,?,fp(n)?,且fif_ifi?fi+1f_{i+1}fi+1?之前被調用。調用期間參與方之間不交互。每次理想調用是獨立的,可信第三方不保存調用狀態。參與方的交互信息記做standard message,與可信第三方的交互信息記做ideal message。

    Blum擲硬幣協議

    擲硬幣(Coin Tossing):一個兩方協議計算函數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}是單個隨機比特。

    如何擲硬幣?很簡單:P1P_1P1?P2P_2P2?各自選擇一個隨機比特b1,b2b_1,b_2b1?,b2?,然后發送給對方,計算兩者的異或值b=b1⊕b2b=b_1 \oplus b_2b=b1?b2?。但是,如果在PiP_iPi?發送bib_ibi?之前就收到了b1?ib_{1-i}b1?i?,那么他就可以選擇bi←b⊕bi?1b_i \leftarrow b \oplus b_{i-1}bi?bbi?1?使得擲硬幣結果偏向于bbb。解決方案是:“同時”發送,但同步信道難以實現。

    Blum協議:使用承諾方案來解決同步問題。

  • 輸入:安全參數1n1^n1n作為P1,P2P_1,P_2P1?,P2?的公共輸入
  • 執行:
  • P1P_1P1?隨機選擇b1∈{0,1}b_1 \in \{0,1\}b1?{0,1}以及隨機數r∈{0,1}?r \in \{0,1\}^*r{0,1}?,計算承諾值c←Com(b1;r)c \leftarrow Com(b_1;r)cCom(b1?;r)發送給P2P_2P2?
  • P2P_2P2?接收到ccc之后,隨機選擇b2∈{0,1}b_2 \in \{0,1\}b2?{0,1},發送明文給P1P_1P1?
  • P1P_1P1?接收到b2b_2b2?后,發送解承諾(b1,r)(b_1,r)(b1?,r)P2P_2P2?
  • P2P_2P2?驗證c=Com(b1;r)c = Com(b_1;r)c=Com(b1?;r)是否滿足
  • 輸出:P1P_1P1?P2P_2P2?各自輸出相同的擲硬幣結果,b=b1⊕b2b=b_1\oplus b_2b=b1?b2?
  • 解釋:P2P_2P2?接收到ccc之后,P1P_1P1?便無法再更改b1b_1b1?(承諾協議的綁定性),同時P2P_2P2?也無法獲得關于b1b_1b1?的信息來使得結果偏向bbb(承諾協議的隱藏性)。

    證明安全性:模擬器SSS的挑戰目標是,讓它模擬的擲硬幣結果等于理想模型下可信第三方返回的結果。

  • SSS發送λ\lambdaλ給計算fctf_{ct}fct?的可信第三方,得到返回值bbb
  • SSS迭代nnn次,i=1,?,ni=1,\cdots,ni=1,?,n
  • 首先隨機選擇b1b_1b1?rrr,計算c=Com(b1;r)c=Com(b_1;r)c=Com(b1?;r)發送給P2P_2P2?,同時發送給確定性敵手AAA
  • 如果AAA返回的結果滿足b2=b⊕b1b_2=b \oplus b_1b2?=bb1?,那么SSS發送解承諾(b1,r)(b_1,r)(b1?,r)AAA,并將AAA的相應作為輸出。
  • 如果AAA返回的結果滿足b2≠b⊕b1b_2 \neq b \oplus b_1b2??=bb1?,那么i++i++i++
  • 如果i=ni=ni=nSSS輸出failfailfail;否則繼續迭代。
  • 由于擲單個硬幣,因此期望上只需要回滾222次即可令結果相同。SSS輸出failfailfail的概率是μ(n)\mu(n)μ(n);當輸出的不是failfailfail時,它在IDEALIDEALIDEAL下和REALREALREAL下的輸出分布不可區分。

    詳細證明過程很長,雖然協議看起來是如此簡單。結論是:假設ComComCom是完美綁定的,那么Blum協議可以安全擲硬幣。

    常數輪擲多個硬幣協議

    應用順序組合定理,我們l(n)l(n)l(n)次擲單個硬幣,依然是安全的。然而,我們更希望獲得常數輪的擲多個硬幣。如果只是簡單地將Blum協議中的單個隨機比特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),這就沒法用模擬技術來證明安全性了,因為期望上這需要2l(n)2^{l(n)}2l(n)次回滾。

    解決方案是,做承諾ccc之后,P1P_1P1?不發送解承諾(ρ1,r)(\rho_1,r)(ρ1?,r),而僅發送ρ1\rho_1ρ1?,并用零知識證明ccc就是ρ1\rho_1ρ1?對應的承諾。

    fzkR((x,w),x)f_{zk}^R((x,w),x)fzkR?((x,w),x)是關于語言R∈NPR \in NPRNP的常數輪零知識證明協議,

    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=xotherwise?

    協議為:

    利用混雜模型,可以證明:如果ComComCom是完美綁定的,且l(n)l(n)l(n)是多項式的,那么上述協議 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.

    總結

    以上是生活随笔為你收集整理的掷硬币协议的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。