Secret-Sharing

我們可以多次使用固定的 Beaver 乘法三元組嗎?

  • April 6, 2020

在基於 GMW 和 SPDZ 風格方法的安全計算中,我們使用乘法三元組來獲得有效的線上計算時間。

  1. 可以多次使用相同的三元組嗎?
  2. 是否需要更新三元組?

如果您重複使用相同的乘法三元組,那麼您會洩漏有關您乘法的秘密共享值的資訊。

讓我們回顧一下Beaver 協議中乘法是如何工作的,用於安全評估算術電路。像 SPDZ 家族的協議這樣的協議遵循 Beaver 的藍圖,並且“只是”在頂部添加了一些額外的魔法來獲得主動安全。讓我們關注 Beaver 的簡單方法,因為當您重用乘法三元組時,您已經在那裡遇到了問題:

假設您有一個秘密共享值 $ [x] $ 和 $ [y] $ , 其中符號 $ [x] $ 意思是 $ x = \sum^n_{i=1}x_i $ 和派對 $ P_i $ 有份額 $ x_i $ . 讓 $ [a],[b],[c] $ 和 $ c = a \cdot b $ 是一個秘密共享乘法三元組。

相乘 $ [x] $ 和 $ [y] $ 你計算 $ [z] $ , 在哪裡 $ z = x \cdot y $ , 如下:

  1. 各方計算$$ [d] := - [a] = [x-a] $$並公佈其份額(從而揭示 $ d $ )
  2. 各方計算$$ [e] := [y] - [b] = [y-b] $$並公佈其份額(從而揭示 $ e $ )
  3. 各方在本地計算$$ [z] = [c] + \cdot e + [y] \cdot d - e \cdot d $$(請注意,當我們想要添加或減去公共值時,例如 $ e \cdot d $ 到一個秘密的共享價值,那麼只有一方將公共價值添加到其股份中。)

現在,如果您要重用相同的乘法三元組 $ [a],[b],[c] $ 在其他一些秘密值的另一個乘法中 $ [u] $ 和 $ [v] $ ,那麼你會揭示$$ d’ = u - a $$和$$ e’ = v - b $$

根據這些資訊,誠實但好奇的一方現在可以計算出 $$ d - d’ = (x-a) - (u-a) = x - u $$ 這顯然很糟糕,因為它直接揭示了兩個秘密值之間的差異 $ x $ 和 $ u $ . 同樣,與 $ e $ 和 $ e’ $ ,顯然也可以計算差異 $ y - v $ .

出於這個原因,對於協議的安全性來說,每個乘法三元組最多使用一次是至關重要的!

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