简单易懂百万富翁问题(漫画)

您所在的位置:网站首页 百万富翁的21个秘密 简单易懂百万富翁问题(漫画)

简单易懂百万富翁问题(漫画)

2024-06-19 08:31| 来源: 网络整理| 查看: 265

百万富翁问题与多方计算 一、 百万富翁问题 Two parties Alice and Bob, in possession of private variables i and j respectively, wish to communicate so that Alice can evaluate a function f(i, j), and Bob a function g(i, j).

有两个百万富翁,想要比较谁更富有,但是不想透露自己的财产数字,如何比较?

二、 解决方案 问题假设如下:

在这里插入图片描述

对于以上信息,我们只需要知道,假设两个百万服务拥有财产在1到10之间,且财产金额为整数,Ea是Alice的公钥。

对于这个问题,我们可以首先撇开数学加密过程,举一个相对比较简单的例子。

我们知道,两个百万富翁所拥有的财产均为整数,所以每个百万富翁拥有的财产可能的取值就有1到10十个数字。 在这里插入图片描述 我们让第一个百万富翁,选择十个盒子,按照顺序排列,分别代表1到10,并用自己的财产数字与盒子的数字进行比较,如果小于该数字,则在盒子里面放一个苹果,若大于等于则放一个香蕉。(实际操作需要考虑三种东西的差异性)。当然可以把大于和等于再进行细分。 在这里插入图片描述 在这里插入图片描述然后呢,我们请第二个百万富翁来,让他选择自己财产数额对应的箱子(在第一个百万富翁不参与的情况下)。随后,第二个百万富翁把剩余所有箱子销毁。

最后,两个百万富翁一起打开最后剩下的那个箱子,则可以得出谁更富有。 在这里插入图片描述 这个例子应该很容易理解,关键在于第一个百万富翁需要首先与每一种可能进行比较,第二个百万富翁再选择自己财产数额的箱子。

三、 原文解决方案 这里是原论文中提及的解决方案。

在这里插入图片描述

首先Bob选择一个随机数,并使用Alice的公钥进行加密,并用加密之后的结果,减去自己的财产发给Alice。

Alice收到了结果k-j+1。现在她需要对所有可能的金额进行计算,得到十个结果,然后用自己的私钥对结果进行加密。

随后,Alice产出一个随机素数,并使用加密之后的结果对该素数进行求余数计算。该过程具有不可逆转性质,保证了信息的安全性。这里需要Zu的结果之间相差超过2,这是因为之后会进行加一操作。

第五步,Alice将p发给Bob,同时,发送取余计算中得到的结果Z,在这一步她将所有大于她资产的Z进行+1操作。这里类似于苹果和香蕉。

第六步,Bob选择第j个Zj,然后用yu对p进行取余操作,如果该结果与Zj相等,说明该数字并没有进行加一操作,换句话说,Alice的资产大于该数字。

以上,完成了计算。

https://www.cnblogs.com/siyuan-Jin/p/12869709.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3