安全多方计算
安全多方计算最初是针对一个安全两方计算问题,即所谓的“百万富翁问题”而被提出的(姚期智)。在安全多方计算中,目的是协同地从没一方的隐私输入中计算函数的结果。而不用将这些输入展示给其他方。安全多方计算告诉我们,对于任何功能需求,我们都可以在不必显示除了输出以外的前提下计算它。
为了了解安全多方计算,让我们先看两个场景例子:
(1)Alice认为她的了某种遗传疾病,想验证自己的想法。正好她知道Bob有一个关于疾病的DNA模型的数据库。如果她把自己的DNA样品寄给Bob,那么Bob可以给出她的DNA的诊断结果。但是Alice又不想别人知道,这是她的隐私。所以,她请求Bob帮忙诊断自己DNA的方式是不可行的。因为这样Bob就知道了她的DNA及相关私人信息。
(2)两个金融组织计划为了共同的利益决定互相合作一个项目。每个组织都想自己的需求获得满足。然而,他们的需求都是他们自己专有的数据,没人愿意透露给其他方,甚至是“信任”的第三方。那么他们如何在保护数据私密性的前提下合作项目呢?
当前,解决上述问题的策略是假设有可信任的服务提供者或是假设存在可信任的第三方。但是在目前多变和充满恶意的环境中,这是极具风险的。因此,可以支持联合计算并保护参与者私密的协议变的日益重要。
证明安全多方学习计算协议是安全的标准方法为仿真范式。为了证明安全多方计算协议再仿真范式下可以抵御使t方腐败的敌手,需要构建一个模拟器,当给定t个勾结放的输入输出时,生成t个交互序列,从而使生成的交互序列与实际协议中生成的交互序列之间无法区分。
通常情况下,安全多方计算能够通过三种不同的框架来实现:不经意传输、秘密共享和阈值同态加密。
从某种程度上讲,不经意传输协议和阈值同态加密方法都使用了秘密共享的思想,这可能就是为什么秘密共享被广泛认为是安全多方计算的核心。
同态加密
同态加密方法H是一种通过对相关密文进行有效的操作(不需获知解密密钥),从而允许在加密内容上进行特定代数运算的加密方法。
…….
这篇先不深入解释同态加密。
over
额,图片好像上传不上去(不会)。先就这样吧,反正图片也就是一些解释和公式。