混淆电路的简单理解
什么是混淆电路
混淆电路(Garbled Circuit)是姚期智(Andrew Yao)在1986年提出的一种安全多方计算协议,它允许两个或多个参与方在不泄露各自私有输入的情况下共同计算一个函数。
场景引入:隐私保护的财富比较
假设Alice和Bob想要比较谁更有钱,但又不想让对方知道自己的具体财富值。我们可以将问题简化为一个二进制比较:
- Alice的财富表示为a(1代表有钱,0代表没钱)
- Bob的财富表示为b(1代表有钱,0代表没钱)
- 我们的目标是计算函数c = a AND b,即只有当两人都有钱时结果才为1
混淆电路的构建过程
步骤1:创建真值表
首先,我们需要定义函数c = a AND b的真值表:
| 1 | 0 | 0 |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 1 | 1 |
步骤2:创建输入标签
Alice为每个输入位创建随机标签:
- 对于输入a:1用 x 1 x_1 x1表示,0用 x 0 x_0 x0表示
- 对于输入b:1用 y 1 y_1 y1表示,0用 y 0 y_0 y0表示
步骤3:构建混淆表
Alice将真值表中的输入替换为对应的标签,并对输出值进行加密:
| x 1 x_1 x1 | y 0 y_0 y0 |



