[隐语]第四讲 功能介绍:隐语 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产品化(轻量化部属、算法原理可视化)

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

562

社区成员

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

【最新活动】

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

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