第四讲 隐语PSI功能及使用介绍

1. SPU实现 PSI介绍

  • PSI定义和分类:详见第一讲。

  • 隐语PSI功能分层:

  • SPU实现的PSI种类

  • 半诚实模型

  • 两方
  • ecdh、kkrt16、bc22(pcg-psi)
  • ec-oprf PSI(Unbalanced PSI)
  • dp-psi
  • 多方
  • ecdh-3-party(可扩展到多方)
  • 恶意模型

  • mini-PSI(适合小数据集)
  • 隐语官网PSI介绍参考:https://www.secretflow.org.cn/zh-CN/docs/secretflow/main/user_guide/psi(基本覆盖各类PSI协议)

  • ecdh-PSI介绍

  • 协议特点:
  • 易于理解和解释。
  • 易于实现。
  • 通信量小,计算量大。
  • 易于扩展
  • 可以分类计算交集数量(PSI-CA)。
  • 谷歌隐私加入和计算;脸书隐私ID。
  • 性能提升
  • 支持25519,FourQ曲线
  • 增加intel-crypto multi-buffer支持
  • 测评及合规需求
  • 增加SM2曲线支持,符合国内合规
  • 增加Secp256k1曲线支持
  • 互联互通
  • 跨平台互联互通开放协议 第一部分:ECDH-PSI
  • 协议文档、参考实现,参见隐语官网和github

  • KKRT16(论文) PSI介绍-1

  • 论文主要贡献
  • 扩展了IKNP和KK OT协议
  • Batch,Related-key OPRF(BaRK-OPRF)
  • 优点:运行时间快
  • 3.8s  2^{20}(百万)
  • 1m   2^{24}(1.6千万)
  • 最新PSI论文中比较的基准
  • 缺点:
  • 内存占用大
  • 通信量大

  • KKRT16  (论文) PSI介绍-2

组件

改进

具体密码工具

论文

KKRT-OT

BaRK-OPRF

性能改进

Bit Matrix Transpose

[ALSZ13] More Efficient Oblivious Transfer and Extensions for Faster Secure Computation-2013-552

性能改进

Pipeline/Vector AES

VASA: Vector AES Instructions for Security Applications 2021

CuckooHash

性能改进

Stash-less

PSZ18-Scalable Private Set Intersection Based on OT Extension-2016-930  

PSTY19-Efficient Circuit-based PSI with Linear Communication-2019-241

  • KKRT16  (论文) PSI介绍-3

  • BC22 PCG PSI介绍-1

  • 基于sVOLE的BaRK-OPRF
  • Generalized Cuckoo Hash
  • Permutation-Based Hashing

  • BC22 PCG PSI介绍-2

  • Generalized CuckooHash(3,2)
  • VOLE使用emp-zk中的WYKW21 Wolverine方案
  • 论文中的差异
  • 左端插值多项式,论文中给出了不做填充的方案,目前实现都做填充。
  •  n<x^{20}:填充; n\geq x^{20}:不填充。
  • 优点:降低计算量。
  • 缺点:需要额外的 F_2 SubField\ VOLE,判别最高次 x^3系数是否为0。
  • TODO
  • 细节优化:百兆时计算和发送处理
  • 底层VOLE预计算量优化
  • 跟踪版本变化(PKC2023)

  • Unbalanced PSI:ec-oprf based

  • Unbalanced PSI:SHE-based

  • APSI和ec-oprf PSI的比较
  • 优点:不需要将大数据方的数据传输到小数据方
  • 缺点:计算量大,运行时间长
  • 基于ecdh的三方PSI协议

  • 协议流程:
  • Alice和Bob先进行交互,得到shuffle后的两方交集
  • Alice将shuffle后两方交集,发给Charlie
  • Charlie加密后的数据依次给Bob和Alice加密
  • Charlice比较密态数据,得到密集
  • 优点:基于ecdh-psi,协议简单易于实现
  • 缺点:泄露Alice和Bob两方交集数量

2. SPU PSI调度封装

  • SPU PSI调用架构

  • 接口封装层:

  • 统一入口:入口函数:bucket_psi
  • 支持分桶求交:通过分桶支持大规模数据(10亿规模)
  • 输入处理:
  • 检查求交id列数据是否完整
  • 检查是否有重复项
  • 输出处理:、
  • 支持按求交id列排序
  • 输出完整label列
  • bucket-psi:高级API,通过Hash分桶支持海量数据,覆盖生产级全流程(数据查重,分桶求交,结果广播、结果排序)
  • mem_psi:低级API,算法内核级的性能+统一易用的接口
  • Operater:算法接入层,向上提供统一接口接入工程化封装;注册工厂模式,提升协议工程化效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值