安全多方计算(Secure Multi-Party Computation,MPC)由姚期智先生于1982年提出。MPC允许参与方在数据机密性得到保护的条件下完成联合计算任务,使各个参与方除计算结果之外无法获得其他任何信息,从技术层面实现数据可用不可见的安全目标。
安全和可验证计算主要包括两种类型:外包计算和多方计算。
外包计算
在外包计算中,第一个参与方拥有数据,希望能够获得该数据的计算结果,称为数据所有方。
第二个参与方接收并存储加密后的数据,在加密数据上执行计算,将加密结果返回给数据所有方。
在整个过程中,第二个参与方无法得到与输入数据、中间结果、最终结果相关的任何信息。数据所有方可以解密返回的计算结果以得到输出。
同态加密方案允许在加密数据上执行运算。此密码学原语可以很自然地实现外包计算。
多方计算
MPC与外包计算的区别,所有协议参与方都是数据所有方。
MPC应用
百万富翁问题
安全拍卖
投票
安全机器学习
其他应用:应用MPC实现隐私保护
安全多方计算的模型
攻击能力模型
Corruption模型描述攻击者控制参与者的能力。
静态攻击者仅仅能够在协议开始前攻陷参与者;协议幵始之后,攻击者只能控制一个任意但是固定的参与者集合。
动态攻击者可以在协议开始之前以及协议执行过程中根据自己的意愿随意选择攻击哪个参与者。
Action模型描述攻击者的活动方式。被动攻击者无法控制协议的执行过程。主动攻击者可以。
有限计算能力,概率多项式时间。
计算模型
如果存在恶意参与者参与协议的执行,则此类计算模型称为恶意模型,否则是半诚实模型。
通信模型
同步通信模型和异步通信模型,安全信道模型包括公开信道模型、匿名信道模型、点对点信道和公告板等。
半诚实模型、恶意模型下安全两方协议的安全性定义,看不懂
现实模型,理想模型,如果存在一个多项式时间可计算的转换使得下面公式成立。
则称在半诚实模型(恶意模型)下协议 Π 安全的实现了函数f。
安全多方计算的密码学工具
秘密共享 Shamir(t-n)门限秘密共享,基于中国剩余定理的(t,n)门限秘密共享方案。
混淆电路
- 每条电路线对应两个混淆码:一个是比特 0,一个是比特 1。
- 如果电路的每一条输入线都有一个给定的混淆密钥,那么整个混淆电路就可以在不泄漏任何其他信息的情况下不经意间地计算得到电路的输出值。
茫然传输
2取1茫然传输协议,n取m茫然传输协议
Alice输入信息si,Bob输入选择ci,如果Alice和Bob是诚实的,Bob得到S_ci,无法得到其他值,Alice无法得知Bob的选择。
同态加密
零知识证明
比特承诺
第一个阶段是承诺阶段,此时承诺者向验证者承诺比特b(也可以是比特串),但此时验证者不知道比特的内容;第二个阶段是揭示阶段,承诺者向验证者证实第一阶段承诺的确实是b,此时验证者获知比特b的内容。
参考文献:
实用安全多方计算导论
安全多方计算及其应用研究_孙茂华