如何(以及为什么)乱码您的电路

描述

你在一个偏远的岛屿上遭遇海难,需要逃跑。其他幸存者之一发现了一个废弃的简易机场,里面有一架似乎仍处于工作状态的小型飞机。不幸的是,您和其他幸存者的总重量可能会超过飞机的最大起飞重量W。.MAX.要确定尝试起飞是否意味着生存或死亡的机会,您需要知道所有幸存者的总重量。

虽然这是紧急情况,但你不希望要求任何人向任何人透露他们的体重——甚至不要向你自己透露。您将如何确定幸存者的总体重,同时确保没有人了解其他人的体重?

停顿片刻,考虑幸存者如何解决问题。请记住,没有人可以了解其他人的体重。我们将很快介绍一个候选解决方案。

这是一类更广泛的问题的示例:当一组参与者对函数的输入必须保持私有时,他们如何计算函数的输出?

一个简单的解决方案是将所有私有输入提供给某个受信任的第三方(TTP),然后第三方将计算函数并将输出分发给参与者。不幸的是,TTP 在现实世界中往往与数学世界中的幸存者(他们以前从未见过)一样罕见。例如,如果患者记录在某些集中机构共享和汇总,则可以加速医学研究,但HIPAA隐私保护要求记录保持私密。

如果权重阈值函数的输入不需要保持私密,我们可以很容易地用一张草稿纸解决问题。如果幸存者逃脱,他们可以继续构建一个实现权重阈值函数的电路:在输入设定的权重和阈值时,输出组合权重是否超过阈值。本博客将介绍乱码电路,这是输入必须保持私有情况的一般解决方案。

但首先,让我们回到幸存者身上——他们需要一个简单的解决方案,在偏远的岛屿上快速工作。

在他们可用的物资最少的情况下,幸存者提出了以下协议:

每个幸存者都会得到一张白纸,每个人都站成一圈。

你首先写下一个随机数R,它显然比每个人的总权重大得多,然后将你的权重添加到R。你只用总和撕下那部分纸,把它交给你左边的幸存者。

每个幸存者都增加了他们的体重W我到他们收到的数字,并仅将他们的权重添加到数字中的结果传递给下一个幸存者。

当您从右侧的幸存者那里收到最终数字时,您减去您最初选择的随机数 R 以恢复所有幸存者的总权重 WTT。
值得庆幸的是,对于幸存者来说,WTT

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐
  • 函数

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分