CN116150445B - 一种批量信息查询方法及电子设备、存储介质 - Google Patents

一种批量信息查询方法及电子设备、存储介质 Download PDF

Info

Publication number
CN116150445B
CN116150445B CN202310351898.6A CN202310351898A CN116150445B CN 116150445 B CN116150445 B CN 116150445B CN 202310351898 A CN202310351898 A CN 202310351898A CN 116150445 B CN116150445 B CN 116150445B
Authority
CN
China
Prior art keywords
information
data
pseudo
public
random
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.)
Active
Application number
CN202310351898.6A
Other languages
English (en)
Other versions
CN116150445A (zh
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.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
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 Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN202310351898.6A priority Critical patent/CN116150445B/zh
Publication of CN116150445A publication Critical patent/CN116150445A/zh
Application granted granted Critical
Publication of CN116150445B publication Critical patent/CN116150445B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及数据处理技术领域,尤其是涉及一种批量信息查询方法及电子设备、存储介质。本申请应用于信息查询端的批量信息查询方法,先获取查询字段集、公共哈希函数,对第一数目个关键字段进行第一映射处理得到第一哈希数组与第一位置信息,将第一位置信息与关键字段发送至公共运算方,从公共运算方获取第一加密数据,从数据服务端接收第二加密数据,将第一索引数据与第二索引数据进行匹配处理,当第一索引数据与第二索引数据匹配成功,基于第一密钥信息对加密子数据进行解析处理,得到查询结果信息,即可在批量进行信息私密检索查询的过程中,利用公共哈希函数与公共伪随机函数实现关键字段与候选字段的存储与匹配,降低了通信开销的产生。

Description

一种批量信息查询方法及电子设备、存储介质
技术领域
本申请涉及数据处理技术领域,尤其是涉及一种批量信息查询方法及电子设备、存储介质。
背景技术
信息私密检索(Private Information Retrieval,PIR),是在保护用户查询条件下的信息检索技术,用于保障个人隐私在公共网络平台上的私密性。当用户在数据库上检索信息时,用户所使用的查询语句、关键字本身可能会携带一些隐私信息,信息私密检索技术,则可以阻止数据库服务器知晓用户查询语句的相关信息,从而起到保护用户的查询隐私的作用。需要指出,信息私密检索在当前现实生活中,针对检索隐私有着较高要求的领域(例如医药数据检索、专利数据检索等),信息私密检索技术具有很大的应用空间。
当前主流的信息私密检索方法有两种,一种是基于同态加密的信息私密检索,一种是基于不经意传输(Oblivious Transfer,OT)和不经意伪随机函数(ObliviousPseudorandom Function,OPRF)的信息私密检索。需要指出,同态加密的复杂度较高,需要消耗大量的计算,并且往往不支持批量检索;而经过不经意伪随机函数得到的密钥为一次一密的密钥,密钥长度与需要传送的数据大小相等,故而在批量进行信息检索的应用场景下,将产生巨大的通信开销。因此,如何在批量进行信息私密检索查询的过程中,降低通信开销的产生,是业内亟待解决的一大难题。
发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种批量信息查询方法及电子设备、存储介质,能够在批量进行检索查询的过程中,降低通信开销的产生。
根据本申请的第一方面实施例的批量信息查询方法,应用于信息查询端,所述方法包括:
获取查询字段集、公共哈希函数,所述查询字段集包括第一数目个待查询的关键字段;
基于所述公共哈希函数对第一数目个所述关键字段进行第一映射处理,得到第一哈希数组与第一位置信息,所述第一位置信息反映所述关键字段在所述第一哈希数组中的存储位置;
将所述第一位置信息与所述关键字段发送至公共运算方,以使所述公共运算方基于所述第一位置信息与公共伪随机函数对所述关键字段进行第一加密处理,生成第一加密数据与伪随机标识信息,所述伪随机标识信息生成后由所述公共运算方发送至数据服务端;
从所述公共运算方获取所述第一加密数据,所述第一加密数据包括一一对应的第一索引信息与第一密钥信息;
从所述数据服务端接收第二加密数据,所述第二加密数据包括一一对应的第二索引信息与加密子数据;
将所述第一索引数据与所述第二索引数据进行匹配处理,当所述第一索引数据与所述第二索引数据匹配成功,基于所述第一密钥信息对所述加密子数据进行解析处理,得到与所述关键字段对应的查询结果信息。
可选的,根据本申请的一些实施例,所述公共哈希函数包括第三数目个哈希子函数,所述第一哈希数组包括与所述哈希子函数一一对应的目标子数组,所述基于所述公共哈希函数对第一数目个所述关键字段进行第一映射处理,得到第一哈希数组与第一位置信息,包括:
针对每一所述关键字段,从第三数目个所述哈希子函数中任选一个作为目标映射函数;
通过所述目标映射函数,将所述关键字段映射至对应的所述目标子数组;
每一所述关键字段映射完成后,将第三数目个所述目标子数组进行整合,得到所述第一哈希数组;
根据每一所述关键字段在所述第一哈希数组中的存储位置,生成所述第一位置信息。
根据本申请的第二方面实施例的批量信息查询方法,应用于数据服务端,所述方法包括:
获取候选字段集、公共哈希函数与公共伪随机函数,所述候选字段集包括第二数目个候选字段,每一所述候选字段配置有对应的候选内容信息;
基于所述公共哈希函数对第二数目个所述候选字段进行第二映射处理,得到第二哈希数组与第二位置信息,所述第二位置信息反映所述候选字段在所述第二哈希数组中的存储位置;
从公共运算方获取伪随机标识信息;
基于所述伪随机标识信息、所述第二位置信息、所述公共伪随机函数对候选内容信息进行第二加密处理,生成第二加密数据,所述第二加密数据包括一一对应的第二索引信息与加密子数据;
将所述第二加密数据发送至信息查询端,以使所述信息查询端将第一加密数据中的第一索引数据与所述第二索引数据进行匹配处理,当所述第一索引数据与所述第二索引数据匹配成功,基于第一加密数据中的第一密钥信息对所述加密子数据进行解析处理,得到与关键字段对应的查询结果信息。
可选的,根据本申请的一些实施例,所述公共哈希函数包括第三数目个哈希子函数,所述第二哈希数组包括与所述哈希子函数一一对应的候选子数组,所述基于所述公共哈希函数对第二数目个所述候选字段进行第二映射处理,得到第二哈希数组与第二位置信息,包括:
通过所述哈希子函数,对第二数目个所述候选字段进行全局映射处理,得到候选子数组;
当第三数目个所述哈希子函数完成全局映射处理后,将所述第三数目个所述候选子数组进行整合,得到所述第二哈希数组;
根据每一所述候选字段在所述第二哈希数组中的存储位置,生成所述第二位置信息。
可选的,根据本申请的一些实施例,所述伪随机标识信息包括多组一一对应的伪随机参数与位置匹配标识,所述基于所述伪随机标识信息、所述第二位置信息、所述公共伪随机函数对候选内容信息进行第二加密处理,生成第二加密数据,包括:
基于所述位置匹配标识在所述第二位置信息中进行位置信息匹配,得到命中位置信息;
将所述命中位置信息对应的伪随机参数确定为命中参数;
将所述命中参数分别与第二数目个所述候选字段代入所述公共伪随机函数进行解析计算,得到第二数目组一一对应的所述第二索引信息与第二密钥信息;
基于所述第二密钥信息对所述候选内容信息进行对称加密处理,得到所述加密子数据;
将所述第二索引信息与所述加密子数据进行整合,生成所述第二加密数据。
根据本申请的第三方面实施例的批量信息查询方法,应用于公共运算方,所述方法包括:
获取公共伪随机函数;
从信息查询端获取待查询的关键字段与第一位置信息,所述第一位置信息反映所述关键字段在第一哈希数组中的存储位置;
基于所述第一位置信息与公共伪随机函数对所述关键字段进行第一加密处理,生成第一加密数据与伪随机标识信息,所述第一加密数据包括一一对应的第一索引信息与第一密钥信息;
将所述伪随机标识信息发送至数据服务端,以使所述数据服务端基于所述伪随机标识信息进行第二加密处理而生成第二加密数据,所述第二加密数据包括一一对应的第二索引信息与加密子数据,所述第二加密数据生成后由所述数据服务端发送至所述信息查询端;
将所述第一加密数据发送至所述信息查询端,以使所述信息查询端将所述第一索引数据与所述第二索引数据进行匹配处理,当所述第一索引数据与所述第二索引数据匹配成功,基于所述第一密钥信息对所述加密子数据进行解析处理,得到与所述关键字段对应的查询结果信息。
可选的,根据本申请的一些实施例,所述基于所述第一位置信息与公共伪随机函数对所述关键字段进行第一加密处理,生成第一加密数据与伪随机标识信息,包括:
基于所述第一位置信息与所述公共伪随机函数对第一数目个所述关键字段进行不经意伪随机处理,得到第一数目个伪随机参数与所述第一加密数据,每一所述伪随机参数配置有对应的位置匹配标识;
将多组一一对应的所述伪随机参数与所述位置匹配标识进行整合,得到所述伪随机标识信息。
可选的,根据本申请的一些实施例,所述基于所述第一位置信息与所述公共伪随机函数对第一数目个所述关键字段进行不经意伪随机处理,得到第一数目个伪随机参数与所述第一加密数据,包括:
基于所述第一位置信息对第一数目个所述关键字段进行伪随机数计算,得到第一数目个所述伪随机参数;
将一一对应的所述伪随机参数与所述关键字段代入所述公共伪随机函数进行解析计算,得到所述第一索引信息与第一密钥信息;
将一一对应的所述第一索引信息与第一密钥信息进行整合,得到所述第一加密数据。
第四方面,本申请实施例提供了一种电子设备,包括:存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如本申请第一方面实施例、第二方面实施例与第三方面实施例中任意一项所述的批量信息查询方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如本申请第一方面实施例、第二方面实施例与第三方面实施例中任意一项所述的批量信息查询方法。
根据本申请实施例的批量信息查询方法,至少具有如下有益效果:
本申请批量信息查询方法包括三个执行主体,分别是信息查询端、公共运算方与数据服务端。其中,信息查询端需要先获取查询字段集、公共哈希函数,然后再基于公共哈希函数对第一数目个关键字段进行第一映射处理,得到第一哈希数组与第一位置信息,进一步,将第一位置信息与关键字段发送至公共运算方。公共运算方,预先获取有公共伪随机函数,在从信息查询端获取待查询的关键字段与第一位置信息之后,公共运算方基于第一位置信息与公共伪随机函数对关键字段进行第一加密处理,生成第一加密数据与伪随机标识信息,第一加密数据包括一一对应的第一索引信息与第一密钥信息,再将伪随机标识信息发送至数据服务端、将第一加密数据发送至信息查询端。数据服务端,预先获取有候选字段集、公共哈希函数与公共伪随机函数,并且基于公共哈希函数对第二数目个候选字段进行第二映射处理,得到第二哈希数组与第二位置信息,从公共运算方获取伪随机标识信息之后,基于伪随机标识信息、第二位置信息、公共伪随机函数对候选内容信息进行第二加密处理,生成第二加密数据,再进一步,将第二加密数据发送至信息查询端。信息查询端从公共运算方获取第一加密数据、从数据服务端接收第二加密数据之后,将第一索引数据与第二索引数据进行匹配处理,当第一索引数据与第二索引数据匹配成功,基于第一密钥信息对加密子数据进行解析处理,得到与关键字段对应的查询结果信息。如此一来,即可在批量进行信息私密检索查询的过程中,利用公共哈希函数与公共伪随机函数实现关键字段与候选字段的存储与匹配,降低了通信开销的产生。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的批量信息查询方法的流程示意图;
图2为本申请实施例提供的批量信息查询方法的另一流程示意图;
图3为本申请实施例提供的批量信息查询方法的另一流程示意图;
图4为本申请实施例提供的批量信息查询方法的另一流程示意图;
图5为本申请实施例提供的批量信息查询方法的另一流程示意图;
图6为本申请实施例提供的批量信息查询方法的另一流程示意图;
图7是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
在本申请的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
在本申请的描述中,需要理解的是,涉及到方位描述,例如上、下、左、右、前、后等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
本申请的描述中,需要说明的是,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本申请中的具体含义。另外,下文中对于具体步骤的标识并不代表对于步骤顺序与执行逻辑的限定,各个步骤之间的执行顺序与执行逻辑应参照实施例所表述的内容进行理解与推定。
首先,对本申请会用到的各个技术名词作出解释:
哈希(Hash)函数也称散列函数。它是一个不可逆的单向映射,将任意长度的输入消息或文件映射成为一个较短的定长哈希值,也叫散列值(HashValue)、杂凑值或消息摘要。具体而言,若将哈希函数表示为(需要指出,此处/>为哈希函数的表示方法,所属领域技术人员能够理解其中的“/>”指的是待填入的参数),对于任意输入/>,/>都是一个固定长度的输出。一个安全的哈希函数具有抗碰撞性,即在计算受限的情况几乎不可能找到/>和/>,使得/>
哈希表,也称作哈希数组、散列表,是根据关键字和值(Key-Value)直接进行访问的数据结构。也就是说,哈希表通过关键字key和一个映射函数Hash(key)计算出对应的值value,然后把键值对映射到表中的一个位置来访问记录,以加快查找的速度。这个映射函数也就是哈希函数,用于存放记录的数组叫做哈希表。
不经意伪随机函数(ObliviousPseudoRandomFunction,OPRF)是需要双方参与的算法,可以视作是一种密码学协议。若将参与者简称为A和B,其中A提供输入。双方有一个公共的伪随机函数/>(需要指出,此处/>为伪随机函数的表示方法,所属领域技术人员能够理解其中的“/>”指的是待填入的参数),OPRF算法输出给A结果/>,输出给B一个随机数/>。除此之外,A和B对对方输出一无所知。伪随机数是用确定性的算法计算出来自[0,1]均匀分布的随机数序列。并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。C语言中的random()函数产生的随机数就是伪随机数,即假的随机数,因为每次运行生成的随机数都是一样的,所以实现生成随机数时需要种子不一样。
对称加密是一类加密方法,记作,其中,/>是需要被加密的数据,/>是加密密钥。只有拥有/>的人才可以解密/>,得到/>,解密过程记作/>,如果,则解密成功,即/>;如果/>,则解密失败,即/>。常见的对称加密算法包括ISO标准AES、Trivium等。
信息私密检索(Private Information Retrieval,PIR),是在保护用户查询条件下的信息检索技术,用于保障个人隐私在公共网络平台上的私密性。当用户在数据库上检索信息时,用户所使用的查询语句、关键字本身可能会携带一些隐私信息,信息私密检索技术,则可以阻止数据库服务器知晓用户查询语句的相关信息,从而起到保护用户的查询隐私的作用。需要指出,信息私密检索在当前现实生活中,针对检索隐私有着较高要求的领域(例如医药数据检索、专利数据检索等),信息私密检索技术具有很大的应用空间。
当前主流的信息私密检索方法有两种,一种是基于同态加密的信息私密检索,一种是基于不经意传输(Oblivious Transfer,OT)和不经意伪随机函数(ObliviousPseudorandom Function,OPRF)的信息私密检索。需要指出,同态加密的复杂度较高,需要消耗大量的计算,并且往往不支持批量检索;而经过不经意伪随机函数得到的密钥为一次一密的密钥,密钥长度与需要传送的数据大小相等,故而在批量进行信息检索的应用场景下,将产生巨大的通信开销。因此,如何在批量进行信息私密检索查询的过程中,降低通信开销的产生,是业内亟待解决的一大难题。
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种批量信息查询方法及电子设备、存储介质,能够在批量进行检索查询的过程中,降低通信开销的产生。
下面以附图为依据作出进一步说明。
参照图1,本申请批量信息查询方法包括三个执行主体,分别是信息查询端、公共运算方与数据服务端。本申请一些示例性的实施例中,公共运算方可以不是一个实体,而是一个根据算法概念抽象出来的执行主体,算法的实际执行者是信息查询端与数据服务端双方,其中每一方都有参与一部分本地运算。本申请实施例将一个双方参与的保密运算抽象为一个公共运算方,应用场景中,可以没有一个实体作为公共运算方而实际存在。
下面基于各个执行主体作出说明,本申请批量信息查询方法可以包括,但不限于下述步骤S101至步骤S114。
信息查询端:步骤S101,获取查询字段集、公共哈希函数,查询字段集包括第一数目个待查询的关键字段;
公共运算方:步骤S102,获取公共伪随机函数;
数据服务端:步骤S103,获取候选字段集、公共哈希函数与公共伪随机函数,候选字段集包括第二数目个候选字段,每一候选字段配置有对应的候选内容信息;
信息查询端:步骤S104,基于公共哈希函数对第一数目个关键字段进行第一映射处理,得到第一哈希数组与第一位置信息,第一位置信息反映关键字段在第一哈希数组中的存储位置;
步骤S105,将第一位置信息与关键字段发送至公共运算方;
公共运算方:步骤S106,从信息查询端获取待查询的关键字段与第一位置信息,第一位置信息反映关键字段在第一哈希数组中的存储位置;
步骤S107,基于第一位置信息与公共伪随机函数对关键字段进行第一加密处理,生成第一加密数据与伪随机标识信息,第一加密数据包括一一对应的第一索引信息与第一密钥信息;
步骤S108,将伪随机标识信息发送至数据服务端,将第一加密数据发送至信息查询端;
数据服务端:步骤S109,基于公共哈希函数对第二数目个候选字段进行第二映射处理,得到第二哈希数组与第二位置信息,第二位置信息反映候选字段在第二哈希数组中的存储位置;
步骤S110,数据服务端从公共运算方获取伪随机标识信息;
步骤S111,基于伪随机标识信息、第二位置信息、公共伪随机函数对候选内容信息进行第二加密处理,生成第二加密数据,第二加密数据包括一一对应的第二索引信息与加密子数据;
步骤S112,将第二加密数据发送至信息查询端。
信息查询端:步骤S113,从公共运算方获取第一加密数据、从数据服务端接收第二加密数据,第一加密数据包括一一对应的第一索引信息与第一密钥信息,第二加密数据包括一一对应的第二索引信息与加密子数据;
步骤S114,将第一索引数据与第二索引数据进行匹配处理,当第一索引数据与第二索引数据匹配成功,基于第一密钥信息对加密子数据进行解析处理,得到与关键字段对应的查询结果信息。
需要强调,本申请批量信息查询方法包括三个执行主体,分别是信息查询端、公共运算方与数据服务端。其中,信息查询端需要先获取查询字段集、公共哈希函数,然后再基于公共哈希函数对第一数目个关键字段进行第一映射处理,得到第一哈希数组与第一位置信息,进一步,将第一位置信息与关键字段发送至公共运算方。公共运算方,预先获取有公共伪随机函数,在从信息查询端获取待查询的关键字段与第一位置信息之后,公共运算方基于第一位置信息与公共伪随机函数对关键字段进行第一加密处理,生成第一加密数据与伪随机标识信息,第一加密数据包括一一对应的第一索引信息与第一密钥信息,再将伪随机标识信息发送至数据服务端、将第一加密数据发送至信息查询端。数据服务端,预先获取有候选字段集、公共哈希函数与公共伪随机函数,并且基于公共哈希函数对第二数目个候选字段进行第二映射处理,得到第二哈希数组与第二位置信息,从公共运算方获取伪随机标识信息之后,基于伪随机标识信息、第二位置信息、公共伪随机函数对候选内容信息进行第二加密处理,生成第二加密数据,再进一步,将第二加密数据发送至信息查询端。信息查询端从公共运算方获取第一加密数据、从数据服务端接收第二加密数据之后,将第一索引数据与第二索引数据进行匹配处理,当第一索引数据与第二索引数据匹配成功,基于第一密钥信息对加密子数据进行解析处理,得到与关键字段对应的查询结果信息。如此一来,即可在批量进行信息私密检索查询的过程中,利用公共哈希函数与公共伪随机函数实现关键字段与候选字段的存储与匹配,降低了通信开销的产生。
下面针对本申请实施例的各个步骤作出详细说明。
信息查询端:步骤S101,获取查询字段集、公共哈希函数,查询字段集包括第一数目个待查询的关键字段。
公共运算方:步骤S102,获取公共伪随机函数。
数据服务端:步骤S103,获取候选字段集、公共哈希函数与公共伪随机函数,候选字段集包括第二数目个候选字段,每一候选字段配置有对应的候选内容信息。
需要指出,步骤S101至步骤S103为本申请批量信息查询方法各执行主体获取查询基础数据与加密基础数据的环节。所谓查询基础数据,即信息查询所需要用到的数据,本申请实施例需要从查询字段集选择关键字段在候选字段集内进行查询得到对应的候选字段,因此查询字段集与候选字段集也就是查询基础数据,其中,查询字段集指的是待查询的关键字段的集合、候选字段集指的是可供查询的候选字段的集合。需要指出,每一候选字段配置有对应的候选内容信息,最终查询结果信息就被被包含在候选内容信息之中。所谓加密基础数据,即信息私密检索中起到加密、解密作用的数据,用于保障个人隐私在公共网络平台上的私密性。需要指出,步骤S101至步骤S103中的加密基础数据包括公共哈希函数与公共伪随机函数。
本申请一些实施例中,公共哈希函数指的是可以由信息查询端、公共运算方与数据服务端共享的哈希函数。本申请示例性的实施例中,若直接从查询字段集选择关键字段在候选字段集内进行查询得到对应的候选字段,对应的数据传输负担与数据存储负担都会处于较高水平,影响查询效率。而公共哈希函数的作用在于,通过公共哈希函数可以将查询字段集、候选字段集分别存储于特定类型的哈希数组中,利用哈希数组进行数据查询,得以提高检索查询的处理速度。一些实施例中,公共哈希函数可以预先存储在公共运算方,再由公共运算方分发给信息查询端与数据服务端,另一些实施例中,公共哈希函数也可以由外部服务器之间下发给信息查询端与数据服务端,而公共运算方无需获取公共哈希函数,还可以通过其他方式获取。
本申请一些实施例中,公共伪随机函数指的是信息查询端与数据服务端作为参与方参与的不经意伪随机函数。其中,信息查询端提供关键字段。双方有一个公共的伪随机函数/>,OPRF算法输出给信息查询端结果/>,输出给数据服务端一个随机数/>,需要明确,信息查询端对数据服务端获得的随机数/>一无所知,数据服务端对信息查询端获得的结果/>一无所知。一些实施例中,公共伪随机函数可以预先存储在公共运算方,再由公共运算方基于关键字段/>进行OPRF算法处理后,将结果/>分发至信息查询端,将随机数/>分发至数据服务端。
根据本申请一些示例性的实施例,在各执行主体获取查询基础数据与加密基础数据之后,即可由信息查询端启动批量信息查询。
信息查询端:步骤S104,基于公共哈希函数对第一数目个关键字段进行第一映射处理,得到第一哈希数组与第一位置信息,第一位置信息反映关键字段在第一哈希数组中的存储位置;
步骤S105,将第一位置信息与关键字段发送至公共运算方;
需要强调的是,公共哈希函数指的是可以由信息查询端、公共运算方与数据服务端共享的哈希函数,公共哈希函数对第一数目个关键字段进行第一映射处理,旨在将第一数目个关键字段存入对应的第一哈希数组,其中第一哈希数组可以视作公共哈希函数对应的哈希表。需要明确,第一位置信息反映关键字段在第一哈希数组中的存储位置,可以用于加快查询的速度。需要指出,将关键字段存入对应的第一哈希数组的目的在于,利用第一哈希数组存储关键字段能够在减小存储负担的同时保持数据处理的高效。在得到第一哈希数组与第一位置信息之后,即可将第一位置信息与关键字段发送至公共运算方,以便于公共运算方执行后续步骤。
参照图2,根据本申请的一些实施例,公共哈希函数包括第三数目个哈希子函数,第一哈希数组包括与哈希子函数一一对应的目标子数组,步骤S104可以包括,但不限于下述步骤S201至步骤S204。
需要说明的是,布谷鸟哈希是一种填充率非常高的哈希技术,可以创建高效的哈希表。布谷鸟哈希通常需要使用多个不同的哈希函数来实现,本申请实施例中选用第三数目个哈希子函数来对第一数目个关键字段进行布谷鸟哈希映射,也就是第一映射处理。
步骤S201,针对每一关键字段,从第三数目个哈希子函数中任选一个作为目标映射函数;
步骤S202,通过目标映射函数,将关键字段映射至对应的目标子数组;
步骤S203,每一关键字段映射完成后,将第三数目个目标子数组进行整合,得到第一哈希数组;
步骤S204,根据每一关键字段在第一哈希数组中的存储位置,生成第一位置信息。
通过步骤S201至步骤S204,针对每一关键字段,从第三数目个哈希子函数中任选一个作为目标映射函数,将关键字段映射至对应的目标子数组,然后将第三数目个目标子数组进行整合,即可得到第一哈希数组。需要明确,从第三数目个哈希子函数中任选一个作为目标映射函数做映射,其目的在于,利用布谷鸟哈希来压缩关键字段存储所占用的数据容量,减少存储负担和数据传输负担。
根据本申请一些较为具体的实施例,可以选择使用三个哈希函数来进行第一映射处理:
任意选取三个不同的哈希子函数,将关键字段/>映射到第一哈希数组的位置中去。
当第一数目为,要映射一个关键字段/>(/>)时,任意选取一个目标映射函数/>(/>)得到/>,判断对应的目标子数组的位置/>是否为空(即判断有没有其他的数据已经占了这个位置),如果为空,则插入/>,如果不为空,则移除目标子数组相应位置中已经存在的值/>,再将/>插入该位置。/>则通过选取其他哈希子函数,重新执行插入操作。
在遍历所有哈希子函数都无法插入关键字段时,将关键字段/>存入stash桶中。需要说明的是,stash桶表示信息查询端本地的可信存储,是对第一哈希数组存储容量的补充。一些实施例中,当哈希碰撞发生的次数达到预设阈值,判定关键字段/>无法正常存储,也就是关键字段/>无法插入。
当所有数据均填入目标子数组或者stash桶时,第一映射处理执行完毕。所以,经过第一映射处理后,将关键字段映射到目标子数组或者stash桶中,即可得到第一哈希数组。需要指出,stash桶作为对第一哈希数组存储容量的补充,也可视作是一类目标子数组。
应理解,基于公共哈希函数对第一数目个关键字段进行第一映射处理的方式多种多样,不限于上述举出的具体实施例。
公共运算方:步骤S106,从信息查询端获取待查询的关键字段与第一位置信息,第一位置信息反映关键字段在第一哈希数组中的存储位置;
步骤S107,基于第一位置信息与公共伪随机函数对关键字段进行第一加密处理,生成第一加密数据与伪随机标识信息,第一加密数据包括一一对应的第一索引信息与第一密钥信息;
步骤S108,将伪随机标识信息发送至数据服务端,将第一加密数据发送至信息查询端;
一些示例性的实施例中,公共运算方从信息查询端获取待查询的关键字段与第一位置信息之后,需要对用户查询语句的相关信息进行加密,以保护用户的查询隐私。因此,本申请实施例基于第一位置信息与公共伪随机函数,对关键字段进行第一加密处理,生成第一加密数据与伪随机标识信息,其中,第一加密数据包括一一对应的第一索引信息与第一密钥信息。在生成第一加密数据与伪随机标识信息之后,即可将伪随机标识信息发送至数据服务端,将第一加密数据发送至信息查询端,以供数据服务端与信息查询端执行后续步骤。
参照图3,根据本申请的一些实施例,步骤S107可以包括,但不限于下述步骤S301至步骤S302。
步骤S301,基于第一位置信息与公共伪随机函数对第一数目个关键字段进行不经意伪随机处理,得到第一数目个伪随机参数与第一加密数据,每一伪随机参数配置有对应的位置匹配标识;
步骤S302,将多组一一对应的伪随机参数与位置匹配标识进行整合,得到伪随机标识信息。
需要说明的是,第一加密处理具体指的是不经意伪随机处理。公共运算方在从信息查询端获取待查询的关键字段与第一位置信息之后,即可基于第一位置信息与公共伪随机函数对第一数目个关键字段进行不经意伪随机处理。需要指出,每一伪随机参数配置的位置匹配标识,位置匹配标识反映该伪随机参数对应的关键字段在第一哈希数组的存储位置,用于为数据服务端进行第二加密处理提供基础。将多组一一对应的伪随机参数与位置匹配标识进行整合,即可得到伪随机标识信息。
参照图4,根据本申请的一些实施例,步骤S301可以包括但不限于下述步骤S401至步骤S403。
步骤S401,基于第一位置信息对第一数目个关键字段进行伪随机数计算,得到第一数目个伪随机参数;
步骤S402,将一一对应的伪随机参数与关键字段代入公共伪随机函数进行解析计算,得到第一索引信息与第一密钥信息;
步骤S403,将一一对应的第一索引信息与第一密钥信息进行整合,得到第一加密数据。
本申请一些较为具体的实施例中,公共伪随机函数表示为,n表示可供查询的数据库的位置容量,第一数目为/>,根据第一位置信息,对关键字段/>(/>)按照如下方式进行不经意伪随机处理:
根据第一位置信息,若映射在目标子数组(目标子数组容量表示为1.2n)的第/>个位置,对关键字段/>进行伪随机数计算,得到伪随机参数/>,再将伪随机参数/>与关键字段代入公共伪随机函数/>,得到第一加密数据/>。公共运算方再将第一加密数据/>与伪随机参数/>进行分发,以使得信息查询端得到第一加密数据/>,数据服务端得到伪随机参数/>;需要指出,第一加密数据/>包括一一对应的第一索引信息/>与第一密钥信息/>
根据第一位置信息,若映射在stash桶的第/>个位置,对关键字段/>进行伪随机数计算,得到伪随机参数/>,再将伪随机参数/>与关键字段/>代入公共伪随机函数,得到第一加密数据/>。公共运算方再将第一加密数据/>与伪随机参数/>进行分发,以使得信息查询端得到第一加密数据/>,数据服务端得到伪随机参数/>;需要指出,第一加密数据包括一一对应的第一索引信息/>与第一密钥信息/>
应理解,基于第一位置信息与公共伪随机函数对关键字段进行第一加密处理的方式多种多样,不限于上述举出的具体实施例。
数据服务端:步骤S109,基于公共哈希函数对第二数目个候选字段进行第二映射处理,得到第二哈希数组与第二位置信息,第二位置信息反映候选字段在第二哈希数组中的存储位置;
本申请一些示例性的实施例中,数据服务端从公共运算方获取伪随机标识信息之前,先要基于公共哈希函数对第二数目个候选字段进行第二映射处理。需要明确,第二位置信息反映候选字段在第二哈希数组中的存储位置,可以用于加快查询的速度。应理解,哈希函数的类型与哈希数组的类型是一一对应的,第一哈希数组可以视作公共哈希函数对应的哈希表,第二哈希数组也可以视作公共哈希函数对应的哈希表,但是第一哈希数组与第二哈希数组中存储的数据有所差异,第一哈希数组存储的是待查询的关键字段,第二哈希数组存储的是可供查询的候选字段,也正是因为第一哈希数组与第二哈希数组都可以视作公共哈希函数对应的哈希表,在后续环节中方能利用第一哈希数组与第二哈希数组实现信息查询,在减小存储负担的同时保持数据处理的高效。
参照图5,根据本申请的一些实施例,公共哈希函数包括第三数目个哈希子函数,第二哈希数组包括与哈希子函数一一对应的候选子数组,步骤S109可以包括,但不限于下述步骤S501至步骤S503。
步骤S501,通过哈希子函数,对第二数目个候选字段进行全局映射处理,得到候选子数组;
步骤S502,当第三数目个哈希子函数完成全局映射处理后,将第三数目个候选子数组进行整合,得到第二哈希数组;
步骤S503,根据每一候选字段在第二哈希数组中的存储位置,生成第二位置信息。
本申请一些实施例的步骤S501至步骤S503中,先通过哈希子函数,对第二数目个候选字段进行全局映射处理,得到候选子数组,当第三数目个哈希子函数完成全局映射处理后,将第三数目个候选子数组进行整合,得到第二哈希数组,进一步,根据每一候选字段在第二哈希数组中的存储位置,生成第二位置信息。需要说明的是,通过哈希子函数,对第二数目个候选字段进行全局映射处理,具体指的可以是,选定一个哈希子函数,将所有的候选字段分别做一次映射,作为映射后再选定下一个哈希子函数对所有候选字段分别做一次映射,直至第三数目个哈希子函数全部完成上述映射处理,其目的在于,使得第二哈希数组能够覆盖每一个候选字段的所有映射可能,以便于后续在信息查询端中基于伪随机标识信息、第二位置信息、公共伪随机函数对候选内容信息进行第二加密处理。而第三数目个哈希子函数完成对第二数目个候选字段全局映射处理后,所有的候选字段,都能映射到各个哈希子函数对应的哈希数组中。需要指出,另一些实施例中,也可以针对每一个候选字段,通过所有哈希子函数分别做一次映射,当第二数目个候选字段全部映射完成后,所有的候选字段,都能映射到各个哈希子函数对应的哈希数组中。
一些较为具体的实施例中,若第二数目表示为,候选字段表示为/>),哈希子函数包括/>
全局映射处理具体可以是:针对每一个候选字段,依次利用哈希子函数做一次映射,通过/>即可将候选字段/>映射进这三个候选子数组中,直至/>个候选字段/>全部由哈希子函数完成映射。
全局映射处理具体也可以是:从哈希子函数中先选用一个哈希子函数/>,然后依次将/>个候选字段/>代入哈希子函数/>进行映射,得到。同理,哈希子函数/>完成对/>个候选字段/>的映射后,进一步可以选用哈希子函数/>对/>个候选字段依次进行映射,直至三个哈希子函数/>全部完成对/>个候选字段/>的映射。
应理解,上述两种全局映射方式旨在将所有的候选字段,都能映射到各个哈希子函数对应的哈希数组中,具体的可选实施例不限于上述列举。
步骤S110,从公共运算方获取伪随机标识信息;
步骤S111,基于伪随机标识信息、第二位置信息、公共伪随机函数对候选内容信息进行第二加密处理,生成第二加密数据,第二加密数据包括一一对应的第二索引信息与加密子数据;
步骤S112,将第二加密数据发送至信息查询端。
本申请一些示例性的实施例中,候选内容信息往往会占用较大的数据容量,因此若直接对候选内容信息进行明文加密,在进行数据传输时会产生较大的通信开销。数据服务端在得到第二哈希数组与第二位置信息,并且从公共运算方获取伪随机标识信息之后,为了避免产生较大的通信开销,需要基于伪随机标识信息、第二位置信息、公共伪随机函数对候选内容信息进行第二加密处理,生成第二加密数据,其中,第二加密数据包括一一对应的第二索引信息与加密子数据。需要指出,伪随机标识信息与第一加密数据均源自公共运算方的第一加密处理,因此基于伪随机标识信息、第二位置信息、公共伪随机函数对候选内容信息进行第二加密处理,得到包含加密子数据的第二加密数据后,信息查询端即可基于第一密钥信息即可对第二加密数据的加密子数据进行解析处理,故而,信息查询端通过在本地针对加密子数据执行解析处理,方可得到对应的查询结果信息。需要明确,加密子数据是对候选内容信息进一步加密的结果,其占用的数据容量较小,因此以加密子数据进行数据传输,将产生较小的通信开销。
参照图6,根据本申请的一些实施例,伪随机标识信息包括多组一一对应的伪随机参数与位置匹配标识,步骤S111可以包括,但不限于下述步骤S601至步骤S605。
步骤S601,基于位置匹配标识在第二位置信息中进行位置信息匹配,得到命中位置信息;
步骤S602,将命中位置信息对应的伪随机参数确定为命中参数;
步骤S603,将命中参数分别与第二数目个候选字段代入公共伪随机函数进行解析计算,得到第二数目组一一对应的第二索引信息与第二密钥信息;
步骤S604,基于第二密钥信息对候选内容信息进行对称加密处理,得到加密子数据;
步骤S605,将第二索引信息与加密子数据进行整合,生成第二加密数据。
本申请一些实施例的步骤S601中,基于位置匹配标识在第二位置信息中进行位置信息匹配,得到命中位置信息,需要明确三个前提:
其一,每一伪随机参数配置有对应的位置匹配标识,其中位置匹配标识反映该伪随机参数对应的关键字段在第一哈希数组的存储位置;
其二,第二数目个候选字段全部映射到了第二哈希数组中,而第二位置信息又反映了每一候选字段在第二哈希数组中的存储位置;
其三,第一哈希数组可以视作公共哈希函数对应的哈希表,第二哈希数组也可以视作公共哈希函数对应的哈希表,两个哈希表结构相同,但是存储的数据有所差异,第一哈希数组存储的是待查询的关键字段,第二哈希数组存储的是可供查询的候选字段;
在明确以上三个前提后,需要进一步指出:
根据每一伪随机参数配置的位置匹配标识,可以明确待查询的关键字段在第一哈希数组中的存储位置。由于第一哈希数组与第二哈希数组对应的哈希表结构相同,因此,基于关键字段在第一哈希数组中的存储位置,可以在第二哈希数组中锁定相对应的命中位置,用于描述该命中位置的位置信息也就是命中位置信息。
本申请一些实施例的步骤S602中,将命中位置信息对应的伪随机参数确定为命中参数。需要说明的是,由于伪随机参数与位置匹配标识一一对应,而命中位置信息又是根据位置匹配标识而得到的,因此可以将命中位置信息对应的伪随机参数确定为命中参数。
本申请一些实施例的步骤S603中,将命中参数分别与第二数目个候选字段代入公共伪随机函数进行解析计算,得到第二数目组一一对应的第二索引信息与第二密钥信息。需要说明的是,在确定了命中参数之后,需要在每一个命中参数的基础上,对第二数目个候选字段分别代入公共伪随机函数进行解析计算,其目的在于覆盖所有候选字段利用公共伪随机函数计算的结果,如此生成第二数目组一一对应的第二索引信息与第二密钥信息之后,方可以第二索引信息作为的依据,在后续环节中以第一索引数据进行匹配处理。
本申请一些实施例的步骤S604中,基于第二密钥信息对候选内容信息进行对称加密处理,得到加密子数据。需要强调的是,加密子数据是对候选内容信息进一步加密的结果,其占用的数据容量较小,因此以加密子数据进行数据传输,将产生较小的通信开销。一些实施例中,可以基于第二密钥信息对候选内容信息进行对称加密处理,得到加密子数据。需要指出,第二密钥信息由命中参数分别与第二数目个候选字段,利用公共伪随机函数进行计算得到。
本申请一些实施例的步骤S605,将第二索引信息与加密子数据进行整合,即可生成第二加密数据。
通过步骤S601至步骤S605示出的本申请实施例,利用基于第二密钥信息对候选内容信息进行对称加密处理,得到加密子数据,无需对候选内容信息直接进行明文加密,在进行数据传输时节省了较大的通信开销。
一些较为具体的实施例中,若第二数目表示为,候选字段表示为/>),候选内容信息表示为/>,哈希子函数表示为/>(/>),公共伪随机函数表示为/>,伪随机参数表示为/>,每一伪随机参数都配置有一一对应的位置匹配标识,则基于伪随机标识信息、第二位置信息、公共伪随机函数对候选内容信息进行第二加密处理,生成第二加密数据具体可以概括为:
先基于位置匹配标识在第二位置信息中进行位置信息匹配,得到命中位置信息。再将命中位置信息/>对应的伪随机参数/>(/>)确定为命中参数。进而将命中参数/>分别与第二数目个候选字段/>代入公共伪随机函数进行解析计算,得到第二数目组一一对应的第二索引信息/>与第二密钥信息/>。再进一步,基于第二密钥信息/>对候选内容信息/>进行对称加密处理,得到加密子数据,最终将第二索引信息/>与加密子数据/>进行整合,即可生成第二加密数据/>。一些较为优选的实施例中,还可以将第二加密数据中的元素打乱后发送给信息查询端,以进一步提升数据传输的安全性。
信息查询端:步骤S113,从公共运算方获取第一加密数据、从数据服务端接收第二加密数据,第一加密数据包括一一对应的第一索引信息与第一密钥信息,第二加密数据包括一一对应的第二索引信息与加密子数据;
步骤S114,将第一索引数据与第二索引数据进行匹配处理,当第一索引数据与第二索引数据匹配成功,基于第一密钥信息对加密子数据进行解析处理,得到与关键字段对应的查询结果信息。
本申请一些示例性的实施例中,从公共运算方获取第一加密数据、从数据服务端接收第二加密数据之后,方可进一步将第一索引数据与第二索引数据进行匹配处理,当第一索引数据与第二索引数据匹配成功,基于第一密钥信息对加密子数据进行解析处理,得到与关键字段对应的查询结果信息。
一些较为具体的实施例中,从公共运算方获取的第一加密数据表示为,从数据服务端接收的第二加密数据表示为/>。则当第一索引数据与第二索引数据匹配成功,基于第一密钥信息对加密子数据进行解析处理,得到与关键字段对应的查询结果信息,具体可以包括:
若关键字段映射在目标子数组(目标子数组容量表示为1.2n)的第/>个位置,则在中查找是否有/>与自己持有的/>相等,若相等,则用/>解密/>,得到。如此一来,信息查询端方可得到与关键字段/>对应的候选内容信息表示/>,并将候选内容信息/>确定为查询结果信息。
图7示出了本申请实施例提供的电子设备700。电子设备700包括:处理器701、存储器702及存储在存储器702上并可在处理器701上运行的计算机程序,计算机程序运行时用于执行上述的批量信息查询方法。
处理器701和存储器702可以通过总线或者其他方式连接。
存储器702作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本申请实施例描述的批量信息查询方法。处理器701通过运行存储在存储器702中的非暂态软件程序以及指令,从而实现上述的批量信息查询方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序。存储数据区可存储执行上述的批量信息查询方法。此外,存储器702可以包括高速随机存取存储器702,还可以包括非暂态存储器702,例如至少一个储存设备存储器件、闪存器件或其他非暂态固态存储器件。在一些实施方式中,存储器702可选包括相对于处理器701远程设置的存储器702,这些远程存储器702可以通过网络连接至该电子设备700。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述的批量信息查询方法所需的非暂态软件程序以及指令存储在存储器702中,当被一个或者多个处理器701执行时,执行上述的批量信息查询方法,例如,执行图1中的方法步骤S101至步骤S114、图2中的方法步骤S201至步骤S204、图3中的方法步骤S301至步骤S302、图4中的方法步骤S401至步骤S403、图5中的方法步骤S501至步骤S503、图6中的方法步骤S601至步骤S605。
本申请实施例还提供了计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述的批量信息查询方法。
在一实施例中,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,执行图1中的方法步骤S101至步骤S114、图2中的方法步骤S201至步骤S204、图3中的方法步骤S301至步骤S302、图4中的方法步骤S401至步骤S403、图5中的方法步骤S501至步骤S503、图6中的方法步骤S601至步骤S605。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、储存设备存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。还应了解,本申请实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本申请权利要求所限定的范围内。

Claims (9)

1.一种批量信息查询方法,其特征在于,应用于信息查询端,所述方法包括:
获取查询字段集、公共哈希函数,所述查询字段集包括第一数目个待查询的关键字段;
基于所述公共哈希函数对第一数目个所述关键字段进行第一映射处理,得到第一哈希数组与第一位置信息,所述第一位置信息反映所述关键字段在所述第一哈希数组中的存储位置;
将所述第一位置信息与所述关键字段发送至公共运算方,以使所述公共运算方基于所述第一位置信息与公共伪随机函数对所述关键字段进行第一加密处理,生成第一加密数据与伪随机标识信息,所述伪随机标识信息生成后由所述公共运算方发送至数据服务端;其中,所述伪随机标识信息在所述公共运算方通过如下步骤生成:基于所述第一位置信息与所述公共伪随机函数对第一数目个所述关键字段进行不经意伪随机处理,得到第一数目个伪随机参数与所述第一加密数据,每一所述伪随机参数配置有对应的位置匹配标识;其中,所述第一加密数据包括一一对应的第一索引数据与第一密钥信息;将多组一一对应的所述伪随机参数与所述位置匹配标识进行整合,得到所述伪随机标识信息;
从所述公共运算方获取所述第一加密数据,所述第一加密数据包括一一对应的第一索引数据与第一密钥信息;
从所述数据服务端接收第二加密数据,所述第二加密数据由所述数据服务端基于所述伪随机标识信息、第二位置信息、所述公共伪随机函数对候选内容信息进行第二加密处理而生成,所述第二位置信息反映候选字段在第二哈希数组中的存储位置,所述第二加密数据包括一一对应的第二索引数据与加密子数据;
将所述第一索引数据与所述第二索引数据进行匹配处理,当所述第一索引数据与所述第二索引数据匹配成功,基于所述第一密钥信息对所述加密子数据进行解析处理,得到与所述关键字段对应的查询结果信息。
2.根据权利要求1所述的方法,其特征在于,所述公共哈希函数包括第三数目个哈希子函数,所述第一哈希数组包括与所述哈希子函数一一对应的目标子数组,所述基于所述公共哈希函数对第一数目个所述关键字段进行第一映射处理,得到第一哈希数组与第一位置信息,包括:
针对每一所述关键字段,从第三数目个所述哈希子函数中任选一个作为目标映射函数;
通过所述目标映射函数,将所述关键字段映射至对应的所述目标子数组;
每一所述关键字段映射完成后,将第三数目个所述目标子数组进行整合,得到所述第一哈希数组;
根据每一所述关键字段在所述第一哈希数组中的存储位置,生成所述第一位置信息。
3.一种批量信息查询方法,其特征在于,应用于数据服务端,所述方法包括:
获取候选字段集、公共哈希函数与公共伪随机函数,所述候选字段集包括第二数目个候选字段,每一所述候选字段配置有对应的候选内容信息;
基于所述公共哈希函数对第二数目个所述候选字段进行第二映射处理,得到第二哈希数组与第二位置信息,所述第二位置信息反映所述候选字段在所述第二哈希数组中的存储位置;
从公共运算方获取伪随机标识信息;其中,所述伪随机标识信息在所述公共运算方通过如下步骤生成:基于第一位置信息与所述公共伪随机函数对第一数目个待查询的关键字段进行不经意伪随机处理,得到第一数目个伪随机参数与第一加密数据,每一所述伪随机参数配置有对应的位置匹配标识;其中,所述第一加密数据包括一一对应的第一索引数据与第一密钥信息;将多组一一对应的所述伪随机参数与所述位置匹配标识进行整合,得到所述伪随机标识信息;
基于所述伪随机标识信息、所述第二位置信息、所述公共伪随机函数对所述候选内容信息进行第二加密处理,生成第二加密数据,所述第二加密数据包括一一对应的第二索引数据与加密子数据;
将所述第二加密数据发送至信息查询端,以使所述信息查询端将第一加密数据中的第一索引数据与所述第二索引数据进行匹配处理,所述第一加密数据由公共运算方基于第一位置信息与所述公共伪随机函数对待查询的关键字段进行第一加密处理而生成后发送至所述信息查询端,所述第一位置信息反映所述关键字段在第一哈希数组中的存储位置;
当所述第一索引数据与所述第二索引数据匹配成功,基于第一加密数据中的第一密钥信息对所述加密子数据进行解析处理,得到与关键字段对应的查询结果信息。
4.根据权利要求3所述的方法,其特征在于,所述公共哈希函数包括第三数目个哈希子函数,所述第二哈希数组包括与所述哈希子函数一一对应的候选子数组,所述基于所述公共哈希函数对第二数目个所述候选字段进行第二映射处理,得到第二哈希数组与第二位置信息,包括:
通过所述哈希子函数,对第二数目个所述候选字段进行全局映射处理,得到候选子数组;
当第三数目个所述哈希子函数完成全局映射处理后,将所述第三数目个所述候选子数组进行整合,得到所述第二哈希数组;
根据每一所述候选字段在所述第二哈希数组中的存储位置,生成所述第二位置信息。
5.根据权利要求3所述的方法,其特征在于,所述伪随机标识信息包括多组一一对应的伪随机参数与位置匹配标识,所述基于所述伪随机标识信息、所述第二位置信息、所述公共伪随机函数对候选内容信息进行第二加密处理,生成第二加密数据,包括:
基于所述位置匹配标识在所述第二位置信息中进行位置信息匹配,得到命中位置信息;
将所述命中位置信息对应的伪随机参数确定为命中参数;
将所述命中参数分别与第二数目个所述候选字段代入所述公共伪随机函数进行解析计算,得到第二数目组一一对应的所述第二索引数据与第二密钥信息;
基于所述第二密钥信息对所述候选内容信息进行对称加密处理,得到所述加密子数据;
将所述第二索引数据与所述加密子数据进行整合,生成所述第二加密数据。
6.一种批量信息查询方法,其特征在于,应用于公共运算方,所述方法包括:
获取公共伪随机函数;
从信息查询端获取待查询的关键字段与第一位置信息,所述第一位置信息反映所述关键字段在第一哈希数组中的存储位置;
基于所述第一位置信息与所述公共伪随机函数对第一数目个所述关键字段进行不经意伪随机处理,得到第一数目个伪随机参数与第一加密数据,每一所述伪随机参数配置有对应的位置匹配标识;其中,所述第一加密数据包括一一对应的第一索引数据与第一密钥信息;
将多组一一对应的所述伪随机参数与所述位置匹配标识进行整合,得到伪随机标识信息;
将所述伪随机标识信息发送至数据服务端,以使所述数据服务端基于所述伪随机标识信息进行第二加密处理而生成第二加密数据,所述第二加密数据包括一一对应的第二索引数据与加密子数据,所述第二加密数据生成后由所述数据服务端发送至所述信息查询端;
将所述第一加密数据发送至所述信息查询端,以使所述信息查询端将所述第一索引数据与所述第二索引数据进行匹配处理,当所述第一索引数据与所述第二索引数据匹配成功,基于所述第一密钥信息对所述加密子数据进行解析处理,得到与所述关键字段对应的查询结果信息。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一位置信息与所述公共伪随机函数对第一数目个所述关键字段进行不经意伪随机处理,得到第一数目个伪随机参数与所述第一加密数据,包括:
基于所述第一位置信息对第一数目个所述关键字段进行伪随机数计算,得到第一数目个所述伪随机参数;
将一一对应的所述伪随机参数与所述关键字段代入所述公共伪随机函数进行解析计算,得到所述第一索引数据与第一密钥信息;
将一一对应的所述第一索引数据与第一密钥信息进行整合,得到所述第一加密数据。
8.一种电子设备,其特征在于,包括:存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的批量信息查询方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1至7中任意一项所述的批量信息查询方法。
CN202310351898.6A 2023-04-04 2023-04-04 一种批量信息查询方法及电子设备、存储介质 Active CN116150445B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310351898.6A CN116150445B (zh) 2023-04-04 2023-04-04 一种批量信息查询方法及电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310351898.6A CN116150445B (zh) 2023-04-04 2023-04-04 一种批量信息查询方法及电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN116150445A CN116150445A (zh) 2023-05-23
CN116150445B true CN116150445B (zh) 2023-07-21

Family

ID=86356431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310351898.6A Active CN116150445B (zh) 2023-04-04 2023-04-04 一种批量信息查询方法及电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN116150445B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015133990A1 (en) * 2014-03-03 2015-09-11 Intel Corporation Methods and apparatus for migrating keys
CN106209756A (zh) * 2015-06-01 2016-12-07 华为技术有限公司 口令更新方法、用户设备、用户位置服务器及域路由器
CA3067782A1 (en) * 2017-06-30 2019-01-03 Kawasaki Jukogyo Kabushiki Kaisha Running location identification system, running location identification apparatus, and running location identification method for railroad cars
CN109743728A (zh) * 2019-01-21 2019-05-10 常熟理工学院 一种隐私保护的移动社会网络路由方法
CN110784305A (zh) * 2019-10-31 2020-02-11 西安电子科技大学 基于不经意伪随机函数和签密的单点登录认证方法
CN111491294A (zh) * 2020-04-07 2020-08-04 常熟理工学院 基于交换的隐私保护容迟网络路由方法
CN112182630A (zh) * 2020-10-28 2021-01-05 青岛大学 一种对称可搜索加密方法、装置、设备及介质
CN113343305A (zh) * 2021-06-29 2021-09-03 招商局金融科技有限公司 隐私数据的交集计算方法、装置、设备及存储介质
CN114443718A (zh) * 2022-01-28 2022-05-06 上海冰鉴信息科技有限公司 一种数据查询方法及系统
CN114547668A (zh) * 2021-12-30 2022-05-27 天翼电子商务有限公司 一种基于国密和索引混淆的匿踪查询方法及装置
CN115186145A (zh) * 2022-09-09 2022-10-14 华控清交信息科技(北京)有限公司 一种隐私关键词查询方法、装置及系统
WO2022266071A1 (en) * 2021-06-15 2022-12-22 Google Llc Encrypted information retrieval
CN115510490A (zh) * 2022-10-10 2022-12-23 中国银行股份有限公司 一种非密钥共享的加密数据查询方法、装置、系统及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8910246B2 (en) * 2010-11-18 2014-12-09 The Boeing Company Contextual-based virtual data boundaries

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015133990A1 (en) * 2014-03-03 2015-09-11 Intel Corporation Methods and apparatus for migrating keys
CN106209756A (zh) * 2015-06-01 2016-12-07 华为技术有限公司 口令更新方法、用户设备、用户位置服务器及域路由器
CA3067782A1 (en) * 2017-06-30 2019-01-03 Kawasaki Jukogyo Kabushiki Kaisha Running location identification system, running location identification apparatus, and running location identification method for railroad cars
CN109743728A (zh) * 2019-01-21 2019-05-10 常熟理工学院 一种隐私保护的移动社会网络路由方法
CN110784305A (zh) * 2019-10-31 2020-02-11 西安电子科技大学 基于不经意伪随机函数和签密的单点登录认证方法
CN111491294A (zh) * 2020-04-07 2020-08-04 常熟理工学院 基于交换的隐私保护容迟网络路由方法
CN112182630A (zh) * 2020-10-28 2021-01-05 青岛大学 一种对称可搜索加密方法、装置、设备及介质
WO2022266071A1 (en) * 2021-06-15 2022-12-22 Google Llc Encrypted information retrieval
CN113343305A (zh) * 2021-06-29 2021-09-03 招商局金融科技有限公司 隐私数据的交集计算方法、装置、设备及存储介质
CN114547668A (zh) * 2021-12-30 2022-05-27 天翼电子商务有限公司 一种基于国密和索引混淆的匿踪查询方法及装置
CN114443718A (zh) * 2022-01-28 2022-05-06 上海冰鉴信息科技有限公司 一种数据查询方法及系统
CN115186145A (zh) * 2022-09-09 2022-10-14 华控清交信息科技(北京)有限公司 一种隐私关键词查询方法、装置及系统
CN115510490A (zh) * 2022-10-10 2022-12-23 中国银行股份有限公司 一种非密钥共享的加密数据查询方法、装置、系统及设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SoK: Oblivious Pseudorandom Functions;S. Casacuberta 等;《2022 IEEE 7th European Symposium on Security and Privacy (EuroS&P)》;625-646 *
基于FLASH芯片的加密存储技术研究;吴延军;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;I137-35 *
边缘计算网络中基于伪随机函数的可追溯假化名隐私保护研究;邢伟 等;《无线互联科技》;第18卷(第21期);20-24 *

Also Published As

Publication number Publication date
CN116150445A (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
CN108123800B (zh) 密钥管理方法、装置、计算机设备及存储介质
CN109146481B (zh) 区块链钱包的账户私钥自动导入方法、介质、装置及区块链系统
US7978858B2 (en) Terminal device, group management server, network communication system, and method for generating encryption key
CN108881195A (zh) 基于云环境的数据安全共享方法和装置
CN110400164B (zh) 数据确定方法和装置、存储介质及电子装置
CN105610793A (zh) 一种外包数据加密存储与密文查询系统及其应用方法
CN111177769A (zh) 一种隐私数据保护的名单查询方法及相关的名单查询系统
CN114840867B (zh) 基于可交换加密数据混淆的数据查询方法、装置和系统
CN110581839A (zh) 内容保护方法及装置
CN115412356A (zh) 数据查询设备法、装置、计算机设备以及存储介质
CN113660197A (zh) 混淆数据聚合隐私保护方法、系统、设备、介质、终端
CN113254982A (zh) 一种支持关键词查询的匿踪查询方法及系统
CN111192050B (zh) 一种数字资产私钥存储提取方法及装置
Xia et al. Searchable Public-Key Encryption with Data Sharing in Dynamic Groups for Mobile Cloud Storage.
US11924178B2 (en) Method and system for secure information distribution based on group shared key
CN115567207A (zh) 采用量子密钥分发实现组播数据加解密方法及系统
CN113301036A (zh) 通信加密方法和装置、设备及存储介质
CN113836571B (zh) 基于云和区块链的医疗数据拥有终端位置匹配方法及系统
CN111934854A (zh) 数据确定方法和装置、存储介质及电子装置
US20240015014A1 (en) Dynamic and verifiable searchable encryption method and system based on updatable encryption and blockchain
CN116150445B (zh) 一种批量信息查询方法及电子设备、存储介质
CN111931204A (zh) 用于分布式系统的加密去重存储方法、终端设备
CN114979253B (zh) 数据推送决策方法、装置、介质及设备
CN116405320A (zh) 数据传输方法及装置
CN114050897B (zh) 一种基于sm9的异步密钥协商方法及装置

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
GR01 Patent grant
GR01 Patent grant