PIR
隐匿查询(Private Information Retrieval)定义:用户查询服务端数据库中的数据,但服务端不知道用户查询的是哪些数据。
隐匿查询分类
按服务器数量分类:
- 单服务器方案(Single Server)
- 多服务器方案(Multi-Server)
按查询类型分类:
隐语目前支持的PIR方式:
Single Server index PlR :SealPIR
- Single Server Keyword PIR: Labeled PSI
隐语PIR调用接口:
pir_setup 数据预处理
pir_query 查询
SecretFlow
Index PIR-SealPIR
BFV方案
![img](https://img-community.csdnimg.cn/images/344e12e733f44eb1841b0c7dfa122dee.png)
基于同态密码实现index PIR
![img](https://img-community.csdnimg.cn/images/112c4a9bb77942919faef67251cd8635.png)
Keyword PIR-Labeled PSI
核心思想:点值表示得到插值多项式系数表示
BFV方案:
![img](https://img-community.csdnimg.cn/images/4f239bd3a3934fecaee45a2531ed1cc6.png)
服务端预处理(setup)阶段-流程:
- 选择参数
- 对id数据进行prf计算,前128bit根据截取用于匹配, 后128bit作为对称算法密钥加密label
- 根据prf前128bit将数据插入Simple Hash
- 对Simple Hash每一行分别划分bin bundle,并计算 matching polynomial和label polynomial
- 将插值多项式系统packing到同态算法明文
客户端和服务端(query)阶段-流程:
- 请求参数
- 执行oprf协议
- 计算查询值的同态密文幂集合
- 使用同态私钥解密服务端返回的同态密文
- 满足匹配条件时,使用oprf的后128bit解密得到label