高效编译器实现诚实多数方多方计算的公开可验证隐蔽安全
在多方计算(MPC)领域,实现隐蔽安全且具备公开可验证性是一个重要的目标。下面将详细介绍相关的协议、算法以及它们的安全性和复杂度分析。
1. Πopen 协议:开启一组执行
该协议旨在开启一组执行,其初始状态下,所有参与方知晓每个执行中各方的加密种子份额、对应证明、签名以及证据元组。每个参与方还持有一组私有种子开启值、输出和传输记录。为开启 k - 1 个协议执行,需按以下步骤进行:
1. 份额验证 :
- 各方使用 PVSS 的验证算法检查所有份额的有效性,生成集合 $M = {(l, m) \in ([n], [k]) : PVSS.Verify(dproof_l^m, E_h(d_h)^{(l,m)} {h\in[n]}) = \perp}$。
- 若有参与方得到 $M \neq \varnothing$,选择 $M$ 中 $l$ 和 $m$ 最小的元组 $(l, m)$,计算证书 $cert {invs} = (pk_l, evidence_m, E_j(d_j)^{(l,m)} {j\in[n]}, \sigma_l^m)$ 并输出 $corrupted_l$。
2. 联合抛硬币阶段 :
- 若所有验证成功,各方 $P_i$ 向 $F {coin}$ 发送 $(flip)$,接收 $(flip, r)$ 并计算联合抛硬币结果 $coin = r \mod k$。
- 各方根据抛硬币结果交换 k - 1 个执行中使用的种子集合,使得各方 $P_i$ 获得 $D_
超级会员免费看
订阅专栏 解锁全文
28

被折叠的 条评论
为什么被折叠?



