Protocol-Design

是否有基於這種拋硬幣協議的製勝策略?

  • May 11, 2022

給定硬幣翻轉協議:

  • A選擇 $ a \in_R {0,1} $ 併計算 $ commit(a,r) $ . 她發 $ commit(a,r) $ 給 B。
  • B 選擇 $ b \in_R {0,1} $ 並發送 $ b $ 對 A。
  • A 發送 $ open(a,r) $ B 檢查開口是否有效。
  • 兩個輸出 $ coin = a \oplus b $

在哪裡 $ commit $ 是 Alice 使用的承諾方案。

我試圖了解其中一方如何有可能確保結果為 0 的製勝策略。我假設這與一方的某種形式的不誠實有關,但我不明白這怎麼可能得以實現。我意識到愛麗絲可以在產生她的輸出之前判斷她是否喜歡這個結果,但是是什麼強制決定符合她的喜好呢?

還有,我知道每一方都要輸出一點,但是如果確實不誠實的,那麼最終的結果又是如何確定的呢?

任何建議將不勝感激。

這裡有一個微妙的區別,必須明確。我們必須考慮兩種安全定義:

  • **“Security with Abort”:**允許腐敗方查看其輸出,然後決定是否允許誠實方接收其輸出。(我正在描述理想世界中發生的事情——如果對協議的每次攻擊都可能與理想世界中的某些攻擊具有相同的效果,那麼協議就是安全的。)

“拋硬幣中止”的理想功能執行以下操作:

  1. 擲一枚公平的硬幣 $ c \gets {0,1} $ ;
  2. 給 $ c $ 對對手;
  3. 稍等 $ d $ ( $ d $ =“傳遞”)來自對手
  4. 如果 $ d=0 $ ,然後給出輸出 $ \bot $ 誠實的當事人;否則如果 $ d=1 $ 然後給出輸出 $ c $ 對誠實的當事人。
  • **“保證輸出”:**腐敗方無法阻止誠實方接收輸出。

“投幣保證輸出”的理想功能執行以下操作:

  1. 擲一枚公平的硬幣 $ c \gets {0,1} $ ;
  2. 給 $ c $ 對所有各方;

您描述的協議沒有說明如果腐敗的 Alice 未能公開她對 Bob 滿意的承諾會發生什麼。如果我們在這種情況下告訴 Bob 中止,我們確實得到了一個通過中止實現安全性的協議。所以從這個意義上說,你的直覺是正確的。

但是無論你添加什麼協議,它都不會在保證輸出的情況下實現安全性。這是你提到的論文中討論的問題。

為了您的問題,我們將“幼稚”協議定義為具有 1/2 偏差的協議——即,對手總是可以確定地強制執行某個結果。您在問題中描述了一個協議,並根據此定義詢問它是否幼稚。但是,您的協議未指定——它沒有描述如果 Alice 未能(或選擇不)公開她的承諾,誠實的 Bob 應該做什麼。因此,根據這個定義,無法回答這個協議是否幼稚。

在該論文的第 3 頁,他們考慮了您描述的協議,但添加了以下條件:“如果 Alice 中止或未正確打開承諾,那麼 Bob 應該對自己的隨機位進行採樣並將該位用作他的輸出。” 他們展示了生成的協議如何具有 1/4 偏差,並指出 1/4 是該生成協議的最佳攻擊偏差。因此,根據我們的定義,生成的協議並不幼稚。

引用自:https://crypto.stackexchange.com/questions/100084