第二讲 理论基础:匿踪查询PIR

目录

PIR定义

PIR分类

PIR技术简介

简单的解决方案

HE-based PIR

DPF-based PIR


本文主要是记录参加隐语开源社区推出的第四期隐私计算实训营学习到的相关内容。

PIR定义

隐匿查询,也称隐私信息检索(Private Information Retrieval,PIR),是指查询方隐藏被查询对象关键词或客户id信息,数据服务方提供匹配的查询结果却无法获知具体对应哪个查询对象。数据不出门且能计算,杜绝数据缓存的可能性。

举个栗子:

服务方有数据集D,客户发起查询请求。在经过PIR计算后,客户就可以知道与查询对应的数据。

在这个过程中,服务方不知道客户检索的那个数据,客户也不知道任何不属于她查询的数据。

PIR分类

根据服务数量分类:

  • 单服务PIR(Single-server PIR)

    可能需要像 FHE 这样的重加密原语

  • 双服务PIR(Two-server PIR)

    难以在实际应用中实现

    使用 DPF 等密码原语而更加高效

根据检索信息的方式:

  • index PIR

    客户端知道数据在哪

  • keyword PIR

    客户端不知道数据在哪,通过 keyword 请求

PIR技术简介

简单的解决方案

如上图所示:客户端会先对 query 的 vector 进行一次加密处理,之后把加密后的 vector 发送给 server,server 会把自己整个数据库和这个加密的 vector 做一个密文的运算,最后得到仅为为一对应的值。

特点:

  • 同态加密(HE)算法

  • 容易实现

  • 通信成本高

HE-based PIR

问题:太大计算和通信开销

HE

  • FV

  • 加、明文乘法、替换

HE-based PIR实现

  • 服务方将在数据库内的数据转换为HE明文

  • 客户方基于index加密的query vector并发送给服务方

  • 服务方计算查询向量与 HE 明文之间的内积

  • 客户方解密加密的查询结果获得结果明文

在 SealPIR 的出现前,Single-server PIR 之类的PIS效率都不高,SealPIR 数秒内即可从数据库完成百万以上数据的查询。其提高效率的方法如下:

  • 多数据pack到一个HE明文

  • query vector 被压缩为单个密文,并在服务器端进行扩展

  • 支持多维度查询

  • 利用 Cuckoo hash 一次性支持多个查询

DPF-based PIR

使用新的 DPF 原语提高效率。

属于 Two-server PIR:

  • 非共谋服务器上的相同数据库

  • 目前很难找到实现

如上图所示:客户端会先使用DPF.Gen(1^\lambda ,i,1)将Index i分成(k_0,k_1),之后分别将k_0, k_1分别发给服务器S_0, S_1,之后S_0会对k_0做一次DPF.Eval(0,k_0,j)并将结果返回,S_1会对k_1做一次DPF.Eval(1,k_1,j)并将结果返回,最后在客户端对返回结果进行运算得到结果。

参考:

隐语 · 实训平台

隐私信息检索(隐匿查询)-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B or D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值