PSI的定义
PSI是隐私求交集(Private Set Intersection)的英文缩写。
这是一种特殊的安全多方计算(MPC)协议。
大致思想就是:Alice持有数据集合X,Bob持有数据集合Y。Alice和Bob通过执行PSI协议,得到数据的交集X∩Y。但是在求交集的过程中不泄漏交集以外的其他信息。
对于PSI,有很多具体的分类标准:
- 2-party/Multi-party PSI;(双方/多方)
- Balanced/Unbalanced PSI;
- Semi-honest/Malicious PSI;(半诚实/恶意)
基于实现算法,也可以分为:
- PSI-CA;
- PSI-Payload Analytics;
- Circuit PSI;
隐语PSI的功能分层
隐语SPU实现的PSI
隐语实现的PSI模型主要以半诚实模型为主,基本实现了各类型的PSI协议,性能具有一定的优势。具体如下:
- 半诚实模型
- 两方
- ecdh、kkrt16、bc22(pcg-psi)
- ec-oprf PSI(Unbalanced PSI)
- dp-psi
- 多方
- ecdh-3-party(可扩展到多方)
- 两方
- 恶意模型
- mini-PSI(适合小数据集)
隐语PSI开发指南
基于隐语框架,要想实现PSI开发,需要以下四步:
- 启动ray集群;
- 初始化secretflow;
- 启动SPU设备;
- 执行PSI;
隐语PSI后续计划
隐语后续就PSI方面计划做如下事件:
- PSI协议开发:支持更多的PSI协议;
- PSI调用框架:优化入口函数和参数;
- PSI产品化:轻量化部署、算法原理可视化;