MPC的数学模型
MPC的问题分类
- 由算法适用性来看,MPC既适用于特定的算法,如加法、乘法、AES,集合交集等;也适用于所有可表示成计算过程的通用算法。
- 根据计算参与方个数不同,可分为只有两个参与方的2PC和多个参与方(≥3)的通用MPC。
- 安全两方计算所使用的协议为Garbled Circuit(GC)+Oblivious Transfer(OT);而安全多方计算所使用的协议为同态加密+秘密分享+OT
- 在安全多方计算中,安全挑战模型包括半诚实敌手模型和恶意敌手模型。市场大部分场景满足半诚实敌手模型。2pc的主要是半诚实模型
- 半诚实敌手模型:计算方存在获取其他计算方原始数据的需求,但仍按照计算协议执行。半诚实关系即参与方之间有一定的信任关系,适合机构之间的数据计算
- 恶意敌手模型:参与方根本就不按照计算协议执行计算过程。参与方可采用任何(恶意)方式与对方通信,且没有任何信任关系。结果可能是协议执行不成功,双方得不到任何数据;或者协议执行成功,双方仅知道计算结果。更多适用于个人之间、或者个人与机构之间的数据计算
MPC的技术栈
混淆电路(GC)
两方安全计算执行过程
假设有两个人Alice和Bob,分别持有一个数据a和b,两个互不信任的人希望用一个函数F来计算a和b的值,下面是协议的执行过程
有一个问题:在上述的第四步中,A知道了B的值b,这与安全计算的概念违背,因此我们需要OT协议来保证数据的隐蔽性
不经意传输(OT)
这个是“二选一”的OT方案