CN115529118A - 一种基于全同态加密的隐私集合运算方法及系统 - Google Patents

一种基于全同态加密的隐私集合运算方法及系统 Download PDF

Info

Publication number
CN115529118A
CN115529118A CN202211026207.7A CN202211026207A CN115529118A CN 115529118 A CN115529118 A CN 115529118A CN 202211026207 A CN202211026207 A CN 202211026207A CN 115529118 A CN115529118 A CN 115529118A
Authority
CN
China
Prior art keywords
protocol
psi
sum
card
privacy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211026207.7A
Other languages
English (en)
Inventor
涂彬彬
陈宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University
Original Assignee
Shandong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University filed Critical Shandong University
Priority to CN202211026207.7A priority Critical patent/CN115529118A/zh
Publication of CN115529118A publication Critical patent/CN115529118A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Abstract

本发明涉及密码技术领域,公开了一种基于全同态加密的隐私集合运算方法及系统,响应于隐私集合运算指令,服务器和客户端之间通过协议进行交互计算,得到集合运算结果;其中,协议为基于层级同态加密技术构造。通信复杂度和集合中元素的长度无关,可适用于非平衡场景。

Description

一种基于全同态加密的隐私集合运算方法及系统
技术领域
本发明涉及密码技术领域,特别是涉及一种基于全同态加密的隐私集合运算方法及系统。
背景技术
本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。
隐私集合运算能保证各方输入集合隐私的情况下,完成具体的集合运算操作,可提供“数据可用不可见”的数据流通模式,是目前兼顾数据流通和隐私保护的关键性密码技术,已成为解决当下“数据孤岛”问题的强有力密码工具。
隐私集合求并集(Private Set Union,PSU)是指,参与方各自拥有一组隐私数据,共同计算集合的并集,并且不泄露其他信息。隐私集合求并在实践中应用广泛,例如两家互联网公司可通过分析联合的IP黑名单和联合漏洞数据进行网络风险评估和管理;或者某机构需要调查居民当前购房以及租房需求情况,可在保证房产中介数据隐私的情况下,通过对房产中介的数据进行隐私集合求并运算。
隐私集合求交集的势(Private Set Intersection Cardinality,PSI-card)是指,参与方各自拥有一组隐私数据,共同计算交集元素的个数,并且不泄露其他任何信息。隐私集合求交集的势在实践中应用广泛,例如在社交网络中,两个用户可以在不泄漏自己好友信息的情况下计算共同好友的数量,计算社交关系重合情况;两个公司可以在不泄漏自己用户信息的情况下计算共同用户的数量,计算目标用户关系重合情况等。
隐私集合求交集的和以及势(Private Set Intersection Sum withCardinality,PSI-sum-card)是指,参与方各自拥有一组隐私数据,共同计算交集元素的和,并且不泄露其他任何信息。隐私集合求交集的和以及势存在一种变体叫做带标签的隐私集合求交集的和以及势(Labeled Private Set Intersection Sum with Cardinality,Labeled PSI-sum-card)。Labeled PSI-sum-card是指,参与方各自拥有一组带有标签的隐私数据,共同计算交集元素对应数据的和,并且不泄露其他任何信息。隐私集合求交集的和可在保证交集隐私的情况下,计算交集数据的统计性质,例如可以计算服用某种药物的病人的平均血压,或者居住在某个特定地区的居民的住房拥有率等。
目前PSU的研究较为丰富,但主要应对于平衡场景,即双方输入的集合尺寸相等的情况。然而,大多数实际应用更符合非平衡场景,即发送方的集合尺寸可能比接收方的集合尺寸小很多,例如,发送方(客户端)可能是一个具有有限的电池、计算能力较弱和存储空间较小的移动设备,而接收方(服务器)是一个大型高端计算设备,而且双方之间的带宽可能受限。现有PSU协议应用于非平衡场景并不高效,特别是,他们的通信复杂度至少和大集合尺寸线性相关。因此,构造适用于非平衡场景下的安全高效的PSU协议是该领域的重要发展方向。
目前PSI-card和PSI-sum-card的研究较少,而且主要应对于平衡场景,即双方输入的集合尺寸相等的情况。然而,大多数实际应用主要是非平衡场景,即接收方的集合可能比发送方的集合小很多,例如服务器-客户端(Server-Client)场景,其中接收方(客户端)拥有小集合,是计算和存储较弱的移动设备;发送方(服务器)拥有大集合,是存储量大的高端计算设备,而且双方之间的带宽可能非常有限。现有PSI-card和PSI-sum-card协议应用于非平衡场景并不高效,特别是,他们的通信复杂度至少和大集合线性相关,很难实际应用。因此,构造适用于非平衡场景下的安全高效的PSI-card和PSI-sum-card协议是该领域的重要发展方向。
发明内容
为了解决现有技术的不足,本发明提供了一种基于全同态加密的隐私集合运算方法及系统,通信复杂度和集合中元素的长度无关,可适用于非平衡场景。
第一方面,本发明提供了一种基于全同态加密的隐私集合运算方法;
一种基于全同态加密的隐私集合运算方法,响应于隐私集合运算指令,服务器和客户端之间通过协议进行交互计算,得到集合运算结果;
其中,协议为基于层级同态加密技术构造。
进一步地,若隐私集合运算指令为隐私集合求并集的指令,服务器和客户端之间通过PSU协议进行交互计算,得到集合的并集;
PSU协议采用基于所述层级同态加密技术构造的基础PSU协议,或用布谷鸟哈希、朴素哈希、批量、分窗、分块、Paterson-Stockmeyer算法和模转换技术对基础PSU协议进行优化后,并结合置换矩阵隐私相等测试和不经意传输,的PSU优化协议。
进一步地,所述置换矩阵隐私相等测试基于置换分享和多点不经意伪随机函数构造。
进一步地,所述置换矩阵隐私相等测试基于判定性迪菲赫尔曼假设构造。
进一步地,若隐私集合运算指令为隐私集合求交集的势的指令,服务器和客户端之间通过PSI-card协议进行交互计算,得到交集元素的个数;
PSI-card协议采用基于所述层级同态加密技术构造的基础PSI-card协议,或用布谷鸟哈希、朴素哈希、批量、分窗、分块、Paterson-Stockmeyer算法和模转换技术对基础PSI-card协议进行优化后的PSI-card优化协议。
进一步地,响应于隐私集合求交集的和以及势的指令,服务器和客户端之间通过PSI-sum-card协议进行交互计算,得到交集的势,以及交集元素的和,或者得到交集元素对应数据的和。
进一步地,若服务器和客户端各自拥有一组不带有标签的隐私数据,则所述PSI-sum-card协议采用基于所述层级同态加密技术构造的基础PSI-sum-card协议,或用布谷鸟哈希、朴素哈希、批量、分窗、分块、Paterson-Stockmeyer算法和模转换技术对基础PSI-sum-card协议进行优化后得到的PSI-sum-card优化协议。
进一步地,若服务器和客户端各自拥有一组带有标签的隐私数据,则所述PSI-sum-card协议采用基础Labeled PSI-sum-card协议,或用布谷鸟哈希、朴素哈希、批量、分窗、分块、Paterson-Stockmeyer算法和模转换技术对基础Labeled PSI-sum-card协议进行优化后的Labeled PSI-sum-card优化协议。
进一步地,所述基础PSI-sum-card协议在基础PSI-card协议的基础上,使用非交集元素消除技术,将所有非交集元素转化为0。
第二方面,本发明提供了一种基于全同态加密的隐私集合运算系统;
一种基于全同态加密的隐私集合运算系统,包括服务器和客户端;
所述服务器和客户端响应于隐私集合运算指令,通过协议进行交互计算,得到集合运算结果。
与现有技术相比,本发明的有益效果是:
本发明的一种基于全同态加密的隐私集合运算方法,其通信量与小集合线性相关,与大集合对数相关。
本发明的一种基于全同态加密的隐私集合运算方法,其在通信量与元素长度独立(除OT外)方面:本发明构造的PSU协议、PSI-card和PSI-sum-card协议及其变体,除了OT协议阶段,其他过程的通信复杂度和集合中元素的长度无关;具体而言,双方可以使用相同的抗碰撞哈希函数将各自集合中的元素哈希到小的固定尺寸,然后使用哈希值代替集合元素进行后续的协议计算。
本发明的一种基于全同态加密的隐私集合运算方法,其在离线或在线执行方面:在本发明构造的PSU协议中,接收方的预处理过程可以完全离线完成,不需要发送方参与,进一步提升应用效率;具体而言,接收方可以提前设定发送方的集合尺寸的上界,然后在本地选择参数并进行预处理计算;随后,在线阶段知道发送方的实际集合尺寸后,接收方可以将具体参数发送给发送方,发送方可以填充双方都知道的相同元素,如⊥,完成后续协议。
本发明的一种基于全同态加密的隐私集合运算方法,其在离线或在线执行方面:在本发明构造PSI-card和PSI-sum-card协议中,发送方的预处理过程可以完全离线完成,不需要接收方参与,进一步提升应用效率;具体而言,发送方可以提前设定接收方的集合尺寸的上界,然后在本地选择参数并进行预处理计算。随后,在线阶段知道接收方的实际集合尺寸后,发送方可以将具体参数发送给接收方,接收方可以填充⊥或者其他非集合元素中的符号,然后完成后续协议。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为实施例二所述的基础PSU协议(省略OT)以及相关优化示意图;
图2为实施例二所述的PSU协议构造框架图;
图3为实施例三所述的基础PSI-card协议示意图;
图4为实施例三所述的基础PSI-sum-card协议示意图;
图5为实施例三所述的基础Labeled PSI-sum-card with small set协议示意图;
图6为实施例三所述的基础Labeled PSI-sum-card with large set协议示意图;
图7为实施例三所述的PSI-card优化协议示意图;
图8为实施例三所述的PSI-sum-card优化协议示意图;
图9为实施例三所述的Labeled PSI-sum-card with small set优化协议示意图;
图10为实施例三所述的Labeled PSI-sum-card with large set优化协议示意图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
术语解释:
PSU协议:
参数:发送方拥有集合X,接收方拥有集合Y;
功能:1.发送方输入集合X={x1…xn},接收方输入集合Y={y1,…,xn};
2.给接收方输出X∪T。
置换矩阵隐私相等测试(permuted matrix private equality test,pm-PEQT):
参数:发送方拥有矩阵R′α×m和矩阵置换π=(πc,πr),接收方拥有矩阵Rα×m
功能:1.发送方输入矩阵R′α×m和矩阵置换π=(πc,πr),接收方输入矩阵Rα×m
2.给接收方输出零一矩阵Bα×m,对于使用π=(πc,πr)置换后的矩阵R′α×m和Rα×m,如果rπ(ij)=r′π(ij),则bij=1,否则bij=0。
不经意传输(Oblivious transfer,OT)协议:
参数:发送方拥有
Figure BDA0003815846320000051
接收方拥有b∈{0,1};
功能:1.发送方输入
Figure BDA0003815846320000052
接收方输入b∈{0,1};
2.给接收方输出xb
多点不经意伪随机函数(Multi-point oblivious pseudorandom function,mp-OPRF):
参数:伪随机函数:F;接收方拥有
Figure BDA0003815846320000053
功能:1.接收方输入
Figure BDA0003815846320000054
2.随机选择一个伪随机函数的密钥k给发送方;给接收方发送伪随机函数值{Fk(x1),…,Fk(xn)}。
置换分享(Permute+Share)协议:
参数:发送方拥有向量X={x0,…,xn},接收方拥有置换π。
功能:1.发送方输入向量X={x0,…,xn},接收方输入置换π;
2.选择一组置换分享{sπ(0),…,sπ(n)}给发送方;给接收方发送一组置换分享{s′π(0),…,s′π(n)},其中
Figure BDA0003815846320000055
实施例一
本实施例提供了一种基于全同态加密的隐私集合运算方法,响应于隐私集合运算指令,服务器和客户端之间通过协议进行交互计算,得到集合运算结果。
隐私集合运算指令为隐私集合求并集的指令、隐私集合求交集的势的指令或隐私集合求交集的和以及势的指令。
协议为PSU协议、PSI-card协议或PSI-sum-card协议。PSU协议、PSI-card协议和PSI-sum-card协议均基于层级同态加密技术构造。
若隐私集合运算指令为隐私集合求并集的指令,服务器和客户端之间通过PSU协议进行交互计算,得到集合的并集;
PSU协议采用基础PSU协议,或采用通过布谷鸟哈希、朴素哈希、批量、分窗、分块、Paterson-Stockmeyer算法和模转换技术对基础PSU协议进行优化后,并结合置换矩阵隐私相等测试和不经意传输,得到的PSU优化协议。其中,批量、分窗、分块和模转换为LFHE中常规的优化技术,批量技术来源于2017年发表于Proceedings of the 2017 ACM SIGSACConference on Computer and Communications Security,CCS 2017的论文Fast privateset intersection from homomorphic encryption,分窗技术来源于2018发表于Proceedings of the 2018 ACM SIGSAC Conference on Computer and CommunicationsSecurity,CCS 2018的论文Labeled PSI from fully homomorphic encryption withmalicious security,模转换技术来源于2021发表于CCS’21:2021 ACM SIGSACConference on Computer and Communications Security的论文Labeled PSI fromhomomorphic encryption with reduced computation and communication。
若隐私集合运算指令为隐私集合求交集的势的指令,服务器和客户端之间通过PSI-card协议进行交互计算,得到交集元素的个数;
PSI-card协议采用基础PSI-card协议,或用布谷鸟哈希、朴素哈希、批量、分窗、分块、Paterson-Stockmeyer算法和模转换技术对基础PSI-card协议进行优化后的PSI-card优化协议。
响应于隐私集合求交集的和以及势的指令,服务器和客户端之间通过PSI-sum-card协议进行交互计算,得到交集的势,以及交集元素的和,或者得到交集元素对应数据的和。
若服务器和客户端各自拥有一组不带有标签的隐私数据,则PSI-sum-card协议采用基础PSI-sum-card协议,或用布谷鸟哈希、朴素哈希、批量、分窗、分块、Paterson-Stockmeyer算法和模转换技术对基础PSI-sum-card协议进行优化后得到的PSI-sum-card优化协议。
若服务器和客户端各自拥有一组带有标签的隐私数据,则PSI-sum-card协议采用基础Labeled PSI-sum-card协议,或用布谷鸟哈希、朴素哈希、批量、分窗、分块、Paterson-Stockmeyer算法和模转换技术对基础Labeled PSI-sum-card协议进行优化后的LabeledPSI-sum-card优化协议。
实施例二
本实施例提供了一种基于全同态加密的隐私集合运算方法,响应于隐私集合求并集的指令,服务器和客户端之间通过PSU协议进行交互计算,得到集合的并集。
在PSU协议中,发送方为拥有小集合X={x1,…,xm}的客户端,用S表示;接收方为拥有大集合Y={y1,…,yn}的服务器,用R表示;令符号[n]表示为{1,…,n},令符号[m]表示为{1,2,...,m}。
PSU协议构造思路:首先基于LFHE给出基础PSU协议。该协议有着最优的通信复杂,即与小集合线性相关,但是该协议的同态计算电路深度较深,计算复杂度较高。随后,使用布谷鸟哈希以及LFHE的优化技术对基础PSU协议进行优化,设计半-PSU协议(省略OT)。然后,结合置换矩阵隐私相等测试(pm-PEQT)和不经意传输(OT),给出完整PSU协议的通用构造(即PSU优化协议)。最后,在实例化方面,分别给出pm-PEQT的两种构造:第一种是基于置换分享(Permute+Share)和多点不经意伪随机函数(mp-OPRF)构造;第二种是基于判定性迪菲赫尔曼(decisional Diffie-Hellman,DDH)假设构造;通过pm-PEQT结合现有的高效LFHE和OT的构造,实例化适用于非平衡场景下安全高效的PSU协议。
基于层级同态加密(LFHE)技术构造基础PSU协议,本实施例中,基于LFHE构造基础PSU协议如下:
(1)S生成FHE的公钥pk和私钥sk,并秘密保存私钥;使用pk加密每一个元素:ci=FHE.Enc(pk,xi),i∈[m],并将公钥和密文发送给R;
(2)R选择随机值r=[r1,…,rm],根据自己的集合Y计算多项式
Figure BDA0003815846320000071
其中,x是函数f的自变量,然后根据全同态加密的性质,对密文ci进行同态计算,获得新的密文ci′=FHE.Enc(pk,ri+f(xi)),i∈[m],并将新的密文ci′发送给S;
(3)S可以解密新的密文ci′,获得ri′=ri+f(xi),并将ri′返回给R;
(4)R验证ri′=ri是否成立,如果成立,令bi=0,否则bi=1;
(5)R和S运行不经意传输协议,R输入bi∈{0,1},S输入(⊥,xi);当bi=1时,R获得xi,否则R获得⊥,其中,⊥表示无意义符号,即R获得⊥,是没有意义的。根据不经意传输的功能,R可获得并集;根据算法可知bi=1对应非交集元素,此时R可获得非交集元素xi,bi=0对应交集元素,R不能获得对应的元素,此时R获得没有意义的⊥。
因为第2步中R选择随机值对明文进行随机化,S解密结果ri′不泄漏信息,第3步中S将解密结果返回给R,R可以根据ri和ri′相等与否,判断f(xi)=0是否成立。如果成立,则说明该位置对应的xi属于交集,但是R并不知道xi对应于f(x)=0哪个根,即无法区分xi对应于Y中的哪个元素。此外,如果ri和ri′不相等,f(xi)≠0泄漏xi的信息,但是这里的泄漏并不影响PSU协议的安全性,因为根据PSU协议的功能,最后R也是要获得xi
随后,使用布谷鸟哈希(Cuckoo hash)、朴素哈希(simple hash)、批量(batching)、分窗(windowing)、分块(partitioning)、Paterson-Stockmeyer算法、模转换(modulus switching)等技术对基础PSU进行优化,降低同态运算电路深度,提升计算效率。具体的基础PSU协议(省略OT)和相关优化技术如图1所示,其中,H表示朴素哈希函数,CH表示布谷鸟哈希。
本实施例,基于层级全同态加密(LFHE)方案构造基础PSU协议,然后对基础协议进行优化,最后使用置换矩阵隐私相等测试(pm-PEQT)技术判断置换位置后的元素是否属于交集,并使用不经意传输技术使得接收方获得非交集中的元素。具体框架如图2所示,PSU协议通用构造如下:
(1)[协议建立阶段]S和R协商全同态加密方案、布谷鸟哈希、朴素哈希、pm-PEQT协议和OT协议的参数;
(2)[哈希阶段]S使用布谷鸟哈希将集合X的所有元素哈希到Xc[i],i∈[mc];R使用朴素哈希将集合Y的所有元素哈希到
Figure BDA0003815846320000081
其中,Xc[i]是哈希表,即S使用布谷鸟函数将X哈希到哈希表Xc[i]中,包含了mc个位置,每个位置只有一个值;
Figure BDA0003815846320000082
是3个朴素哈希函数将Y哈希到哈希表,可以看做一个矩阵,总共B行和mc列,每一列对应相同的哈希值;
(3)[R预计算Y]
(301)R将
Figure BDA0003815846320000083
划分成α个子矩阵Y1,…,Yα,每个子矩阵有B′=B/α行和mc列。第i个子矩阵表示为:Yi=[yi,1,…,yi,B′]T,i∈[α],其中,yi,k,k∈[B′]表示Yi的第k行;其中,α是根据协议自主设置的,属于分块技术,是用于平衡通信量和计算量的优化值,即,将矩阵分割成α块;(302)对于第i个子矩阵的第j行y′i,j=[yi,j,1,…,yi,j,B′]T,i∈[α],j∈[mc],(为了与yi,k区别开,yi,k表示第i个子矩阵的第k行,y′i,j表示第i个子矩阵的第j列),其中yi,j,k表示y′i,j中第k个元素;R根据y′i,j的所有元素,计算多项式
Figure BDA0003815846320000084
Figure BDA0003815846320000085
可以获得B’次的多项式,其中,y是函数fi,j的自变量,ai,j,k表示多项式fi,j(y)的系数。R选择随机矩阵
Figure BDA0003815846320000086
令系数矩阵A的第i子矩阵的第j列为:Ai,j=[ai,j,0,…,ai,j,B′]T,i∈[α],j∈[mc],其中ai,j,0=ri,j+a′i,j,0
(303)R使用全同态加密的批量优化技术,即单指令多数据(Single InstructionMultiple Data,SIMD)技术对系数矩阵A进行批量处理,将A的每一行看做长为mc的向量,且每个元素属于群
Figure BDA0003815846320000087
R将每个向量编码为β=mc/n个明文多项式,其中第i子矩阵Ai的每一行编码为β个多项式,表示为A′i,j,i∈[α],j∈[β];
(4)[S加密X]
(401)S将
Figure BDA0003815846320000091
看做长为mc的向量,且每个元素属于群
Figure BDA0003815846320000092
然后使用SIMD技术批量编码为β=mc/n个明文多项式,表示为X′1,…,X′β
(402)对于每个批量处理的明文多项式X′,S计算对应的幂数,其中第i.2j个幂数为
Figure BDA0003815846320000093
Figure BDA00038158463200000913
(403)S基于全同态加密方案使用自己生成的公钥加密每一个幂数,获得β组密文Cj,j∈[β];S发送所有的密文给R;
(5)[R同态计算阶段]
(501)对于接收到的每组密文,R同态计算出所有幂数的密文,获得Cj=[cj,0,…,cj,B′],j∈[β],其中cj.k,0≤k≤B′表示为同态计算
Figure BDA0003815846320000094
的密文,其中,
Figure BDA0003815846320000095
表示第j组明文X′的k次;
(502)R同态计算点积:同态计算C′i,j=CjA′i,j,i∈[α],j∈[β],并对每个密文进行模转换,然后发送模转换后的密文给S;
(6)[S解密阶段]S解密所有接收的密文,并将结果解码连接成一个矩阵
Figure BDA0003815846320000096
(7)[pm-PEQT阶段]R和S运行pm-PEQT协议:R输入矩阵
Figure BDA0003815846320000097
S输入矩阵
Figure BDA0003815846320000098
和置换π=(πc,πr);R获得零一矩阵Ba×m,其中bij=1表示rπ(ij)=r′π(ij),否则rπ(ij)≠r′π(ij),i∈[α],j∈[mc];bij表示矩阵Bα×m中的第i行第j列的元素,rπ(ij),r′π(ij)分别表示矩阵
Figure BDA0003815846320000099
Figure BDA00038158463200000910
中的元素(使用置换π置换后的元素);其中,rπ(ij)=r′π(ij),表示
Figure BDA00038158463200000911
Figure BDA00038158463200000912
中对应位置是相同的,某列存在相同值时,这说明该列对应的元素属于交集元素;如果某列不存在任何相同值,这说明该列对应的元素不属于交集,即R需要将这个元素通过不经意传输协议(OT)获得该元素;(8)[输出阶段]R检查零一矩阵Bα×m,对于第j列的所有元素,如果全部bij=0,i∈[α],今bj=1,否则今bj=0(即对于矩阵Bα×m的整合,如果这个矩阵的某一列全为0,这说明该列对应的位置的元素全部不相同,所以令该列bj为1,表示该列对应的元素属于非交集元素,然后R使用OT选择该列对应的元素);然后R和S运行OT协议:对于每一列j∈[mc],R输入bj,S输入(⊥,XCc(j)]);如果bj=1,R获得Xcc(j)],否则获得⊥;最后R输出并集Y∪{Xcc(j)]},对于所有的j∈[mc],其中,πc(j)表示对列j进行πc置换,其中πc是[mc]上的随机置换,可以将j置换为[mc]中的任意值。
本实施例使用布谷鸟哈希的填充方法:发送方使用布谷鸟哈希将集合X中|X|个元素哈希到mc个位置,对于双方约定在哈希表中填充⊥。这样,填充的⊥可以看做交集元素,不会影响后续并集运算。根据上述PSU协议的通用构造,可基于任意IND-CPA安全且具有电路隐私的LFHE、半诚实安全的pm-PEQT和OT协议构造半诚实安全PSU协议。
PSU协议的实例化:根据PSU协议的通用构造框架,本实施例实例化底层组件包括LFHE、pm-PEQT和OT,可构造具体的PSU协议。目前满足条件的LFHE方案和OT协议较多,但是缺少pm-PEQT的构造。
本实施例给出pm-PEQT的两种构造:第一种是基于置换分享(Permute+Share)和多点不经意伪随机函数(mp-OPRF)构造;第二种是基于DDH假设构造。具体构造如下:
基于Permute+Share和mp-OPRF构造pm-PEQT:S拥有矩阵R′α×m和矩阵置换π=(πc,πr),R拥有矩阵Rα×m
(1)S和R运行Permute+Share协议:S输入列置换πc,R输入矩阵Rα×m的每一列,根据Permute+Share协议的功能,R获得
Figure BDA0003815846320000101
S获得
Figure BDA0003815846320000102
其中
Figure BDA0003815846320000103
i∈[α],j∈[m];其中,sπ(ij)
Figure BDA0003815846320000104
均表示输入值。
Figure BDA0003815846320000105
表示异或操作,对于比特串r1=10101,r2=11001;
Figure BDA0003815846320000106
如果r1=r2,则
Figure BDA0003815846320000107
是全0串。
(2)S和R继续运行Permute+Share协议:S输入行置换πr,R输入矩阵
Figure BDA0003815846320000108
的每一行,根据Permute+Share协议的功能,R获得
Figure BDA0003815846320000109
S获得
Figure BDA00038158463200001010
其中
Figure BDA00038158463200001011
i∈[α],j∈[m];
(3)R获得置换矩阵分享
Figure BDA00038158463200001012
S计算置换矩阵分享
Figure BDA00038158463200001013
其中
Figure BDA00038158463200001014
其中,r(ij)表示矩阵Rα×m的第i行第j列的元素,rπ(ij)表示使用π置换矩阵Rα×m后的置换矩阵的第i行第j列元素;R输入Sπ和S运行mp-OPRF协议,R获得每个元素的伪随机函数值Fk(sπ(ij)),S获得伪随机函数的密钥k,其中,F表示伪随机函数,k表示伪随机函数的密钥;(4)S使用置换π=(πc,πr)置换矩阵R′α×m并和S′π的对应元素进行异或计算
Figure BDA00038158463200001015
其中,r′π(ij)表示使用置换π=(πc,πr)对矩阵R′α×m进行置换后的矩阵的元素,s′π(ij)表示使用置换π=(πc,πr)对S′π进行置换后的矩阵的元素,然后使用密钥k计算各元素的伪随机函数值
Figure BDA0003815846320000111
并将所有的伪随机函数值发送给R;
(5)R验证
Figure BDA0003815846320000112
是否成立,如果成立,则令bij=1否则bij=0,输出零一矩阵Bα×m,其中,零一矩阵Ba×m的第i行第j列元素表示为bij
基于DDH假设构造pm-PEQT:S拥有矩阵R′α×m和矩阵置换π=(πc,πr),R拥有矩阵Rα×m。令
Figure BDA0003815846320000113
是一个阶为q的循环群,群
Figure BDA0003815846320000114
上的DDH问题是困难的,令哈希函数H输出群
Figure BDA0003815846320000115
上随机元素,模拟随机谕言机。
(1)R选择随机值
Figure BDA0003815846320000116
计算并发送vij=H(rij)a,i∈[α],j∈[m]给S,其中,
Figure BDA0003815846320000117
表示在群
Figure BDA0003815846320000118
中随机选择随机值a,
Figure BDA0003815846320000119
是标准的数学符号,表示集合{0,1,2,...,q-1};H是哈希函数,H(rij)a表示对矩阵Rα×m中的元素rij进行哈希运算,并求a次幂;rij表示矩阵Rα×m的第i行第j列元素;
(2)S选择随机值
Figure BDA00038158463200001110
计算v′ij=H(r′ij)b和v″ij=(vij)b,i∈[α],j∈[m],并分别使用置换π=(πc,πr)对v′ij和v″ij进行置换,获得v′π(ij)=π(v′ij),v″π(ij)=π(v″ij);将v′π(ij)和v″π(ij)发送给R;其中,r′ij表示矩阵R′α×m的第i行第j列元素;
(3)R验证v″π(ij)=(v′π(ij))a是否成立,如果成立,则令bij=1否则bij=0,i∈[α],j∈[m],输出零一矩阵Bα×m
结合现有的LFHE方案、OT协议和pm-PEQT的构造,可获得适用于非平衡场景的安全高效的PSU协议。
离线/在线执行:在本发明构造的PSU协议中,接收方的预处理过程可以完全离线完成,不需要发送方参与,进一步提升应用效率。具体而言,接收方可以提前设定发送方的集合尺寸的上界,然后在本地选择参数并进行预处理计算。随后,在线阶段知道发送方的实际集合尺寸后,接收方可以将具体参数发送给发送方,发送方可以填充双方都知道的相同元素,如⊥,完成后续协议。
通信量与元素长度独立(除OT外):本发明构造的PSU协议,除了OT协议阶段,其他过程的通信复杂度和集合中元素的长度无关。具体而言,双方可以使用相同的抗碰撞哈希函数将各自集合中的元素哈希到小的固定尺寸,然后使用哈希值代替集合元素进行后续的PSU计算,其中发送方需要保存自己的集合元素和哈希值之间的映射关系,并在最后的OT阶段,输入原始集合元素代替对应的哈希值,使得接收方可以获得非交集的原始元素。
PSU协议的实现和对比:本实施例使用FHE开源库——SEAL库中的实现的BFV全同态加密方案作为底层LFHE的实例化,使用LibOTe开源库中实现的OT协议作为底层OT协议的实例化;本是私立分别实现了基于Permute+Share和mp-OPRF构造的pm-PEQT和基于DDH假设构造的pm-PEQT;根据PSU协议的通用构造框架分别实现了两个PSU协议:
PSUPS:PSU协议基于LFHE、pm-PEQT和OT构造,其中pm-PEQT基于Permute+Share和mp-OPRF设计;
PSUDDH:PSU协议基于LFHE、pm-PEQT和OT构造,其中pm-PEQT基于DDH假设构造;
实现环境:本实施例使用Intel酷睿处理器,3.00GHz和8GB RAM的测试环境执行所有测试实验,并使用Linux tc命令模拟网络延迟和带宽。一种局域网环境:10Gbps吞吐量,0.2ms的往返时间(round-trip time,RTT)。两种广域网环境分别为100Mbps和10Mbps带宽,以及每个都是80ms的RTT。我们设置计算安全参数为128比特和统计安全参数为40比特。
本实施例首先测试PSUDDH和PSUPS的通信效率和计算效率,其中小集合尺寸分别为210,211M,大集合尺寸分别为218,220,222,10Gbps带宽环境,线程数分别为1和4。具体测试数据见表1。根据实验数据显示,本实施例的PSU在非平衡场景下非常高效,对于大集合为百万量级的数据,小集合较小(比如数千个)时,PSUDDH的通信量只有4.57MB,在线计算时间不需要10秒。
表1、通信量(MB)和运行时间(s)的测试结果
Figure BDA0003815846320000121
Figure BDA0003815846320000131
随后,本实施例在相同测试环境下在对比PSUDDH、PSUPS、以及当前最快的PSU协议(PSU1、PSU*1和PSU*2,PSU1和PSU*1来源于2022年发表于Usenix Security2022上的论文Shuffle-based private set union:Faster and more secure,PSU*2来源于2019年发表于ASIACRYPT2019上的论文Scalable private set union from symmetric-keytechniques,其中PSU*表示非标准安全的PSU协议。测试环境为:小集合尺寸分别为210,211,大集合尺寸分别为218,219,带宽环境分别为10Gbps(0.2ms RTT),100Mbps和10Mbps(80msRTT),线程数分别为1和4。具体对比数据见表2。根据对比数据显示,在集合尺寸为(210,219),10Gbps单线程的情况下,PSUDDH比PSU的通信效率提高了300倍,计算效率提升了30倍。
表2、通信量(MB)和运行时间(s)对比
Figure BDA0003815846320000132
实施例三
本实施例提供了一种基于全同态加密的隐私集合运算方法,响应于隐私集合求交集的势的指令,服务器和客户端之间通过PSI-card协议进行交互计算,得到交集元素的个数;响应于隐私集合求交集的和以及势的指令,服务器和客户端之间通过PSI-sum-card协议进行交互计算,得到交集的势,以及交集元素的和,或者得到交集元素对应数据的和。
本实施例基于层级同态加密方案(leveled fully homomorphic encryption,LFHE)给出安全高效的PSI-card协议。随后,提出非交集元素消除技术,将非交集元素变成对于0的加密且交集元素加密不变,然后结合LFHE技术,设计安全高效的PSI-sum-card协议。本实施例的PSI-card和PSI-sum-card协议的通信复杂度和小集合线性相关与大集合对数相关。因此,本发明提出的PSI-card和PSI-sum-card协议高效适用于非平衡应用场景,即服务器-客户端(Server-Client)场景,其中接收方(客户端)拥有小集合;发送方(服务器)拥有大集合,而且双方之间的带宽非常有限。
为了方便,本实施例使用S表示拥有大集合X={x1,…,xn}的发送方(服务器),大集合元素对应的数据集合E={e1,…,en},R表示拥有小集合Y={y1,…,ym}的接收方(客户端),小集合元素对应的数据集合D={d1,…,dm},令[n]={1,…,n},[m]={1,…,m};Ra×m表示α行m列的矩阵,πc表示矩阵的列置换;加黑的小写字母表示向量,如x。
PSI-sum-card协议构造思路:首先基于LFHE,使用乘法随机化和随机置换方法构造基础PSI-card协议。随后,提出非交集元素消除技术,双方通过额外的一轮交互,构造基础PSI-sum-card协议。具体而言:双方运行基础PSI-card协议后,接收方R获得交集元素置换后的位置,并不知道具体的交集元素。随后接收方R对交集元素对应位置加密1,对非交集元素对应位置加密0,然后发送方使用LFHE的密文同态乘法,获得交集元素的密文,其他位置对应0的密文,并使用LFHE的密文同态加法,计算交集元素和的密文发送给接收方,接收方可以使用私钥解密,获得交集元素的和。
基于上述思想构造的基础PSI-card和PSI-sum-card协议有着最优的通信复杂,即和小集合线性相关,但是协议的同态电路深度较深,计算复杂度较高。最后,本实施例对PSI-sum-card协议进行优化,获得安全高效的PSI-sum-card协议(包括PSI-card协议)。
基础PSI-card协议:基于LFHE技术,使用乘法随机化方法构造基础PSI-card协议如下:
(1)客户端R生成LFHE的公私钥对(pk,sk),秘密保存私钥sk;然后,使用公钥加密Y={y1,…,ym}的每一个元素yi,获得每个元素的密文:ci=FHE.Enc(pk,yi),i∈[m]。然后,R将公钥pk和所有的密文ci,i∈[m]发送给服务器S;
(2)服务器S对大集合X编码为多项式f,并使用乘法随机化方法进行随机化,基于LFHE技术对密文ci,i∈[m]进行密态计算。具体如下:首先根据集合X={x1,…,xn}计算多项式f,使得
Figure BDA0003815846320000141
然后选择随机值r=[r1,…,rm],使用乘法随机化方法对f进行随机化,随后,对密文ci,i∈[m]进行密态计算rif(ci),获得密文ci′=FHE.Enc(pk,rif(yi)),i∈[m],随后S选择[m]上的随机置换π对m个密文ci′进行置换获得c′π(i),将置换后的密文c′π(i)发送给客户端R;
(3)R接收到所有置换后的密文c′π(i),可以使用解密私钥sk解密置换后的密文,获得解密结果r′i=rπ(i)f(yπ(i)),其中如果r′i=0,表示位置置换后的元素属于交集,否则,位置置换后的元素不属于交集。因此,R可计算解密结果中0的数量,获得交集中元素的个数,即为交集的势|X∩Y|。
因为第1步中使用了LFHE加密保证了客户端R的集合Y元素的安全,第2步中服务器S选择随机值对多项式进行乘法随机化处理,同时选择随机置换对密文进行置换,保证了集合X中元素的安全性。在第3步中R可以解密所有置换后的密文,因为不等于0的位置被S选择的随机数进行了随机化,不会泄漏信息,等于0的位置对应交集元素,但是S选择随机置换可保证R不知道交集元素的信息。基础PSI-card协议如图3所示。
基础PSI-sum-card协议:在基础PSI-card协议的基础上,使用非交集元素消除技术,将所有非交集元素转化为0。如此,可以基于LFHE的同态计算技术,计算所有交集元素和的密文,最后客户端R可以使用解密私钥sk解密密文,获得交集元素的和。具体协议的前3步如同基础PSI-card协议,后续步骤描述如下:
(4)客户端R使用LFHE的公钥pk,对r′i=0的位置加密bi=1,对r′i≠0的位置加密bi=0(即,如果r′i=0,则令符号bi=1,然后再对bi加密;如果r′i≠0,则令符号bi=0,然后再对bi加密),即
Figure BDA0003815846320000151
R将密文
Figure BDA0003815846320000152
发送给服务器S;
(5)S接收到密文
Figure BDA0003815846320000153
后,对步骤(1)中的ci=FHE.Enc(pk,yi),i∈[m]使用相同的随机置换π进行置换,获得置换后的密文cπ(i)。然后,S基于LFHE乘法同态的性质,在密态下计算对应位置密文的乘积
Figure BDA0003815846320000154
随后,对计算后的密文
Figure BDA0003815846320000155
使用加法同态计算交集元素和的密文
Figure BDA0003815846320000156
并将csum发送给R;
(6)R接收到密文csum后,使用私钥sk解密密文,可获得交集元素的和
Figure BDA0003815846320000157
因为第4步中R通过r′i=0知道哪些位置为交集元素,所以可使用全同态加密LFHE计算1的密文,其他位置计算0的密文;LFHE的安全性保证S无法获得其他信息;第5步中S可以对每个元素对应的密文进行相同的置换,保证位置的对应,然后使用乘法同态可计算交集元素对应位置为交集元素本身的加密,而其他非交集元素对应位置为0的加密,实现了非交集元素消除。最后S基于LFHE的加法同态的性质,进行密态的求和运算,可计算所有交集元素和的密文。第6步R可以解密密文,获得交集元素的和sum。基础PSI-sum-card协议如图4所示。
基础PSI-sum-card协议计算的是集合元素的和,但是对于带有标签的集合运算,即双方对于交集元素的标签(数据)进行求和的运算,无法直接使用PSI-sum-card协议获得。因此,本实施例设计基础Labeled PSI-sum-card协议,可以实现对于交集元素的标签(数据)进行求和运算。然而,在大集合和小集合(集合元素个数比较,元素个数大于设定值的集合是大集合,元素个数小于设定值的集合是小集合)中每个元素(即使元素相同)可能对应不同的标签数据。比如:大集合x={x1,…,xn}对应的标签数据集合E={e1,…,en},小集合Y={y1,…,ym}对应的标签数据集合D={d1,…,dm},其中存在交集元素xi=yj,但对应的标签数据可能不同ei≠dj
基础Labeled PSI-sum-card协议包括关于小集合标签的隐私集合求交集和与势协议和关于大集合标签的隐私集合求交集和与势协议。
本实施例首先考虑关于小集合标签的隐私集合求交集和与势协议(Labeled PSI-sum-card with small set),最终计算的是交集元素对应小集合标签的数据和,即关于D={d1,…,dm}中交集元素对应标签数据和。具体协议如下:
基础Labeled PSI-sum-card with small set协议的前3步与基础PSI-card协议相同,后续过程如下:
(4)客户端R使用LFHE的公钥pk,对r′i=0的位置加密bi=1,对r′i≠0的位置加密bi=0,即
Figure BDA0003815846320000161
此外,R使用LFHE的公钥pk,对每个元素对应的标签数据加密:c″i=FHE.Enc(pk,di),i∈[m],其中元素yi对应于标签数据di;然后R将
Figure BDA0003815846320000162
和c″i发送给服务器S;
(5)S接收到密文
Figure BDA0003815846320000163
和c″i后,对c″i使用相同的随机置换π进行置换获得置换后的密文c″π(i)=π(c″i);然后,在密态下计算对应位置密文的乘积
Figure BDA0003815846320000164
随后,对密文
Figure BDA0003815846320000165
使用加法同态计算交集元素对应标签数据和的密文:
Figure BDA0003815846320000166
Figure BDA0003815846320000167
并将密文csum发送给R;
(6)R接收到密文csum后,使用私钥sk解密密文,可获得所有交集元素对应标签数据的求和
Figure BDA0003815846320000171
基础Labeled PSI-sum-card with small set协议与基础PSI-sum-card协议相比,在第(4)步中,客户端需要按照对应顺序加密小集合元素对应标签数据D={d1,…,dm},生成标签数据密文发送给服务器,服务器可以执行非交集元素(对应标签数据)消除技术,并求交集元素对应标签数据的和。基础Labeled PSI-sum-card with small set协议如图5所示。
基础Labeled PSI-sum-card with small set协议只能对小集合元素对应的标签数据进行求和,无法对大集合元素对应标签数据求和。因为客户端没有大集合元素对应的标签数据E={e1,…,en},所以无法加密标签数据发送给服务器,后续服务器也无法执行非交集元素消除过程,无法计算大集合元素对应的标签数据和。
针对上述问题,本实施例使用以下技术解决。首先计算多项式g,使得对所有的xi∈X满足g(xi)=ei,具体可根据n个点(xi,ei),i∈[n]使用拉格朗日插值公式计算获得:
Figure BDA0003815846320000172
Figure BDA0003815846320000173
其中
Figure BDA0003815846320000174
依旧使用乘法随机化方法,计算多项式h(x)=g(x)+rf(x),其中
Figure BDA0003815846320000175
因此,如果yj∈X∩Y,则存在xj∈X使得yj=xi,即h(yj)=g(xi)+rf(xi)=g(xi)+0=g(xi)=ei,如果
Figure BDA0003815846320000176
是一个随机值。然后,服务器在进行全同态计算过程中,可以分别计算rf(yj)的密文和h(yj)的密文,其中rf(yj)的密文可以置换后传输给客户端解密,用于判断哪些位置为交集,并在对应交集的位置对1加密,另外位置对0加密,发送给服务器后可用于消除非交集元素对应的标签数据。
根据上述思路,本实施例构造关于大集合标签的隐私集合求交集和与势协议(Labeled PSI-sum-card with large set),该协议计算的是交集元素对应大集合标签的数据和,即关于E={e1,…,en}中交集元素对应标签数据和。
具体协议前三步类似基础PSI-card协议,只是在第(2)步中服务器S基于X={x1,…,xn}和E={e1,…,en}计算多项式h(x)=g(x)+rf(x),其中h(xi)=ei,并根据LFHE的性质,计算密文c″i=FHE.Enc(pk,h(yi)),i∈[m]并保存;后三步类似基础PSI-sum-card协议,只是在第(5)步中使用上述的c″i进行同态计算。详细步骤如下:
(1)客户端R生成LFHE的公私钥对(pk,sk),秘密保存私钥sk;然后,使用公钥加密Y={y1,…,ym}的每一个元素yi,获得每个元素的密文:ci=FHE.Enc(pk,yi),i∈[m]。然后,R将公钥pk和所有的密文ci,i∈[m]发送给服务器S;
(2)服务器S对大集合X编码为多项式f,并使用乘法随机化方法进行随机化,对X和E编码为多项式h,基于LFHE技术对密文ci,i∈[m]分别进行密态计算。具体如下:首先根据集合X={x1,…,xn}计算多项式f,使得
Figure BDA0003815846320000181
然后选择随机值r=[r1,…,rm],使用乘法随机化方法对f进行随机化计算rf,并基于X={x1,…,xn}和E={e1,…,en}计算多项式h(x)=g(x)+rf(x),其中h(xi)=ei。随后,在密文状态下,分别根据多项式f和h对密文ci,i∈[m]进行全同态计算,即密态计算rif(ci)和h(ci)=g(ci)+rif(ci),获得密文c′i=FHE.Enc(pk,rif(yi))和c″i=FHE.Enc(pk,h(yi)),i∈[m];S保存c″i,并选择[m]上的随机置换π对m个密文ci′进行置换获得c′π(i),将置换后的密文c′π(i)发送给客户端R;
(3)R接收到所有置换后的密文c′π(i),可以使用解密私钥sk解密置换后的密文,获得解密结果r′i=rπ(i)f(yπ(i)),其中如果r′i=0,表示位置置换后的元素属于交集,否则,位置置换后的元素不属于交集。因此,R可计算解密结果中0的数量,获得交集中元素的个数,即为交集的势|X∩Y|;
(4)客户端R使用LFHE的公钥pk,对r′i=0的位置加密bi=1,对r′i≠0的位置加密bi=0,即
Figure BDA0003815846320000182
R将密文
Figure BDA0003815846320000183
发送给服务器S;
(5)S接收到密文
Figure BDA0003815846320000184
后,对步骤3)中的密文c″i=FHE.Enc(pk,h(yi)),i∈[m]使用相同的随机置换π进行置换获得置换后的密文c″π(i)=π(c″i)。然后,S基于LFHE乘法同态的性质,在密文状态下计算对应位置密文的乘积
Figure BDA0003815846320000185
随后,对计算后的密文
Figure BDA0003815846320000186
使用加法同态计算交集元素和的密文
Figure BDA0003815846320000187
Figure BDA0003815846320000188
并将csum发送给R;
(6)R接收到密文csum后,使用私钥sk解密密文,可获得交集元素的和
Figure BDA0003815846320000189
Figure BDA00038158463200001810
因为对于任意的yj∈X∩Y,则存在xj∈x使得yj=xi,即h(yj)=g(xi)+rf(xi)=g(xi)+0=g(xi)=ei,所以h(yj),j∈[m]表示了所有交集元素对应的标签数据ei,其中bi对应h(yπ(i)),如果yπ(i)∈X∩Y,则bi=1,其他bi=0。因此,
Figure BDA00038158463200001811
表示所有交集元素对应的标签数据的和。基础Labeled PSI-sum-card with large set协议如图6所示。
PSI-card优化协议:基础PSI-card协议的同态计算电路深度较深,计算复杂度较高。本实施例使用布谷鸟哈希(Cuckoo hash)、朴素哈希(simple hash)、批量(batching)、分窗(windowing)、分块(partitioning)、Paterson-Stockmeyer算法、模转换(modulusswitching)等技术对基础PSI-card进行优化,降低同态运算电路深度,提升计算效率。具体优化协议如下:
(1)服务器S和客户端R首先协商LFHE方案、布谷鸟哈希、朴素哈希的参数;
(2)服务器S对大集合X进行预处理,首先使用朴素哈希将集合X的所有元素哈希到
Figure BDA0003815846320000191
该表包含mc列,每一列可以包含B个元素;
(3)S将
Figure BDA0003815846320000192
的按照行划分为α块,每块的第j列可表示为Xi,j,i∈[α],j∈[mc],每块的一列包含B′=B/α个元素,第i块第j列可表示为[xi,j,1,…,xi,j,B′]T。S对每一块各列的元素,计算多项式
Figure BDA0003815846320000193
S选择随机矩阵
Figure BDA0003815846320000198
,并根据上述每块计算出的多项式系数,对应设置系数矩阵A:令系数矩阵A的第i块第j列为Ai,j=[ri,jai,j,0,…,ri,jai,j,B′]T,i∈[α],j∈[mc];
(4)S使用LFHE方案的单指令多数据(Single Instruction Multiple Data)优化技术对系数矩阵A进行批量处理,A的每一行可看做包含mc个元素的向量,可编码为β=mc/n个明文多项式,其中第i块的每一行表示为A′i,j,i∈[α],j∈[β];
(5)客户端R处理小集合Y,使用布谷鸟哈希将集合Y的所有元素哈希到表Yc[i],i∈[mc],可看做长mc的向量,批量编码为β=mc/n个明文多项式,表示为Y′1,…,Y′β。然后,R计算明文多项式Y′对应的幂数,其中第i·2j个幂数为
Figure BDA0003815846320000194
1≤i≤2l-1,
Figure BDA0003815846320000195
最后,R使用LFHE公钥加密每一个幂数,获得β组密文Cj,j∈[β],并发送给S;
(6)服务器S接收所有的密文后,可在密文状态下,全同态计算密文的多项式值。首先S同态计算0至B′所有幂数的密文,获得Cj=[cj,0,…,cj,B′],j∈[β],其中cj.k,0≤k≤B′表示为同态计算
Figure BDA0003815846320000196
的密文。然后,S同态计算点积的密文C′i,j=CjA′i,j,i∈[α],j∈[β],并对每个密文进行模转换。最后,S选择[mc]上的随机置换π,对密文矩阵进行列变换,并将置换后的密文矩阵发送给R;其中,
Figure BDA0003815846320000197
表示第j组明文Y′的k次方;
(7)R使用解密私钥sk,解密所有接收的密文获得明文矩阵。对于明文矩阵的第i行,如果存在某个位置是0,则令bi=1,否则令bi=0;然后,R计算交集的势
Figure BDA0003815846320000201
本实施例使用布谷鸟哈希的填充方法:接收方使用布谷鸟哈希将集合Y中|Y|个元素哈希到m个位置,对于哈希表中空的位置填充⊥或者其他非集合元素中的符号,这样在计算交集的势与交集元素对应的数据(⊥可对应随机的数据)和时,不会将⊥算在其中。因为填充非集合元素的符号不会出现在交集中,即R第一次解密时对应的解密结果是非零值,不会计算在交集元素个数中。同时R将所有解密结果是非零值的位置,加密为0,在后续求和时,该位置对应的明文乘积也是0,不会影响交集元素对应数据的和。优化后的PSI-card协议如图7所示,其中H表示朴素哈希函数,CH表示布谷鸟哈希,π表示[m]上的置换,作用于密文矩阵是矩阵的列置换。
根据PSI-card协议的高效优化,本实施例对PSI-sum-card协议,Labeled PSI-sum-card with small set协议,以及Labeled PSI-sum-card with large set协议进行优化,降低同态运算电路深度,提升计算效率。
Labeled PSI-sum-card优化协议包括Labeled PSI-sum-card with small set优化协议和Labeled PSI-sum-card with large set优化协议。
PSI-sum-card优化协议的前三步完全使用PSI-card优化协议,后续步骤和基础PSI-sum-card协议相同。具体如图8所示。
关于小集合标签的隐私集合求交集和与势的优化协议(Labeled PSI-sum-cardwith small set优化协议)的前三步完全使用PSI-card优化协议,后续步骤和基础LabeledPSI-sum-card with small set协议相同。具体如图9所示。
关于大集合标签的隐私集合求交集和与势的优化协议(Labeled PSI-sum-cardwith large set优化协议)和基础Labeled PSI-sum-card with small set协议相比,需要按照PSI-card优化协议中同态计算多项式rif(yi)的密文的方式,同态计算多项式h(yi)=g(yi)+rif(yi)的密文,但在计算PSI-card,以及后续元素消除和求交集对应数据和的部分有着较大区别。具体优化协议如下:
(1)服务器S和客户端R首先协商LFHE方案、布谷鸟哈希、朴素哈希的参数;
(2)服务器S对大集合X和对应标签集合E进行预处理,首先使用朴素哈希将集合X的所有元素哈希到
Figure BDA0003815846320000202
该表包含mc列,每一列可以包含B个元素,标签集合E对应填充到
Figure BDA0003815846320000203
(3)S选择随机矩阵
Figure BDA0003815846320000211
然后,S将
Figure BDA0003815846320000212
的分别按照行划分为α块,每块的第j列可表示为Xi,j,Ei,j,i∈[α],j∈[mc],每块的一列包含B′=B/α个元素,第i块第j列可表示为[xi,j,1,…,xi,j,B′]T和[ei,j,1,…,ei,j,B′]T。S对Xi,j每一块各列的元素,计算多项式
Figure BDA0003815846320000213
ai,j,k表示多项式fi,j(x)的系数;对于Xi,j,Ei,j每一块各列的元素,计算多项式gi,j(x),使得gi,j(xi,j,k)=ei,j,k,0≤k≤B′;然后计算hij(x)=gi,j(x)+rijfij(x)=bi,j,0+bi,j,1x+…+bi,j,B′-1xB′-1+bi,j,B′xB′。S根据上述每块计算出的多项式系数,对应设置系数矩阵Af和Ah:令系数矩阵Af的第i块第j列为Af i,j=[ri,jai,j,0,…,ri,jai,j,B′]T,i∈[α],j∈[mc];令系数矩阵Ah的第i块第j列为Ah i,j=[bi,j,0,…,bi,j,B′]T,i∈[α],j∈[mc];
(4)S使用LFHE方案的单指令多数据优化技术对系数矩阵Af和Ah进行批量处理,Af和Ah的每一行为mc的向量,可编码为β=mc/n个明文多项式,其中第i块的每一行表示为
Figure BDA0003815846320000214
Figure BDA0003815846320000215
i∈[α],j∈[β];
(5)客户端R处理小集合Y,使用布谷鸟哈希将集合Y的所有元素哈希到表Yc[i],i∈[mc],可看做长mc的向量,批量编码为β=mc/n个明文多项式,表示为Y′1,…,Y′β。然后,R计算明文多项式Y′对应的幂数,其中第i·2j个幂数为
Figure BDA0003815846320000216
1≤i≤2l-1,
Figure BDA0003815846320000217
l表示分窗技术参数,平衡计算量和通信量的参数,可以自己调节设置。最后,R使用LFHE公钥加密每一个幂数,获得β组密文Cj,j∈[β],并发送给S;
(6)服务器S接收所有的密文后,可在密文状态下,全同态计算密文的多项式值。首先S同态计算0至B′所有幂数的密文,获得Cj=[cj,0,…,cj,B′],j∈[β],其中cj.k,0≤k≤B′表示为同态计算
Figure BDA0003815846320000218
的密文。然后S同态计算点积的密文
Figure BDA0003815846320000219
i∈[α],j∈[β],并对每个密文进行模转换。最后,S选择[mc]上的随机置换π,对密文矩阵
Figure BDA00038158463200002110
Figure BDA00038158463200002111
进行列变换,并将置换后的密文矩阵
Figure BDA00038158463200002112
发送给R,自己保存密文矩阵
Figure BDA00038158463200002113
其中,
Figure BDA00038158463200002114
表示使用多项式f对应的系数在密态下对密文进行同态计算,
Figure BDA00038158463200002115
表示f(yj)的密文;
Figure BDA00038158463200002116
表示使用多项式h进行密态的同态计算;
(7)R使用解密私钥sk,解密置换后的密文矩阵
Figure BDA0003815846320000221
获得明文矩阵。对于所有明文矩阵的位置i∈[α],j∈[mc],对解密结果为0的位置,令bij=1,否则令bij=0;然后,R计算交集的势
Figure BDA0003815846320000222
(8)R使用LFHE的公钥pk,加密bij,即
Figure BDA0003815846320000223
i∈[α],j∈[mc]。R将
Figure BDA0003815846320000224
发送给服务器S;
(9)S接收到密文
Figure BDA0003815846320000225
后,结合步骤(4)中的置换密文矩阵
Figure BDA0003815846320000226
基于LFHE全同态运算性质,在密文状态下计算对应位置密文的乘积,
Figure BDA0003815846320000227
Figure BDA0003815846320000228
其中,步骤(1)计算了α×mc个多项式hijx,i∈α,j∈[mc],hi,πj表示使用π对hij(x)进行列置换;总共获得α×mc个密文。随后,对计算后的所有密文
Figure BDA0003815846320000229
使用加法同态计算交集对应数据和
Figure BDA00038158463200002210
并将csum发送给R;
(10)R接收到密文csum后,使用私钥sk解密密文,可获得交集元素的和
Figure BDA00038158463200002211
Figure BDA00038158463200002212
Labeled PSI-sum-card with large set优化协议采用与PSI-card优化协议相同的布谷鸟哈希填充方法,多项式f和h计算类似基础Labeled PSI-sum-card with largeset,但是密文的全同态计算类似PSI-card优化协议。S计算出两个密文矩阵
Figure BDA00038158463200002213
Figure BDA00038158463200002214
使用相同列置换,并且
Figure BDA00038158463200002215
发送给R,可由R解密判断哪些列对应交集元素位置,
Figure BDA00038158463200002216
置换后本地保存,对应了大集合标签数据的密文。S在接收到R的密文
Figure BDA00038158463200002217
(该密文对应交集元素位置是加密1,其他位置加密0)后,计算密文乘法,对于非交集元素的位置变成对于0的密文,对于交集元素的位置对应大集合标签数据的密文。然后对所有的密文进行密文加法,计算出关于大集合交集元素对应标签数据的和。具体如图10所示。
求交集对应数据的平均值:R知道交集对应数据的和以及交集的势(元素个数),可以计算平均值:sum/|X∩Y|;
离线/在线执行:在本发明构造PSI-card和PSI-sum-card协议中,发送方的预处理过程可以完全离线完成,不需要接收方参与,进一步提升应用效率。具体而言,发送方可以提前设定接收方的集合尺寸的上界,然后在本地选择参数并进行预处理计算。随后,在线阶段知道接收方的实际集合尺寸后,发送方可以将具体参数发送给接收方,接收方可以填充⊥或者其他非集合元素中的符号,然后完成后续协议。
协议通信量与元素长度独立:本发明构造PSI-card和PSI-sum-card协议及其变体的通信复杂度和集合中元素的长度无关。具体而言,双方可以使用相同的抗碰撞哈希函数将各自集合中的元素哈希到小的固定尺寸,然后使用哈希值进行后续的协议计算。
实施例四
本实施例提供了一种基于全同态加密的隐私集合运算系统;
一种基于全同态加密的隐私集合运算系统,包括服务器和客户端;
所述服务器和客户端响应于隐私集合运算指令,通过协议进行交互计算,得到集合运算结果。
各个组成部分的详细流程在实施例一已经介绍。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种基于全同态加密的隐私集合运算方法,其特征是,响应于隐私集合运算指令,服务器和客户端之间通过协议进行交互计算,得到集合运算结果;
其中,协议为基于层级同态加密技术构造。
2.如权利要求1所述的一种基于全同态加密的隐私集合运算方法,其特征是,若隐私集合运算指令为隐私集合求并集的指令,服务器和客户端之间通过PSU协议进行交互计算,得到集合的并集;
PSU协议采用基于所述层级同态加密技术构造的基础PSU协议,或用布谷鸟哈希、朴素哈希、批量、分窗、分块、Paterson-Stockmeyer算法和模转换技术对基础PSU协议进行优化后,并结合置换矩阵隐私相等测试和不经意传输,的PSU优化协议。
3.如权利要求2所述的一种基于全同态加密的隐私集合运算方法,其特征是,所述置换矩阵隐私相等测试基于置换分享和多点不经意伪随机函数构造。
4.如权利要求2所述的一种基于全同态加密的隐私集合运算方法,其特征是,所述置换矩阵隐私相等测试基于判定性迪菲赫尔曼假设构造。
5.如权利要求1所述的一种基于全同态加密的隐私集合运算方法,其特征是,若隐私集合运算指令为隐私集合求交集的势的指令,服务器和客户端之间通过PSI-card协议进行交互计算,得到交集元素的个数;
PSI-card协议采用基于所述层级同态加密技术构造的基础PSI-card协议,或用布谷鸟哈希、朴素哈希、批量、分窗、分块、Paterson-Stockmeyer算法和模转换技术对基础PSI-card协议进行优化后的PSI-card优化协议。
6.如权利要求1所述的一种基于全同态加密的隐私集合运算方法,其特征是,响应于隐私集合求交集的和以及势的指令,服务器和客户端之间通过PSI-sum-card协议进行交互计算,得到交集的势,以及交集元素的和,或者得到交集元素对应数据的和。
7.如权利要求6所述的一种基于全同态加密的隐私集合运算方法,其特征是,若服务器和客户端各自拥有一组不带有标签的隐私数据,则所述PSI-sum-card协议采用基于所述层级同态加密技术构造的基础PSI-sum-card协议,或用布谷鸟哈希、朴素哈希、批量、分窗、分块、Paterson-Stockmeyer算法和模转换技术对基础PSI-sum-card协议进行优化后得到的PSI-sum-card优化协议。
8.如权利要求7所述的一种基于全同态加密的隐私集合运算方法,其特征是,若服务器和客户端各自拥有一组带有标签的隐私数据,则所述PSI-sum-card协议采用基础LabeledPSI-sum-card协议,或用布谷鸟哈希、朴素哈希、批量、分窗、分块、Paterson-Stockmeyer算法和模转换技术对基础Labeled PSI-sum-card协议进行优化后的Labeled PSI-sum-card优化协议。
9.如权利要求8所述的一种基于全同态加密的隐私集合运算方法,其特征是,所述基础PSI-sum-card协议在基础PSI-card协议的基础上,使用非交集元素消除技术,将所有非交集元素转化为0。
10.一种基于全同态加密的隐私集合运算系统,其特征是,包括服务器和客户端;
所述服务器和客户端响应于隐私集合运算指令,通过协议进行交互计算,得到集合运算结果。
CN202211026207.7A 2022-08-25 2022-08-25 一种基于全同态加密的隐私集合运算方法及系统 Pending CN115529118A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211026207.7A CN115529118A (zh) 2022-08-25 2022-08-25 一种基于全同态加密的隐私集合运算方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211026207.7A CN115529118A (zh) 2022-08-25 2022-08-25 一种基于全同态加密的隐私集合运算方法及系统

Publications (1)

Publication Number Publication Date
CN115529118A true CN115529118A (zh) 2022-12-27

Family

ID=84697449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211026207.7A Pending CN115529118A (zh) 2022-08-25 2022-08-25 一种基于全同态加密的隐私集合运算方法及系统

Country Status (1)

Country Link
CN (1) CN115529118A (zh)

Similar Documents

Publication Publication Date Title
US9736128B2 (en) System and method for a practical, secure and verifiable cloud computing for mobile systems
CN111510281B (zh) 一种同态加密方法及装置
Halevi et al. Secure computation on the web: Computing without simultaneous interaction
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
CN107196926B (zh) 一种云外包隐私集合比较方法与装置
CN108388808B (zh) 基于希尔加密与动态dna编码的图像加密方法
US10511581B2 (en) Parallelizable encryption using keyless random permutations and authentication using same
Pansotra et al. Cloud security algorithms
Iyer et al. A novel idea on multimedia encryption using hybrid crypto approach
KR102520502B1 (ko) 기하 대수학을 이용한 강화된 데이터-중심 암호화 시스템을 위한 방법 및 시스템
JP2004336794A (ja) 暗号システム内でユーザ定義idに基づく公開鍵を発生する方法と機器
Kumar et al. Image cryptography with matrix array symmetric key using chaos based approach
Olumide et al. A hybrid encryption model for secure cloud computing
Li et al. Cryptographic algorithms for privacy-preserving online applications.
Kuppuswamy et al. A hybrid encryption system for communication and financial transactions using RSA and a novel symmetric key algorithm
Saeed et al. Improved cloud storage security of using three layers cryptography algorithms
HS et al. Comparative study and performance analysis of encryption in RSA, ECC and Goldwasser-Micali cryptosystems
CN104601323B (zh) 基于bdd解决社会主义百万富翁问题的方法
Biçer et al. Highly Efficient and Reusable Private Function Evaluation with Linear Complexity.
CN108768923A (zh) 一种基于量子可逆逻辑线路的加密算法的聊天实时加密方法
Wu et al. New identity based proxy re-encryption scheme from lattices
CN115529118A (zh) 一种基于全同态加密的隐私集合运算方法及系统
Murugan An efficient algorithm on quantum computing with quantum key distribution for secure communication
Nalwaya et al. A cryptographic approach based on integrating running key in feedback mode of elgamal system
CN106973061A (zh) 一种基于可逆逻辑电路的aes的外发文件加密方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination