基于无碰撞哈希映射的隐匿查询方法、装置及存储介质与流程

文档序号:36318487发布日期:2023-12-08 12:23阅读:54来源:国知局
基于无碰撞哈希映射的隐匿查询方法与流程

本发明涉及隐私查询,尤其涉及一种基于无碰撞哈希映射(collision-free hash map,cfhm)的隐匿查询方法、装置及存储介质。


背景技术:

1、隐匿查询(private information retrieval,pir),也称为隐私信息检索,是指查询方隐藏被查询对象关键词或客户id信息,数据服务方提供匹配的查询结果却无法获知具体对应哪个查询对象。

2、当前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查询。

3、现有技术中,基于同态加密的labeled psi方案,被查询方在进行cuckoo hash(布谷鸟哈希)处理过程(使用cuckoo hash对数据集进行插入)中,由于只有满足一定数量的哈希函数才能保证查询方的元素插入不冲突,为了保证查询方插入元素不冲突,必须选择至少c(默认为3)个哈希函数,会存在以下问题:

4、1、由于被查询方对所有数据集元素进行插入时针对每个哈希函数都需要插入一次,使用至少c个哈希函数,会导致数据集大小扩充了c倍,进而会导致直接增加后续构造多项式的复杂度,同态加密运算深度也会增加,最终严重影响计算性能,且上述性能损失会随着c哈希函数数量的增加而线性增加。

5、2、如果想要数据集不被扩张,即查询方在进行元素cuckoo hash插入不冲突,由于每查询一次只插入一个元素一定不会冲突,那么查询方只能进行单条查询。而相较于批量查询,每进行一次单条查询时,被查询方都会对其数据集中的所有元素进行一次同态计算,如果需要查询n条数据,意味着与批量查询相比单条查询方式要增加n倍的同态计算量,这同样会影响计算性能。


技术实现思路

1、本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、高性能且高效的基于无碰撞哈希映射的隐匿查询方法、装置及存储介质,能够在查询方元素插入不冲突的同时,确保数据集不会扩张,同时能够在高性能的环境下支持批量查询。

2、为解决上述技术问题,本发明提出的技术方案为:

3、一种基于无碰撞哈希映射的隐匿查询方法,应用于使用同态加密算法实现隐匿查询,该隐匿查询方法的步骤包括:

4、在查询方使用无碰撞哈希映射cfhm将查询元素映射到哈希表中,并将具有相同内部参数的所述无碰撞哈希映射cfhm传输给被查询方,所述无碰撞哈希映射cfhm为使得待映射的元素数据集a到映射表数据集b具有唯一性和无碰撞性的哈希映射;

5、在被查询方根据接收到的所述无碰撞哈希映射cfhm,将被查询元素映射到哈希表中;

6、被查询方接收查询方发送的加密后查询内容,基于所述无碰撞哈希映射cfhm计算插值多项式的值并返回给查询方,查询方接收到所述插值多项值的值后进行解密,得到查询结果。

7、进一步的,使用所述无碰撞哈希映射cfhm将元素映射到哈希表中时,通过不断穷举哈希函数,直到找到一个哈希函数以使得对于待映射的元素数据集a和映射表数据集b,且满足|a|<|b|,从待映射的元素数据集a到映射表数据集b的映射具有唯一性和无碰撞性。

8、进一步的,所述唯一性为对于任意a1∈a,存在唯一b1∈b,满足cfhm(a1)=b1,所述无碰撞性为对于任意a1、a2∈a,cfhm(a1)≠cfhm(a2)。

9、进一步的,使用所述无碰撞哈希映射cfhm将元素映射到哈希表中的步骤包括:

10、初始化种子数,获取待映射的元素数据集a={a1,a2,a3,...,an}以及映射表数据集b={b1,b2,b3,...,bm},n为数据集a的元素数量,m为数据集b的哈希桶数量,且满足|a|<|b|,即n<m;

11、使用安全哈希函数h,当前种子数seed分别对待映射的元素数据集a中的所有元素进行哈希运算得到{hseed(a1),hseed(a2),hseed(a3),...,hseed(an)}的哈希值集合;

12、依次对哈希值集合中的每个元素进行模m运算得到最终的映射结果集{hseed(a1)modm,hseed(a2)modm,...,hseed(an)modm};

13、比较所述映射结果集{hseed(a1)modm,hseed(a2)modm,...,hseed(an)modm}中的每个元素,如果存在任意的a1,a2∈a,使得hseed(a1)modm=hseed(a2)modm,更新当前种子数seed,返回重新进行映射结果集计算以及比较;

14、完成对所有的映射结果集中元素的比较后,如果对任意的a1,a2∈a,都有hseed(a1)modm≠hseed(a2)modm,则判定cfhm计算完成,输出最新状态的种子数seed以及最终的映射结果集合{hseed(a1)modm,hseed(a2)modm,...,hseed(an)modm}。

15、进一步的,在查询方、被查询方映射哈希表前,还包括在查询方计算对应的数据集y的oprf取值,在被查询方计算对应的数据集x的oprf取值。

16、进一步的,被查询方基于所述无碰撞哈希映射cfhm计算插值多项式的值包括:

17、采用插值法构造基于item的多项式以及label的多项式;

18、基于加密后查询内容以及所述无碰撞哈希映射cfhm分别计算item插值多项式的值以及label插值多项式的值。

19、进一步的,所述查询方接收到所述插值取值结果后进行解密,得到查询结果包括:解密item插值多项式计算结果,如果为0,则证明为交集元素,再对label插值多项式计算结果进行解密,得到label。

20、一种基于无碰撞哈希映射的隐匿查询装置,应用于使用同态加密算法实现隐匿查询,该隐匿查询装置包括:

21、第一映射模块,用于在查询方使用无碰撞哈希映射cfhm将查询元素映射到哈希表中,并将具有相同内部参数的所述无碰撞哈希映射cfhm传输给被查询方,所述无碰撞哈希映射cfhm为使得待映射的元素数据集a到映射表数据集b具有唯一性和无碰撞性;

22、第二映射模块,用于在被查询方根据接收到的所述无碰撞哈希映射cfhm,将被查询元素映射到哈希表中;

23、加解密模块,用于被查询方接收查询方发送的加密后查询内容,基于所述无碰撞哈希映射cfhm计算插值多项式的值并返回给查询方,查询方接收到所述插值多项式的值后进行解密,得到查询结果。

24、一种计算机装置,包括处理器以及存储器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序以执行如上述方法。

25、一种存储有计算机程序的计算机可读存储介质,所述计算机程序执行时实现如上述方法。

26、与现有技术相比,本发明的优点在于:本发明通过在传统基于同态加密的隐匿查询方案的基础上,使用无碰撞哈希映射cfhm完成哈希映射,将哈希函数降低为最低要求1个,而无需如传统cuckoo hash处理过程中需要选择至少三个哈希函数进行哈希表插入,能够在查询方插入元素不冲突的前提下,使得数据集没有任何扩张,极大的提高隐匿查询的计算性能,同时还能够在数据集不扩张的前提下支持批量查询。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1