课6-匿踪查询和隐语PIR的介绍及开发实践

简介: 隐匿查询(PIR)允许用户从服务器检索数据而不暴露查询内容。类型包括单服务器与多服务器方案,以及Index PIR和Keyword PIR。隐语支持SealPIR用于单服务器Index PIR,压缩查询并支持多维和多查询处理。另外,它采用Labeled PSI实现单服务器Keyword PIR,优化了计算和通信效率,基于微软代码并扩展了功能,如OPRF、特定ECC曲线支持和预处理结果保存。隐语提供的PIR相关API包括`spu.pir_setup`和`spu.pir_query`。

隐匿查询(Private Information Retrieval PIR)

定义

用户查询服务端数据库中的数据, 但服务端不知道用户查询的是哪些数据

分类

按服务器数量分类:

Ø 单服务器方案(Single Server)
Ø 多服务器方案(Multi-Server)

按查询类型分类:

Ø Index PIR
Ø Keyword PIR

隐语目前支持的PIR方式

Single Server Index PIR : SealPIR

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

Single Server Keyword PIR:Labeled PSI

 基本原理  
    核心思想:点值表示得到插值多项式系数表示
 性能优化
    • 减少乘法次数和计算量
    • 使用extremal postage stamp bases减少通信量
    • Paterson-Stockmeyer算法,减少密文乘法
 隐语label PSI的主要工作
    • 以微软的开源代码功能为核心
    • OPRF采用隐语的实现 
    • 支持的ecc曲线包括:FourQ、Secp256k1、SM2 
    • Label的自动填充 
    • 增加了服务的预处理结果保存功能
    • 可以支持离线和查询(多次)两个阶段

隐语代码功能

spu.pir_setup

image.png

spu.pir_query

image.png

result

image.png

相关文章
|
7月前
|
SQL 安全 数据挖掘
课7-隐语SCQL的架构详细拆解
SCQL是安全协作查询语言,针对多⽅隐私保护的数据分析。它在不泄露数据隐私的情况下,允许互不信任的参与⽅联合分析数据。SCQL采用半诚实安全模型,支持多⽅协作(N大于等于2方),并提供MySQL兼容的SQL接口。关键特性包括列级别授权(CCL)、多种密态协议支持和跨多种数据源接入。CCL是列控制列表,定义数据使用约束。SCQL架构包括SCDB(不参与计算)和SCQLEngine(部署在数据参与⽅),通过流程图和架构图展示其工作原理,适用于医疗研究、联合营销和保险理赔等场景。
|
2月前
|
机器学习/深度学习 人工智能 Kubernetes
技术探索之旅:从基础到进阶的心得体会
本文记录了作者在技术领域的学习和实践过程中积累的经验与感悟。文章涵盖了从基础知识的学习、项目实践,到新技术的探索与应用,最终总结出几点对未来技术发展的思考。希望这些分享能够启发更多的技术爱好者,共同进步。
|
6月前
|
SQL 存储 NoSQL
数据库原理速览:核心知识集萃与复习指南
数据库原理速览:核心知识集萃与复习指南
51 2
|
7月前
|
SQL 安全 API
课8-隐语SCQL的开发实践
SCQL 是一种用于安全联合数据分析的工具,开放API供用户集成。通过SCDBClient可体验其功能,支持开发封装产品或集成到业务。使用流程包括部署系统、项目设置和联合分析。SCQL部署涉及环境准备及SCDB和SCQLEngine启动。示例场景是金融机构Alice联合电商平台Bob进行用户画像分析。SCDB中,项目、身份认证、数据表管理和权限信息管理是关键概念。用户需创建数据库、用户、项目,并设置权限和CCL后,发起联合分析查询。SCQL架构包含SPU,支持P2P模式,可用于聚合查询等操作。SecretNote UI界面的部署和使用,用于演示SCQL的业务场景。
|
7月前
|
机器学习/深度学习 算法 安全
2024.3.20隐语训练营第3讲笔记:详解隐私计算框架及技术要点
隐语架构是一个分层设计,支持不同技术路线,确保高内聚、低耦合,增强开放性。它包括产品层(如SecretPad和SecretNote)、算法层(如PSI和PIR协议)、计算层(RayFed和SPU)、资源层(KUSCIA)和互联互通及跨域管控机制。该架构旨在提供高性能、易用的隐私计算解决方案,支持MPC、TEE、SCQL等,并允许不同背景的研究人员参与。
198 0
|
Cloud Native 架构师 Serverless
Serverless 技术进阶研读班开班啦!全新形式带你学习
0 基础入门,10 天开发 Serverless 企业级应用
81925 12
Serverless 技术进阶研读班开班啦!全新形式带你学习
|
消息中间件 运维 Cloud Native
分布式架构设计与技术分析 | 开发者社区精选文章合集(三十)
系统学习分布式架构设计对于技术人的成长非常关键,对于云原生开发者而言如何设计出符合云原生设计哲学的应用往往离不开分布式系统知识与方法论的运用。如何设计出高弹性、可配置、可分布、高性能、高容错、更安全、更韧性、快交付的原生应用往往是衡量开发者水准的重要参考。
分布式架构设计与技术分析 | 开发者社区精选文章合集(三十)
|
Kubernetes Cloud Native 架构师
如何设计架构图?一文带你了解架构设计的本质 | 开发者社区精选文章合集(二十九)
架构图是什么?为什么要画架构图?如何画?有哪些方法?,架构设计的本质是什么?教你如何设计一张合格的架构图!
如何设计架构图?一文带你了解架构设计的本质 | 开发者社区精选文章合集(二十九)
|
机器学习/深度学习 文字识别 搜索推荐
机器学习基础实践教学开发 | 开发者社区精选文章合集(十九)
当今机器学习正带来一场全新的技术变革,实践应用更是重中之重,零基础入门机器学习,宝藏分享来啦!
机器学习基础实践教学开发 | 开发者社区精选文章合集(十九)
|
前端开发 开发者 JavaScript
开课啦!小程序开发最佳实践系列课程【一期】(1)
《前端基础-JS篇,变量、常量与解构赋值》,帮助您掌握JS中最基本的变量、常量的定义方式,并了解ES6中引入的解构赋值的使用方法。
2015 12
开课啦!小程序开发最佳实践系列课程【一期】(1)