SimplePIR——最快单服务器匿踪查询方案

11.SimplePIR

​全称:One Server for the Price of Two:Simple and Fast Single-Server Private Information Retrieval

期刊:Usenix Security Symposium (USENIX Security)——网络安全领域四大最高级别的国际学术会议之一

一、介绍

        这篇论文旨在实现高效的单服务器隐私信息检索(PIR)方案,以解决在保护用户隐私的同时快速检索数据库的问题。为了实现这一目标,论文提出了两种新的PIR方案:SimplePIR和DoublePIR。这两种方案的实现基于学习与错误假设,并在保持高吞吐量的同时显著降低了客户端的通信成本。SimplePIR实现了每核心10 GB/s的服务器吞吐量,接近内存带宽,但需要客户端下载一个相对较大的“提示”。DoublePIR方案通过递归地使用SimplePIR,以更低的通信成本获取所需的数据库记录。这些方案的突破点在于在保持高吞吐量的同时,显著降低了客户端的通信成本,填补了单服务器PIR方案设计空间中的一些空白。通过这些创新,论文为单服务器PIR方案的设计和实现提供了新的思路和解决方案。

        本文中很有价值的观点总结:

        1.定义了一种新型的匿踪查询对比方式:数据库大小/响应时间/core。时间相同比较支持的数据库的大小。

        2.指出一个很严重的问题:通过长久保持的密钥生成的query是不安全的,与sealPIR类似的匿踪查询存在不安全性。

        3.首个基于LWE问题的匿踪查询。

二、背景知识

1.Learning with errors (LWE)
        是一种基于格的加密技术,它是一种在计算上难以解决的问题。LWE问题的基本形式是:给定一个由n个向量组成的矩阵A和一个向量b,以及一个小的误差向量e,找到一个向量s,使得As+e=b。LWE问题的难度在于,对于给定的A和b,找到s是困难的,因为误差向量e是随机的。LWE问题是一种基础的加密原语,可以用于构建各种加密方案,包括私有信息检索(PIR)方案。在本文中,SimplePIR方案的安全性基于LWE假设,即LWE问题的解决难度足以保证SimplePIR方案的安全性。在文字提及到(𝑛, 𝑞, 𝜒)-LWE,解释一下:𝑛代表向量的维度,𝑞代表整数模数,𝜒代表误差分布。因此,(𝑛, 𝑞, 𝜒)-LWE问题描述了在给定向量维度𝑛、整数模数𝑞和误差分布𝜒的情况下,解决Learning with errors (LWE)问题的难度。这种参数化的LWE问题在密码学中具有重要意义,因为不同的参数取值可以导致不同难度的LWE问题,从而影响基于LWE问题构建的加密方案的安全性。因此,对于给定的𝑛、𝑞和𝜒,(𝑛, 𝑞, 𝜒)-LWE问题的难度可以用来评估基于LWE假设的加密方案的安全性
Secret-key Regev encryption:是一种基于LWE假设的加密方案,由Regev在2005年提出。该方案的安全性基于LWE问题的困难性,即在给定矩阵A和向量b的情况下,找到向量s是困难的,其中b是由A和s的点积加上一个小的误差向量e得到的。Secret-key Regev encryption方案的基本思想是将明文编码为一个向量,并将其与一个随机向量的点积加上一个小的误差向量,然后将其加密。具体来说:

LWE问题如下,已知A和r无法解密获得s。

Regev encryption:基于LWE的加密方式,µ为0,1向量,e<<[q/p],q为密文域,p为明文域。

解密方式为:m =(c-As)÷ ∆,∆=[q/p],若m<∆/2,µ=0,若m>∆/2,µ=1。

三、算法

1.simplePIR

db为数据库,A为共同拥有的随机矩阵,可以结合下图进行查看。

推导:

Round(^d)/∆中e/∆很小可以抵消,仅留下后面的db部分,获得正确的结果。

2.DoublePIR

SimplePIR具有高的服务器端吞吐量,但需要客户端下载和存储一个相对较大的预处理提示,其大小大约为 𝑛√𝑁,其中 𝑛 大约为 210,数据库大小为 𝑁。然后介绍了DoublePIR,这是一种新的PIR方案,它通过递归应用SimplePIR来将提示大小减小到大约 𝑛2,这与数据库大小无关,同时保持服务器端吞吐量高达7.4 GB/s。在实践中,对于一个字节的记录,这个提示大小为16 MB。对于记录非常多的数据库(𝑁 ≫ 𝑛2 ≈ 220),DoublePIR的提示大小比SimplePIR要小得多。与SimplePIR一样,DoublePIR的每个查询的通信成本在数据库大小 𝑁 上是 𝑂 (√𝑁)。

正确性证明:

 

 

按照上述式子推到即可。
三、性能

1.吞吐量:The ratio between the database size and the server time to answer a query—is the speed with which the PIR server can read the database from memory size/time/core GB/s/core

自测结果,

单条数据宽度8byte

数据量

2^12

2^16

2^20

2^24

方案

simplePIR

doublePir

sealPIR

simplePIR

doublePir

sealPIR

simplePIR

doublePir

sealPIR

simplePIR

doublePir

sealPIR

预处理时间/ms

3

146

3

37

121

40

654

792

619

9915

12389

9956

生成query时间/ms

0

57

2

0.8

53

2

2.4

54

2

8.6

50

2

生成reply时间/ms

0

0.2

13

0.04

0.2

39

0.8

1.6

243

7.4

10

2411

解密reply时间/ms

0

0.1

1

0.06

0.1

1

0.3

104

1

1

16.8

1

总计算时间/ms

3

203.3

19

37.9

174.3

82

657.5

951.6

865

9932

12465.8

12370

hint大小/KB

700

131072

2716

131072

10836

131072

43344

131072

query大小/KB

0.1

256

177

2

256

177

10

256

177

42

256

177

reply大小/KB

0.1

256

185

2

256

185

10

256

185

42

256

185

总传输开销

700.2

131584

362

2720

131584

362

10856

131584

362

43428

131584

362

说明:与sealPIR相比,simplePIR性能计算性能更高,但是需要过大的预处理和通信,其优点更在于数据库不变的情况下,反复查询。

simplePir源码: github.com/ahenzinger/simplepir,
sealPir源码:github.com/microsoft/SealPIR

  • 25
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值