论文概要:

根据之前的一篇综述,说这篇文章主要针对OT extension+布隆过滤器进行了相关的操作;

本文主要针对于两方模型,主要贡献如下所示:

1.基于混淆布隆过滤器+不经意布隆交集提出了一中新协议;

新协议包括两个版本:基础版,加强版;两者的版本在于两方中是否是半诚实的或者是恶意的;

基础版有现行的复杂度,并且依靠对称加密操作;

加强版和基础版相比,只是增加了一些成本;

相关基础:

布隆过滤器:

布隆过滤器简单讲就是使用一系列的Hash函数,将一个集合中的元素哈希化,映射到一个长度为m的向量中,映射到的位置置为1,剩下的为0;

当检测y是否为该集合元素,只要检测对于h个Hash函数映射后,是否有元素为0,只要有一个为0则认为y不属于该集合;

但是这种简单的协议,会存在误判的可能性;

也就是y即使不属于该集合,也有可能存在所有映射后的位都为1的情况;

有一篇文章给予了证明,意为错误率存在一个阈值;

秘密共享:

将一个秘密s分割为n份,并且保证只有存在t,当秘密份数小于t的时候,不会泄密,当秘密份数大于等于t的时候,才会泄密;

因此也成为(t,n)秘密共享策略,Shamir‘s共享策略就是在此基础之上;

这里还举了一个经典的例子,在之前的GMW中有所体现;

即当为s按照相同长度生成n-1个随机二进制串,则根据异或可以有以下算式:

则对于s,仅可能通过: 泄密;

所以,这也是当t=n的情况;

Basic Protocol 基础版协议:

客户端在自己的集合C上计算一个布隆过滤器,并且服务器在自己的集合S上计算一个混淆布隆过滤器;

之后彼此运行一个OT协议,客户机获得一个交集混淆布隆过滤器,最后获得交集;

何为混淆布隆过滤器(Garbled Bloom Filters):

本文称Garbled Bloom Filters为 GBF;

GBF和传统的BF的不同在于GBF使用的一个内部元素是λ-bit的字符串数组,而非一位比特的比特数组;

这是GBF和BF在数据结构方面的根本性区别;

在流程上,GBF则是采用了秘密拆分的思想;

对于k个Hashing函数映射,可以视为生成k份秘密存储在vector中;

查询时,只要这k个哈希字符串异或的结果值能是查询值,则说明该查询值必在该集合内;

对于之前的碰撞流程,则会进行秘密份额替换;

这里文中给了一个例子:

例如,x2的映射,在x1秘密份额占用后,直接采用x1的冲突秘密份额作为自己的秘密份额;

整体例子如下所示:

算法具体流程:

映射流程:

交集查找流程:

求交方法:

整个求交过程采用一个GBFs和BFc进行,新的结果存放在GBFC∩S;

GBFs和BFc的索引下的存储空间是否为空必定相同,不同的是存储内的元素;

GBFs存储的是秘密共享,而BFc则是布尔值;

因此可以按照如下算法,求出交集;

整体计算流程:

整体计算流程如下所示:

这里主要针对的是求交集部分;

求交集部分的预防隐私泄漏是通过OT协议来实现的;

当Client的BFc和GBFs构造完成后,按照OT协议来进行,因为有m个元素,需要构成新的GBF集合,因此需要进行m次OT传输;

GBFs提供选择,BFc进行选择,也就是说Client不知道GBFs给出选项的含义,Server也不知道BFc选择了哪个;

原文如上,细细一想,该操作很好的保证了隐私;

首先,由于GBFs的非映射元素位置在最后会随意填充,因此Client也就不知道自己选择的选项到底是无意义的字符串还是真实的秘密成分,从而保护了Server的秘密;

其次,Server也不知道最后选择了什么,也就不知道Client的set成员;

因此,这个方法能很好的在不泄漏交集的情况下,构造出交集GBF;

Enhanced Protocol 强化版协议:

这里没太看懂,后面需要补点密码学基础;

大概意思应该是,如果client把所有的标志位全部置1,则可能获得Server的所有交集元素,相当于全集和A求交,则最后获得肯定是交集A;

文中应该是通过强行加密,把时间的复杂度提升了几个量级;

其实没太看懂,惭愧惭愧;

《When Private Set Intersection Meets Big Data:An Efficient and Scalable Protocol》论文解读相关推荐

  1. 论文解读PCT: Point Cloud Transformer(用于点云处理的Transformer)

    最近几年transformer越来越火,在NLP.CV等领域都取得了很大的成功.这篇文章作者利用了transformer能够处理无序数据的特点,将transformer应用到点云的处理上.它的想法是基 ...

  2. CVM2021| PCT: Point cloud transformer(分类+分割任务SOTA)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨paopaoslam 来源丨 泡泡机器人SLAM 标题:PCT: Point cloud tra ...

  3. PCT: Point Cloud Transformer

    PCT:点云Transformer Meng-Hao Guo Tsinghua University gmh20@mails.tsinghua.edu.cn Jun-Xiong Cai Tsinghu ...

  4. FastFormers 论文解读:可以使Transformer 在CPU上的推理速度提高233倍

    自Transformers诞生以来,紧随其后的是BERT,在几乎所有与语言相关的任务中,无论是问题回答,情感分析,文本分类还是文本生成,都占据着NLP的主导地位. 与RNN和LSTM消失的梯度问题(不 ...

  5. Point Cloud Transformer(PCT)代码实现

    Point Cloud Transformer(PCT)代码实现 目前最火热的Transformer在自然语言和图像识别中扮演了极其重要的角色,在点云数据集中也不例外,清华大学近期提出在点云中运用Tr ...

  6. 论文解读:《基于BERT和二维卷积神经网络的DNA增强子序列识别transformer结构》

    论文解读:<A transformer architecture based on BERT and 2D convolutional neural network to identify DN ...

  7. Point Cloud Transformer(PCT)阅读翻译

    PCT: Point Cloud Transformer 1. Introduction transformer是一种 encoder-decoder结构,包含了三个模块:输入词嵌入,位置(顺序)编码 ...

  8. 论文阅读 PCT:Point Cloud Transformer

    论文阅读 PCT:Point Cloud Transformer PCT 介绍 Input Embedding native 版本 enhanced 版本 Attention PCT 介绍 PCT是基 ...

  9. AI论文解读:基于Transformer的多目标跟踪方法TrackFormer

    摘要:多目标跟踪这个具有挑战性的任务需要同时完成跟踪目标的初始化.定位并构建时空上的跟踪轨迹.本文将这个任务构建为一个帧到帧的集合预测问题,并提出了一个基于transformer的端到端的多目标跟踪方 ...

  10. 论文解读:《功能基因组学transformer模型的可解释性》

    论文解读:<Explainability in transformer models for functional genomics> 1.文章概括 2.背景 3.相关工作 4.方法 4. ...

最新文章

  1. 灰度直方图均衡化及其实现
  2. mmap映射大于4g的文件_尴尬,win10镜像文件install.wim大于4G,如何将它装进U盘
  3. python基础教程:修改Python列表中元素的几种方法
  4. 解决pip使用异常No module named 'pip'
  5. 一些部署django用到的linux命令
  6. mybatis 查询之神坑
  7. 嵌套查询和连接查询的效率_Elasticsearch 7.x Nested 嵌套类型查询 | ES 干货
  8. Emlog简约好看的博客主题末遇
  9. JAVA imread_利用Matlab中的imread怎么读取图片
  10. delphi学习路线
  11. JAVA提示定义常量_如何在Java中定义常量(Constant)
  12. 开两个服务内存溢出_详解JVM内存区域
  13. pokemon go 和 虚拟gps
  14. 平均17.1K?2022软件测试员平均薪资出炉,看看你被平均了没~
  15. Android 一个改善的okHttp封装库
  16. 打印机连接技术概述(LPRRAWAppleTalk)
  17. 想把手机内容投屏到电脑 并且可以用电脑控制手机怎么办,很简单
  18. MySQL索引优化(二)索引失效
  19. 如何查看电脑的 CPU 信息 ?
  20. oracle分页排序查询,Oracle分页查询中排序与效率问题解决方法详解

热门文章

  1. 《CLR via C#》读书笔记-.NET多线程(一)
  2. 2012年九月六号阿里巴巴面试
  3. js实现word生成书签_javascript下用ActiveXObject控件替换word书签,将内容导
  4. 怎么用域名?域名使用步骤
  5. wps怎么全选所有页_wps word中怎么全选一页
  6. 配置nginx报错no “ssl_certificate“ is defined in server listening on SSL port while SSL handshaking
  7. 如何随时随地免费使用中国知网?
  8. NPS净推荐值 客户忠诚度指标
  9. python 断言详细讲解用法及其案例_python断言_python 断言_python断言案例 - 云+社区 - 腾讯云...
  10. 为什么要去学习函数式编程