Multiparty-Computation
亂碼電路相關隨機性的解釋
在研究 Yao 的亂碼電路時,有人提到相關隨機性在 MPC 中發揮了一定作用。我查找了線上文件,但我發現的所有內容都太複雜了,我無法理解。
誰能簡要解釋相關隨機性的作用(和功能)?
相關隨機性和亂碼電路是實現安全多方計算的兩種不同方法。他們彼此沒有直接關係。
高度多方協議,如 SPDZ、TinyOT 等,可防止不誠實的多數,基於相關隨機性。此範例中的協議有兩個階段。
- 在第一階段,各方為以下任務執行專門的 MPC:它不需要輸入,但需要樣本 $ (r_1, \ldots, r_n) $ 從一些商定的分配和輸出 $ r_i $ 聚會 $ P_i $ . 該階段的輸出稱為相關隨機性。由於此階段不使用各方的任何特定輸入,因此可以事先做好。
- 在第二階段,各方消耗他們的相關隨機性來執行期望函式的 MPC $ f $ , 在他們選擇的輸入上 $ f $ . 這個階段通常在資訊理論上是安全的(假設第一階段的安全性)。
最簡單的相關隨機性是乘法三元組(Beaver 在 1991 年提出)。讓 $ [s] $ 表示當事方秘密共享的情況 $ s $ . 秘密共享的細節並不太重要——您可以想像簡單的附加秘密共享或 Shamir 秘密共享。唯一重要的性質是加性同態:從 $ [s],[t] $ 可以計算 $ [s+t] $ (便宜,通常沒有互動)。
- 相關隨機性包括 $ [a],[b],[c] $ 在哪裡 $ a,b $ 是隨機場元素和 $ c=ab $ . 這些值稱為乘法三元組。我不會詳細說明各方生成乘法三元組,我只想關注如何將這樣的隨機值用於 MPC。
- 稍後假設各方有秘密股份 $ $ 和 $ [y] $ 他們想乘以學習 $ xy $ . 這是所選輸入的乘法。他們如何使用乘法三元組,它使用與他們真正關心的乘法無關的隨機值?
- 各方計算 $ [x+a] $ 和 $ [y+b] $ (使用秘密共享的加性同態屬性)並將它們公開開放為 $ d=x+a $ 和 $ e=y+b $ . 自從 $ a $ , $ b $ 是隨機的,任何一方都不知道,打開 $ d $ 和 $ e $ 什麼也沒透露 $ x,y $ (但是這個“一次性填充”意味著這個特殊的乘法三元組只能以這種方式使用一次)。
- 注意 $ xy = (d-a)(e-b) = de - ae - da + ab $ . 但當事人知道 $ e,d $ 很明顯,他們有秘密的股份 $ a, b, $ 和 $ ab $ . 所以他們可以使用共享方案的同態屬性來計算 $ de - e[a] - d[b]
- [c] $ 並打開它。結果是 $ xy $ 他們關心。
這(和其他技巧)大致是如何將相關隨機性用於 MPC。對於這個協議範式的一個很好的概述,我強烈推薦 Claudio Orlandi關於這個主題的優秀教程影片。