从百万富翁问题看,什么是安全多方计算?

巴比特 view 24795 2020-8-5 09:55
share to
Scan QR code with WeChat

我们可以通过数据去分析问题,解决不能回答的问题,或者是提供剞劂方案,如果涉及到利用数据为公众服务的话,数据共享和保护两者会产生矛盾,安全多方计算(MPC)要怎样才能在不泄露隐私数据情况之下,去实现数据协作分析呢?它又将会为数据秘密共享带来哪些新机遇?我们一起看了解一下。

从百万富翁问题看,什么是安全多方计算?

一、从百万富翁问题说起

两个百万富翁在街头邂逅,他们都想比比看谁更有钱。但是出于隐私,谁都不想让对方知道自己到底拥有多少财富。在不借助第三方的情况下,如何得出谁的财富更多呢?

这就是著名的“姚式百万富翁问题”。1980年代,姚期智院士在其论文中提出:Alice有一个私人数字a, Bob有一个私人数字b,双方的目标是解不等式a是否≤b。或者更严格来说,除了得到不等式了a≤b或a>b外,不会得出任何与a或b相关的其他信息。(姚期智:计算机学者,2000年图灵奖获得者(唯一获得该奖的华人学者),研究方向包括计算理论及其在密码学和量子计算中的应用。)

在这个经典问题之下,诞生了「安全多方计算」(Secure Multiparty Computation,以下简称MPC)这门密码学分支。MPC技术能够在不泄露数据的情况下,联合多方数据进行计算并得到明文结果,最终实现数据的所有权和数据使用权的分离。在此之后,该领域出现了一系列基础结果,用来解决分布式计算问题,同时保证输入信息的隐私性和安全性。

 二、什么是MPC?

安全多方计算(MPC)可以理解为一种加密协议,它将计算分布在多方之间,使得任何一方在看不到其他方输入数据的情况下,开展安全且私密的联合计算。

值得注意的是,隐私和安全是有区别的。

安全问题,就像是信用卡出现安全漏洞被盗了钱,人们可以通过一些措施来阻止它并要求退款。而隐私问题,在于当个人隐私受到侵犯时,我们无法采取同样的措施。隐私信息一旦被公开,就无法再次收回。因此,需要设计一种安全协议,在不泄露隐私的前提实现共享数据的价值。

通过MPC协议,各方数据可经由编码后发送至多个服务器进行联合计算,并保证数据的隐私性。简而言之,MPC可以应用于任何涉及多方机密数据的问题。

三、MPC是如何工作的?

为了说明这个概念,我们以计算平均工资来举例。某公司的A、B、C三位员工想计算一下他们的平均工资,但在这个过程中,每个人都不想让其他员工知道自己的薪资信息。

假设A的工资是10万元,可通过加密方式将其随机分为三部分:2万、3万和5万,A自己保留一部分(2万),并将其他信息提供给B(3万)和C(4万)。B和C的工资也按照同样的流程完成秘密分享(见下表)。这样的秘密分享完成后,每个人都持有三份工资份额。

从百万富翁问题看,什么是安全多方计算?

当三个工资份额在参与者之间秘密共享时,他们对彼此的工资一无所知,毕竟每个数据片段本身不提供任何有用的信息。然而,当这些数字被加起来时,秘密共享提供了有价值的信息。每个部分结果经过重新集合相加再除以总人数时,便实现了在不披露员工各自薪资信息的情况下,得出平均收入水平。实际上,安全多方计算已不再是数据科学家的梦想,而是一个被证明的事实。人们由此可对加密数据进行计算,从而更好地检测金融欺诈,解决交通拥堵,预测疾病以及更多……(我们下篇约)

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: 波卡怎样才能在平行链之间进行有效的分片? Next: 美国银行提供加密数字货币托管服务的市场会发生怎样的改变?

Related