学习来自:李天天一个蛋疼的处女座文艺理工直男
https://www.zhihu.com/people/li-tian-tian-13
安全多方计算作用就是让人们在保护数据隐私前提下完成计算任务。凡是一个计算任务需要用到来自多个参与者的数据,但各个参与者又不想(或不被允许)交换或公开数据,那安全计算就适用于这样的计算任务。
多方计算:
多个参与者将各自的数据凑在一起,并在这个大数据集上进行一定的计算,并得到最后的计算结果。
多方安全计算分为两类:
一类是基于噪音的,另一类不是基于噪音的
1.方法思想
对计算过程用噪音干扰,让原始数据(模型参数、输出数据)淹没在噪音中,使别有用心者无法从得到的结果反推原始数据。
参与者既可以对自己的原始数据加噪音使得原始数据从来没在计算过程中出现过,也可以在模型训练的时候改变通过改变模型参数影响输出结果,也可以直接在输出暴露前在输出上加噪音从而使得从计算结果无法反推输入。
比如我们要计算一个函数 ,,那么对输入进行干扰后得到的结果便是 ,对参数进行干扰后得到的结果为 ,对输出进行干扰后的结果是 。
2.优缺点
优点:是效率高(只需要生成服从特定分布的随机数即可)
缺点:是最后得到的结果不够准确,而且在复杂的计算任务中结果会和无噪音的结果相差很大导致结果无法使用。
基于噪音的安全计算方法,最主要代表是目前很火的差分隐私(differential privacy)
学习来自:李天天一个蛋疼的处女座文艺理工直男
https://www.zhihu.com/people/li-tian-tian-13
如果通过随机算法作用于任何相邻数据集,得到一个特定输出的概率差不多,那么我们就说这个算法能达到差分隐私的效果,观察者通过观察输出结果很难察觉出数据集一点微小的变化,从而达到保护隐私的目的。
(1)相邻数据集。
现给定两个数据集D和D’, 若它们有且仅有一条数据不一样,那我们就称此二者为相邻数据集。
(2)随机化算法
随机算法,是指对于特定输入,该算法的输出不是固定值,而是服从某一分布。
最简单的方法是加噪音,也就是在输入或输出上加入随机化的噪音,以期将真实数据掩盖掉。比较常用的是加拉普拉斯噪音(Laplace noise)。由于拉普拉斯分布的数学性质正好与差分隐私的定义相契合,因此很多研究和应用都采用了此种噪音。
假设我们想要知道到底有多少人是单身狗,我们只需要计算 ,那么为了掩盖具体数值,实际输出值应为
,相应地,另一个数据集输出的是
。这使得观察者分不清最终的输出是由哪个数据集产生的,从而实现差分隐私。
在数据量很大的情况下,噪音的影响很小,这时候就可以放心大胆地加噪音了,但数据量很小的情况下,噪音的影响就显得比较大,会使得最终结果偏离准确值较远而变得不可用。
[1] Dwork, Cynthia, et al. "Our data, ourselves: Privacy via
distributed noise generation." Annual International Conference on the Theory and Applications of
Cryptographic Techniques. Springer, Berlin, Heidelberg, 2006.
[2] Dwork, Cynthia, and Aaron Roth. "The algorithmic
foundations of differential privacy." Foundations and Trends® in Theoretical Computer Science 9.3–4 (2014):
211-407.
[3] Bhaskar, Raghav, et al. "Noiseless database
privacy." International Conference on
the Theory and Application of Cryptology and Information Security. Springer, Berlin,
Heidelberg, 2011.