日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

掷硬币协议

發(fā)布時(shí)間:2023/12/2 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 掷硬币协议 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

模型

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í)體。

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

    計(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í)體。

  • 輸入:P1P_1P1?的輸入是xxxP2P_2P2?的輸入是yyyAAA的輔助輸入是zzz,安全參數(shù)1n1^n1n作為333者的公共輸入。
  • 交互:誠(chéng)實(shí)方PjP_jPj?嚴(yán)格按照π\(zhòng)piπ的規(guī)則執(zhí)行,敵手AAA控制損壞方PjP_jPj?按照任意的多項(xiàng)式時(shí)間策略發(fā)送PjP_jPj?的消息空間中的任意消息。
  • 輸出:誠(chéng)實(shí)方PjP_jPj?輸出fj(x′,y′)f_j(x',y')fj?(x,y),損壞方PiP_iPi?不輸出,敵手AAA輸出任意的關(guān)于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可計(jì)算函數(shù)值。
  • 上述過程的輸出叫做在(x,y),z,n(x,y),z,n(x,y),z,n下的函數(shù)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是兩方協(xié)議π\(zhòng)piπ要計(jì)算的函數(shù),我們說π\(zhòng)piπ在惡意敵手下帶終止的安全地計(jì)算fffsecurely 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 NnN

    在討論安全計(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?bbi?1?使得擲硬幣結(jié)果偏向于bbb。解決方案是:“同時(shí)”發(fā)送,但同步信道難以實(shí)現(xiàn)。

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

  • 輸入:安全參數(shù)1n1^n1n作為P1,P2P_1,P_2P1?,P2?的公共輸入
  • 執(zhí)行:
  • P1P_1P1?隨機(jī)選擇b1∈{0,1}b_1 \in \{0,1\}b1?{0,1}以及隨機(jī)數(shù)r∈{0,1}?r \in \{0,1\}^*r{0,1}?,計(jì)算承諾值c←Com(b1;r)c \leftarrow Com(b_1;r)cCom(b1?;r)發(fā)送給P2P_2P2?
  • P2P_2P2?接收到ccc之后,隨機(jī)選擇b2∈{0,1}b_2 \in \{0,1\}b2?{0,1},發(fā)送明文給P1P_1P1?
  • P1P_1P1?接收到b2b_2b2?后,發(fā)送解承諾(b1,r)(b_1,r)(b1?,r)P2P_2P2?
  • P2P_2P2?驗(yàn)證c=Com(b1;r)c = Com(b_1;r)c=Com(b1?;r)是否滿足
  • 輸出:P1P_1P1?P2P_2P2?各自輸出相同的擲硬幣結(jié)果,b=b1⊕b2b=b_1\oplus b_2b=b1?b2?
  • 解釋: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é)果。

  • SSS發(fā)送λ\lambdaλ給計(jì)算fctf_{ct}fct?的可信第三方,得到返回值bbb
  • SSS迭代nnn次,i=1,?,ni=1,\cdots,ni=1,?,n
  • 首先隨機(jī)選擇b1b_1b1?rrr,計(jì)算c=Com(b1;r)c=Com(b_1;r)c=Com(b1?;r)發(fā)送給P2P_2P2?,同時(shí)發(fā)送給確定性敵手AAA
  • 如果AAA返回的結(jié)果滿足b2=b⊕b1b_2=b \oplus b_1b2?=bb1?,那么SSS發(fā)送解承諾(b1,r)(b_1,r)(b1?,r)AAA,并將AAA的相應(yīng)作為輸出。
  • 如果AAA返回的結(jié)果滿足b2≠b⊕b1b_2 \neq b \oplus b_1b2??=bb1?,那么i++i++i++
  • 如果i=ni=ni=nSSS輸出failfailfail;否則繼續(xù)迭代。
  • 由于擲單個(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 NPRNP的常數(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=xotherwise?

    協(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é)

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

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。