安全多方计算MPC学习笔记

参考:https://blog.csdn.net/juzhenyuan/article/details/80913777

MPC

Secure Multi-Party Computation

安全多方计算

一种保护数据安全隐私的多方计算算法。

GC

Garbled Circuit

加密电路

一种通过加密处理电路的方式。

OT

Oblivious Transfer

不经意传输

一种安全的选择、传输协议。

1、MPC来源

安全多方计算由我国目前唯一图灵奖获得者姚期智院士提出,其提出场景为百万富翁问题:在没有可信第三方的前提下,两个百万富翁如何不泄露自己的真实财产状况来比较谁更有钱。MPC可以在保证各方数据安全的同时,联合使用各方数据来达到特定的效果,从而充分发挥数据的价值。

多个持有各自私有数据的参与方,共同执行一个计算逻辑计算逻辑(如,求最大值计算),并获得计算结果。但过程中,参与的每一方均不会泄漏各自数据的计算,被称之为MPC计算,MPC计算可以通过对协议的设计而不用依赖于可信第三方。

2、问题抽象

安全多方计算可以抽象的理解为:两方分别拥有各自的私有数据,在不泄漏各自私有数据的情况下,能够计算出关于公共函数 的结果。整个计算完成时,只有计算结果对双方可知,且双方均不知对方的数据以及计算过程的中间数据。

3、MPC问题分类

  • 由算法适用性来看,MPC既适用于特定的算法,如加法、乘法、AES,集合交集等;也适用于所有可表示成计算过程的通用算法。
  • 根据计算参与方个数不同,可分为只有两个参与方的2PC和多个参与方(≥3)的通用MPC
  • 安全两方计算所使用的协议为Garbled Circuit(GC)+Oblivious Transfer(OT);而安全多方计算所使用的协议为同态加密+秘密分享+OT(+承诺方案+零知识证明等)。
  • Garbled Circuits   ||   GMW
  • 在安全多方计算中,安全挑战模型包括半诚实敌手模型恶意敌手模型。市场大部分场景满足半诚实敌手模型,也是JUGO技术产品所考虑的敌手模型。
  • 半诚实敌手模型:计算方存在获取其他计算方原始数据的需求,但仍按照计算协议执行。半诚实关系即参与方之间有一定的信任关系,适合机构之间的数据计算;一个半诚实成员完全遵守协议的执行过程,中途不退出协议的执行过程,也不篡改协议运行结果,但其可以保留执行协议过程中的一些中间结果,并通过这些中间结果试图分析推导其他成员的输入数据。
  • 恶意敌手模型:参与方根本就不按照计算协议执行计算过程,能够随意中断协议的运行,破坏协议的正常执行过程,也能随意修改协议的中间结果或者与其他参与方相互勾结。参与方可采用任何(恶意)方式与对方通信,且没有任何信任关系。结果可能是协议执行不成功,双方得不到任何数据;或者协议执行成功,双方仅知道计算结果。更多适用于个人之间、或者个人与机构之间的数据计算。

4、MPC算法基本原理(2PC半诚实模型)

4.1、MPC算法执行过程

  • 先对输入数据做预处理。
  •   遵循原则:1、尽量少的数据输入;2、尽量多的数据预处理

    ——数据量太大时会大幅降低算法执行效率。

  • 计算逻辑转化为布尔电路。
  •   遵循原则:尽量简单的计算逻辑

    ——由于MPC是计算密集型和通信密集型算法,若计算逻辑很复杂,会对执行效率产生很大影响。

      转化方式:手动/电路编译器Frutta

  • 将输入的布尔电路做GC和OT算法(详细在下面叙述),得到输出结果。

4.2、GC+OT的两方计算基本框架

GC+ OT是在两方semi-honest模型下的通用型算法,即可以支持任意计算逻辑的安全两方计算。

  总体框架如下图:

矩阵云推出JUGO安全多方计算平台,既能保护数据隐私又能实现数据流动起来最大化其价值。

5、我的补充

5.1、OT

OT:指发送方sender传输给接收方receiver n个数据,但是不知道receiver收到了n中的哪一个,而receiver也只能解码其中一个。假如需要k个数据,那么至少需要k次interaction。

5.2 2PC

5.3、Secret Sharing

  • 17
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
MPC(Model Predictive Control)和强化学习可以结合起来,以实现更好的控制策略。MPC是一种基于模型的控制方法,它通过在每个时间步骤上优化一个控制序列来实现最优控制。而强化学习是一种通过与环境交互来学习最优策略的方法。 结合MPC和强化学习的方法通常被称为强化学习中的模型预测控制(Model Predictive Control in Reinforcement Learning,简称MPC-RL)。在这种方法中,强化学习算法用于学习一个价值函数或策略函数,而MPC用于根据当前状态和学到的策略进行控制决策。 具体来说,MPC-RL的步骤如下: 1. 使用强化学习算法(如Q-learning、Policy Gradient等)在仿真环境中进行训练,以学习一个最优的策略函数或价值函数。 2. 在实际控制过程中,根据当前状态使用MPC方法进行控制决策。MPC会基于当前状态和学到的策略函数,通过优化一个控制序列来选择最优的动作。 3. 执行选择的动作,并观察环境反馈的下一个状态和奖励。 4. 根据观测到的状态和奖励,更新强化学习算法中的价值函数或策略函数。 5. 重复步骤2-4,不断迭代优化控制策略。 这种结合MPC和强化学习的方法可以在实际控制任务中获得更好的性能和适应性。MPC提供了对系统动力学的建模和优化能力,而强化学习则可以通过与环境交互来学习最优策略。它们的结合可以充分利用两种方法的优势,实现更好的控制效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值