安全多方计算的根基——Yao’s两方协议

本文介绍了安全多方计算的基础——Yao's两方协议,包括安全两方计算的概念、混淆电路的工作原理以及Yao's协议的执行流程。该协议在半诚实敌手模型下是安全的,为后续多方协议的优化提供了基础。
摘要由CSDN通过智能技术生成

作者:Annchain

(本文一切著作权归annchain技术团队所有,未经许可,不得转载。若需转载请联系页尾二维码。)

 

安全多方计算(Secure Multi-Party Computation,SMPC)一直是我们的重点研究内容,其相关理论和技术满足了如隐私保护、区块链、机器学习等诸多前沿领域的安全计算需求,其实践化研究更是当前信息技术发展的总体趋势之一。接下来我们将开一个关于安全多方计算的专栏,介绍SMPC领域的相关基础协议、研究现状,并对其核心技术进行一些探讨,以抛砖引玉。本文是该专栏的首篇,将简要地介绍姚期智先生在1986年所提的一个安全两方计算的通用协议(以下称“Yao’s两方协议”)。

 

安全两方计算 

 

安全两方计算是指两个参与方,在保护各自秘密输入的前提下,共同合作完成某个功能函数的计算任务,并最终得到各自正确的计算结果。安全两方计算是多方计算的一种特例,其只涉及两个参与方。较之于多方计算,安全两方计算模型相对简单,比如其不存在多方计算场景的“不诚实的大多数”(dishonest majority)问题。现实世界中仅涉及两个实体的应用场景很多,比如基因匹配、人脸识别、音乐检索等模式匹配问题,安全两方计算协议尤适用于这些具体场景的建模分析。

 

安全两方计算是安全计算领域里的核心内容之一,它既是构造多方协议的基础,也可直接运用于解决现实世界中实际问题。目前,安全两方计算协议(甚至多方计算协议)的主流设计框架仍基于姚期智先生最早提出的基于混淆电路的两方计算通用协议。

 

混淆电路(Garbled Circuits)

 

混淆电路是姚期智先生的安全两方计算通用协议中的核心技术,用于构造加密版本的电路,以实现所有非电路输出的线路上信息不泄露,又称为加密电路、乱码电路。当前,混淆电路已发展成构造上层安全协议的密码学工具,被广泛加以研究,包括对电路的优化设计、在如水印、委托计算等诸多应用中的推广、等等。

 

任一个多项式时间的功能函数图片1.png都存在一个与之对应的布尔电路图片2.png,可描述为电路图片2.png计算图片1.png。电路图片2.png由众多的门电路(如或门、与门、非门等)连接组成,其门电路的输入线路可以是函数图片1.png的输入变量,也可以是其他门电路的输出线路。

 

不失一般性,假设所连接的门电路均是二进一出的,记为门电路图片3.png,其两个输入线路分别为图片4.png,则其输出线路值为图片5.png,该输出线路值可能为下一个门电路的输入。电路图片2.png的计算由输入值确定的门电路开始,按照电路拓扑一层一层往下计算,最后总能在电路所有输出线路上得到最终输出结果。采用这种原始的计算方式,电路图片2.png上各线路的值均为明文形式的比特值或。

 

为了实现安全计算,姚期智先生提出了一种方法对电路计算过程中所有门电路上的计算值进行加密,即每一条线路

  • 6
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值