PIRANA: Faster Multi-query PIR via Constant-weight Codes(论文解析)

news2025/1/11 22:50:42

一、介绍

匿踪查询:一个客户从服务器查询数据,并且服务器无法知晓查询内容。注意这里是保护查询安全,并不保护服务器数据安全。

主要贡献:

        1.设计了一款更高速度的匿踪查询方案。

        2.设计一款支持批量查询的匿踪查询方案。

        3.匿踪方案可以拓展并支持labelPSI。

        4.全面的实验评估和分析。

二、背景知识

1.Homomorphic encryption(同态解密)

本文中使用的为FHE加密算法,详细的原理可以参考LWE,这里有几个原理需要知晓:

1)解密X ← SIMDEnc(pk, x). 一个向量:X = [x1, ..., xN ]会被加密到一个密文中X。

2)解密X ← SIMDDec(sk, ex). 

3)Z ← SIMDAdd(X, Y).加法同态。

4)Z ← SIMDMul(X, Y).乘法同态。

5)X' ← SIMDRotate(X, c). 密文内部旋转,比如原本X解密结果为[1,2,3,4,5],若c=2,X'解密结果为[3,4,5,1,2]。

这种加密方式可以实现一次密文乘获得该密文中所有位置密文对应明文是否相等的等值判断。

2.Constant-weight code and CwPIR(定权重编码)

所有数据编码成固定形式的码值,比如:

3.Batch code(批量编码)

理解为一种分桶技术,B=1.5L,每个桶执行一次查询,最终能恢复L个数据,可以小于L。

三、技术方案

单条查询——小数据量

1.预处理

将数据库拆分成N*t的矩阵,N为多项式模数即4096或8192。

2.query生成

首先确定想要查询的行号和列号,比如N+2的位置即2行2列,首先对生成N行全零数据,但是第2行数据为2的定全码:

将这些数据进行加密,并发送给数据方,

数据方根据获得的Q进行计算W,即图中第一步,这个图解释一下:

  • 先看右下角的d_1~d_t,是将数据进行切分,切分成N·t的数据矩阵。
  • 看图右上角,数据方本地通过定编码计算y,比如y_2=[0,0,0,0,0....,1,1],然后计算q_m-1和q_m的乘积,计作W_2,以此类推计算剩下内容。
  • 使用W乘以对应的D,获得数据密文结果U。然后让所有U相加即可。

3.解密

查询方获取密文解密即可。

单条查询——大数据量

假设每条数据大于256bit,刚才图中的d的每个蓝色位置,不能存放一条完整数据。

简单的做法:将每条数据切分,也就是创建多个数据矩阵,不够的用空填充,然后进行上门的逻辑多次,可以获得多个密文结果,然后解密之后数据拼接即可。

这种方式会发现通信开销过大,这里我们可以获得多个V,但是其中有大量的0,这些其实是空间浪费,如何填充进去呢,我们可以向后旋转一位,然后相加。

多关键词查询:

上文中我们提到过Batch code(批量编码)的分桶技术,这里数据方首先将自身数据进行分桶,将一个数据集分桶成m个,然后基于每个桶进行匿踪查询,将获得一个结果,我们根据Batch code技术可以很简单的获得想要查询的任意数据。

四、总结

本文介绍了一款匿踪查询方式,其思路结合了编码技术(与sealPir相似),同态旋转技术(与vectorPir相似),该论文对于多关键词查询提供了一个思路,但是对于超大数据库场景还是不能很好的支持,在现实的工业场景中还是需要进一步考虑亿级数据库不可数据预处理的问题。

参考
《PIRANA: Faster Multi-query PIR via Constant-weight Codes》icon-default.png?t=N7T8https://eprint.iacr.org/2022/1401.pdf哔哩哔哩icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Zw4m1e7dm/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=a6ba350c9fafb216edd3eb26c8efbf55

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

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

相关文章

分享一款Type C接口USB转2路485模块【带完整原理图】

大家好,我是『芯知识学堂』的SingleYork,今天给大家分享一款很实用的工具–基于Type C接口的USB转2路485模块。 这款模块主芯片采用南京沁恒的CH342F这款芯片,芯片特性如下: 该系列芯片有QFN24和ESSOP10 这2种封装,…

快速申请IP地址SSL证书指南

在当今数字化时代,网络安全已成为每个互联网用户和企业的首要关注点。为了保护在线数据传输的安全和隐私,使用SSL证书对网站进行加密变得至关重要。 IP地址SSL证书是一种用于专门保护IP地址的SSL证书。与域名SSL证书不同,IP地址SSL证书可以直…

TensorRT学习(二)TensorRT使用教程(Python版)

本文适合快速了解TensorRT使用的整体流程,具体细节还是建议参考TensorRT的官方文档。 加速原理: 加速原理比较复杂,它将会根据显卡来优化算子,以起到加速作用(如下图所示)。简单的来说,就是类似于你出一个公式1+1+1,而你的显卡支持乘法,直接给你把这个公式优化成了1*…

免费可视化工具如何提升智慧物流管理效率

在现代智慧物流中,免费可视化工具正扮演着越来越重要的角色。这些工具通过数据的可视化展示,使物流管理更加高效、透明和智能化。免费可视化工具可以将复杂的物流数据转换为直观的图表和图形,帮助管理者实时监控和分析物流运作情况&#xff0…

文件销毁是一件非常重要的事情分享一下我是如何安全、环保地处理

如何安全有效地销毁文件:一份详尽指南 在信息爆炸的时代,文件的生成、存储与处理已成为日常生活和工作中不可或缺的一部分。然而,随着数据量的激增,如何妥善管理并最终安全销毁不再需要的文件,成为了一个日益重要的议…

sql拉链表

1、定义:维护历史状态以及最新数据的一种表 2、使用场景 1、有一些表的数据量很大,比如一张用户表,大约1亿条记录,50个字段,这种表 2.表中的部分字段会被update更新操作,如用户联系方式,产品的…

图文识别0难度上手~基于飞浆对pdf简易ocr并转txt

前言 本篇pdf适用windows对视觉识别0基础的的纯小白用户。大佬请绕道~~ 注意: 本项目pdf的ocr对于表格、画图文字,水印等干扰没做任何处理,因此希望各位使用该功能的pdf尽量不要含有这些干扰项,以免影响翻译效果。 流程 1.构建…

vue2项目的打包以及部署

打包 当我们写好vue2的项目后,可以通过npm build来对项目进行打包 npm build 打包完成后我们可以看到在当面目录下生成了dis目录,src下的文件都会被打包进这个目录里,当然打包后的文件我们不能直接在浏览器打开,需要进行部署 部署 1.新建一个…

Ubuntu开通5005端口 记录

Ubuntu版本:20.04 使用systemctl status firewalld查看防火墙状态,报错Unit firewalld.service could not be found 报错的原因是没有安装firewall,安装命令为sudo apt install firewalld,然后进行安装 安装完成后输入systemctl…

大数据可视化实验(八):大数据可视化综合实训

目录 一、实验目的... 1 二、实验环境... 1 三、实验内容... 1 1)Python纵向柱状图实训... 1 2)Python水平柱状图实训... 3 3)Python多数据并列柱状图实训.. 3 4)Python折线图实训... 4 5)Python直方图实训...…

vscode jupyter选择Python环境时找不到我安装的Python

在一些情况下,我们需要自己安装一个Python,在选择内核是可能找不到指定的Python版本, 再次打开内核选择页面就能看到Python环境了 注意先到指定环境下安装依赖包: ./python3 pip install ipykernel notebook jupyter

高考失利咨询复读,银河补习班客服开挂回复

补习班的客服在高考成绩出来后,需要用专业的知识和足够的耐心来回复各种咨询,聊天宝快捷回复软件,帮助客服开挂回复。 ​ 前言 高考成绩出来,几家欢喜几家愁,对于高考失利的学生和家长,找一个靠谱的复读补…

爬虫笔记18——selenium自动加载并存储vip(唯品会)网页数据

爬取唯品会的商品数据信息 整体的流程就是在唯品会首页搜索栏搜索对应的商品,然后跳转到对应商品页面进行数据的爬取、筛选和存储。 其实也有另外一个爬取方案,不用selenium也是可以爬取到相应的数据,通过分析,搜索结果的页面是…

【机器学习】语音转文字 - FunASR 的应用与实践(speech to text)

本文将介绍 FunASR,一个多功能语音识别模型,包括其特点、使用方法以及在实际应用中的表现。我们将通过一个简单的示例来展示如何使用 FunASR 将语音转换为文字,并探讨其在语音识别领域的应用前景。 一、引言 随着人工智能技术的不断发展&am…

如何理解MySql的MVCC机制

MVCC是什么 MySQL的MVCC机制,全称为多版本并发控制(Multi-VersionConcurrency Control),是一种提高数据库并发性能的技术。MVCC的主要目的是在保证数据一致性的同时,提高数据库的并发性能。 它通过为每个读操作创建数…

基于若依(ruoyi-vue)的周报管理系统

喂wangyinlon 填报人页面 审批人 审批不通过,填报人需要重新填写.

【漏洞复现】D-Link NAS 未授权RCE漏洞(CVE-2024-3273)

0x01 产品简介 D-Link 网络存储 (NAS)是中国友讯(D-link)公司的一款统一服务路由器。 0x02 漏洞概述 D-Link NAS nas_sharing.cgi接口存在命令执行漏洞,该漏洞存在于“/cgi-bin/nas_sharing.cgi”脚本中,影响其 HTTP GET 请求处…

Flink实现准确和高效流处理的关键问题

时间相关: Watermark 水位线 水位线是插入到数据流中的一个标记,可以认为是一个特殊的数据。水位线主要的内容是一个时间戳,用来表示当前事件时间的进展。水位线是基于数据的时间戳生成的。水位线的时间戳必须单调递增,以确保任务的事件时间时钟一直向前推进,进展。水位线…

使用Arduino和超声波传感器测量声速

使用Arduino和超声波传感器测量声速 Step 1: 硬件 Arduino Uno单片机超声波传感器(HC-SR04)标尺跳线(母/公)计算器 Step 2: Arduino Uno 微控制器 The Arduino Uno is a credit card size microcontroller board. Arduino Uno是…

信息学奥赛初赛天天练-42-CSP-J2020基础题-变量地址、编译器、逻辑运算、逻辑与运算、逻辑或运算、冒泡排序、递归应用

PDF文档公众号回复关键字:20240702 2020 CSP-J 选择题 单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项) 1.在内存储器中每个存储单元都被赋予一个唯一的序号,称为( &#xff0…