安全多方计算-入门学习笔记(二)
安全多方计算!(Secure Multi-party Computation SMC MPC)
学习来自:李天天一个蛋疼的处女座文艺理工直男
https://www.zhihu.com/people/li-tian-tian-13
一、安全多方计算的介绍
安全多方计算作用就是让人们在保护数据隐私前提下完成计算任务。凡是一个计算任务需要用到来自多个参与者的数据,但各个参与者又不想(或不被允许)交换或公开数据,那安全计算就适用于这样的计算任务。
多方计算:
多个参与者将各自的数据凑在一起,并在这个大数据集上进行一定的计算,并得到最后的计算结果。
多方安全计算分为两类:
一类是基于噪音的,另一类不是基于噪音的
二、基于噪音的安全多方计算介绍
1.方法思想
对计算过程用噪音干扰,让原始数据(模型参数、输出数据)淹没在噪音中,使别有用心者无法从得到的结果反推原始数据。
参与者既可以对自己的原始数据加噪音使得原始数据从来没在计算过程中出现过,也可以在模型训练的时候改变通过改变模型参数影响输出结果,也可以直接在输出暴露前在输出上加噪音从而使得从计算结果无法反推输入。
比如我们要计算一个函数 ,,那么对输入进行干扰后得到的结果便是 ,对参数进行干扰后得到的结果为 ,对输出进行干扰后的结果是 。
2.优缺点
优点:是效率高(只需要生成服从特定分布的随机数即可)
缺点:是最后得到的结果不够准确,而且在复杂的计算任务中结果会和无噪音的结果相差很大导致结果无法使用。
基于噪音的安全计算方法,最主要代表是目前很火的差分隐私(differential privacy)
三、基于噪音--差分隐私(Differential Privacy)
学习来自:李天天一个蛋疼的处女座文艺理工直男
https://www.zhihu.com/people/li-tian-tian-13
1.什么是差分隐私
如果通过随机算法作用于任何相邻数据集,得到一个特定输出的概率差不多,那么我们就说这个算法能达到差分隐私的效果,观察者通过观察输出结果很难察觉出数据集一点微小的变化,从而达到保护隐私的目的。
(1)相邻数据集。
现给定两个数据集D和D’, 若它们有且仅有一条数据不一样,那我们就称此二者为相邻数据集。
(2)随机化算法
随机算法,是指对于特定输入,该算法的输出不是固定值,而是服从某一分布。
2.如何获取差分隐私:
最简单的方法是加噪音,也就是在输入或输出上加入随机化的噪音,以期将真实数据掩盖掉。比较常用的是加拉普拉斯噪音(Laplace noise)。由于拉普拉斯分布的数学性质正好与差分隐私的定义相契合,因此很多研究和应用都采用了此种噪音。
假设我们想要知道到底有多少人是单身狗,我们只需要计算 ,那么为了掩盖具体数值,实际输出值应为
,相应地,另一个数据集输出的是
。这使得观察者分不清最终的输出是由哪个数据集产生的,从而实现差分隐私。
3.对数据的影响
在数据量很大的情况下,噪音的影响很小,这时候就可以放心大胆地加噪音了,但数据量很小的情况下,噪音的影响就显得比较大,会使得最终结果偏离准确值较远而变得不可用。
[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.
安全多方计算-入门学习笔记(二)相关推荐
- 安全多方计算-入门学习笔记(三)
四.基于非噪音的安全多方计算介绍 1概念 非噪音方法一般是通过密码学方法将数据编码或加密,得到一些奇怪的数字,而且这些奇怪的数字有一些神奇的性质,比如看上去很随机但其实保留了原始数据的线性关系,或者顺 ...
- 区块链多方计算 人工智能学习笔记
区块链:让数据不被篡改,但需要复制数据给每一块,造成数据泄露 多方计算 : 让数据用途可控.数控可用但不可见. 人工智能:数据更难造假 主讲人简介: 徐葳,宾夕法尼亚大学学士(在清华本科学习两年),美 ...
- 安全多方计算MPC学习笔记
参考:https://blog.csdn.net/juzhenyuan/article/details/80913777 MPC Secure Multi-Party Computation 安全多方 ...
- 量子计算入门学习笔记(六 量子测量-上 )
经过了万恶的期末考试 之后,我们再次重新踏上量子学习的不归路(手动狗头)! 如果您是第一次观看我的博客,如果您也是和我一样刚入门量子力学或是量子计算相关的学习,纠结于量子计算的抽象与晦涩难懂,那么本专 ...
- 斋藤康毅-深度学习入门 学习笔记二
ch02 感知机 Perceptron.py import numpy as np''' def AND(x1, x2):w1, w2, theta = 0.5, 0.5, 0.7tmp = w1 * ...
- ROS中的roslaunch命令和launch文件(ROS入门学习笔记四)
ROS中的基本对象和概念学习笔记(ROS入门学习笔记一) ROS中创建工作区和包(ROS入门学习笔记二) ROS功能包中CMakeLists.txt的说明(ROS入门学习笔记三) 1.roslaunc ...
- 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(二)
本文是"图匹配入门学习笔记--以<Factorized Graph Matching>为例"系列的第二篇文章,主要介绍了FGM算法的实现过程,包括图匹配的因式分解形式, ...
- 【台大郭彦甫】Matlab入门教程超详细学习笔记二:基本操作与矩阵运算(附PPT链接)
Matlab入门教程超详细学习笔记二:基本操作与矩阵运算 前言 一.基本操作 1.把matlab当作计算器使用 2.变量 3.控制格式输出 二.矩阵运算 1.矩阵 2.矩阵索引 3.使用:创建向量 4 ...
- 汇编入门学习笔记 (十二)—— int指令、port
疯狂的暑假学习之 汇编入门学习笔记 (十二)-- int指令.port 參考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引 ...
最新文章
- ubuntu 安装redis
- 网易云音乐音视频算法的 Serverless 探索之路
- VTK:正态估计用法实战
- python字典合并几种方式对比,Python合并两个字典的常用方法与效率比较
- 15-[JavaScript]-ECMAScript 1
- php用什么电脑,我要学php了买一台什么配置的电脑最好?
- 为什么需要云压力性能测试?
- C Tricks(十七)—— 对角线元素的屏蔽、二维数组(矩阵)的遍历
- SQL Server 2017 AlwaysOn AG 自动初始化(十六)
- python确定指标权重_python 实现熵权法确定各指标的权重
- 搜索dwr做即时聊天的时候看到的问题
- 华为端口聚合命令_华为汇聚交换机链路聚合配置命令
- 几个病毒代码(c++)
- html5shiv版本,用html5shiv.js解决ie低版本浏览器支持html5标签
- Newt Scamander的恐惧
- Python学习_2015年12月14日
- 如何优化一个网站的完整方案-SEO
- 证件识别接口编写的JAVA调用示例
- 计算机窗口键,电脑上win是哪个键_电脑windows键是哪个-win7之家
- 软帝C++1001班9月带班情况