Skip to content

模型Model

安全多方计算

Secure multiparty computation · MPC

以理想功能规定允许泄漏,用完整视图的模拟证明多方计算没有额外泄漏。

形式陈述 ​

安全多方计算(MPC)让参与者 P1,…,Pn 持有私有输入 x1,…,xn,共同实现指定功能 F。其安全性用基于模拟的安全性刻画:每个允许的真实对手都存在一个只使用理想接口的高效模拟器,使真实执行与理想执行的指定观察分布不可区分。功能不只规定数学输出,还须规定输入提交、输出交付、中止及对手权限;静态或自适应腐化、被动或恶意行为、腐化人数和通信条件都是定理的一部分。

本页证明一个具体结论。三方输入 xi∈Fq,理想功能 Fsum 收集输入并向三方都输出 s=x1+x2+x3。使用私密、认证、可靠的点对点信道,固定轮次、身份、消息长度和发送次序;没有丢失、中止或模型外侧信道。静态被动腐化集合 C 在执行前确定,|C|≤1。被动方严格遵守输入、抽样及发送规则,只把完整内部记录交给观察者。随机币原语是独立均匀的域元素。本结论是单次执行的完美模拟,不需要计算困难假设。

直觉

隐私目标是把协议泄漏限定为理想功能允许的信息。例如持有 x1 的一方得到总和后,必然知道 x2+x3=s−x1。若它事先还知道 x2,就能推出 x3;这是自身输入、允许输出与先验共同蕴含的信息。

秘密共享给求和提供随机掩码,但“每份份额均匀”尚未解决问题:公开重构消息后,这些份额之间可能出现新的相关性。证明必须把腐化方的输入、随机币、收发消息与输出作为一个联合分布比较。模拟器只拿到腐化输入及允许输出,仍能按相同概率生成整个记录,才回答了这一问题。

三方求和的完整视图与模拟输入
例子与边界

协议与模17计算 ​

每方 Pi 独立抽取 ri1,ri2←Fq,令 ri3=xi−ri1−ri2,保留自己的份额并私发 rij 给 Pj。第二轮每方按固定次序把列和 cj=∑irij 发送给所有方,作为公开记录;在本页的被动模型下,每个接收者都得到同一列和值。最后各方输出 ∑jcj。正确性逐次执行成立:

∑jcj=∑j∑irij=∑ixi=s.

在 F17 中,输入 (4,7,2) 的一次执行为:

输入方 输入 给 P1 给 P2 给 P3
P1 4 3 5 13
P2 7 6 8 10
P3 2 9 1 9

行和模 17 为 (4,7,2),列和为 (1,14,15),总和为 30mod17=13。整表仅供读者核算,真实执行不会公开它。模和只有在另有输入范围保证总和不跨模数时,才能直接解释为普通整数总和。

完整视图与统一的模拟器 ​

固定腐化位置 k∈{1,2,3},将其他两名参与者按编号记为 u,v,其他两列按编号记为 j,ℓ。视图采用如下完整编码:

ViewkΠ(x)=(k,xk,rk1,rk2,rk3,a,b,c1,c2,c3,s),a=ruk,b=rvk.

其中 (rk1,rk2) 就是本地随机带;整行 (rk1,rk2,rk3) 包含向其他方发出的消息及自存份额,(a,b) 是带发送者身份的接收消息。发送行与接收消息共同保留了腐化方掌握的信息,各字段连同固定时序能重建全部本地状态。

模拟器 Sk(xk,s) 采用同一套索引规则:

  1. 独立均匀抽取 rk1,rk2,计算 rk3=xk−rk1−rk2。
  2. 再独立均匀抽取 a,b,计算 ck=rkk+a+b。
  3. 独立均匀抽取 cj,令 cℓ=s−ck−cj。
  4. 按真实视图的字段、身份和次序输出上述记录。

它仅凭 (xk,s) 共抽取五个独立均匀域元素。虽然协议把第三份写成相减,整行实际是在平面 ri1+ri2+ri3=xi 的 q2 个点上均匀分布;固定任意一列后,另外两列中的任一项仍可自由均匀取值。因此同一构造在相同假设下处理全部三个腐化位置 k=1,2,3。

完整联合分布的逐点计数证明 ​

固定任意输入 x。真实抽样有 q6 种等可能的随机带。称一个候选视图合法,是指它的腐化行和为 xk、ck=rkk+a+b 且 c1+c2+c3=s。每个合法视图由五个自由字段 (rk1,rk2,a,b,cj) 唯一指定。

对一个固定合法视图,任选隐藏份额 ruj=t∈Fq,其余三个隐藏项必须为

rvj=cj−rkj−t,ruℓ=xu−a−t,rvℓ=xv−b−rvj.

这些值满足两条诚实行和,剩余列和也成立,因为全表总和与公开总和同为 s。反过来,任何完成表都由其中的 t 唯一确定,故恰有 q 个完成表。每个完成表又对应唯一的原始六个随机币,即各行前两项。因此每个合法视图的真实概率是 q/q6=q−5;不合法视图的概率为零。模拟器独立抽取五个自由字段,给同一合法视图的概率也恰为 q−5,其支持集完全相同。

正确性已经逐次成立,于是对每个 q,k,x,z 都有

(ViewkΠ(x),(s,s,s),z)=d(Sk(xk,s),(s,s,s),z).

这里 (s,s,s) 是全部参与方输出,z 是同一份辅助信息。等式逐个固定输入及辅助信息成立,所以对任意输入先验及与输入相关的 z 混合后仍成立;协议随机币按模型独立生成。对手在视图上进行任意后处理 A(View,z),也保留同分布,甚至无界终点观察者的区分优势都是零;若后处理使用随机币,两侧使用相同的额外随机币分布。公开列和是模拟器从 (xk,s) 合成的协议记录,因此理想功能仍只输出规定的总和。

若 C=∅,观察者只有公开列和及输出。真实 (c1,c2,c3) 在和为 s 的平面上均匀:前两列和分别是相互独立均匀随机币之和,第三项由总和决定。模拟器从 s 出发抽 c1,c2 并置 c3=s−c1−c2 即可。这补齐了 |C|≤1 中的空腐化情况。

复算完整记录与辨认泄漏 ​

上表中 P1 的随机带为 (3,5),发送行为 (3,5,13),接收份额为 (6,9),公开列和为 (1,14,15),输出为 13。给定 (x1,s)=(4,13),S1 可抽到 (r11,r12,a,b,c2)=(3,5,6,9,14),算出 c1=1,c3=15,得到相同完整记录;该记录在两侧的概率均为 17−5。

把输入改为 (4,8,1),并把隐藏表改为

(35136811918)(mod17),

行和已变为 (4,8,1),但 P1 的输入、随机带、发送行、接收列、公开列和及输出全部不变。单独这个例子展示一次记录如何兼容不同输入;前面的 q−5 证明进一步保证所有这些记录的概率都相同。

本单元的检验终点是:能从 (4,13) 写出上述五次抽样,补出一个合法隐藏表,解释为什么有 17 个完成表,并指出允许泄漏为 x2+x3=9(mod17)。若辅助信息给出 x2=7,则 x3=2 正是允许信息的推论。两方腐化时也能从总和推出剩余输入,但这一观察只解释输出泄漏;该模型的完整安全性仍需自己的模拟证明。恶意修改消息、自适应暴露状态及并发组合分别需要匹配相应观察接口的证明。

推论与应用

MPC 用于隐私统计、联合数据分析、拍卖和门限密码。秘密共享支持在份额上做线性运算;一般函数还可能使用混淆电路、同态加密或不经意传输,零知识证明可在合适构造中证明参与者遵守约束。不同构件不改变同一审查问题:真实执行中出现的每项信息或权限,能否由理想接口解释?

一个较窄的任务是计算型私有检索:客户端加密索引,服务器求值查表,首先保护的是索引不被服务器识别。若还要向持私钥的客户端隐藏服务器电路或答案以外的数据,就须检查电路隐私及查询合法性;仅有输入加密并不等于整个双方功能已具模拟安全。

一般 MPC 可按计算安全或信息论安全衡量,并分别规定隐私、正确性与输出公平性。加密等实现构件的作用最终由模拟证明落实。使用组合定理时,还须核对环境、信道、设置、会话和腐化条件;UC 安全要求模拟器在这些条件下持续回应在线环境,而本页完成的是单次执行的终点比较。

OT与两门混淆电路转向双方的非线性功能:先AND再XOR,逐位构造标签、门表和双方模拟器。独立表项掩码给出理想OT下的完美模拟;固定会话组合另行规定在线替换所需的封装与环境条件。

参考资料
关系图谱8 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系