詳細解釋
安全多方計算(Secure Multi-Party Computation)是允許多個參與方在不泄露各自輸入的情況下,共同計算函數的密碼學技術。
核心概念:
- n個參與方,各自有私有輸入x_i
- 共同計算函數f(x_1, ..., x_n)
- 只獲得結果,不泄露輸入
- 即使部分參與方惡意也安全
技術路線:
- 混淆電路(Garbled Circuits):
- 一方構造混淆電路
- 另一方使用混淆輸入求值
- 通用但通信量大
- 秘密共享(Secret Sharing):
- 數據分片分發給多方
- 在分片上計算
- 適合線性運算
- 同態加密:
- 加密狀態下計算
- 單方即可計算
安全模型:
- 半誠實:參與方遵守協議但想推斷
- 惡意:參與方可能偏離協議
- 隱含惡意:中間模型
應用:
- 隱私保護機器學習:
- 安全推斷
- 安全訓練
- 模型隱私保護
- 拍賣:不泄露出價
- 隱私比較:收入比較不泄露具體值
協議:
- SPDZ:惡意安全,高效
- BGW、GMW:經典協議
- ABY:混合協議
工具:
- MP-SPDZ
- SCALE-MAMBA
- TF-Encrypted
安全多方計算是隱私協作計算的基礎。