隐私保护计算技术指南3
安全多方计算(也称为安全计算,多方计算/ MPC或隐私保护计算)是密码学的一个领域。
MPC处理的问题是在一组可能相互不信任的各方之间共同计算一个函数,同时阻止任何参与者了解有关其他方提供的输入的任何信息;同时(在可能的范围内)确保获得正确的输出。MPC计算基于计算输入(和中间结果)的秘密共享。
秘密共享最初由Adi Shamir提出,将数据分为几部分,它们本身是一些随机数,但是当组合在一起时(例如,通过加法)恢复原始数据。
MPC依赖于将每个数据输入项划分为两个或更多份额,并将其分配给计算方。加法和乘法的同态特性使那些当事方可以计算份额以达到共享结果,这些结果相结合可得出计算函数的正确输出。
为了执行MPC所需的共享计算,所有参与计算的方都遵循一个“协议”:一组指令和相互通信,当这些方遵循时,它们将实现分布式计算机程序,能够抵抗隐蔽或恶意对手的现代MPC协议还依赖于诚实参与者可使用的零知识证明来检测不良行为(并通常消除不诚实的一方)。
应用实例
MPC已有许多用例。端到端的加密关系数据库原型,使用MPC来对仅以加密形式保存在数据库中的数据计算SQL查询的答案。统计分析语言(例如R)已经增强了MPC功能,可以在统计和其他计算过程中保护数据。
MPC还可用于保护密钥,同时将这些密钥用于加密,解密和签名。MPC还用于流数据环境中,例如处理VoIP数据以进行电话会议,而无需VoIP系统中的任何受信服务器。
最近的一篇论文更详细地描述了一些主要的用例。MPC的一项有趣的潜在应用是长期共享数据治理