笔记内容来自多本书籍、学术资料、白皮书及ChatGPT等工具,经由自己阅读后整理而成。
? 匿踪查询,即隐私信息检索(Private InformationRetrieval,PIR),是安全多方计算中非常实用的一门技术与应用,可以用来保护用户的查询隐私,进而也可以保护用户的查询结果。其目标是保证用户向数据源方提交查询请求时,在查询信息不被感知与泄漏的前提下完成查询。即对于数据源方来说,「只知道有查询到来,但是不知道真正的查询条件、也就不知道对方查了什么」。
目前常见的PIR方案实现有三类,分别是:
基于不经意传输(Oblivious Transfer,OT)的 PIR 实现
基于同态加密的 PIR 实现
一般采用 Paillier 加法半同态加密算法,这里简述下 Paillier 算法的三个重要特点:
- 可以实现两个密文加法计算;
- 可以实现一个密文与一个明文相乘;
- 由于加密时用到随机数,所以相同的明文、相同的密钥,可以产生很多个不同的密文,这些不同的密文解密后都能得到相同的原始明文。
(注:已知查询元素的位置)
基于 keyword 的 PIR 实现
? 以上所述的基于不经意传输的 PIR 与基于同态加密的 PIR 方案,是需要检索用户提前感知被检索数据在数据库中位置(索引号),这块可以通过隐私求交的方式实现。在实际的应用中,查询时一般是不知道其位置信息的,而是根据关键词进行查询,此类方案又称 keyword PIR,可以利用 Paillier 同态加密+拉格朗日插值多项式实现。
? 如果要分析各个方案的性能,那么在计算开销上,由于同态加密计算开销大于 RSA 计算开销,所以基于 OT 的 PIR 方案的计算开销会更有优势;在通信开销上,如果服务端每条明文数据都较长,如数千字节,则基于同态加密的 PIR 方案和基于 keyword 的 PIR 方案通信开销较小。
? 现有的隐私信息检索,可主要分为两大类:信息论的隐私信息检索协议(Information-Theoretic PIR)和计算安全的隐私信息检索协议(Computional PIR),主要的应用场景有:
10月份新开了一个GitHub账号,里面已放了一些密码学,隐私计算电子书资料了,之后会整理一些我做过的、或是我觉得不错的论文复现、代码项目也放上去,欢迎一起交流!Ataraxia-github