隐私计算实训营 第6讲 功能介绍:基于PSI的场景案例

valor? 2024-11-30 17:35:53

本文基于隐雨隐私计算实训营的课程,【隐私计算实训营 第4期】隐语PIR功能及使用介绍 第6讲_哔哩哔哩_bilibili

目录

01 隐语实现PIR总体介绍

02 Index PIR-SealPIR介绍

1、多个数据pack到一个HE Plaintext

2、查询向量压缩到一个密文

3、多维查询,减少查询向量

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

03 Keyword PIR-Labeled PSI介绍

1、CLR17通过CuckooHash降低插值多项式的次数

2、CLHR18引入OPRF避免信息泄露

3、CMCD+21一系列改进

4、隐语label PSI的主要工作


01 隐语实现PIR总体介绍

PIR根据服务器数量可以分为:

  • 单服务器 PIR
  • 多服务器 PIR

PIR根据查询类型可以分为:

  • Index PIR
  • Keyword PIR

隐语目前所支持的PIR方式:

  • Single Server Index PIR: SealPIR
  • Single Server Keyword PIR: Labeled PIR

隐语PIR调用的接口

  • pir_setup

  • pir_query

 

02 Index PIR-SealPIR介绍

 

之前有提到过SealPIR的主要贡献是:

  • 多个数据pack到一个HE Plaintext:查询的db_index转换为plaintext_index
  • 查询向量压缩到一个密文:显著减少通信量,server端可通过计算expand得到查询密文向量
  • 支持多维查询:2维查询将数据转换为n∗ n的矩阵,减少expand计算量
  • 支持多个查询:使用cuckoo hash支持同时进行多个查询

下面,详细的针对每一点做出解释。

1、多个数据pack到一个HE Plaintext

 

2、查询向量压缩到一个密文

3、多维查询,减少查询向量

(1)sqrt(n) ∗ sqrt(n)的矩阵𝑀,其中sqrt(n) ≤ 8192

(2)𝑉_𝑐是密文查询列向量,𝐴_𝑐 =𝑀 ∗ 𝑉_𝑐,𝐴_𝑐是sqrt(n) ∗ 1的密文列向量

(3)将𝐴_𝑐中每个密文拆分为𝐹份,得到sqrt(n) ∗ 𝐹的明文矩阵𝐴𝑆_𝑐

(4)𝑉_𝑟是密文查询行向量,𝐴𝑆_𝑐^T ∗ 𝑉_𝑟,得到𝐹 ∗ 1的密文向量

(5)客户端收得到𝐹个密文向量,解密后,将其组合成密文 Enc(𝑀[𝑟,𝑐]),再次解密得到𝑀[𝑟,𝑐]

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

03 Keyword PIR-Labeled PSI介绍

[CLR17] https://eprint.iacr.org/2017/299.pdf

[CLHR18] https://eprint.iacr.org/2018/787.pdf

[CMCD+21] https://eprint.iacr.org/2021/1116.pdf

1、CLR17通过CuckooHash降低插值多项式的次数

2、CLHR18引入OPRF避免信息泄露

3、CMCD+21一系列改进

4、隐语label PSI的主要工作

  • 以微软的开源代码功能为核心
  • OPRF采用隐语自身的实现,支持的ecc曲线包括:FourQ,Secp256k1,SM2
  • Label的自动填充
  • 增加了服务的预处理结果保存功能,可以支持离线和查询(多次)两个阶段
...全文
16 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

548

社区成员

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

【最新活动】

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

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