Multiparty-Computation

安全的兩方計算

  • March 13, 2017

在與各方的安全兩方計算問題中 $ P1 $ 和 $ P2 $ ,讓我們假設以下結構:

$ P1 $ 知道輸入 $ a $ 並執行以下操作: $ a = a1 \oplus a2 $ 並與自己保持一致 $ a1 $ 在給予的同時 $ a2 $ 至 $ P2 $ .

相似地, $ P2 $ 知道輸入 $ b $ 並執行以下操作: $ b = b1 \oplus b2 $ 並與自己保持一致 $ b2 $ 在給予的同時 $ b1 $ 至 $ P1 $

所以最後, $ P1 $ 知道 $ a $ , $ a1 $ 和 $ b1 $ 儘管 $ P2 $ 知道 $ b $ , $ a2 $ 和 $ b2 $ .

計算 $ o = a \oplus b $ , $ P1 $ 計算 $ o1 = a1 \oplus b1 $ 儘管 $ P2 $ 計算 $ o2 = a2 \oplus b2 $ . 我們知道 $ o = o1 \oplus o2 $ .

我的問題是手術在哪裡 $ o1 \oplus o2 $ 執行?如果開啟 $ P1 $ (比如說),那麼 $ P1 $ 會知道 $ o1 $ , $ o2 $ 和 $ a2 $ (因為 $ P1 $ 知道 $ a $ 和 $ a1 $ , 他可以重新計算 $ a2 $ 作為 $ a2 = a \oplus a1 $ ) 我們得到 $ b2 = o2 \oplus a2 $ . 現在自從 $ P1 $ 知道 $ b1 $ 和 $ b2 $ , 他知道 $ b $ ,這不應該發生。

我對這裡問題的理解的主要缺陷是什麼?

您描述的協議計算 XOR 函式 $ a\oplus b $ 在半誠實的對手面前。但是,這個函式在給定你自己的輸入的情況下,完全揭示了對方的輸入。因此,實際上沒有保留任何隱私。然而,這是由於理想功能的定義,而不是協議的問題。

您問的是一個比密碼學更有用的問題。如果在共享計算結束時,您希望獲得答案,誰應該學習答案?有時你想要兩者 $ P_1 $ 和 $ P_2 $ 學習答案 $ P_{i} $ 發送 $ O_i $ 至 $ P_{1-i} $ . 在其他案例中有另一方 $ R $ 誰打算知道結果,在這種情況下 $ P_i $ 發送 $ O_i $ 至 $ R $ .

如果不清楚,計算不必在這裡結束。球員 $ P_1 $ 和 $ P_2 $ 可以進行進一步的計算 $ a $ , $ b $ 和 $ o $ 不共享初始值或中間值。

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