Secret-Sharing
GMW 乘法與 2 方
我正在研究GMW協議對兩方乘法的評估。我在上面提到了不同的材料,但我不完全理解如何 $ a_i b_j + a_j b_i $ 在 2 方設置中計算。
如您所知,GMW 中的乘法表示為$$ (a_1\oplus a_2\oplus \cdots \oplus a_n)(b_1\oplus b_2\oplus \cdots\oplus b_n) = \bigoplus_i(a_i b_i) \bigoplus_{i<j}(a_i b_j \oplus a_j b_i). $$
在這個等式中找到第一項很容易,我們只需乘以 $ a_i $ 和 $ b_i $ 分享。我很難理解涉及遺忘轉移的第二個術語。
在這些講義中可以找到更易於理解的解釋。
這個想法是使用OT“模擬”乘法。OT 執行兩次,第一次執行 Party $ 0 $ 作為發件人和當事人 $ 1 $ 作為接收者,並在第二輪中角色互換。第一次執行如下:
- 聚會 $ 0 $ 選擇一個隨機位 $ r_0 $ 和 $ r_0\oplus a_0 $ 作為 OT 的輸入
- 聚會 $ 1 $ 套 $ b_1 $ 作為選擇位。不難看出那個黨 $ 1 $ 有效地計算 $ r_0\oplus a_0\cdot b_1 $ : 如果 $ b_1=0 $ ,得到 $ r_0 $ 否則它會得到 $ r_1\oplus a_0 $ .
同樣,在第二輪中,Party $ 0 $ 計算 $ r_1\oplus a_1\cdot b_0 $ .
現在,派對 $ 0 $ 的份額是$$ a_0b_0\oplus r_0\oplus (r_1\oplus a_1\cdot b_0) $$而黨 $ 1 $ 的份額是$$ a_1b_1\oplus r_1\oplus (r_0\oplus a_0\cdot b_1). $$ 不難看出,當異或時,它們產生 $ (a_0\oplus a_1)\cdot(b_0\oplus b_1)=a\cdot b $ .
進行乘法的另一種方法是使用 Beaver 的技巧
$$ B $$. 可以在這裡找到解釋。 $$ B $$Beaver,使用電路隨機化的高效多方協議,Crypto 91