SPDZ协议
基础知识
- 敌手定义:被动敌手,不可信计算参与方遵循协议;主动敌手,不可信计算参与方偏离协议;
- 协议安全定义:理想与现实执行在计算上不可区分;
- 协议设计目标:安全多方计算;抵抗主动敌手;主动敌手占主导地位(Dishonest Majority),极端情况下,只有一个可信参与方,其他参与方均被恶意敌手腐蚀;
- 协议设计思路:协议划分为预处理阶段(生成随机数)和在线阶段(参与方交互计算);全同态加密FHE适用于明文和密文下的相同的线性计算(乘法和加法);然而全同态不实际,因此采用浅同态加密SWHE(同时支持有限次加法和乘法同态)执行两阶段安全多方计算(加密可扩展为加性秘密共享形式);
- 实现安全多方计算:离线(预处理)生成乘法三元组;输入和输出为加性秘密共享形式;消息验证码MAC防止恶意参与方篡改数据或偏离协议(n个参与方,可允许n-1个恶意参与方(主动敌手)存在);
MC from SHE
- 核对MAC以确定中间或最终计算结果可信;然而,公开MAC的系数会导致恶意计算方伪造MAC;为了避免这一问题,延迟MAC核对操作至输出阶段。
- 加性秘密共享:
- 秘密正确性验证:
P
i
P_i
Pi已知全局密钥α和参与方私钥
β
i
β_i
βi,计算其他
P
j
P_j
Pj发送的
γ
(
α
)
i
j
(
j
≠
i
)
γ(α)_i^j (j \ne i)
γ(α)ij(j=i)之和
γ
(
α
)
i
γ(α)_i
γ(α)i,验证
γ
(
α
)
i
γ(α)_i
γ(α)i是否等于
α
β
i
α β_i
αβi。