我的隐私计算学习——匿踪查询

笔记内容来自多本书籍、学术资料、白皮书及ChatGPT等工具,经由自己阅读后整理而成。


(一)PIR的介绍

​ 匿踪查询,即隐私信息检索(Private InformationRetrieval,PIR),是安全多方计算中非常实用的一门技术与应用,可以用来保护用户的查询隐私,进而也可以保护用户的查询结果。其目标是保证用户向数据源方提交查询请求时,在查询信息不被感知与泄漏的前提下完成查询。即对于数据源方来说,「只知道有查询到来,但是不知道真正的查询条件、也就不知道对方查了什么」

(二)PIR的方法

目前常见的PIR方案实现有三类,分别是:

  • 基于不经意传输(Oblivious Transfer,OT)的 PIR 实现

    image-20230505113227388

  • 基于同态加密的 PIR 实现

    一般采用 Paillier 加法半同态加密算法,这里简述下 Paillier 算法的三个重要特点:

    1. 可以实现两个密文加法计算;
    2. 可以实现一个密文与一个明文相乘;
    3. 由于加密时用到随机数,所以相同的明文、相同的密钥,可以产生很多个不同的密文,这些不同的密文解密后都能得到相同的原始明文。

    (注:已知查询元素的位置)

    image-20230328194427432

  • 基于 keyword 的 PIR 实现

    ​ 以上所述的基于不经意传输的 PIR 与基于同态加密的 PIR 方案,是需要检索用户提前感知被检索数据在数据库中位置(索引号),这块可以通过隐私求交的方式实现。在实际的应用中,查询时一般是不知道其位置信息的,而是根据关键词进行查询,此类方案又称 keyword PIR,可以利用 Paillier 同态加密+拉格朗日插值多项式实现。

    image-20230328201927788

    如果要分析各个方案的性能,那么在计算开销上,由于同态加密计算开销大于 RSA 计算开销,所以基于 OT 的 PIR 方案的计算开销会更有优势;在通信开销上,如果服务端每条明文数据都较长,如数千字节,则基于同态加密的 PIR 方案和基于 keyword 的 PIR 方案通信开销较小。

(三)PIR应用场景问题

​ 现有的隐私信息检索,可主要分为两大类:信息论的隐私信息检索协议(Information-Theoretic PIR)和计算安全的隐私信息检索协议(Computional PIR),主要的应用场景有:

  1. 病患想通过医疗系统查询其疾病的治疗药物,如果以该疾病名为查询条件,医疗系统将会得知该病人可能患有这样的疾病,从而导致病人的隐私被泄露,通过隐私信息检索可以避免此类泄露问题。
  2. 在域名、专利的申请过程中,用户需要首先向相关数据库提交自己申请的域名或专利信息以查询是否已存在,但又不想让服务提供方知晓自己的申请名称,从而被其抢先注册。
  3. 在证券市场中,某用户想查询某个股票信息,但又不能将自己感兴趣的股票泄露给服务方从而影响股票价格和自己的偏好。

10月份新开了一个GitHub账号,里面已放了一些密码学,隐私计算电子书资料了,之后会整理一些我做过的、或是我觉得不错的论文复现、代码项目也放上去,欢迎一起交流!Ataraxia-github

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/226152.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2012-12-12 下载ndk编译出so和可执行文件,放到android 真机运行,包含源码。

一、下载ndk链接NDK 下载 | Android NDK | Android Developers 二、解压ndk后得到下面的文件,里面包含ndk-build.cmd,这个是用来编译的。 三、Android.mk和C源码。完整源码下载路径https://download.csdn.net/download/qq_37858386/88622702 3.1 A…

MBA-论文说-历年考题参考

论说文∶根据下述材料,写-篇 700 字左右的论说文,题目自拟。 2015 孟子曾引用阳虎的话:"为富,不仁矣;为仁,不富矣,"(《孟子滕文公上》)这段话表明了古人对当时社会上为富…

k8s如何部署seata(分布式事务)?(第一篇)

k8s如何部署seata(分布式事务)? 官方传送门https://seata.io/zh-cn/ 快速入门SEATA Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站…

分布式配置中心SpringCloudConfig

1 简介 在分布式系统中,由于服务数量较多,配置文件分布在不同的微服务项目中,管理不方便。为了方便对配置文件的集中管理,需要使用分布式配置中心组件。在SpringCloud中,提供了SpringCloud Config,它支持将…

网络安全学习之信息泄露

一、背景以及泄露途径 通常我们会对数据进行备份,比如我们在发布网站的时候会对将要替换的版本进行备份。我们在对重要文件进行修改的时候我们也需要进行备份,如果我们对备份或缓存的文件或信息为做好管理,很容易就导致我们的敏感信息泄露。…

《Linux C编程实战》笔记:实现自己的ls命令

关键函数的功能及说明 1.void display_attribute(struct stat buf,char *name) 函数功能:打印文件名为name的文件信息,如 含义分别为:文件的类型和访问权限,文件的链接数,文件的所有者,文件所有者所属的组…

后端项目全局异常处理-使用RuntimeException自定义异常异常分类简单举例

接上篇:后端项目操作数据库-中枢组件Service调用Mapper 自定义异常: 手动抛出异常,为了后续统一捕获,需要异常自定义; 如:当使用抛出异常的方式表示“操作失败”时,为了后续统一捕获&#xff0c…

灯具照明行业MES/开源mes/灯具行业免费MES

一、万界星空科技开源MES系统概述: 万界星空科技免费MES、开源MES、商业开源MES、市面上最好的开源MES、MES源代码、适合二开的开源MES。 1.万界星空开源MES制造执行系统的Java开源版本。 开源mes系统包括系统管理,车间基础数据管理,计划管…

Chapter 7 - 3. Congestion Management in Ethernet Storage Networks以太网存储网络的拥塞管理

Pause Threshold for Long Distance Links长途链路的暂停阈值 This section uses the following basic concepts: 本节使用以下基本概念: Bit Time (BT): It is the time taken to transmit one bit. It is the reciprocal of the bit rate. For example, BT of a 10 GbE po…

PHP中如何处理用户输入中的特殊字符?

在PHP中,处理用户输入中的特殊字符是很重要的安全措施,以防止恶意用户通过输入特殊字符来进行攻击,比如SQL注入、跨站脚本攻击(XSS)等。以下是一些处理用户输入中特殊字符的常见方法: htmlspecialchars函数…

喝葡萄酒时观酒闻香尝味究竟有什么用?

对许多人来说,在品尝葡萄酒时能发现大多数人闻不到的香气和尝不到的味道似乎是一种神奇的能力。其他人则认为这是学究式葡萄酒爱好者过于活跃的想象,或者是保持葡萄酒鉴赏精英声誉的一种方式,但两者都不是。 部分是艺术,部分是科…

目前最火的大模型训练框架 DeepSpeed 详解来了

目前,大模型的发展已经非常火热,关于大模型的训练、微调也是各个公司重点关注方向,但是大模型训练的痛点是模型参数过大,动辄上百亿,如果单靠单个GPU来完成训练基本不可能。所以需要多卡或者分布式训练来完成这项工作。…

解锁RocketMQ秘籍:如何保障消息顺序性?

嗨,小伙伴们!小米在这里啦!今天我们要聊的话题是社招面试中一个经典而又百思不得其解的问题——“RocketMQ如何保证顺序性?”不用担心,小米来给你揭秘RocketMQ的秘密武器,让你轻松过关面试大关!…

MBA-数学题概念和公式

{}公差大于零的等差数列:多个数字组成的数列,两两之间差相等,且后值减前值大于0,如:{-2,0,2,4}为公差数列为2的等差数列.因数是指整数a除以整数b(b≠0) 的商正好是整数而没有余数,10的因数为 2和5圆柱体表面积 2πr 2πrh球体表名…

生产环境_Apache Spark技术大牛的实践:使用DataFrame API计算唯一值数量并展示技术(属性报告)

业务背景 给前端提供算法集成好的数据,对算法处理后的数据进行进一步删选展示 可以使用下面代码运行一下看看结果,听有趣的,我写的代码中计算了不同字段的值的数量,并生成了一个显示字符串来描述这些数据的分布情况然后使用"…

MySQL数据库 DDL

目录 一、DDL 二、操作数据库 三、操作表 四、数据类型 五、表操作案例 六、修改表 七、删除表 一、DDL Data Definition Language,数据定义语言,用来定义数据库对象(数据库,表,字段) 。 二、操作数据库 (1&am…

微信小程序:按钮禁用,避免按钮重复提交

wxml <view class"modal-buttons"><view class"one_btn" bindtap"submit">确认</view><view class"two_btn" bindtap"cancel">取消</view> </view> wxss /* 按钮 */ .modal-buttons…

maven 引入外部jar包

有时依赖的第三方jar不在maven仓库中&#xff0c;为了能按照maven的方式管理jar同时方便成员间协同&#xff0c;可使用如下方式 在pom.xml同级目录下新建lib文件夹&#xff0c;然后将jar放入&#xff0c;然后纳入版本管理在pom.xml中配置依赖&#xff0c;比如 <dependency…

Rxjs 学习笔记 - 简化版

RxJS 提供了一套完整的异步解決方案,让我们在面对各种异步行为(Event, AJAX, Animation 等)都可以使用相同的 API 做开发。 前置知识点 同步(Synchronous)就是整个处理过程顺序执行,当各个过程都执行完毕,并返回结果。是一种线性执行的方式,执行的流程不能跨越。一般用…

Git 使用教程(超级详细)

目录 一&#xff1a;Git二&#xff1a;SVN与Git的的区别三、安装Git四&#xff1a;常规操作五&#xff1a;远程仓库六&#xff1a;创建与合并分支七&#xff1a;bug分支八&#xff1a;多人协作九&#xff1a;git可视化工具 Git Git 是一种分布式版本控制系统&#xff0c;用于…