混淆电路协议快速入门

混淆电路介绍

一、介绍

混淆电路是一种密码学协议,由姚期智教授在80年代针对安全计算所提出的概念。其效果就是,当几个通信方需要一起输入某些数据,然后通过同一个函数计算出一个结果。但是通信的各方都不希望其他人知道自己的输入是什么,此时利用混淆电路协议即可完成目的。本文将简单介绍混淆电路的协议内容。

二、基本协议内容

  1. 基本交互

在这里插入图片描述

  1. 混淆电路的生成

对于基本的电路,真值表如下:

img

然后给每一种输入输出对应一种密钥,可以理解为是一种映射,将原来的0/1输入输出对应到一个其他的标签(可以是整数、字符串等)上。

img

真正发送过去的真值表还要再经过一个加密和一次混淆(也就是行换位置)

img

img

  1. 混淆电路的解密

Bob在接收到混淆电路后开始解密。Alice发送混淆电路的过程中也将Alice输入对应的密钥发送给Bob(Bob此时并不会发现Alice的真实输入是什么)。同时Alice也把Bob可以选择的输入对应的密钥都发给了Bob,此时需要运行不经意传输协议,可以使得Bob从所有可能输入对应的密钥中选择自己输入对应的密钥,且不会让Alice知道Bob的选择。Bob得到密钥后对混淆电路真值表进行解密即可得到混淆电路的输出。

  1. 不经意传输的适用

可以参考有关不经意传输的文章,我的上一篇文章不经意传输协议快速入门

注意不经意传输应该不止一次通信,所以最上面基本交互的那种图像只是一个基本的示意,不代表真正的传输交互轮数。

三、参考网页链接

  1. 混淆电路介绍(三)混淆电路原理

  2. 混淆电路Garbled Circuit介绍

  3. 混淆电路(Garbled circuits)快速入门

  4. 多方安全计算-混淆电路

猜你喜欢

转载自blog.csdn.net/qq_44249020/article/details/113039603