你在一个偏远的岛屿上遭遇海难,需要逃跑。其他幸存者之一发现了一个废弃的简易机场,里面有一架似乎仍处于工作状态的小型飞机。不幸的是,您和其他幸存者的总重量可能会超过飞机的最大起飞重量W。.MAX.要确定尝试起飞是否意味着生存或死亡的机会,您需要知道所有幸存者的总重量。
虽然这是紧急情况,但你不希望要求任何人向任何人透露他们的体重——甚至不要向你自己透露。您将如何确定幸存者的总体重,同时确保没有人了解其他人的体重?
停顿片刻,考虑幸存者如何解决问题。请记住,没有人可以了解其他人的体重。我们将很快介绍一个候选解决方案。
这是一类更广泛的问题的示例:当一组参与者对函数的输入必须保持私有时,他们如何计算函数的输出?
一个简单的解决方案是将所有私有输入提供给某个受信任的第三方(TTP),然后第三方将计算函数并将输出分发给参与者。不幸的是,TTP 在现实世界中往往与数学世界中的幸存者(他们以前从未见过)一样罕见。例如,如果患者记录在某些集中机构共享和汇总,则可以加速医学研究,但HIPAA隐私保护要求记录保持私密。
如果权重阈值函数的输入不需要保持私密,我们可以很容易地用一张草稿纸解决问题。如果幸存者逃脱,他们可以继续构建一个实现权重阈值函数的电路:在输入设定的权重和阈值时,输出组合权重是否超过阈值。本博客将介绍乱码电路,这是输入必须保持私有情况的一般解决方案。
但首先,让我们回到幸存者身上——他们需要一个简单的解决方案,在偏远的岛屿上快速工作。
在他们可用的物资最少的情况下,幸存者提出了以下协议:
每个幸存者都会得到一张白纸,每个人都站成一圈。
你首先写下一个随机数R,它显然比每个人的总权重大得多,然后将你的权重添加到R。你只用总和撕下那部分纸,把它交给你左边的幸存者。
每个幸存者都增加了他们的体重W我到他们收到的数字,并仅将他们的权重添加到数字中的结果传递给下一个幸存者。
当您从右侧的幸存者那里收到最终数字时,您减去您最初选择的随机数 R 以恢复所有幸存者的总权重 WTT。
值得庆幸的是,对于幸存者来说,WTT
审核编辑:郭婷
-
函数
+关注
关注
3文章
4304浏览量
62426
发布评论请先 登录
相关推荐
评论