混淆电路——混淆电路原理

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

混淆电路原理

在我们前两章讲过混淆电路的基础知识——不经意传输&转换逻辑电路以后,我们就可以将这两种技术合并在一起,用作我们的混淆电路的设置。
我们还是以百万富翁问题为例,在上一章我们已经将比较大小函数转换成逻辑电路了,然后我们还需要处理在电路运行的过程中存在的信息泄漏问题,我们需要将电路的每一条线路进行标记,如下图所示。
在这里插入图片描述
然后就开始我们混淆电路的过程:
我们混淆电路分成四个部分:
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
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值