安全多方计算(MPC)

本文介绍了安全多方计算(MPC),包括2PC和通用MPC协议。重点讲解了姚期智提出的2PC协议,即GC+OT框架。GC通过混淆电路对计算值加密,OT协议确保数据安全性。在该框架下,双方能计算共同函数值而不泄露私有数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MPC既适用于特定的算法,如加法、乘法、AES,集合交集等;也适用于所有可表示成计算过程的通用算法。
根据计算参与方个数不同,可分为只有两个参与方的2PC和多个参与方(≥3)的通用MPC
1)安全两方(2PC)计算所使用的协议为:Garbled Circuit(GC)+Oblivious Transfer(OT);
2)安全多方计算(MPC)所使用的协议为:同态加密+秘密分享+OT。

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

在这里插入图片描述
1). 电路( Circuits)

  • 任一个多项式时间的功能函数 f 都存在一个与之对应的布尔电路图片 C ,可描述为电路 C 计算 f
  • 电路C由众多的门电路g(如或门、与门、非门等)连接组成,
  • 门电路 g 的两个输入线路分别为: α \alpha α, β ∈ \beta\in β {0,1};
  • 输出路线为: γ \gamma γ =g( α \alpha α, β \beta β),该输出线路的值可能为其他门电路的输入线路值或函数最终结果。
  • 电路C计算由输入值确定的门电路开始,按照电路拓扑一层一层往下计算,最后总能在电路的输出线路上得到最终输出结果。 这种原始的计算方式,电路 C 上各线路的值均为明文形式的比特值(0 or 1)。

2). 混淆电路(Garbled Circuits)

  • 为了实现安全计算,姚期智先生提出了一种方法对电路计算过程中所有门电路上的计算值进行加密,即每一条线路上的值: α \alpha α, β ∈ \beta\in β{0,1},随机选取两个值 k 0 k^0 k0, k 1 k^1 k1 α \alpha α, β \beta β 一一对应,称为混淆密钥,显然观察者并不能确定该线路上呈现的某一混淆值所对应的比特值,而仅能以的概率猜测正确。
  • 对电路 C 的每一条线路都选取一对随机混淆密钥,所构造的电路称为混淆电路(Garbled Circuits),记为 GC
  • 接着使用了“双重加密”方式,即对每个门电路,分别将两输入线路上的混淆值作为加密密钥,加密这两个输入混淆值所对应的输出混淆值,得出该门电路的“加密计算表”。

Fig1.或门:真值表

α \alpha α β \beta β γ \gamma γ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值