Protocol-Design

安全功能評估

  • November 20, 2013

考慮 3 方,Alice、Bob 和 Charlie。假設每一方都有一個比特作為輸入,即 Alice、Bob 和 Charlie 持有 $ a, b, c \in {0, 1} $ 分別。展示如何建構一個他們可以計算函式的方案 $ f (a, b, c) = a \oplus b \oplus c $ 從而滿足以下條件:

(一)各方學習 $ f(a, b, c) $ 在末尾。

(2) 任何一方都無法從對方的輸入中獲得比他們所能推斷的更多的資訊 $ f(a, b, c) $ 並明智地選擇自己的輸入。

我的嘗試:A選擇 $ r_1,r_2\in{0,1} $ , B 選擇 $ s_1,s_2,\in{0,1} $ , C 選擇 $ t_1,t_2\in{0,1} $ 隨機。然後各個秘密的經銷商(粗體)以下列方式向每一方分配 3 股。

$ A: \it{\bf{a\oplus r_1 \oplus r_2}}, s_1, t_1 $

$ B: r_1, \it{\bf{b\oplus s_1 \oplus s_2}}, t_2 $

$ C: r_2, s_2, \it{\bf{c\oplus t_1 \oplus t_2}} $ .

重建秘密 $ a\oplus b\oplus c $ ,他們可以計算他們的份額總和,

$ A: (a\oplus r_1 \oplus r_2)\oplus s_1\oplus t_1 $

$ B: r_1\oplus( b\oplus s_1 \oplus s_2)\oplus t_2 $

$ C: r_2\oplus s_2\oplus( c\oplus t_1 \oplus t_2) $ .

你的協議很好(假設一個誠實但好奇的對手模型)。正如 DrLecter 指出的那樣,每一方都需要公佈他們的股份總數。為了恢復答案,每一方然後簡單地對所有發布的值進行異或。

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