[隐语]第6讲 功能介绍:隐语PIR功能及使用介绍

Chenyang|zhao 2024-12-09 00:13:33

第6讲 功能介绍:隐语PIR功能及使用介绍

1.隐语实现PIR总体介绍

隐语实现的PIR(Private Information Retrieval):是一项使用户能够在不向服务器透露查询内容的情况下,从服务器数据库查询数据的技术。

隐语实现的PIR技术可以按照不同的维度进行分类,主要分为服务器数量分类和查询类型分类。

(1)按服务器数量分类

  • 单服务器方案(Single Server):

在单服务器方案中,所有的数据都存储在一个服务器上。用户需要从这个单一的数据源中查询信息,同时确保其查询内容对服务器保持私密。这要求使用高度复杂的加密技术来保护查询内容,同时确保查询效率。

  • 多服务器方案(Multi Server):

多服务器方案涉及到多个服务器,数据可以分散存储在这些服务器上。用户的查询被设计为分布式的,每个服务器只处理查询的一部分,而没有任何一个服务器能够单独确定用户的完整查询内容。通过这种方法,即使某些服务器被攻破,用户的查询隐私仍然得到保护。
(2)按查询类型分类

  • **Index PIR:**在Index PIR中,用户根据数据的索引进行查询。

  • **Keyword PIR:**Keyword PIR允许用户根据关键字进行查询。

隐语PIR实现位置:

img

隐语PIR 调用接口:pir_setup

pir_setup 数据预处理,参数说明: input_path

服务端数据文件路径,建议绝对路径 key_columns

Key对应的列名 label_columns

Label对应的列名,多列,用逗号分隔 oprf_key_path

服务端ecc密钥文件,32B,二进制文件 mum_per_query

每次查询的id数量 label_max_len

Label数据拼接后填充到固定的长度大小

2.Index PIR - SealPIR介绍

基于同态密码实现PIR的基本原理

img

SealPIR是一种实现Index PIR的技术,其主要贡献包括:

  • 将多个数据打包到一个同态加密(HE)明文中。将查询的数据库索引(db_index)转换为明文索引(plaintext_index)。
  • 将查询向量压缩到一个密文中,显著减少了通信量。服务器端可以通过计算扩展得到查询的密文向量。
  • 支持多维查询,例如,通过将数据转换为根号n乘以根号n的矩阵来实现2维查询,以减少扩展计算量。
  • 支持同时进行多个查询,使用cuckoo hash来实现。

img

多维查询,减少查询向

img

支持多个查询(Multi/Batch Query)

img

实现方式:

img

3.Keyword PIR - Labeled PSI

核心思想:是通过点值表示得到插值多项式的系数表示。

img

img

论文中的主要思想 Labeled PSI的原理可参考下面的论文:

论文中的主要思想 Labeled PSI的原理可参考下面的论文:

  • [CLR17] Fast Private Set Intersection from Homomorphic Encryption
  • img

  • [CLHR18] Labeled PSI from Fully Homomorphic Encryption with Malicious Security
  • img

  • [CMCD+21]Labeled PSI from Homomorphic Encryption with ReducedComputation and Communication
  • img

...全文
36 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

551

社区成员

发帖
与我相关
我的任务
社区描述
隐语开源社区,隐私计算开发者交流和讨论的平台。
密码学可信计算技术安全 企业社区
社区管理员
  • 隐语SecretFlow
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

【最新活动】

3月18日:隐私计算实训营第一期

试试用AI创作助手写篇文章吧