今天,数据可以用来分析复杂问题,提供解决方案,甚至解决无法回答的问题。但是,当涉及到利用数据为公众服务时,数据共享和数据保护之间往往存在着许多矛盾。而安全多方计算(MPC)如何在不泄露隐私数据的情况下实现数据协作分析?又将为数据的秘密共享带来了哪些新的机遇?
一、从百万富翁问题说起
两个百万富翁在街头邂逅,他们都想比比看谁更有钱。但是出于隐私,谁都不想让对方知道自己到底拥有多少财富。在不借助第三方的情况下,如何得出谁的财富更多呢?
这就是著名的“姚式百万富翁问题”。1980年代,姚期智院士在其论文中提出:Alice有一个私人数字a, Bob有一个私人数字b,双方的目标是解不等式a是否≤b。或者更严格来说,除了得到不等式了a≤b或a>b外,不会得出任何与a或b相关的其他信息。(姚期智:计算机学者,2000年图灵奖获得者(唯一获得该奖的华人学者),研究方向包括计算理论及其在密码学和量子计算中的应用。)
二、什么是MPC?
安全多方计算(MPC)可以理解为一种加密协议,它将计算分布在多方之间,使得任何一方在看不到其他方输入数据的情况下,开展安全且私密的联合计算。
值得注意的是,隐私和安全是有区别的。
安全问题,就像是信用卡出现安全漏洞被盗了钱,人们可以通过一些措施来阻止它并要求退款。而隐私问题,在于当个人隐私受到侵犯时,我们无法采取同样的措施。隐私信息一旦被公开,就无法再次收回。因此,需要设计一种安全协议,在不泄露隐私的前提实现共享数据的价值。
通过MPC协议,各方数据可经由编码后发送至多个服务器进行联合计算,并保证数据的隐私性。简而言之,MPC可以应用于任何涉及多方机密数据的问题。
三、MPC是如何工作的?
为了说明这个概念,我们以计算平均工资来举例。某公司的A、B、C三位员工想计算一下他们的平均工资,但在这个过程中,每个人都不想让其他员工知道自己的薪资信息。
假设A的工资是10万元,可通过加密方式将其随机分为三部分:2万、3万和5万,A自己保留一部分(2万),并将其他信息提供给B(3万)和C(4万)。B和C的工资也按照同样的流程完成秘密分享(见下表)。这样的秘密分享完成后,每个人都持有三份工资份额。
本文链接:https://www.8btc.com/article/631111
转载请注明文章出处