安全多方计算之混淆电路

本文介绍了混淆电路(Garbled Circuit)的基本原理及其在安全两方计算中的应用,由姚期智教授提出,适用于百万富翁问题。混淆电路通过加密打乱真值表实现安全计算,避免信息泄露。电路执行分为电路产生和执行两个阶段。随后,文章讨论了GMW协议,这是一个支持多方安全计算的协议,通过秘密分享和OT协议进行计算,减少了混淆真值表的解密操作,适用于布尔和算术电路。最后,文章提到了混淆电路的优化方向和在多方计算中的挑战,如通信量大,适合对安全要求高但计算资源充足的情况。
摘要由CSDN通过智能技术生成

导读:混淆电路(Garbled Circuit),又称姚氏电路(Yao’s GC)是由姚期智教授于1986年针对百万富翁问题提出的解决方案。

它的核心技术是将两方参与的安全计算函数编译成布尔电路的形式,并将真值表加密打乱,从而实现电路的正常输出而又不泄露参与计算的双方私有信息。由于任何安全计算函数都可转换成对应布尔电路的形式,相较其他的安全计算方法,具有较高的通用性,因此引起了业界较高的关注度。

混淆电路发展
姚氏电路是基于半诚实模型(semi-honest)的安全两方计算(Two-Party-Security-Computation)。

简单来说,可将整个计算过程分为两个阶段:

第一阶段将安全计算函数转换为电路,称之为电路产生阶段;

第二阶段,利用OT、加密等密码学原语等执行电路,称之为执行阶段。

每一阶段由参与运算的一方来负责,直至电路执行完毕输出运算后的结果。针对参与运算的双方,从参与者的视角,又可以将参与安全运算的双方分为电路的产生者(circuit generator)与电路的执行者(circuit evaluator)。

示意图如下所示:
在这里插入图片描述

▲ 步骤一:电路产生阶段

参与运算的双方先就需要安全计算的目的依靠专有编程语言(DSL)或相关编程语言扩展等进行编程,然后针对实现计算的程序进行编译,生成布尔电路文件;

然后针对双方输入值以及中间输出结果随机产生映射label,再利用这些label做为key对每个对应的电路输出真值表采用分组密码方式进行加密,并对真值表值进行打乱操作ÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值