混淆电路原理
在我们前两章讲过混淆电路的基础知识——不经意传输&转换逻辑电路以后,我们就可以将这两种技术合并在一起,用作我们的混淆电路的设置。
我们还是以百万富翁问题为例,在上一章我们已经将比较大小函数转换成逻辑电路了,然后我们还需要处理在电路运行的过程中存在的信息泄漏问题,我们需要将电路的每一条线路进行标记,如下图所示。

然后就开始我们混淆电路的过程:
我们混淆电路分成四个部分:
Step 1: Alice 生成混淆电路
Step 2: Alice 和 Bob 进行通信
Step 3: Bob evaluate 生成的混淆电路
Step 4: 分享结果
Step 1: Alice 生成混淆电路
首先,Alice 基于上述电路生成对应的混淆电路。生成过程主要分四步。
第一步,Alice对电路中的每一线路进行标注。如上图所示,Alice一共标注了七条线路,包括模块的输入输出 W a 0 , W b 0 , W c 0 , W c 1 W_{a_0},W_{b_0},W_{c_0},W_{c_1} Wa0,Wb0,Wc0,Wc1,和模块内的中间结果 W d , W e , W f W_d,W_e,W_f Wd,We,Wf 。对于每一条线路 W i W_i Wi ,Alice生成两个长度为 k k k的字符串 X i 0 , X i 1 X_i^0,X_i^1 Xi0,Xi1 。这两个字符串分别对应逻辑上的0和1。这些生成的标注会在 Step 2 有选择性地发给Bob,但Bob并不知道 X i 0 , X i 1 X_i^0,X_i^1 Xi0,Xi1对应的逻辑值。
第二步,Alice 对电路中的每一个逻辑门的Truth Table用 X i 0 , X i 1 X_i^0,X_i^1 Xi0,Xi1进行替换,由 X i 0 X_i^0 Xi0替换0,由 X i 1 X_i^1 Xi1替换1。比如电路图中左上方的XOR门的输入是 a 0 , c 0 a_0,c_0 a0,c0,输出是 d d d,对应的Truth Table可以做如下转换。
| a 0 a_0 a0 | c 0 c_0 c0 | d d d |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
转换为
| a 0 a_0 a0 | c 0 c_0 c |
|---|

本文详细介绍了混淆电路的工作原理,包括步骤和关键操作,如线路标注、TruthTable转换、对称加密和GarbledTable的创建。混淆电路通过确保Alice和Bob在通信过程中不泄露敏感信息,实现了安全的信息交换,特别适用于百万富翁问题等场景。Alice生成混淆电路并发送给Bob,Bob解密并获取结果,最终双方共享计算结果,但不暴露各自的输入信息。
最低0.47元/天 解锁文章
6740

被折叠的 条评论
为什么被折叠?



