CN117171162A - 基于无碰撞哈希映射的隐匿查询方法、装置及存储介质 - Google Patents
基于无碰撞哈希映射的隐匿查询方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117171162A CN117171162A CN202310973758.2A CN202310973758A CN117171162A CN 117171162 A CN117171162 A CN 117171162A CN 202310973758 A CN202310973758 A CN 202310973758A CN 117171162 A CN117171162 A CN 117171162A
- Authority
- CN
- China
- Prior art keywords
- collision
- hash
- mapping
- cfhm
- party
- 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
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000006870 function Effects 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000003780 insertion Methods 0.000 description 11
- 230000037431 insertion Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 4
- 241000544061 Cuculus canorus Species 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012966 insertion method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于无碰撞哈希映射的隐匿查询方法及装置,该方法的步骤包括:在查询方使用无碰撞哈希映射CFHM将查询元素映射到哈希表中,并将CFHM传输给被查询方,无碰撞哈希映射CFHM为使得任意第一集合到第二集合具有唯一性和无碰撞性的哈希映射;在被查询方根据接收到的无碰撞哈希映射CFHM,将被查询元素映射到哈希表中;被查询方接收查询方发送的加密后查询内容,基于CFHM映射计算插值多项式的值并返回给查询方,查询方进行解密,得到查询结果。本发明能够在查询方元素插入不冲突的同时,确保数据集不会扩张,同时能够在高性能的环境下支持批量查询。
Description
技术领域
本发明涉及隐私查询技术领域,尤其涉及一种基于无碰撞哈希映射(Collision-Free Hash Map,CFHM)的隐匿查询方法、装置及存储介质。
背景技术
隐匿查询(Private Information Retrieval,PIR),也称为隐私信息检索,是指查询方隐藏被查询对象关键词或客户ID信息,数据服务方提供匹配的查询结果却无法获知具体对应哪个查询对象。
当前PIR技术的一个主流方案即是基于同态加密的Labeled PSI(Private SetIntersection,隐私集合交集),PSI指的是双方各自持有一组私有数据,可以检查他们有哪些共同数据,而不向对方透露任何其他信息。根据数据集元素是否有对应的Label(标签),隐私求交技术可以分为Labeled PSI和Unlabeled PSI。Unlabeled PSI属于常规的PSI类型,即双方的数据集都只包含一个求交匹配字段Item,基于该字段进行隐私计算求出双方的交集;在Labeled PSI技术中,被查询方的数据集|X|中的元素除了有Item之外还额外对应一个Label(其它一个或多个字段)信息,即对任意xi∈|X|,存在(xi,li),在经过交互之后,查询方在获取X∩Y之外,还需要得到各元素对应的Label,即{(xi,li):xi∈Y},实际上Labeled PSI交互过程就是一个PIR查询。
现有技术中,基于同态加密的Labeled PSI方案,被查询方在进行cuckoo hash(布谷鸟哈希)处理过程(使用cuckoo hash对数据集进行插入)中,由于只有满足一定数量的哈希函数才能保证查询方的元素插入不冲突,为了保证查询方插入元素不冲突,必须选择至少c(默认为3)个哈希函数,会存在以下问题:
1、由于被查询方对所有数据集元素进行插入时针对每个哈希函数都需要插入一次,使用至少c个哈希函数,会导致数据集大小扩充了c倍,进而会导致直接增加后续构造多项式的复杂度,同态加密运算深度也会增加,最终严重影响计算性能,且上述性能损失会随着c哈希函数数量的增加而线性增加。
2、如果想要数据集不被扩张,即查询方在进行元素cuckoo hash插入不冲突,由于每查询一次只插入一个元素一定不会冲突,那么查询方只能进行单条查询。而相较于批量查询,每进行一次单条查询时,被查询方都会对其数据集中的所有元素进行一次同态计算,如果需要查询N条数据,意味着与批量查询相比单条查询方式要增加N倍的同态计算量,这同样会影响计算性能。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、高性能且高效的基于无碰撞哈希映射的隐匿查询方法、装置及存储介质,能够在查询方元素插入不冲突的同时,确保数据集不会扩张,同时能够在高性能的环境下支持批量查询。
为解决上述技术问题,本发明提出的技术方案为:
一种基于无碰撞哈希映射的隐匿查询方法,应用于使用同态加密算法实现隐匿查询,该隐匿查询方法的步骤包括:
在查询方使用无碰撞哈希映射CFHM将查询元素映射到哈希表中,并将具有相同内部参数的所述无碰撞哈希映射CFHM传输给被查询方,所述无碰撞哈希映射CFHM为使得待映射的元素数据集A到映射表数据集B具有唯一性和无碰撞性的哈希映射;
在被查询方根据接收到的所述无碰撞哈希映射CFHM,将被查询元素映射到哈希表中;
被查询方接收查询方发送的加密后查询内容,基于所述无碰撞哈希映射CFHM计算插值多项式的值并返回给查询方,查询方接收到所述插值多项值的值后进行解密,得到查询结果。
进一步的,使用所述无碰撞哈希映射CFHM将元素映射到哈希表中时,通过不断穷举哈希函数,直到找到一个哈希函数以使得对于待映射的元素数据集A和映射表数据集B,且满足|A|<|B|,从待映射的元素数据集A到映射表数据集B的映射具有唯一性和无碰撞性。
进一步的,所述唯一性为对于任意a1∈A,存在唯一b1∈B,满足CFHM(a1)=b1,所述无碰撞性为对于任意a1、a2∈A,CFHM(a1)≠CFHM(a2)。
进一步的,使用所述无碰撞哈希映射CFHM将元素映射到哈希表中的步骤包括:
初始化种子数,获取待映射的元素数据集A={a1,a2,a3,...,an}以及映射表数据集B={b1,b2,b3,...,bm},n为数据集A的元素数量,m为数据集B的哈希桶数量,且满足|A|<|B|,即n<m;
使用安全哈希函数H,当前种子数seed分别对待映射的元素数据集A中的所有元素进行哈希运算得到{Hseed(a1),Hseed(a2),Hseed(a3),...,Hseed(an)}的哈希值集合;
依次对哈希值集合中的每个元素进行模m运算得到最终的映射结果集{Hseed(a1)modm,Hseed(a2)modm,...,Hseed(an)modm};
比较所述映射结果集{Hseed(a1)modm,Hseed(a2)modm,...,Hseed(an)modm}中的每个元素,如果存在任意的a1,a2∈A,使得Hseed(a1)modm=Hseed(a2)modm,更新当前种子数seed,返回重新进行映射结果集计算以及比较;
完成对所有的映射结果集中元素的比较后,如果对任意的a1,a2∈A,都有Hseed(a1)modm≠Hseed(a2)modm,则判定CFHM计算完成,输出最新状态的种子数seed以及最终的映射结果集合{Hseed(a1)modm,Hseed(a2)modm,...,Hseed(an)modm}。
进一步的,在查询方、被查询方映射哈希表前,还包括在查询方计算对应的数据集Y的OPRF取值,在被查询方计算对应的数据集X的OPRF取值。
进一步的,被查询方基于所述无碰撞哈希映射CFHM计算插值多项式的值包括:
采用插值法构造基于Item的多项式以及Label的多项式;
基于加密后查询内容以及所述无碰撞哈希映射CFHM分别计算Item插值多项式的值以及Label插值多项式的值。
进一步的,所述查询方接收到所述插值取值结果后进行解密,得到查询结果包括:解密Item插值多项式计算结果,如果为0,则证明为交集元素,再对Label插值多项式计算结果进行解密,得到Label。
一种基于无碰撞哈希映射的隐匿查询装置,应用于使用同态加密算法实现隐匿查询,该隐匿查询装置包括:
第一映射模块,用于在查询方使用无碰撞哈希映射CFHM将查询元素映射到哈希表中,并将具有相同内部参数的所述无碰撞哈希映射CFHM传输给被查询方,所述无碰撞哈希映射CFHM为使得待映射的元素数据集A到映射表数据集B具有唯一性和无碰撞性;
第二映射模块,用于在被查询方根据接收到的所述无碰撞哈希映射CFHM,将被查询元素映射到哈希表中;
加解密模块,用于被查询方接收查询方发送的加密后查询内容,基于所述无碰撞哈希映射CFHM计算插值多项式的值并返回给查询方,查询方接收到所述插值多项式的值后进行解密,得到查询结果。
一种计算机装置,包括处理器以及存储器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序以执行如上述方法。
一种存储有计算机程序的计算机可读存储介质,所述计算机程序执行时实现如上述方法。
与现有技术相比,本发明的优点在于:本发明通过在传统基于同态加密的隐匿查询方案的基础上,使用无碰撞哈希映射CFHM完成哈希映射,将哈希函数降低为最低要求1个,而无需如传统Cuckoo Hash处理过程中需要选择至少三个哈希函数进行哈希表插入,能够在查询方插入元素不冲突的前提下,使得数据集没有任何扩张,极大的提高隐匿查询的计算性能,同时还能够在数据集不扩张的前提下支持批量查询。
附图说明
图1是传统基于同态加密的隐匿查询方案中哈希表插入原理示意图。
图2是在具体应用实施例中理想哈希表插入原理示意图。
图3是本实施例基于无碰撞哈希映射的隐匿查询方法的实现流程示意图。
图4是本发明具体应用实施例中实现基于无碰撞哈希映射的隐匿查询的完整时序流程示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
基于同态加密的Labeled PSI的核心即是基于同态加密的非平衡PSI(FHEUnbalanced PSI)。传统基于FHE(Fully Homomorphic Encryption,全同态加密)的基本的步骤如下:
步骤1:查询方选择三个哈希函数h1,h2和h3,构造一个大小为m的表,拥有桶BR[0]、...、BR[m-1],对于查询方数据集Y中每一个元素y,将其置于桶BR[hi(y)]中,其中hi为三个哈希函数之一,最终保证每个桶至多有一个元素,即进行Cuckoo Hash算法插入;
步骤2:被查询方也使用同样的哈希函数h1,h2和h3,构造一个大小为m的表,拥有桶BS[0]、...、BS[m-1],对于被查询方数据集X的每一个元素x,将其置于桶BS[h1(x)]、BS[h2(x)]和Bs[h3(x)]中。在执行完步骤1和步骤2后,存在等式:X∩Y=UjBR[j]∩Bs[j]=Uj{yj}∩BS[j],其中yj为BR[j]中唯一的元素,因此问题转化为求每个{yj}∩BS[j];
步骤3:查询方将y通过FHE加密为并发送给被查询方,被查询方在本地计算并将/>发送给查询方;
步骤4:查询方利用FHE私钥对进行解密,如果结果为0,则{yj}∩Bs[j]=yj,否则/>
在上述框架的基础上,引入SIMD(Single Instruction Multiple Data),能够将多个Item加密为一个密文并且并行处理,可以极大提升性能;利用Windowing技术通过查询方将的一幂次发给被查询方,从而可以将被查询方全同态加密算法计算深度由O(logB)降低为O(loglog(B/α))。
不妨设被查询方的数据集为X,查询方的数据集为Y,在上述传统FHE方案中步骤1描述的Cuckoo Hash中使用的哈希函数数量为c(当前默认至少为3),哈希表的大小为m,则根据算法流程被查询方将所有数据插入Hash表中时,根据插入原理,每个桶中的元素个数平均为B=(c×|X|)/m,然后对每个桶中的元素分为α个相同大小子集,那么每个子集的元素个数为设该子集对应的Item插值多项式为H(x),Label的插值多项式为G(x),那么以下等式成立:
在上述方案的协议实现过程中,有两个主要的计算性能消耗,第一个消耗为插值多项式H(x)和G(x)的构造,另一个消耗为计算和/>因此H(x)和G(x)的次幂数对于计算效率影响极大,即/>至关重要。然而由于上述传统方案采取Cuckoo Hash进行Item的插入,/>存在一个“扩张因子”。即哈希函数的个数c,因此对于|X|中的每一个元素x,都将其置于Bs[h1(x)]、Bs[h2(x)]、...、Bs[hc(x)]中,重复存储了c次,因此实际所处理的数据集比理论需要处理的数据集扩张了c倍,极大的降低了协议的整体运行效率。
举例来说,如图1所示,X={x1,x2,x3,x4},Y={x1,x3},m=5,c=3。设Cuckoo Hash的三个哈希函数分别为h1、h2和h3,假设有如下计算结果:
被查询方将x1置于BS(1)、BS(2)、BS(3),将x2置于BS(3)、BS(4)、BS(5),x3置于BS(1)、BS(4)、BS(5),x4置于BS(1)、BS(2)、BS(3);而查询方将x1置于BR(2),将x3置于BR(4),于是有:
BR(2)∩BS(2)={x1}∩(x1,x4)={x1}
BR(4)∩BS(4)={x3}∩(x2,x3)={x3} (3)
从图1中可以看出,数据集被扩充了c=3倍,即:
综上,传统FHE的方案,由于使用至少c个哈希函数,导致数据集大小扩充了c倍,进而会导致直接增加后续构造多项式的复杂度以及同态加密运算深度,最终严重影响计算性能,而如果想要数据集不被扩张,查询方只能进行单条查询。上述问题的关键在于数据集插入扩张的问题,如果能够解决数据集插入扩张,即能够解决上述计算性能与仅能进行单条查询的问题。
考虑到被查询方和查询方对各自集合元素分别填入哈希表的某个桶中时,为保证最终求解结果的正确性,其对插入方法的核心需要是满足等式X∩Y=UjBR[j]∩BS[j],进一步可以拆分为以下两个性质:
性质1:查询方的哈希表BR,需要保证每个桶至多有一个元素;
性质2:如果x∈BR(j),那么x∈BS(j)也一定成立。
传统Cuckoo Hash选择至少三个哈希函数(即c=3)主要是为了满足性质1,因为单一哈希函数出现碰撞的概率是不可忽略的。因此如果存在一个插入方法,能够同时满足性质1和性质2,同时不引发数据集的扩张,那么即可以大大提升计算效率,达到理想中的插入效果,如图2所示。
为实现如图2所示的理想插入效果,本发明通过采用无碰撞哈希映射CFHM实现哈希映射,以代替传统的Cuckoo Hash。CFHM是集合之间的一个映射,输入任意两个集合A和B,只要满足|A|<|B|,那么以下条件必定成立:
1)唯一性:任意a1∈A,存在唯一b1∈B,满足CFHM(a1)=b1;
2)无碰撞性:任意a1、a2∈A,CFHM(a1)≠CFHM(a2)。
则在CFHM下,只要|A|<|B|,那么A和B之间必定存在满足唯一性和无碰撞性的映射。CFHM的核心即是对任意满足条件的集合A和B,其都满足唯一性和无碰撞性。
本发明通过在传统基于同态加密的隐匿查询方案的基础上,使用无碰撞哈希映射CFHM完成哈希映射,将哈希函数降低为最低要求1个,而无需如传统Cuckoo Hash处理过程中需要选择至少三个哈希函数导致降低计算性能以及只能进行单条查询等问题。本发明通过使用无碰撞哈希映射CFHM完成哈希映射实现隐匿查询,能够在查询方插入元素不冲突的前提下,使得数据集没有任何扩张,极大的提高隐匿查询的计算性能,同时还能够在数据集不扩张的前提下支持批量查询。
如图3所示,本实施例基于无碰撞哈希映射的隐匿查询方法,应用于使用同态加密算法实现隐匿查询,该隐匿查询方法的步骤包括:
S01.在查询方使用无碰撞哈希映射CFHM将查询元素映射到哈希表中,并将具有相同内部参数的无碰撞哈希映射CFHM传输给被查询方,无碰撞哈希映射CFHM为使得任意待映射的元素数据集A到映射表数据集B具有唯一性和无碰撞性的哈希映射,待映射的元素数据集A即为查询方的查询元素集合,映射表数据集B即为指定的需要映射的哈希桶号的集合;
S02.在被查询方根据接收到的无碰撞哈希映射CFHM,将被查询元素映射到哈希表中;
S03.被查询方接收查询方发送的加密后查询内容,基于无碰撞哈希映射CFHM计算插值多项式的值并返回给查询方,查询方接收到插值多项式的值后进行解密,得到查询结果。
上述唯一性即为性质1:对于任意a1∈A,存在唯一b1∈B,满足CFHM(a1)=b1,无碰撞性即为性质2:对于任意a1、a2∈A,CFHM(1)≠CFHM(a2)。
为满足性质2(无碰撞性),即“如果x∈BR(j),那么x∈BS(j)也一定成立”,那么被查询方(Sender)和查询方(Receiver)必须使用同一CFHM。CFHM存在内部参数,且依赖于输入的两集合。为保证性质2的成立以及确保最后结果正确,本实施例中查询方在本地运行CFHM完成查询元素映射后,需要将具有相同内部参数的CFHM传输给被查询方,以保证相同元素映射到同一桶中。
根据CFHM的定义,为保证其对任意满足条件的集合A和B,其都满足唯一性和无碰撞性,那么其实现过程需要加入内部参数,实现一个非确定性的过程,以适应不同的输入。因此为实现CFHM,本实施例具体通过不断穷举哈希函数,直到找到一个哈希函数以使得对于待映射的元素数据集A和映射表数据集B,且满足|A|<|B|,从待映射的元素数据集A到映射表数据集B的映射具有唯一性和无碰撞性,以通过使用无碰撞哈希映射CFHM将查询元素映射到哈希表。
在具体应用实施例中,如表1所示,使用无碰撞哈希映射CFHM将元素映射到哈希表中(CFHM的具体实现}的具体步骤为:
步骤一:准备输入参数,初始化seed种子数为0,获取待哈希映射的元素数据集A={a1,a2,a3,...,an}(查询方的查询元素集合)、映射表数据集B={b1,b2,b3,...,bm}(指定的需要映射的哈希桶号的集合),n为数据集A的元素数量,m为B数据集指定的哈希桶数量。例如:需要将A集合映射到1024个大小的哈希桶中时,则B={0,1,2,...,1022,1023}),并且要求|A|<|B|,即n<m。
步骤二:使用安全哈希函数H(如SHA-256,Blake2b等)、当前的种子数seed,分别对待哈希映射的元素数据集A中的所有元素进行哈希运算得到{Hseed(a1),Hseed(a2),Hseed(a3),...,Hseed(an)}的哈希值集合。然后依次对哈希值集合中的每个元素进行模m运算得到最终的映射结果集{Hseed(a1)modm,Hseed(a2)modm,...,Hseed(an)modm};
步骤三:比较映射结果集{Hseed(a1)modm,Hseed(a2)modm,...,Hseed(an)modm}中的每个元素,如果存在任意的a1,a2∈A,使得Hseed(a1)modm=Hseed(a2)modm,则更新seed:将seed加1,即seed=seed+1,返回重新进行步骤二、步骤三的运算。
步骤四:步骤三中完成对所有的映射结果集元素进行比较后,对任意的a1,a2∈A,都有Hseed(a1)modm≠Hseed(a2)modm则完成CFHM计算,输出最新状态的seed参数以及{Hseed(a1)modm,Hseed(a2)modm,...,Hseed(an)modm}最终的映射结果集合,CFHM实现结束。
表1:CFHM的具体实现
可以理解的是,上述seed的初始化值以及更新方式均可以根据实际需求采用其他初始化值、更新方式实现。
如图4所示,本实施例中在查询方、被查询方映射哈希表前,还包括在查询方计算对应的数据集Y的OPRF取值,在被查询方计算对应的数据集X的OPRF取值。即即在进行计算之前将集合X和Y元素替代为OPRF计算结果X′和Y′,可以实现对恶意查询方的安全保障。
如图4所示,本实施例中基于无碰撞哈希映映射CFHM计算插值多项式的值具体包括:
采用插值法构造基于Item的多项式以及Label的多项式;
基于加密后查询内容以及CFHM映射分别计算item插值多项式的值以及Label插值多项式的值。
上述查询方接收到插值多项式的值后进行解密,得到查询结果包括:解密Item插值多项式计算结果,如果为0,则证明为交集元素,再对Label插值多项式计算结果进行解密,得到Label。
在具体应用实施例中,Label插值多项式的详细实现流程如下:
从被查询方数据集的特征来看,其数据集分为Item和Label两部分,因此查询步骤总体可分为两步进行,第一步进行Item匹配,第二步根据Item匹配的结果取相应的Label标签数据部分。
Item匹配过程即是基于同态加密的Unbalanced PSI。而对于Label标签部分的处理,采用与Item匹配的相同原理,即多项式插值+同态加密技术,首先被查询方,将其数据集的Item部分看作key、Label部分看作value,如此整个被查询方的数据集可以看成是|X|个(key1,value1)、(key2,value2)、...、(keyN,valueN)点,然后采用拉格朗日插值法使用这些点构造一个多项式使得数据集内的任意keyi满足Q(keyi)=valuei,同样的查询方将y通过FHE加密为并发送给被查询方,被查询方在本地计算/>并将/>发送给查询方;查询方利用FHE私钥对/>进行解密,结合Item匹配结果其对应的/>解密结果即为要查询的Label部分。
上述核心在于两个多项式的构造,结合同态加密技术实现隐匿查询,即被查询方使用其数据集构造两个多项式P(x)、Q(x),使其数据集内类的任意item即keyi满足以下条件,其中valuei即为数据集上的Label部分:
P(keyi)=0 (5)
Q(keyi)=valuei (6)
然后查询方将其要查询的Item进行加密后的发送到被查询方,被查询方案本地计算上述两个多项式将其结果发送给查询方。查询方解密后如果P(y)=0则其对应的Q(y)=value即为要查询的数据,由于在这个过程中采用了同态加密技术,整个过程都不会泄露相关原始信息。
本实施例基于无碰撞哈希映射的隐匿查询装置,应用于使用同态加密算法实现隐匿查询,该隐匿查询装置包括:
第一映射模块,用于在查询方使用无碰撞哈希映射CFHM将查询元素映射到哈希表中,并将具有相同内部参数的无碰撞哈希映射CFHM传输给被查询方,无碰撞哈希映射CFHM为使得待映射的元素数据集A到映射表数据集B具有唯一性和无碰撞性;
第二映射模块,用于在被查询方根据接收到的无碰撞哈希映射CFHM,将被查询元素映射到哈希表中;
加解密模块,用于被查询方接收查询方发送的加密后查询内容,基于无碰撞哈希映射CFHM计算插值多项式的值并返回给查询方,查询方接收到插值多项式的值后进行解密,得到查询结果。
本实施例基于无碰撞哈希映射的隐匿查询装置与上述基于无碰撞哈希映射的隐匿查询方法一一对应,在此不再一一赘述。
本实施例还提供计算机装置,包括处理器以及存储器,存储器用于存储计算机程序,处理器用于执行计算机程序以执行如上述方法。
本实施例还提供存储有计算机程序的计算机可读存储介质,计算机程序执行时实现如上述方法。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
Claims (10)
1.一种基于无碰撞哈希映射的隐匿查询方法,应用于使用同态加密算法实现隐匿查询,其特征在于,该隐匿查询方法的步骤包括:
在查询方使用无碰撞哈希映射CFHM将查询元素映射到哈希表中,并将具有相同内部参数的所述无碰撞哈希映射CFHM传输给被查询方,所述无碰撞哈希映射CFHM为使得待映射的元素数据集A到映射表数据集B具有唯一性和无碰撞性的哈希映射;
在被查询方根据接收到的所述无碰撞哈希映射CFHM,将被查询元素映射到哈希表中;
被查询方接收查询方发送的加密后查询内容,基于所述无碰撞哈希映射CFHM计算插值多项式的值并返回给查询方,查询方接收到所述插值多项值的值后进行解密,得到查询结果。
2.根据权利要求1所述的基于无碰撞哈希映射的隐匿查询方法,其特征在于,使用所述无碰撞哈希映射CFHM将元素映射到哈希表中时,通过不断穷举哈希函数,直到找到一个哈希函数以使得对于待映射的元素数据集A和映射表数据集B,且满足|A|<|B|,从待映射的元素数据集A到映射表数据集B的映射具有唯一性和无碰撞性。
3.根据权利要求2所述的基于无碰撞哈希映射的隐匿查询方法,其特征在于,所述唯一性为对于任意a1∈A,存在唯一b1∈B,满足CFHM(a1)=b1,所述无碰撞性为对于任意a1、a2∈A,CFHM(a1)≠CFHM(a2)。
4.根据权利要求2所述的基于无碰撞哈希映射的隐匿查询方法,其特征在于,使用所述无碰撞哈希映射CFHM将元素映射到哈希表中的步骤包括:
初始化种子数,获取待映射的元素数据集A={a1,a2,a3,...,an}以及映射表数据集B={b1,b2,b3,...,bm},n为数据集A的元素数量,m为数据集B的哈希桶数量,且满足|A|<|B|,即n<m;
使用安全哈希函数H,当前种子数seed分别对待映射的元素数据集A中的所有元素进行哈希运算得到{Hseed(a1),Hseed(a2),Hseed(a3),...,Hseed(an)}的哈希值集合;
依次对哈希值集合中的每个元素进行模m运算得到最终的映射结果集{Hseed(a1)mod m,Hseed(a2)mod m,...,Hseed(an)mod m};
比较所述映射结果集{Hseed(a1)mod m,Hseed(a2)mod m,...,Hseed(an)mod m}中的每个元素,如果存在任意的a1,a2∈A,使得Hseed(a1)mod m=Hseed(a2)mod m,更新当前种子数seed,返回重新进行映射结果集计算以及比较;
完成对所有的映射结果集中元素的比较后,如果对任意的a1,a2∈A,都有Hseed(a1)mod m≠Hseed(a2)mod m,则判定CFHM计算完成,输出最新状态的种子数seed以及最终的映射结果集合{Hseed(a1)mod m,Hseed(a2)mod m,...,Hseed(an)mod m}。
5.根据权利要求1所述的基于无碰撞哈希映射的隐匿查询方法,其特征在于,在查询方、被查询方映射哈希表前,还包括在查询方计算对应的数据集Y的OPRF取值,在被查询方计算对应的数据集X的OPRF取值。
6.根据权利要求1~5中任意一项所述的基于无碰撞哈希映射的隐匿查询方法,其特征在于,被查询方基于所述无碰撞哈希映射CFHM计算插值多项式的值包括:
采用插值法构造基于Item的多项式以及Label的多项式;
基于加密后查询内容以及所述无碰撞哈希映射CFHM分别计算Item插值多项式的值以及Label插值多项式的值。
7.根据权利要求1~5中任意一项所述的基于无碰撞哈希映射的隐匿查询方法,其特征在于,所述查询方接收到所述插值取值结果后进行解密,得到查询结果包括:解密Item插值多项式计算结果,如果为0,则证明为交集元素,再对Label插值多项式计算结果进行解密,得到Label。
8.一种基于无碰撞哈希映射的隐匿查询装置,应用于使用同态加密算法实现隐匿查询,其特征在于,该隐匿查询装置包括:
第一映射模块,用于在查询方使用无碰撞哈希映射CFHM将查询元素映射到哈希表中,并将具有相同内部参数的所述无碰撞哈希映射CFHM传输给被查询方,所述无碰撞哈希映射CFHM为使得待映射的元素数据集A到映射表数据集B具有唯一性和无碰撞性;
第二映射模块,用于在被查询方根据接收到的所述无碰撞哈希映射CFHM,将被查询元素映射到哈希表中;
加解密模块,用于被查询方接收查询方发送的加密后查询内容,基于所述无碰撞哈希映射CFHM计算插值多项式的值并返回给查询方,查询方接收到所述插值多项式的值后进行解密,得到查询结果。
9.一种计算机装置,包括处理器以及存储器,所述存储器用于存储计算机程序,其特征在于,所述处理器用于执行所述计算机程序以执行如权利要求1~7中任意一项所述方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序执行时实现如权利要求1~7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310973758.2A CN117171162A (zh) | 2023-08-03 | 2023-08-03 | 基于无碰撞哈希映射的隐匿查询方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310973758.2A CN117171162A (zh) | 2023-08-03 | 2023-08-03 | 基于无碰撞哈希映射的隐匿查询方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117171162A true CN117171162A (zh) | 2023-12-05 |
Family
ID=88934551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310973758.2A Pending CN117171162A (zh) | 2023-08-03 | 2023-08-03 | 基于无碰撞哈希映射的隐匿查询方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117171162A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283731A1 (en) * | 2015-03-23 | 2016-09-29 | Intel Corporation | Systems, methods, and apparatus to provide private information retrieval |
CN115186145A (zh) * | 2022-09-09 | 2022-10-14 | 华控清交信息科技(北京)有限公司 | 一种隐私关键词查询方法、装置及系统 |
-
2023
- 2023-08-03 CN CN202310973758.2A patent/CN117171162A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160283731A1 (en) * | 2015-03-23 | 2016-09-29 | Intel Corporation | Systems, methods, and apparatus to provide private information retrieval |
CN115186145A (zh) * | 2022-09-09 | 2022-10-14 | 华控清交信息科技(北京)有限公司 | 一种隐私关键词查询方法、装置及系统 |
Non-Patent Citations (3)
Title |
---|
ZHAOZHONG GUO,MEIPENG LI: ""Enhance Labeled PSI with Collision-free Hash Map"", 《2023 9 TH INTERNATIONAL CONFERENCE ON BIG DATA AND INFORMATION ANALYTICS》, 15 February 2024 (2024-02-15), pages 9 - 14 * |
傅智宙;王利明;唐鼎;张曙光;: "基于同态加密的HBase二级密文索引方法研究", 信息网络安全, no. 04, 10 April 2020 (2020-04-10), pages 61 - 70 * |
吴宗大;江芳;陈恩红;徐贯东;: "面向云数据库服务的隐私字符串加密查询方案", 计算机工程与应用, no. 11, 26 June 2017 (2017-06-26), pages 108 - 113 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021208690A1 (zh) | 数据加解密方法、装置、设备及存储介质 | |
Liu et al. | An efficient privacy-preserving outsourced calculation toolkit with multiple keys | |
US10009171B2 (en) | Construction and uses of variable-input-length tweakable ciphers | |
US7054445B2 (en) | Authentication method and schemes for data integrity protection | |
CN110383754B (zh) | 基于椭圆曲线同源的密钥协商协议 | |
US20140233727A1 (en) | Method for secure substring search | |
CN111492615B (zh) | 具有可更新共享矩阵的加密设备 | |
US7813503B2 (en) | Method and system for generation of cryptographic keys for use in cryptographic systems | |
US20210243005A1 (en) | Fully homomorphic encryption method and device and computer readable storage medium | |
CN110719159A (zh) | 抗恶意敌手的多方隐私集合交集方法 | |
US9780948B1 (en) | Generating integers for cryptographic protocols | |
Park | One-time password based on hash chain without shared secret and re-registration | |
CN115051791B (zh) | 一种基于密钥协商的高效三方隐私集合求交方法及系统 | |
CN110602064A (zh) | 一种支持多关键字搜索的基于身份加密方法与系统 | |
Zhu et al. | Efficient privacy-preserving general edit distance and beyond | |
CN115412239A (zh) | 一种基于sm2的具有可重随机性的公钥加解密方法 | |
CN113806795B (zh) | 一种两方隐私集合并集计算方法和装置 | |
Tiwari | Cryptography in blockchain | |
Mainardi et al. | Privacy preserving substring search protocol with polylogarithmic communication cost | |
CN117171162A (zh) | 基于无碰撞哈希映射的隐匿查询方法、装置及存储介质 | |
Guo et al. | Order‐Revealing Encryption Scheme with Comparison Token for Cloud Computing | |
Ma et al. | Improved (pseudo) preimage attacks on reduced-round GOST and Grøstl-256 and studies on several truncation patterns for AES-like compression functions | |
Bao et al. | Quantum multi-collision distinguishers | |
CN112507357A (zh) | 一种基于密钥生成器的多级接口设计方法 | |
CN116956354B (zh) | 数据查询方法、装置、数据源设备、查询方设备及系统 |
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 |