The Communication Complexity of Threshold Private Set Intersection-2019:解读
记录阅读论文的笔记。
什么是阈值PSI?
Alice和Bob当两者的交集大小不小于
所以阈值PSI会分为两步:
1、检测
2、求交
主要内容:
基于阈值的两方PSI协议(HE)构造,并给出扩展为多方的设想,通信复杂度是亚线性的(sublinear)(集合大小有关)。
摘要#
1、简单介绍了阈值PSI
2、分析了阈值PSI协议的通信复杂度的上下界。
3、两方协议可以扩展到多方
4、阈值PSI应用广泛
5、给出协议的通信复杂度取决于阈值
介绍#
1、阈值PSI的应用
(1)生物特征认证
对于给定指纹与数据库中的指纹进行匹配,不关心具体的交集是什么,也不关心具体的交集大小,只需要得到是/否的答案,表示指纹是否在库中。
(2)隐私拼车
假设两个(或更多)方正在使用拼车应用程序,如果他们的路线有很大的交集,它允许他们共享车辆。然而由于隐私问题,他们不想公开他们的行程。阈值PSI可以解决该问题,各方可以联合执行一个阈值PSI协议,了解路线的交叉点,如果交叉点足够大,共享一辆车,否则,他们就不共享一辆车,也能保证用户的路线隐私。
(3)在线聊天好友发现
聊天软件中对于共同兴趣爱好较多(存在阈值)的两人,会互相推荐。
2、以往的PSI的通信复杂度分析
(1)通信复杂度与最小输入集合大小呈线性
(2)而阈值PSI通信复杂度只取决于阈值大小,而与输入集合大小无关。
3、主要技术
(1)Cardinality Testing
(2)Linear Algebra
(3)Additively Threshold Homomorphic Encryption
(4)Secure Two-Party Computation
(5)Oblivious Linear Function Evaluation
(6)set reconciliation【Set reconciliation with nearly optimal communication complexity】
4、文章框架
(1)先介绍基础知识
(2)再分析文章的通信复杂度
(3)再基于FHE和set reconciliation构造的协议
(4)再介绍不安全的Cardinality Testing
(5)再介绍安全的Cardinality Testing
(6)再给出不安全的两方阈值PSI
(7)再给出安全的两方阈值PSI
(8)最后给出扩展多方阈值PSI的设想方案
基础知识#
Alice将集合
代数基础#
1、多项式
(1)单项式(monomials)
对于多项式
(2)多项式级数(deg(p))
最高次项的幂
(3)首一多项式(monic)
首项系数为1的多项式
(4)多项式的稀疏性(t-sparse)
若多项式
(5)有理多项式(rational polynomial或rational function)
(6)多项式插值
一个级数为
2、矩阵
(1)奇异矩阵(singular)
就是不可逆矩阵,即行列式为0的方阵
(2)汉克尔矩阵(Hankel matrix)
引理#
1、引理1
在后面计算点加噪音时用到。
2、引理2
表明
set reconciliation#
来自【Set reconciliation with nearly optimal communication complexity】
主要思想是:将集合
多项式的级数(deg(pA))为
从上面可以看出,有理函数(rational function)
满足
那如何才能插值呢?
假设已经经过了检测,接下来就是求交了。
首先,两方各自将集合编码为多项式,协商出一组计算点
然后双方经过通信后可以根据
如何求交呢?
以Alice为例,根据
这里存一个问题,如何根据
得到 ?
基于上述思想,我们可以结合安全的两方计算(secure two-party computation)构造一个亚线性的PSI协议:
(1)双方输入多项式的计算点
(2)使用安全两方计算对
(3)两方分别输出
但存在问题是,该协议并不实用或者说不满足高效渐进性(asymptotically efficient)。
如何优化?
我们给出了一种不同的方法,仅使用“minimal secure two-party computation”获得带噪音的点值,进而插值出$p(x),之后求出交集。
具有过程见:
安全的两方计算(Secure Two-Party Computation)#
主要讲的是UC安全模型,即方案的安全性证明方法。
更多的UC安全见:安全性证明
加法同态加密#
不经意的线性计算(Oblivious Linear Function Evaluation)#
主要功能就是receiver只能得到
Cardinality Testing#
Cardinality Testing,可以翻译为集合势检测,主要就是求交前的检测。
集合的势可以从这里多了解一些:
- 集合交集问题的安全计算:解读
- 云环境下集合隐私计算-解读
- 有理数域上两方集合的高效保密计算-2020
以上三篇论文是一个实验室的哟!
对于:
- 判断交集大小是否不小于
,即 - 判断集合不同元素(sets do not differ)的数量是否不大于
即
两种说法是一样的!
如何检测呢?
通常是先将集合
检测的核心思想是:求多项式
多项式的稀疏性:
若多项式
最后结合加法同态加密和隐私线性计算实现检测,通信复杂度为
不安全的#
上面介绍了cardinality testing protocol,这是阈值PSI协议的核心部件,这里提出一个基于多项式稀疏性检测的方式实现cardinality testing protocol,通过检测矩阵的行列式是否为0,判断矩阵是否是奇异矩阵,进而判断两个集合是否相似!
多项式稀疏性检测来自【A local decision test for sparse polynomials】,这是对该技术的直接应用。
安全的#
安全的cardinality testing是指加入了加密运算,下面是理想情况下的cardinality testing协议:
这里的
协议通信量#
1、使用FHE构造的阈值PSI的通信复杂度最多为
将set reconciliation和FHE结合,构造阈值PSI协议。
这里利用了同态性质,即计算
2、使用GC构造的阈值PSI的通信协议为
基于GC+OT+单项函数构成的阈值PSI,实用性不大。
3、我们的协议介于两者之间,比2更优,同时使用加法同态(部分同态)在保证计算复杂度可控内,实现高效通信。
主要内容#
两方阈值PSI#
还是两步走,先检测,再求交。
理想情况下的两方阈值PSI协议为:
检测使用的是
我们采用的方法是,使用带噪音的计算点(evaluation points),从而掩盖了对方信息,这里关键点就是
注意这里插值
正确性证明:
这里依旧存有疑问:如何根据
求 ?
非对称场景下#
上面介绍协议都是假设在对称场景下,即参与方的数据集大小相同,那如果在非对称场景下,两方的数据集大小一致,如何解决?
这里给出的方法是:填充
假设Alice的集合位
这样无疑通信复杂度会增加。
加入“噪音”#
在上面提到,Alice不仅会得到
还能得到 ,这就获取了Bob的额外信息,所以需要加入“噪音”掩盖 ,在协议中体现在 ,下面介绍如何构造 !
该思想来自【An algebraic approach to maliciously secure private set intersection】:
1、输入
sender:编码得到多项式
receiver:编码得到多项式
2、输出
返回给sender:
对于Alice而言,因为
注意这里的,
多方阈值PSI#
这篇论文还是以介绍两方为主,最后给出一个扩展多方的想法。这里以三方为例:
Alice,Bob,张三,数据集分别是
方案中给出的基于阈值的FHE方案是来自【Threshold cryptosystems from threshold fully homomorphic encryption-2018】。
多方也是两步走,先检测,后求交。
检测(Cardinality Testing)#
就是判断
是否大于 。
三方的多项式满足:
需要
这点我不太明白,公共的根肯定是会约去的,怎么会影响呢?
解决的办法就是加入随机值:
这样,Alcie、Bob和张三,协商出一个公钥
1、Bob和张三分别发送加密的
2、Alice使用这
3、最后三方联合解密,做最后判断。
这里留一个疑问:如何判断
是否等于 ,做同态减法,同态除法?
总的来说,检测步骤的通信复杂度为
求交#
具体过程:
1、Alice,Bob,张三输入自己的数据:
2、各自得到
3、以Alice为例,Alice最后插值出
总结#
1、插值是在密文域,所以计算量很大
2、检测和求交中的同态加密方案,可以用同一个,比如TFHE
3、该论文只是给出一个模型、思路,具体实用性不强。
4、后续在下一篇论文介绍改进,增强实用性!
参考#
1、什么是亚线性和超线性?
(1)线性
数学上看:一阶导数不随自变量的变化而变化
例如:
亚线性和超线性都称为非线性
(2)亚线性
数学上看:一阶导数随自变量的增大而减少
例如:
(3)超线性
数学上看:一阶导数随自变量的增大而增大
例如:
2、数学当中的非平凡解和平凡解如何理解?非平凡性呢?
(1)平凡
平凡解就是显而易见的解、没有讨论的必要但是为了结果的完整性仍需要考虑的结果。
通常我们运用数学归纳法解题的时候,会先讨论
比如Ax=0中的零解,即x=0,即为平凡解。
(2)非平凡
我们更关心的是非平凡(nontrivial)解,也就是非零解。
比如求一个数的因子,正负的1和它本身是这个数最显而易见的解,所以这两个因子就是平凡解,其他的是不平凡的。
3、渐进标准
作者:Hang Shao
出处:https://www.cnblogs.com/pam-sh/p/16393100.html
版权:本作品采用「知识共享」许可协议进行许可。
声明:欢迎交流! 原文链接 ,如有问题,可邮件(mir_soh@163.com)咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2020-06-23 linux:搭建 WordPress 个人站点
2020-06-23 linux:lnmp环境