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

Chenyang|zhao 2024-12-08 20:44:58

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

01 SPU实现的PSI介绍

1.1PSI定义和种类

安全求交集:Private Set intersection (PSI)

一种特殊的多方安全计算协议,Alice持有集合X,BOb持有集合Y,Alice和Bob通过PSI协议得到交集结果X and Y。除交集外不会泄露交集以外的其他信息。

 

分类:

  • 2-party/Multi-Party PSI

  • Balanced/Unbalance PSI

  • Semi-Honest/Malicious PSI

  • PSI with computation(PSI-CA,PSI-Payload Analytics,Circuit PSI)

1.2隐语PSI功能分层

协议实现在中间的SPU层,底层包含基础的密码算法以及密码协议。SPU以上指定相关入口,方便调用协议。

基础组件层:Yacl、OT、OPRF、PRG、ECC、AES、HAS、brpc Link

PSI协议实现层:SPU、bucket PSI入口;ECDH、KK16、Bc22等PSI协议实现。

PSI功能封装:MVP、Kuscia(白屏、OpenAPI、调度)、SCQL(SQL Join)

1.3spu实现的PSI

SPU实现的PSI种类:

半诚实模型:

  • 两方(Ecdh、KKrt16、BC22)

  • 多方(ecdh-3-party可以拓展到多方))

恶意模型(mini-PSI适合小数据集)

1.3.1ecdh-psi

 

1.3.2 KKRT16 PSI介绍

 

 

 

1.3.3BC22 PCG

 

 

1.3.4 Unbalanced PSI

 

 

 

 

02 SPU PSI调度架构

调用架构:

(1)统一入口:入口函数buket_PSI,mem_psi

(2)支持分桶求交:通过分桶求交来支持大规模数据(10亿规模)

(3)输入输出处理:检查求交ID列是否完整,检查是否有重复项。

(4)输出处理:支持按照求交ID列排序,输出完整的Label列

 

• bucket_psi:高级API,通过Hash分桶支持海量数据,覆盖生产级全流程(数据查重、分桶求交、结果广播、结果排序)

• mem_psi:低级API,算法内核级的性能+统一易用的接口

• Operator:算法接入层,向上提供统一接口接入工程化封装;注册工厂模式,提升协议工程化效率

 

03 Secretflow PSI开发指南

在集群仿真模式下,每个ray节点模拟一个机构,具体做法是给每个Ray节点添加机构名称标记,从而保证机构的计算被调度到相应的ray节点上。

 

用于生产的secretflow由多个ray集群组成,每个参与方拥有各自的ray集群,与此同时每一个参与方要同时执行代码才能完成任务的协作。

 

具体包括以下过程:启动Ray集群、初始化secrectflow、启动SPU设备、执行PSI。

04隐语PSI后续开发计划

PSI协议开发(RS22 Blazing Fast vole+okvs,Circuit PSI,Multipaty PSI,Malicious PSI)

PSI调用框架(PSI独立代码库、优化入口函数和参数、优化协议封装架构)

PSI产品化(轻量化部属、算法原理可视化)

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

551

社区成员

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

【最新活动】

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

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