百万富翁问题是姚期智先生在1982年提出的第一个安全双方计算问题
问题可以描述为:两个百万富翁街头邂逅,他们都想炫一下富,比比谁更有钱,但是出于隐私,都不想让对方知道自己到底拥有多少财富,如何在不借助第三方的情况下,让他们知道他们之间谁更有钱。
中国唯一图灵奖获得者,安全多方计算鼻祖。
具体过程:
假设富翁A的财富值为a,富翁B的财富值为b
- A:公钥:
,私钥:
。用A的公钥加密财富值:
将
与
发给B
- B:随机选取x,y(随机大整数),用
分别计算
和
将
发给A,记
,
。
- 因为paillier加密同态属性:
和
- 所以:
- A:利用自己的私钥
解开 A与B 即得到:谁更有钱
具体演示(点击下图进入全屏):