隐匿查询(Private Information Retrieval PIR)
定义
用户查询服务端数据库中的数据, 但服务端不知道用户查询的是哪些数据
分类
按服务器数量分类:
Ø 单服务器方案(Single Server)
Ø 多服务器方案(Multi-Server)
按查询类型分类:
Ø Index PIR
Ø Keyword PIR
隐语目前支持的PIR方式
Single Server Index PIR : SealPIR
• 多个数据pack到一个HE Plaintext 查询的db_index转换为plaintext_index
• 查询向量压缩到一个密文 显著减少通信量,server端可通过计算expand得到查询密文向量
• 支持多维查询 2维查询将数据转换为 根号n*根号n 的矩阵,减少expand计算量
• 支持多个查询 使用cuckoo hash支持同时进行多个查询
Single Server Keyword PIR:Labeled PSI
基本原理
核心思想:点值表示得到插值多项式系数表示
性能优化
• 减少乘法次数和计算量
• 使用extremal postage stamp bases减少通信量
• Paterson-Stockmeyer算法,减少密文乘法
隐语label PSI的主要工作
• 以微软的开源代码功能为核心
• OPRF采用隐语的实现
• 支持的ecc曲线包括:FourQ、Secp256k1、SM2
• Label的自动填充
• 增加了服务的预处理结果保存功能
• 可以支持离线和查询(多次)两个阶段
隐语代码功能
spu.pir_setup
spu.pir_query
result