隐语实训平台的第四章《数据要素驱动的隐私计算实践》学习笔记

隐语实训平台的第四章《数据要素驱动的隐私计算实践》学习笔记



前言

本文是学习隐语实训平台的第四章《数据要素驱动的隐私计算实践》笔记。


一、MPCpuhuiti与PPML的背景

1.MPC

1)背景:多方共同计算某个函数,除了各自的私有输入以及函数输出之外,不能获得任何额外信息。
2)安全模型
按照恶意参与方的数量t
诚实大多数(坏人数量比一半参与人数少):t<N/2…
不诚实大多数(坏人数量大于等于一半的参与人数):t>=n/2
按照
按照敌手能力
半诚实敌手
恶意敌手
3)安全保证
正确性:如果有输出,输出必须是正确的
隐私性:除了私有输入和输出别的信息不能泄露。
输出保证:诚实参与方需要得到输出:带终止的安全,公平性,交付保证。
4)技术
1)Garbled Circuit Protocols 针对百万富翁问题
在这里插入图片描述

适用场景:
优:常数轮通信
缺:电路尺寸大
对于高延迟网络问题更加适用
2)Secret Sharing Protocols
在这里插入图片描述

适用场景:
优:通信开销和计算开销少
缺:通信轮数随着电路深度线性增长
对于低延迟网络问题更加适用

2.PPML的背景

1)三种模式:
Outsourcing Mode:数据拥有方缺少计算资源
Co-located Mode:自己同时掌握数据和计算权限
Hybrid Mode:同时满足多种需求方
2)MPC In PPML
ASS + Beaver Triple
在这里插入图片描述
由图可知:Bob光有X0是无法推出X的信息,需要和Alice共同推出。
在这里插入图片描述
ABY3协议
在这里插入图片描述
在这里插入图片描述

二、通用MPC框架结构概览

1.架构概览

在这里插入图片描述
1)好的MPC框架的需求:
一个用户友好的前端
一个MPC专用的编译系统,并伴随MPC专用优化
一个高效的后端,比如适用C/C++/java等语言实现
2)前端设计原则:
对于AI开发者:
以最小的修改代价和学习代价,提升代码的隐私保护级别。
需要使用熟悉的语言。
支持ML中常见的API,并与流行的ML框架保持一致。
不想动手决定在每个部分中使用哪个特定的MPC原语。
对于框架的开发者:
前端必须为编译器提供足够的信息。
3)编译器概览:
接受前端代码,输出优化指令。
需要多级的优化。
并且扮演好MPC原语分发者的角色:处理不同的数据类型,处理特殊的运算。
4)后端:
密态计算实际发生的地方
需要提供必要的MPC原语:例如基本的运算,类型转换等。
提供硬件和软件加速。

三、SPU与MP-SPDZ

1.MP-SPDZ
前端:使用一种类似Python的语言,提供大多数必要的数据类型。
编译器:Ahead-of-Time编译方式;前端代码只是提供一个关于任务的语义描述。MPC相关的原语实际上都是只提供原语;编译过程实际上就是程序流走一遍,明文的计算直接会完成。
后端:支持超过34个协议;涉及各种威胁模型,各种计算数学结构、各种支持party数量;后端作为一个虚拟机,用来解释执行各种指令。
2.SPU
前端:直接对齐Python语言;AI的开发者只需要关注I/O操作,以及常规的MPC编程原则。
编译器:编译高级语言到低级的MPC原语;在PPHLO上施加MPC专用的优化。
后端
在这里插入图片描述

总结

以上就是今天写的笔记,只是简单的写出了关于MPC的机器学习框架方面的知识。当前MPC编译器发展仍在初步阶段,且只有几种针对MPC编译器好用的优化思路,对于现在这个技术快速发展的时代,对于特殊问题的解决还需要我们共同的学习与发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值