Featured image of post MPC学习笔记

MPC学习笔记

这是一个副标题

引入

1982年,中国计算机科学家、2000年图灵奖获得者姚期智教授在论文《Protocols for secure computations》中提出了著名的姚氏百万富翁问题,开创了密码学研究的新领域:安全多方计算(Secure Multi-party Computation)。

问题描述

有两个百万富翁,Alice 和 Bob。他们想知道谁更富有,但又不愿意向对方透露自己财富的具体数额。换句话说,他们希望在不泄露各自真实财富值的前提下,比较出谁的钱更多。如何在不借助第三方的情况下,让他们知道他们之间谁更有钱?

思路

我们假设Alice拥有的财富值为 $a$;Bob拥有的财富值为 $b$。假设财富值在 [1, 10] 范围内,这里为简化设为10 。 假设有10个宝箱,编号为1到10,Alice可以打开这10个箱子,而Bob不能。

  1. 第一步:Alice找到编号为 $i$ 的箱子,并将编号为1到 $i-1$ 的箱子里都放个纸条“no”,编号为 $i$ 到10的箱子里放个纸条“yes”,然后锁上箱子。
  2. 第二步:Bob根据自己的资产选择编号为的箱子,并把这个箱子的编号撕掉并返回给Alice。(撕掉编号是为了让Alice也不知道Bob到底选了哪个箱子)
  3. 第三步:Alice把Bob发的箱子打开,看一下里面的纸条,如果是"no"就说明 $j<i$ ,“yes"就说明 $i≤j$。由此可以在互不知道对方财产的前提下,比较二人的财富。