CN115269938B - 基于同态加密的关键词匿踪查询方法、系统及相关装置 - Google Patents
基于同态加密的关键词匿踪查询方法、系统及相关装置 Download PDFInfo
- Publication number
- CN115269938B CN115269938B CN202211155376.0A CN202211155376A CN115269938B CN 115269938 B CN115269938 B CN 115269938B CN 202211155376 A CN202211155376 A CN 202211155376A CN 115269938 B CN115269938 B CN 115269938B
- Authority
- CN
- China
- Prior art keywords
- vector
- data
- responder
- bucket
- barrel
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9038—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种基于同态加密的关键词匿踪查询方法、系统及相关装置,方法包括:生成同态加密的公钥和私钥;对数据进行分桶操作;计算待查询关键词K所在桶的目标编号,并获取目标编号的桶中元素,得到n个元素;构造含有n个元素的第一向量;根据公钥对其进行加密,得到第二向量;根据目标编号对应的桶中的所有关键词和第二向量,确定索引值响应向量,私钥解密该索引值响应向量,得到明文向量;根据明文向量确定K所在桶中目标位置;根据目标位置构造第三向量以及加密,得到第四向量;将桶中数据与第四向量进行内积运算,得到运算结果向量,私钥对其解密,得到解密结果,确定查询结果。采用本申请实施例可以提升数据查询的安全性。
Description
技术领域
本申请涉及隐私计算技术领域以及计算机技术领域,具体涉及一种基于同态加密的关键词匿踪查询方法、系统及相关装置。
背景技术
实际应用中,隐私信息检索技术主要用于隐私数据的检索。对于请求方来说,向响应方查询某个关键词对应的数据内容,但是不想暴露自己查询的关键词;对于响应方来说,向请求方应答对应的数据内容,但是不想暴露数据库中与查询方关键词无关的数据。如何提升数据查询的安全性的问题亟待解决。
发明内容
本申请实施例提供了一种基于同态加密的关键词匿踪查询方法及相关装置,可以提升数据查询的安全性。
第一方面,本申请实施例提供一种基于同态加密的关键词匿踪查询方法,应用于两方计算系统,所述两方计算系统包括请求方和响应方,其中,
通过所述请求方生成同态加密的公私钥对,将所述公私钥对中的公钥同步给所述响应方,所述公私钥对包括所述公钥和私钥;
通过所述响应方对数据进行分桶操作,得到桶数量以及每个桶的元素数量,将所述桶数量以及每个桶的元素数量同步给所述请求方;
通过所述请求方计算待查询关键词K所在桶的目标编号,并获取所述目标编号的桶中元素,得到n个元素;构造含有所述n个元素的第一向量,该第一向量中每个元素的值均为K;根据所述公钥对所述第一向量进行加密,得到第二向量,将所述第二向量和所述目标编号发送给所述响应方;
通过所述响应方根据所述目标编号对应的桶中的所有关键词和所述第二向量,确定索引值响应向量,将所述索引值响应向量发送给所述请求方;
通过所述请求方根据所述私钥解密所述索引值响应向量,得到明文向量;根据所述明文向量确定所述待查询关键词K所在桶中目标位置;根据所述目标位置构造第三向量;对所述第三向量加密,得到第四向量,将所述第四向量发送给所述响应方;
通过所述响应方将桶中数据分别与所述第四向量进行内积运算,得到运算结果向量,将所述运算结果向量发送给所述请求方;
通过所述请求方根据所述私钥对所述运算结果向量进行解密,得到解密结果,根据所述解密结果确定查询结果。
第二方面,本申请实施例提供了一种两方计算系统,所述两方计算系统包括请求方和响应方,其中,
所述请求方,用于生成同态加密的公私钥对,将所述公私钥对中的公钥同步给所述响应方,所述公私钥对包括所述公钥和私钥;
所述响应方,用于对数据进行分桶操作,得到桶数量以及每个桶的元素数量,将所述桶数量以及每个桶的元素数量同步给所述请求方;
所述请求方,还用于计算待查询关键词K所在桶的目标编号,并获取所述目标编号的桶中元素,得到n个元素;构造含有所述n个元素的第一向量,该第一向量中每个元素的值均为K;根据所述公钥对所述第一向量进行加密,得到第二向量,将所述第二向量和所述目标编号发送给所述响应方;
所述响应方,还用于根据所述目标编号对应的桶中的所有关键词和所述第二向量,确定索引值响应向量,将所述索引值响应向量发送给所述请求方;
所述请求方,还用于根据所述私钥解密所述索引值响应向量,得到明文向量;根据所述明文向量确定所述待查询关键词K所在桶中目标位置;根据所述目标位置构造第三向量;对所述第三向量加密,得到第四向量,将所述第四向量发送给所述响应方;
所述响应方,还用于将桶中数据分别与所述第四向量进行内积运算,得到运算结果向量,将所述运算结果向量发送给所述请求方;
所述请求方,还用于根据所述私钥对所述运算结果向量进行解密,得到解密结果,根据所述解密结果确定查询结果。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
实施本申请实施例,具备如下有益效果:
可以看出,本申请实施例中所描述的基于同态加密的关键词匿踪查询方法、系统及相关装置,应用于两方计算系统,两方计算系统包括请求方和响应方,其中,通过请求方生成同态加密的公私钥对,将公私钥对中的公钥同步给响应方,公私钥对包括公钥和私钥,通过响应方对数据进行分桶操作,得到桶数量以及每个桶的元素数量,将桶数量以及每个桶的元素数量同步给请求方,通过请求方计算待查询关键词K所在桶的目标编号,并获取目标编号的桶中元素,得到n个元素;构造含有n个元素的第一向量,该第一向量中每个元素的值均为K,根据公钥对第一向量进行加密,得到第二向量,将第二向量和目标编号发送给响应方,通过响应方根据目标编号对应的桶中的所有关键词和第二向量,确定索引值响应向量,将索引值响应向量发送给请求方,通过请求方根据私钥解密索引值响应向量,得到明文向量;根据明文向量确定待查询关键词K所在桶中目标位置;根据目标位置构造第三向量;对第三向量加密,得到第四向量,将第四向量发送给响应方,通过响应方将桶中数据分别与第四向量进行内积运算,得到运算结果向量,将运算结果向量发送给请求方,通过请求方根据私钥对运算结果向量进行解密,得到解密结果,根据解密结果确定查询结果,使用同态加密算法加密待查询的关键字,并由请求方完成加密步骤,使响应方无法得知待查询信息,另外,实现了关键词到索引值的映射,可以同时支持基于索引值的查询以及基于关键词的查询,适用范围,还可以提升数据查询的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种用于实现基于同态加密的关键词匿踪查询方法的两方计算系统的架构示意图;
图2是本申请实施例提供的一种基于同态加密的关键词匿踪查询方法的流程示意图;
图3是本申请实施例提供的一种当前关键词桶中数据状态的演示示意图;
图4是本申请实施例提供的一种当前数据桶中数据状态的演示示意图;
图5是本申请实施例提供的另一种基于同态加密的关键词匿踪查询方法的流程示意图;
图6是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所描述两方计算系统中的计算节点可以为电子设备,电子设备可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、行车记录仪、服务器、笔记本电脑、移动互联网设备(MID,Mobile Internet Devices)或穿戴式设备(如智能手表、蓝牙耳机)等,上述仅是举例,而非穷举,包含但不限于上述电子设备,该电子设备也可以为云服务器,或者,该电子设备也可以为计算机集群。本申请实施例中,请求方、响应方均可以为上述电子设备。
下面对本申请实施例进行详细介绍。
相关技术中的索引同步步骤中,关键字被作为AES对称密钥使用,使用该对称密钥加密相应的索引。但由于存储在数据库中的关键字往往具有标准规范的格式,会使密钥空间大大降低。因此,采用关键字作为对称密钥会降低系统的安全性。
在掌握关键字构造规则的基础上,请求方可通过建立“关键字-AES密钥”对照表来降低猜测密钥的难度,最终降低破解密码的难度。如:当正常使用AES-128加密算法时,AES密钥可能的取值有2128(约10121)个;而当使用以身份证号为关键字生成AES密钥时,密钥可能的取值减少到1018个,密钥空间约缩减了10103倍,危险系数大大提高。
问题的关键在于,当获取关键字的索引值时,索引值的加密存在风险。由于隐私计算的特性,通信双方不能通过协商获得高质量的对称密钥,所以采用对称加密获取索引值的方案存在一定问题。
基于此,本申请实施例提供了一种基于同态加密的关键词匿踪查询方法,该方法应用于两方计算系统,两方计算系统包括请求方和响应方,其中,通过请求方生成同态加密的公私钥对,将公私钥对中的公钥同步给响应方,公私钥对包括公钥和私钥,通过响应方对数据进行分桶操作,得到桶数量以及每个桶的元素数量,将桶数量以及每个桶的元素数量同步给请求方,通过请求方计算待查询关键词K所在桶的目标编号,并获取目标编号的桶中元素,得到n个元素;构造含有n个元素的第一向量,该第一向量中每个元素的值均为K,根据公钥对第一向量进行加密,得到第二向量,将第二向量和目标编号发送给响应方,通过响应方根据目标编号对应的桶中的所有关键词和第二向量,确定索引值响应向量,将索引值响应向量发送给请求方,通过请求方根据私钥解密索引值响应向量,得到明文向量;根据明文向量确定待查询关键词K所在桶中目标位置;根据目标位置构造第三向量;对第三向量加密,得到第四向量,将第四向量发送给响应方,通过响应方将桶中数据分别与第四向量进行内积运算,得到运算结果向量,将运算结果向量发送给请求方,通过请求方根据私钥对运算结果向量进行解密,得到解密结果,根据解密结果确定查询结果。
本申请实施例中,使用同态加密算法加密待查询的关键字,并由请求方完成加密步骤,使响应方无法得知待查询信息。
本申请实施例中,为了实现对于存在固定生成规则的关键词的隐私信息检索,解决了在未同步查询索引的情况下,快速进行隐私信息检索的问题。
相比于使用AES发明加密的关键词检索方案,本申请实施例,通过设计基于同态加密的隐私信息检索协议,提高了数据查询的安全性。
此外,在正式进行查询前,响应方对数据进行了分桶,并与响应方同步了分桶规则,在之后的每次交互过程中只需要对某一个桶中的数据进行操作,从而降低了通信代价。
请参阅图1,图1是本申请实施例提供的一种用于实现基于同态加密的关键词匿踪查询方法的两方计算系统的架构示意图,如图所示,所述两方计算系统包括请求方和响应方;该系统能够实现如下功能:
所述请求方,用于生成同态加密的公私钥对,将所述公私钥对中的公钥同步给所述响应方,所述公私钥对包括所述公钥和私钥;
所述响应方,用于对数据进行分桶操作,得到桶数量以及每个桶的元素数量,将所述桶数量以及每个桶的元素数量同步给所述请求方;
所述请求方,还用于计算待查询关键词K所在桶的目标编号,并获取所述目标编号的桶中元素,得到n个元素;构造含有所述n个元素的第一向量,该第一向量中每个元素的值均为K;根据所述公钥对所述第一向量进行加密,得到第二向量,将所述第二向量和所述目标编号发送给所述响应方;
所述响应方,还用于根据所述目标编号对应的桶中的所有关键词和所述第二向量,确定索引值响应向量,将所述索引值响应向量发送给所述请求方;
所述请求方,还用于根据所述私钥解密所述索引值响应向量,得到明文向量;根据所述明文向量确定所述待查询关键词K所在桶中目标位置;根据所述目标位置构造第三向量;对所述第三向量加密,得到第四向量,将所述第四向量发送给所述响应方;
所述响应方,还用于将桶中数据分别与所述第四向量进行内积运算,得到运算结果向量,将所述运算结果向量发送给所述请求方;
所述请求方,还用于根据所述私钥对所述运算结果向量进行解密,得到解密结果,根据所述解密结果确定查询结果。
可选的,在所述对数据进行分桶操作,得到桶数量以及每个桶的元素数量方面,包括:
对数据进行预处理,得到预处理后的数据;
按照预设分桶规则将预处理后的数据进行分桶操作,得到所述桶数量以及每个桶的元素数量,其中,所述预设分桶规则为:i=data mod N,其中,i为桶的编号,data表示预处理后的数据,N为数据桶的总数量。
可选的,在所述根据所述目标编号对应的桶中的所有关键词和所述第二向量,确定索引值响应向量,包括:
将所述目标编号对应的桶中的所有关键词与所述第二向量中的值做减法运算,得到同态加密向量;
生成随机数,将所述随机数与所述同态加密向量做内积运算,得到所述索引值响应向量。
可选的,所述第三向量包括n个元素,所述根据所述目标位置构造第三向量,包括:
将所述第三向量中所述目标位置的元素设置为1;
将所述第三向量中除所述目标位置之外的元素设置为0。
可选的,所述通过所述请求方生成同态加密的公私钥对,包括:
通过所述请求方基于BFV同态加密算法生成同态加密的公私钥对。
请参阅图2,图2是本申请实施例提供的一种基于同态加密的关键词匿踪查询方法的流程示意图,应用于图1所示的两方计算系统,所述两方计算系统包括请求方和响应方;如图所示,本基于同态加密的关键词匿踪查询方法可以包括如下步骤:
201、通过所述请求方生成同态加密的公私钥对,将所述公私钥对中的公钥同步给所述响应方,所述公私钥对包括所述公钥和私钥。
本申请实施例中,请求方可以采用同态加密算法生成同态加密的公私钥对,该公私钥对可以包括公钥和私钥,可以将公钥同步给响应方。
可选的,上述步骤201,通过所述请求方生成同态加密的公私钥对,可以按照如下方式实施:
通过所述请求方基于BFV同态加密算法生成同态加密的公私钥对。
本申请实施例中,为了同时保证关键词检索过程中请求方和响应方的隐私性,并考虑到在当前场景下对称加密算法密钥空间过低而导致的不可靠性,因此,全部采用同态加密的方式完成查询。其中,同态加密算法可以为BFV(Brakerski/Fan-Vercauteren)算法,即本隐私查询方案采用的同态算法为BFV,BFV算法的特性之一是,对于相同的数据,加密出来的结果拥有随机性。该特性可以很好地解决前面提到的暴力破解问题。具体的,请求方可以生成BFV同态加密的公私钥对。采用了针对向量优化的BFV同态加密方案,速度快。提供更加安全的加密机制。
202、通过所述响应方对数据进行分桶操作,得到桶数量以及每个桶的元素数量,将所述桶数量以及每个桶的元素数量同步给所述请求方。
本申请实施例中,数据均可以为一个数据集合,该数据集合可以包括多条数据组,每一数据组可以包括多个数据,每一数据可以对应一个标签信息,每一数据可以理解为一个信息字段,其用于表述标签信息的内容,标签信息可以包括以下至少一种:身份证号、身份卡号(ID-CARD)、电话号码(Phone Number)、年龄、家庭地址、银行卡号(Bank Card)、社保账号、社交账号、学号、工号等等,在此不做限定。
本申请实施例中,可以通过响应方对数据进行分桶操作,得到桶数量以及每个桶的元素数量,再可以将桶数量以及每个桶的元素数量同步给请求方,还可以将分桶规则同步给请求方。请求方和响应方之间可以同步公钥以及分桶规则。本申请实施例中,对数据进行了分桶,并行性高,查询速度快。
可选的,上述步骤202,通过所述响应方对数据进行分桶操作,得到桶数量以及每个桶的元素数量,可以包括如下步骤:
21、通过所述响应方对数据进行预处理,得到预处理后的数据;
22、按照预设分桶规则将预处理后的数据进行分桶操作,得到所述桶数量以及每个桶的元素数量,其中,所述预设分桶规则为:i=data mod N,其中,i为桶的编号,data表示预处理后的数据,N为数据桶的总数量。N为正整数。
其中,预处理可以包括以下至少一种:统一格式、类型统一、归一化处理、哈希处理等等,在此不做限定。预设分桶规则可以预先设置或者系统默认。例如,预处理可以为对关键词进行哈希算法处理,得到关键词的哈希值。哈希值可以为一个整数,可用于代表关键词的特征。该整数以data表示,可进行模运算(mod)。
具体实现中,本申请实施例中,可以通过响应方对数据进行预处理,得到预处理后的数据,再按照预设分桶规则可以将预处理后的数据进行分桶操作,得到桶数量以及每个桶的元素数量,其中,预设分桶规则为:i=data mod N,其中,i为桶的编号,data表示预处理后的数据,N为数据桶的总数量。
举例说明下,响应方可以对数据进行预处理并进行分桶,分桶规则为:对于数据data,将其放入桶i(i取值为data mod N,N为数据桶的总数量)。
203、通过所述请求方计算待查询关键词K所在桶的目标编号,并获取所述目标编号的桶中元素,得到n个元素;构造含有所述n个元素的第一向量,该第一向量中每个元素的值均为K;根据所述公钥对所述第一向量进行加密,得到第二向量,将所述第二向量和所述目标编号发送给所述响应方。
本申请实施例中,请求方基于桶数量以及每个桶的元素数量,则可以计算待查询关键词K所在桶的目标编号,并获取目标编号的桶中元素,得到n个元素,n为正整数,再构造含有n个元素的第一向量,该第一向量中每个元素的值均为K,再根据公钥对第一向量进行加密,得到第二向量,将第二向量和目标编号发送给响应方。该步骤采用了同态加密,满足请求方的隐私要求,安全性高。
其中,K可以为关键词,其取值可包含以下至少一种:字符串、整数等等,在此不做限定,关键词的长度不限。
举例说明下,请求方可以计算当前要查询的关键词K所在桶的编号bucket_i,计算规则为:bucket_i = K mod N,再可以根据之前同步的数据,得知桶bucket_i拥有n个元素,n为正整数。请求方则可以构造含有n个元素的第一向量,第一向量中每个元素的值均为K,此时,得到第一向量:<K,K,…,K>n。接着,请求方可以使用自己的公钥对向量加密,得到第二向量,第二向量可以为:<[[K]],[[K]],…,[[K]]>n,并将得到的加密结果(第二向量)以及待查询的目标桶号(bucket_i)发送给响应方。
204、通过所述响应方根据所述目标编号对应的桶中的所有关键词和所述第二向量,确定索引值响应向量,将所述索引值响应向量发送给所述请求方。
具体实现中,通过所述响应方根据目标编号对应的桶中的所有关键词和第二向量进行预设运算,预设预算可以为减法运算,基于预设运算的结果以及随机数确定索引值响应向量,将索引值响应向量发送给请求方。由于只需要同步一个桶中的数据,通信开销低。
可选的,上述步骤204,通过所述响应方根据所述目标编号对应的桶中的所有关键词和所述第二向量,确定索引值响应向量,可以包括如下步骤:
41、通过所述响应方将所述目标编号对应的桶中的所有关键词与所述第二向量中的值做减法运算,得到同态加密向量;
42、生成随机数,将所述随机数与所述同态加密向量做内积运算,得到所述索引值响应向量。
本申请实施例中,通过响应方将目标编号对应的桶中的所有关键词与第二向量中的值做减法运算,得到同态加密向量,再生成随机数,将随机数与同态加密向量做内积运算,得到索引值响应向量,即对于响应方数据的隐私性保护也做了设计,响应方生成随机值,并通过使用随机数对响应数据进行内积,混淆响应数据,从而使得请求方在收到响应数据后无法获取除自己所请求的数据以外的信息。该过程实现了关键词到索引值的映射,即通过基于同态加密的协议实现关键词到 index 的映射。可以同时支持基于索引值的查询以及基于关键词的查询,适用范围广。
举例说明下,如图3所示,图为3为假设的bucket_i桶中数据状态,则响应方接收到第二向量,使用bucket_i桶中所有关键词与该第二向量中值做减法,得到同态加密向量:<[[K-k0]],[[K-k1]],…,[[K-ki]],…,[[K-kn-1]]>n。假设第i个关键词ki的值即为请求方所请求的关键词K,因此,[[K-ki]]=[[0]]。
进一步的,响应方生成随机数R,并与同态加密向量做内积,得到索引值响应向量<[[R*(K-k0)]],[[R*(K-k1)]],…,[[R*0]],…,[[R*(K-kn-1)]]>n,将索引值响应向量返回给请求方。
205、通过所述请求方根据所述私钥解密所述索引值响应向量,得到明文向量;根据所述明文向量确定所述待查询关键词K所在桶中目标位置;根据所述目标位置构造第三向量;对所述第三向量加密,得到第四向量,将所述第四向量发送给所述响应方。
本申请实施例中,可以通过请求方根据私钥解密索引值响应向量,得到明文向量,再根据明文向量确定待查询关键词K所在桶中目标位置,即确定0所在位置,即为目标位置。再根据目标位置构造第三向量,第三向量的目标位置的元素为1,其他元素为0。对第三向量加密,得到第四向量,将第四向量发送给响应方。
可选的,所述第三向量包括n个元素,上述步骤205,根据所述目标位置构造第三向量,可以包括如下步骤:
51、将所述第三向量中所述目标位置的元素设置为1;
52、将所述第三向量中除所述目标位置之外的元素设置为0。
具体实现中,第三向量可以包括n个元素,其中,可以将第三向量中目标位置的元素设置为1,再将第三向量中除目标位置之外的元素设置为0。
举例说明下,请求方接收到索引值响应向量后,使用私钥解密该索引值响应向量,得到明文向量:<R*(K-k0),R*(K-k1),…,0,…,R*(K-kn-1)>n。具体实现中,可以通过定位0所在位置(假设0是第i个),请求方可以得知关键词K所在桶中位置为i。
进而,请求方可以构造含有n个元素的第三向量:<0,0,…,1,…,0>n,该第三向量中除第i个元素为1外,其他元素均为0。即第三向量中除了待查询关键词K所在的位置的元素为1,其他的元素均为0。
接着,使用公钥对该第三向量加密,得到第四向量:<[[0]],[[0]],…,[[1]],…,[[0]]>n,并将该第四向量发送给响应方。
206、通过所述响应方将桶中数据分别与所述第四向量进行内积运算,得到运算结果向量,将所述运算结果向量发送给所述请求方。
本申请实施例中,可以通过响应方将桶中数据分别与第四向量中相应的元素进行内积运算,得到运算结果向量。再将该运算结果向量发送给请求方。
举例说明下,如图4所示,图4为包含待查询数据的桶中状态。响应方接收第四向量之后,将桶中数据分别与第四向量做内积,得到运算结果向量:
<[[x0*0]],[[x1*0]],…,[[xi*1]],…,[[xn-1*0]]>n。
接着,可以再向请求方返回该运算结果向量。
207、通过所述请求方根据所述私钥对所述运算结果向量进行解密,得到解密结果,根据所述解密结果确定查询结果。
具体实现中,由于只返回一个加密后的用户要查询的结果,不需要发送额外数据,满足响应方数据隐私性高的需求。
举例说明下,请求方接收数据,使用私钥同态解密运算结果向量,得到结果为:<0,0,…,xi,…,0>n,xi即为待查询明文。
本申请实施例中,
在后续基于索引值的数据查询过程中需要对查询向量进行同态加密。采用BFV同态加密算法针对向量进行了加密优化从而提升加密性能。
举例说明下,本申请实施例中,该方案包含请求方(Client)和响应方(Server)两个参与方。具体实现步骤如下:
S1、请求方生成BFV同态加密的公私钥对,响应方对数据进行预处理并进行分桶,分桶规则为:对于数据data,将其放入桶i(i取值为data mod N,N为数据桶的总数量)。
S2、请求方和响应方同步公钥以及分桶规则。
S3、请求方计算当前要查询的关键词K所在桶的编号bucket_i,计算规则为:bucket_i = K mod N。根据之前同步的数据,得知桶bucket_i拥有n个元素。
S4、请求方构造含有n个元素的向量,向量中每个元素的值均为K,此时得到向量:<K, K, …, K>n。
S5、请求方使用自己的公钥对向量加密,得到向量:<[[K]], [[K]], …, [[K]]>n,并将得到的加密结果以及待查询的桶号bucket_i发送给响应方。
S6、假设bucket_i桶中数据状态如图3所示,响应方接收到加密向量,使用bucket_i桶中所有关键词与向量中值做减法,得到同态加密向量:<[[K-k0]], [[K-k1]], …, [[K-ki]], …, [[K-kn-1]]>n。假设第i个关键词ki的值即为请求方所请求的关键词K,因此[[K-ki]]=[[0]]。
S7、响应方生成随机数R,并与加密向量做内积,得到索引值响应向量<[[R*(K-k0)]], [[R*(K-k1)]], …, [[R*0]], …, [[R*(K-kn-1)]]>n。将索引值响应向量返回给请求方。
S8、请求方接收到响应向量后,使用私钥解密得到明文向量:<R*(K-k0), R*(K-k1), …, 0, …, R*(K-kn-1)>n。通过定位0所在位置(假设0是第i个),请求方可以得知关键词K所在桶中位置为i。
S9、请求方构造含有n个元素的向量<0, 0, …, 1, …, 0>n,该向量中除第i个元素为1外,其他元素均为0。接着使用公钥对该向量加密,得到<[[0]],[[0]],…,[[1]],…,[[0]]>n,并将该向量发送给响应方。
S10、此时,包含待查询数据的桶中状态如图4所示,响应方接收向量,将桶中数据分别与向量做内积,得到:<[[x0*0]],[[x1*0]],…,[[xi*1]],…,[[xn-1*0]]>n。向请求方返回该向量。
S11、请求方接收数据,使用私钥同态解密得到结果:<0,0,…,xi,…,0>n,xi即为待查询明文。
具体的,如图5所示,响应方可以初始化桶,并同步桶数量及每个桶的元素数量给请求方,请求方可以生成同态非对称密钥对,并发送公钥给响应方。请求方根据待查询关键词K计算其所在桶编码bucket_i并获取该桶中元素数量n,根据关键词K生成索引值查询向量并做同态加密,向量长度n:<[[K]], [[K]], …, [[K]]>n,发送索引值查询向量给响应方。响应方可以将索引值查询向量与桶中关键词顺序做减法生成索引响应向量:<[[K-k0]], [[K-k1]], …, [[K-ki]], …, [[K-kn-1]]>n,生成随机数R,将R与上一步得到的向量做内积:<[[R*(K-k0)]], [[R*(K-k1)]], …, [[R*0]], …, [[R*(K-kn-1)]]>n,返回响应结果给请求方。请求方可以对向量同态解密:<R*(K-k0), R*(K-k1), …, 0, …, R*(K-kn-1)>n,计算出索引值index,根据index生成查询向量并做同态加密:<[[0]],[[0]],…,[[1]],…,[[0]]>n,并发送查询向量给响应方。响应方生成查询结果:<[[0*x0]],[[0*x1]],…,[[1*xindex]],…,[[0*xn-1]]>n,返回响应结果给请求方,请求方解密得到查询结果data。
可以看出,本申请实施例中所描述的基于同态加密的关键词匿踪查询方法,应用于两方计算系统,两方计算系统包括请求方和响应方,其中,通过请求方生成同态加密的公私钥对,将公私钥对中的公钥同步给响应方,公私钥对包括公钥和私钥,通过响应方对数据进行分桶操作,得到桶数量以及每个桶的元素数量,将桶数量以及每个桶的元素数量同步给请求方,通过请求方计算待查询关键词K所在桶的目标编号,并获取目标编号的桶中元素,得到n个元素;构造含有n个元素的第一向量,该第一向量中每个元素的值均为K,根据公钥对第一向量进行加密,得到第二向量,将第二向量和目标编号发送给响应方,通过响应方根据目标编号对应的桶中的所有关键词和第二向量,确定索引值响应向量,将索引值响应向量发送给请求方,通过请求方根据私钥解密索引值响应向量,得到明文向量;根据明文向量确定待查询关键词K所在桶中目标位置;根据目标位置构造第三向量;对第三向量加密,得到第四向量,将第四向量发送给响应方,通过响应方将桶中数据分别与第四向量进行内积运算,得到运算结果向量,将运算结果向量发送给请求方,通过请求方根据私钥对运算结果向量进行解密,得到解密结果,根据解密结果确定查询结果,使用同态加密算法加密待查询的关键字,并由请求方完成加密步骤,使响应方无法得知待查询信息,另外,实现了关键词到索引值的映射,可以同时支持基于索引值的查询以及基于关键词的查询,适用范围,还可以提升数据查询的安全性。
与上述实施例一致地,请参阅图6,图6是本申请实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,应用于两方计算系统,所述两方计算系统包括请求方和响应方;本申请实施例中,上述程序包括用于执行以下步骤的指令:
通过所述请求方生成同态加密的公私钥对,将所述公私钥对中的公钥同步给所述响应方,所述公私钥对包括所述公钥和私钥;
通过所述响应方对数据进行分桶操作,得到桶数量以及每个桶的元素数量,将所述桶数量以及每个桶的元素数量同步给所述请求方;
通过所述请求方计算待查询关键词K所在桶的目标编号,并获取所述目标编号的桶中元素,得到n个元素;构造含有所述n个元素的第一向量,该第一向量中每个元素的值均为K;根据所述公钥对所述第一向量进行加密,得到第二向量,将所述第二向量和所述目标编号发送给所述响应方;
通过所述响应方根据所述目标编号对应的桶中的所有关键词和所述第二向量,确定索引值响应向量,将所述索引值响应向量发送给所述请求方;
通过所述请求方根据所述私钥解密所述索引值响应向量,得到明文向量;根据所述明文向量确定所述待查询关键词K所在桶中目标位置;根据所述目标位置构造第三向量;对所述第三向量加密,得到第四向量,将所述第四向量发送给所述响应方;
通过所述响应方将桶中数据分别与所述第四向量进行内积运算,得到运算结果向量,将所述运算结果向量发送给所述请求方;
通过所述请求方根据所述私钥对所述运算结果向量进行解密,得到解密结果,根据所述解密结果确定查询结果。
可选的,在所述通过所述响应方对数据进行分桶操作,得到桶数量以及每个桶的元素数量方面,上述程序包括用于执行以下步骤的指令:
通过所述响应方对数据进行预处理,得到预处理后的数据;
按照预设分桶规则将预处理后的数据进行分桶操作,得到所述桶数量以及每个桶的元素数量,其中,所述预设分桶规则为:i=data mod N,其中,i为桶的编号,data表示预处理后的数据,N为数据桶的总数量。
可选的,在所述通过所述响应方根据所述目标编号对应的桶中的所有关键词和所述第二向量,确定索引值响应向量方面,上述程序包括用于执行以下步骤的指令:
通过所述响应方将所述目标编号对应的桶中的所有关键词与所述第二向量中的值做减法运算,得到同态加密向量;
生成随机数,将所述随机数与所述同态加密向量做内积运算,得到所述索引值响应向量。
可选的,所述第三向量包括n个元素,在所述根据所述目标位置构造第三向量方面,上述程序包括用于执行以下步骤的指令:
将所述第三向量中所述目标位置的元素设置为1;
将所述第三向量中除所述目标位置之外的元素设置为0。
可选的,在所述通过所述请求方生成同态加密的公私钥对方面,上述程序包括用于执行以下步骤的指令:
通过所述请求方基于BFV同态加密算法生成同态加密的公私钥对。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory ,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于同态加密的关键词匿踪查询方法,其特征在于,应用于两方计算系统,所述两方计算系统包括请求方和响应方,其中,
通过所述请求方生成同态加密的公私钥对,将所述公私钥对中的公钥同步给所述响应方,所述公私钥对包括所述公钥和私钥;
通过所述响应方对数据进行分桶操作,得到桶数量以及每个桶的元素数量,将所述桶数量以及每个桶的元素数量同步给所述请求方;
通过所述请求方计算待查询关键词K所在桶的目标编号,并获取所述目标编号的桶中元素,得到n个元素;构造含有所述n个元素的第一向量,该第一向量中每个元素的值均为K;根据所述公钥对所述第一向量进行加密,得到第二向量,将所述第二向量和所述目标编号发送给所述响应方;
通过所述响应方根据所述目标编号对应的桶中的所有关键词和所述第二向量,确定索引值响应向量,将所述索引值响应向量发送给所述请求方;
通过所述请求方根据所述私钥解密所述索引值响应向量,得到明文向量;根据所述明文向量确定所述待查询关键词K所在桶中目标位置;根据所述目标位置构造第三向量;对所述第三向量加密,得到第四向量,将所述第四向量发送给所述响应方;
通过所述响应方将桶中数据分别与所述第四向量进行内积运算,得到运算结果向量,将所述运算结果向量发送给所述请求方;
通过所述请求方根据所述私钥对所述运算结果向量进行解密,得到解密结果,根据所述解密结果确定查询结果。
2.根据权利要求1所述的方法,其特征在于,所述通过所述响应方对数据进行分桶操作,得到桶数量以及每个桶的元素数量,包括:
通过所述响应方对数据进行预处理,得到预处理后的数据;
按照预设分桶规则将预处理后的数据进行分桶操作,得到所述桶数量以及每个桶的元素数量,其中,所述预设分桶规则为:i=data mod N,其中,i为桶的编号,data表示预处理后的数据,N为数据桶的总数量。
3.根据权利要求1或2所述的方法,其特征在于,所述通过所述响应方根据所述目标编号对应的桶中的所有关键词和所述第二向量,确定索引值响应向量,包括:
通过所述响应方将所述目标编号对应的桶中的所有关键词与所述第二向量中的值做减法运算,得到同态加密向量;
生成随机数,将所述随机数与所述同态加密向量做内积运算,得到所述索引值响应向量。
4.根据权利要求1或2所述的方法,其特征在于,所述第三向量包括n个元素,所述根据所述目标位置构造第三向量,包括:
将所述第三向量中所述目标位置的元素设置为1;
将所述第三向量中除所述目标位置之外的元素设置为0。
5.根据权利要求1或2所述的方法,其特征在于,所述通过所述请求方生成同态加密的公私钥对,包括:
通过所述请求方基于BFV同态加密算法生成同态加密的公私钥对。
6.一种用于实现基于同态加密的关键词匿踪查询方法的两方计算系统,其特征在于,所述两方计算系统包括请求方和响应方,其中,
所述请求方,用于生成同态加密的公私钥对,将所述公私钥对中的公钥同步给所述响应方,所述公私钥对包括所述公钥和私钥;
所述响应方,用于对数据进行分桶操作,得到桶数量以及每个桶的元素数量,将所述桶数量以及每个桶的元素数量同步给所述请求方;
所述请求方,还用于计算待查询关键词K所在桶的目标编号,并获取所述目标编号的桶中元素,得到n个元素;构造含有所述n个元素的第一向量,该第一向量中每个元素的值均为K;根据所述公钥对所述第一向量进行加密,得到第二向量,将所述第二向量和所述目标编号发送给所述响应方;
所述响应方,还用于根据所述目标编号对应的桶中的所有关键词和所述第二向量,确定索引值响应向量,将所述索引值响应向量发送给所述请求方;
所述请求方,还用于根据所述私钥解密所述索引值响应向量,得到明文向量;根据所述明文向量确定所述待查询关键词K所在桶中目标位置;根据所述目标位置构造第三向量;对所述第三向量加密,得到第四向量,将所述第四向量发送给所述响应方;
所述响应方,还用于将桶中数据分别与所述第四向量进行内积运算,得到运算结果向量,将所述运算结果向量发送给所述请求方;
所述请求方,还用于根据所述私钥对所述运算结果向量进行解密,得到解密结果,根据所述解密结果确定查询结果。
7.根据权利要求6所述的系统,其特征在于,在所述对数据进行分桶操作,得到桶数量以及每个桶的元素数量方面,包括:
对数据进行预处理,得到预处理后的数据;
按照预设分桶规则将预处理后的数据进行分桶操作,得到所述桶数量以及每个桶的元素数量,其中,所述预设分桶规则为:i=data mod N,其中,i为桶的编号,data表示预处理后的数据,N为数据桶的总数量。
8.根据权利要求6或7所述的系统,其特征在于,在所述根据所述目标编号对应的桶中的所有关键词和所述第二向量,确定索引值响应向量,包括:
将所述目标编号对应的桶中的所有关键词与所述第二向量中的值做减法运算,得到同态加密向量;
生成随机数,将所述随机数与所述同态加密向量做内积运算,得到所述索引值响应向量。
9.一种电子设备,其特征在于,包括处理器、存储器,所述存储器用于存储一个或多个程序,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-5任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211155376.0A CN115269938B (zh) | 2022-09-22 | 2022-09-22 | 基于同态加密的关键词匿踪查询方法、系统及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211155376.0A CN115269938B (zh) | 2022-09-22 | 2022-09-22 | 基于同态加密的关键词匿踪查询方法、系统及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115269938A CN115269938A (zh) | 2022-11-01 |
CN115269938B true CN115269938B (zh) | 2023-02-14 |
Family
ID=83757748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211155376.0A Active CN115269938B (zh) | 2022-09-22 | 2022-09-22 | 基于同态加密的关键词匿踪查询方法、系统及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269938B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541582B (zh) * | 2023-07-06 | 2023-09-01 | 隐数科技(杭州)有限责任公司 | 基于全同态加密的安全数据的快捷查询方法及装置 |
CN116956354B (zh) * | 2023-09-21 | 2024-01-19 | 恒生电子股份有限公司 | 数据查询方法、装置、数据源设备、查询方设备及系统 |
CN117077209B (zh) * | 2023-10-16 | 2024-02-23 | 云阵(杭州)互联网技术有限公司 | 大规模数据匿踪查询方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489998A (zh) * | 2019-08-21 | 2019-11-22 | 青岛大学 | 一种可搜索加密方法、装置、设备及可读存储介质 |
CN112270006A (zh) * | 2020-11-02 | 2021-01-26 | 重庆邮电大学 | 电商平台中隐藏搜索模式和访问模式的可搜索加密方法 |
CN113254982A (zh) * | 2021-07-13 | 2021-08-13 | 深圳市洞见智慧科技有限公司 | 一种支持关键词查询的匿踪查询方法及系统 |
CN114428972A (zh) * | 2022-01-21 | 2022-05-03 | 深圳市洞见智慧科技有限公司 | 支持外包计算的隐私保护查询方法、装置及相关设备 |
CN114662147A (zh) * | 2022-03-24 | 2022-06-24 | 云南电网有限责任公司信息中心 | 一种适用于大规模数据库的隐私信息检索方法及系统 |
CN114756895A (zh) * | 2022-06-16 | 2022-07-15 | 深圳市洞见智慧科技有限公司 | 基于同态加密的匿踪数据核验方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102308066B1 (ko) * | 2018-05-07 | 2021-09-30 | 구글 엘엘씨 | 저선형 공개-키 동작들을 사용하는 개인 정보 리트리벌 |
CN112087439B (zh) * | 2020-09-02 | 2022-05-17 | 杭州趣链科技有限公司 | 区块链交易查询方法、系统、计算机设备和存储介质 |
CN112272188B (zh) * | 2020-11-02 | 2022-03-11 | 重庆邮电大学 | 一种电商平台数据隐私保护的可搜索加密方法 |
CN114756886B (zh) * | 2022-06-13 | 2022-08-16 | 华控清交信息科技(北京)有限公司 | 一种匿踪查询方法、装置和用于匿踪查询的装置 |
-
2022
- 2022-09-22 CN CN202211155376.0A patent/CN115269938B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489998A (zh) * | 2019-08-21 | 2019-11-22 | 青岛大学 | 一种可搜索加密方法、装置、设备及可读存储介质 |
CN112270006A (zh) * | 2020-11-02 | 2021-01-26 | 重庆邮电大学 | 电商平台中隐藏搜索模式和访问模式的可搜索加密方法 |
CN113254982A (zh) * | 2021-07-13 | 2021-08-13 | 深圳市洞见智慧科技有限公司 | 一种支持关键词查询的匿踪查询方法及系统 |
CN114428972A (zh) * | 2022-01-21 | 2022-05-03 | 深圳市洞见智慧科技有限公司 | 支持外包计算的隐私保护查询方法、装置及相关设备 |
CN114662147A (zh) * | 2022-03-24 | 2022-06-24 | 云南电网有限责任公司信息中心 | 一种适用于大规模数据库的隐私信息检索方法及系统 |
CN114756895A (zh) * | 2022-06-16 | 2022-07-15 | 深圳市洞见智慧科技有限公司 | 基于同态加密的匿踪数据核验方法及系统 |
Non-Patent Citations (9)
Title |
---|
"A systematic review on the status and progress of homomorphic encryption technologies";Jian Liu 等;《https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7774746》;20160831;1-4 * |
"Searchable Encryption Scheme on the Cloud via Fully Homomorphic Encryption";MohamedAlloghani 等;《https://www.sciencedirect.com/science/article/pii/S2214212618306057》;20191031;1-10 * |
"Verifiable Public Key Encryption With Keyword Search Based on Homomorphic Encryption in Multi-User Setting";D.N.Wu 等;《https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8423613》;20180731;42445-42453 * |
"一种支持属性撤销的top-k多关键词密文检索方案";王凯文 等;《西安电子科技大学学报》;20220215;26-33 * |
"云海:支持隐私保护的互联云存储结构及动态多关键字排序检索技术研究";李庆洋;《中国优秀硕士学位论文全文数据库 信息科技辑》;20181215;I137-42 * |
"加密数据库关键词快速检索的方法研究";项军政;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180215;I138-1144 * |
"基于CryptDB的密文检索与统计方法研究";张月欣;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190215;I138-218 * |
"基于内容的图像安全检索技术研究";庞子卯;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200715;I138-76 * |
"基于同态加密的多中心临床数据分析方法研究";陆遥;《中国博士学位论文全文数据库 医药卫生科技辑》;20220115;E053-24 * |
Also Published As
Publication number | Publication date |
---|---|
CN115269938A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115269938B (zh) | 基于同态加密的关键词匿踪查询方法、系统及相关装置 | |
US10903976B2 (en) | End-to-end secure operations using a query matrix | |
JP6180177B2 (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
CN109784931B (zh) | 一种基于区块链的数据查询平台的查询方法 | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
CN104967693B (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
CN107196840B (zh) | 数据处理方法、装置及设备 | |
US9641328B1 (en) | Generation of public-private key pairs | |
CN114142996B (zh) | 一种基于sm9密码算法的可搜索加密方法 | |
CN116032667B (zh) | 支持高效更新的在线匿踪查询方法、系统及相关设备 | |
CN112685753B (zh) | 一种用于加密数据存储的方法及设备 | |
CN115225409B (zh) | 基于多备份联合验证的云数据安全去重方法 | |
CN114491637B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN116502276B (zh) | 匿踪查询方法及装置 | |
CN116346310A (zh) | 基于同态加密的匿踪查询方法、装置和计算机设备 | |
CN115412356A (zh) | 数据查询设备法、装置、计算机设备以及存储介质 | |
CN115242514A (zh) | 基于国密的隐私集合求交方法、系统及相关设备 | |
US11133926B2 (en) | Attribute-based key management system | |
CN110443069A (zh) | 一种移动社交网络隐私保护的方法、系统及设备 | |
CN117786752A (zh) | 一种对称可搜索加密方法、装置、设备及介质 | |
WO2018043466A1 (ja) | データ抽出システム、データ抽出方法、登録装置及びプログラム | |
CN108141462B (zh) | 数据库查询的方法和系统 | |
CN115694921B (zh) | 一种数据存储方法、设备及介质 | |
CN113342802A (zh) | 区块链数据存储的方法和装置 | |
Gao et al. | Similarity-based Secure Deduplication for IIoT Cloud Management System |
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 |