CN116032667A - 支持高效更新的在线匿踪查询方法、系统及相关设备 - Google Patents
支持高效更新的在线匿踪查询方法、系统及相关设备 Download PDFInfo
- Publication number
- CN116032667A CN116032667A CN202310316392.1A CN202310316392A CN116032667A CN 116032667 A CN116032667 A CN 116032667A CN 202310316392 A CN202310316392 A CN 202310316392A CN 116032667 A CN116032667 A CN 116032667A
- Authority
- CN
- China
- Prior art keywords
- key
- polynomial
- representing
- ciphertext
- client
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004364 calculation method Methods 0.000 claims abstract description 31
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
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
本申请实施例公开了一种支持高效更新的在线匿踪查询方法、系统及相关设备,应用于两方计算系统,其包括服务端和客户端,服务端包括键值数据库,客户端包括待查询键值;客户端生成公钥和私钥,服务端根据键值数据库生成零化多项式和多线性扩展多项式,客户端将待查询键值表示为二进制形式的比特串,采用公钥对比特串的每一位加密,得到第一密文,服务端将第一密文输入零化多项式进行同态计算,得到第二密文;将第一密文输入多线性扩展多项式进行同态计算,得到第三密文;客户端利用私钥解密第二密文和第三密文,分别得到第一明文和第二明文;根据第一明文和第二明文确定目标查询结果。采用本申请实施例可以提升匿踪查询效率。
Description
技术领域
本申请涉及隐私计算技术领域以及计算机技术领域,具体涉及一种支持高效更新的在线匿踪查询方法、系统及相关设备。
背景技术
目前,匿踪查询(private information retrieval,PIR)技术主要应用于查询方在检索数据时防止数据持有方了解检索条件的场景中。如银行保险等金融机构因业务需要,向外部数据合作方进行客户查询,传统查询方式需向其提供客户身份标识等信息,导致客户隐私信息泄露。利用匿踪查询技术可使得查询方得到结果的同时不泄露具体查询数据。此外,如电子商务、证券交易等场景中,数据库更新频率较高,现有在线匿踪查询方案应用于此类场景存在更新效率低、通信开销高等问题,因此,如何提供一种支持高效更新的在线匿踪查询方案的问题亟待解决。
发明内容
本申请实施例提供了一种支持高效更新的在线匿踪查询方法、系统及相关设备,可以提供一种支持高效更新的在线匿踪查询方案,以提升匿踪查询效率。
第一方面,本申请实施例提供一种支持高效更新的在线匿踪查询方法,应用于两方计算系统,所述两方计算系统包括服务端和客户端,所述服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,所述客户端包括待查询键值;所述方法包括:
通过所述客户端生成同态密钥对,所述同态密钥对包括公钥和私钥,将所述公钥发送给所述服务端;
通过所述服务端根据所述键值数据库生成零化多项式,以及根据所述键值数据库生成多线性扩展多项式;
通过所述客户端将所述待查询键值表示为二进制形式的比特串,并采用所述公钥对所述比特串的每一位进行加密,得到第一密文,将所述第一密文发送给所述服务端;
通过所述服务端将所述第一密文作为输入数据;将所述输入数据输入所述零化多项式进行同态计算,得到第二密文;将所述输入数据输入所述多线性扩展多项式进行同态计算,得到第三密文;将所述第二密文和所述第三密文返回所述客户端;
通过所述客户端利用所述私钥解密所述第二密文和所述第三密文,分别得到第一明文和第二明文;根据所述第一明文和所述第二明文确定目标查询结果。
第二方面,本申请实施例提供了一种两方计算系统,所述两方计算系统包括服务端和客户端,所述服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,所述客户端包括待查询键值;其中,
所述客户端,用于生成同态密钥对,所述同态密钥对包括公钥和私钥,将所述公钥发送给所述服务端;
所述服务端,用于根据所述键值数据库生成零化多项式,以及根据所述键值数据库生成多线性扩展多项式;
所述客户端,还用于将所述待查询键值表示为二进制形式的比特串,并采用所述公钥对所述比特串的每一位进行加密,得到第一密文,将所述第一密文发送给所述服务端;
所述服务端,还用于将所述第一密文作为输入数据;将所述输入数据输入所述零化多项式进行同态计算,得到第二密文;将所述输入数据输入所述多线性扩展多项式进行同态计算,得到第三密文;将所述第二密文和所述第三密文返回所述客户端;
所述客户端,还用于利用所述私钥解密所述第二密文和所述第三密文,分别得到第一明文和第二明文;根据所述第一明文和所述第二明文确定目标查询结果。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
实施本申请实施例,具备如下有益效果:
可以看出,本申请实施例中所描述的支持高效更新的在线匿踪查询方法、系统及相关设备,应用于两方计算系统,两方计算系统包括服务端和客户端,服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,客户端包括待查询键值;通过客户端生成同态密钥对,同态密钥对包括公钥和私钥,将公钥发送给服务端,通过服务端根据键值数据库生成零化多项式,以及根据键值数据库生成多线性扩展多项式,通过客户端将待查询键值表示为二进制形式的比特串,并采用公钥对比特串的每一位进行加密,得到第一密文,将第一密文发送给服务端,通过服务端将第一密文作为输入数据;将输入数据输入零化多项式进行同态计算,得到第二密文;将输入数据输入多线性扩展多项式进行同态计算,得到第三密文;将第二密文和第三密文返回客户端,通过客户端利用私钥解密第二密文和第三密文,分别得到第一明文和第二明文;根据第一明文和第二明文确定目标查询结果,从而可以提供一种支持高效更新的在线匿踪查询方案,以提升匿踪查询效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种用于实现支持高效更新的在线匿踪查询方法的两方计算系统的架构示意图;
图2是本申请实施例提供的一种支持高效更新的在线匿踪查询方法的流程示意图;
图3是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所描述服务端、客户端可以为电子设备,电子设备可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、行车记录仪、服务器、笔记本电脑、移动互联网设备(MID,Mobile Internet Devices)或穿戴式设备(如智能手表、蓝牙耳机)等,上述仅是举例,而非穷举,包含但不限于上述电子设备,该电子设备也可以为云服务器,或者,该电子设备也可以为计算机集群。
下面对本申请实施例进行详细介绍。
相关技术中, 现有在线匿踪查询方案主要分为两类,下面分别进行介绍。
第一类为基于多项式插值和全同态加密算法的方案,其计算流程如下:
A1、客户端生成全同态加密算法公私钥对,并将公钥发给服务端;
A2、服务端将键值数据库生成一个插值多项式,同时根据数据库中的键生成一个零化多项式;
A3、客户端将查询请求用同态公钥加密后,发至服务端;
A4、服务端利用同态加密的性质计算密文的两个多项式结果,并发回;
A5、客户端解密后若零化多项式结果为0,则插值多项式的解密结果即为查询结果。
第二类为基于加法同态加密的方案,其计算流程如下:
B1、客户端生成加法同态加密算法公私钥对,并将公钥发给服务端;
B2、客户端将查询请求利用同态公钥加密并发至服务端;
B3、服务端利用同态性质将该密文与数据库中每个键相减,并同态乘随机数后,发给客户端;
B4、客户端收到后解密得到查询值在数据库中的对应位置,并构造查询向量,即查询值对应位置为1,其余为0,将查询向量利用同态公钥加密后发给服务端;
B5、服务端将向量密文与对应值同态地做内积运算,得到结果密文,发给客户端;
B6、客户端解密即得到查询结果。
其中,在第一类方案中,将键值数据库表示为一个插值多项式,在数据库更新频率较高的场景中,每次更新均需将数据库重新进行插值计算,而插值计算效率低下,成为该方案的性能瓶颈。在第二类方案中,服务端可根据数据库的实时更新情况,将正确结果返回客户端,然而,由于服务端返回结果数量与数据库大小线性相关,当数据库中数据量很大时,其庞大的通信量使得该方案的性能较差。
为了解决相关技术中的缺陷,请参阅图1,图1是本申请实施例提供的一种用于实现支持高效更新的在线匿踪查询方法的两方计算系统的架构示意图,如图所示,应用于两方计算系统,所述两方计算系统包括服务端和客户端,所述服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,所述客户端包括待查询键值;基于该两方计算系统可以实现如下功能:
通过所述客户端生成同态密钥对,所述同态密钥对包括公钥和私钥,将所述公钥发送给所述服务端;
通过所述服务端根据所述键值数据库生成零化多项式,以及根据所述键值数据库生成多线性扩展多项式;
通过所述客户端将所述待查询键值表示为二进制形式的比特串,并采用所述公钥对所述比特串的每一位进行加密,得到第一密文,将所述第一密文发送给所述服务端;
通过所述服务端将所述第一密文作为输入数据;将所述输入数据输入所述零化多项式进行同态计算,得到第二密文;将所述输入数据输入所述多线性扩展多项式进行同态计算,得到第三密文;将所述第二密文和所述第三密文返回所述客户端;
通过所述客户端利用所述私钥解密所述第二密文和所述第三密文,分别得到第一明文和第二明文;根据所述第一明文和所述第二明文确定目标查询结果。
可选的,在所述根据所述键值数据库生成零化多项式方面,该两方计算系统可以实现如下功能:
按照如下公式生成所述零化多项式:
,
其中,表示所述键值数据库中的键值数据对的数量,为的二进制形式的比特串,该比特串的长度为,表示该比特串的最低位,表示该比特串的最高位,表示该比特串的第个比特位,表示所述键值数据库中的第个键值,表示所述零化多项式。
进一步的,在所述根据所述键值数据库生成多线性扩展多项式方面,该两方计算系统可以实现如下功能:
按照如下公式生成多线性扩展多项式:
,
其中,表示所述键值数据库中的第个数据,,则当时,;当时,表示所述多线性扩展多项式。
进一步的,可选的,若所述待查询键值为,所述表示为二进制形式的比特串;所述第二密文为,所述第三密文为;表示所述第一明文;表示所述第二明文;
所述根据所述第一明文和所述第二明文确定目标查询结果,包括:
若,确定所述在键值数据库中;
按照如下公式确定所述目标查询结果:
,
其中,表示所述目标查询结果。
进一步的,可选的,在所述键值数据库中需要添加键值数据对更新时,所述方法还包括:
按照如下公式将所述零化多项式进行更新:
,
其中,所述表示为二进制形式的比特串,该比特串的长度为,表示该比特串的最低位,表示该比特串的最高位,表示该比特串的第个比特位,表示所述零化多项式,表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
,
其中,表示所述键值数据库中的第个数据,,则当时,;当时,,表示更新前的所述多线性扩展多项式,表示更新后的所述多线性扩展多项式。
进一步的,可选的,在所述键值数据库中需要删除键值数据对更新时,所述方法还包括:
按照如下公式更新所述零化多项式:
,
其中,所述表示为二进制形式的比特串,该比特串的长度为,表示该比特串的最低位,表示该比特串的最高位,表示该比特串的第个比特位,表示所述零化多项式,表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
,
其中,,则当时,;当时,,表示更新前的所述多线性扩展多项式,表示更新后的所述多线性扩展多项式。
进一步的,可选的,在需要将所述键值数据库中的键值数据对的键值对应的数据更新为时,所述方法还包括:
按照如下公式更新所述多线性扩展多项式:
,
其中,,则当时,;当时,,表示更新前的所述多线性扩展多项式,表示更新后的所述多线性扩展多项式。
本申请实施例中,针对在线匿踪查询中数据库的数据量庞大且更新频率高的场景,通过引入多线性扩展多项式,解决了相关技术中通信开销大和更新代价高的问题,保证了参与方结果的正确性和数据的隐私性,同时提升了方案整体效率。
请参阅图2,图2是本申请实施例提供的一种支持高效更新的在线匿踪查询方法的流程示意图,应用于两方计算系统,所述两方计算系统包括服务端和客户端,所述服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,所述客户端包括待查询键值;如图所示,本支持高效更新的在线匿踪查询方法包括:
201、通过所述客户端生成同态密钥对,所述同态密钥对包括公钥和私钥,将所述公钥发送给所述服务端。
本申请实施例中,参与方可以包括持有键值数据库的服务端和持有查询键的客户端,查询具体步骤如下:客户端生成同态密钥对,并将公钥发给服务端。
本申请实施例中,键值可以指要查询数据的唯一标识符,例如,服务端拥有用户的身份证号码与手机号码的映射,即每个键值数据对由一个身份证号与一个手机号组成,此时的键值即为身份证号码,数据即为手机号码。客户端可以通过查询身份证号码得到手机号码。
本申请实施例中,具体应用中,在客户端查询过程中,匿踪查询能够保证查询时客户端的具体查询请求无法被服务端得知,客户端也无法得知服务端除查询结果外的其他数据,同时保证结果正确性。
202、通过所述服务端根据所述键值数据库生成零化多项式,以及根据所述键值数据库生成多线性扩展多项式。
具体实现中,零化多项式为适用于二进制位值的零化多项式,用于判断查询值是否存于数据库中。多线性扩展多项式(multilinear extension polynomial)具有与插值多项式类似的性质,即当多项式的自变量与数据库中某个键相同时,多项式的结果即为该键对应的值,引入多线性扩展多项式,能够使得数据库频繁更新时在线匿踪查询效率提升,另外,基于多线性扩展多项式的性质保证了匿踪查询方获得正确的查询结果。
本申请实施例中,由于考虑到第一类方案的瓶颈在于每次键值数据库的更新时重新进行的效率较低的多项式插值操作,而本申请实施例中,将插值多项式替换为多线性扩展多项式,具有与插值多项式类似的性质,即当多项式的自变量与数据库中某个键相同时,多项式的结果即为该键对应的值。此外,多线性扩展多项式可在元素更新时通过简单计算实现整个多项式的更新,使得每次数据库的更新操作仅需服务端执行简单的计算即可完成,进而提升了效率。
本申请实施例中,多线性扩展多项式需在二进制上对位值进行操作,因此,相关技术中原有的零化多项式构造不再适用,本申请实施例中,将原有的零化多项式改造为适用于二进制位值的零化多项式,用于判断查询值是否存于数据库中。
可选的,上述步骤201,根据所述键值数据库生成零化多项式,可以按照如下方式实施:
按照如下公式生成所述零化多项式:
,
其中,表示所述键值数据库中的键值数据对的数量,为的二进制形式的比特串,该比特串的长度为,表示该比特串的最低位,表示该比特串的最高位,表示该比特串的第个比特位,表示所述键值数据库中的第个键值,表示所述零化多项式;分别表示所述零化多项式的自变量,表示所述零花多项式的第个自变量。
具体实现中,表示零化多项式的自变量,服务端可以生成零化多项式,其中,为的二进制形式的比特串,其长度为,表示比特串的最低位,表示比特串的最高位。
具体实现中,本申请实施例中,通过设计零化多项式结构使其适用于基于多线性扩展多项式的在线匿踪查询方案。
可选的,上述步骤202,根据所述键值数据库生成多线性扩展多项式,可以按照如下方式实施:
按照如下公式生成多线性扩展多项式:
,
其中,表示所述键值数据库中的第个数据,,则当时,;当时,表示所述多线性扩展多项式。
具体实现中,表示多线性扩展多项式的自变量,服务端可以生成多线性扩展多项式,其中,,则当时,;当时。
本申请实施例中,引入多线性扩展多项式使得数据库更新时计算效率提升。
203、通过所述客户端将所述待查询键值表示为二进制形式的比特串,并采用所述公钥对所述比特串的每一位进行加密,得到第一密文,将所述第一密文发送给所述服务端。
具体实现中,客户端可以将要查询的键值表示为二进制形式的比特串,将该比特串的每一位分别用公钥加密,得到一组密文将其发给服务端。
204、通过所述服务端将所述第一密文作为输入数据;将所述输入数据输入所述零化多项式进行同态计算,得到第二密文;将所述输入数据输入所述多线性扩展多项式进行同态计算,得到第三密文;将所述第二密文和所述第三密文返回所述客户端。
本申请实施例中,服务端在接收到第一密文后,可以将第一密文作为输入,进一步的,可以同态地计算第二密文和第三密文,并将结果返回客户端。
205、通过所述客户端利用所述私钥解密所述第二密文和所述第三密文,分别得到第一明文和第二明文;根据所述第一明文和所述第二明文确定目标查询结果。
本申请实施例中,全同态加密算法构造,方案整体通信量较低。另外,通过全同态加密算法保证了匿踪查询过程的安全性。
可选的,若所述待查询键值为,所述表示为二进制形式的比特串;所述第二密文为,所述第三密文为;表示所述第一明文;表示所述第二明文;
上述步骤205,根据所述第一明文和所述第二明文确定目标查询结果,可以按照如下方式实施:
若,确定所述在键值数据库中;
按照如下公式确定所述目标查询结果:
,
其中,表示所述目标查询结果。
本申请实施例中,客户端可以用私钥解密和,得到第一明文和第二明文。
若,表示查询键在数据库中,则查询方式可以基于如下公式得到:
,
即,最终的结果即为目标查询结果。
可选的,在所述键值数据库中需要添加键值数据对更新时,还可以包括如下步骤:
按照如下公式将所述零化多项式进行更新:
,
其中,所述表示为二进制形式的比特串,该比特串的长度为,表示该比特串的最低位,表示该比特串的最高位,表示该比特串的第个比特位,表示所述零化多项式,表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
,
其中,表示所述键值数据库中的第个数据,,则当时,;当时,,表示更新前的所述多线性扩展多项式,表示更新后的所述多线性扩展多项式。
本申请实施例中,增加键值对,服务端具体步骤如下:
A1、将表示为二进制形式。
A2、将多项式更新为:
。
A3、将多项式更新为:
。
可选的,在所述键值数据库中需要删除键值数据对更新时,还可以包括如下步骤:
按照如下公式更新所述零化多项式:
,
其中,所述表示为二进制形式的比特串,该比特串的长度为,表示该比特串的最低位,表示该比特串的最高位,表示该比特串的第个比特位,表示所述零化多项式,表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
,
其中,,则当时,;当时,,表示更新前的所述多线性扩展多项式,表示更新后的所述多线性扩展多项式。
本申请实施例中,删除键值对,服务端具体步骤如下:
B1、将表示为二进制形式。
B2、将多项式更新为。
B3、将多项式更新为:
。
可选的,在需要将所述键值数据库中的键值数据对的键值对应的数据更新为时,还可以包括如下步骤:
按照如下公式更新所述多线性扩展多项式:
,
其中,,则当时,;当时,,表示更新前的所述多线性扩展多项式,表示更新后的所述多线性扩展多项式。
本申请实施例中,可以将键对应的值修改为,服务端可以将多项式更新为如下:
,
举例说明下,本申请实施例中,服务端与客户端均为参与方,即参与方包括持有键值数据库的服务端和持有查询键的客户端,查询具体步骤如下:
S1、客户端生成同态密钥对,并将公钥发给服务端。
S2、服务端生成零化多项式,其中,为的二进制形式的比特串,其长度为,表示比特串的最低位,表示比特串的最高位。
S3、服务端生成多线性扩展多项式:
,
其中,,则当时,,当时。
S4、客户端将要查询的键表示为二进制形式的比特串,将该比特串的每一位分别用公钥加密,得到一组密文将其发给服务端。
S5、服务端接收到这组密文后,将作为输入,同态地计算密文和密文,并将结果返回客户端。
S6、客户端用私钥解密和,若,表示查询键在数据库中,则可以基于如下公式得到查询结果:
,
其中,即为查询结果。
本申请实施例中,当服务端的数据库频繁更新(增、删、改)时,使用本申请实施例中的方法仅需进行简单计算即可,提升了匿踪查询效率。而若使用相关技术中的方法则会导致重新进行大量数据的插值计算或通信量较大。
可以看出,本申请实施例中所描述的支持高效更新的在线匿踪查询方法,应用于两方计算系统,两方计算系统包括服务端和客户端,服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,客户端包括待查询键值;通过客户端生成同态密钥对,同态密钥对包括公钥和私钥,将公钥发送给服务端,通过服务端根据键值数据库生成零化多项式,以及根据键值数据库生成多线性扩展多项式,通过客户端将待查询键值表示为二进制形式的比特串,并采用公钥对比特串的每一位进行加密,得到第一密文,将第一密文发送给服务端,通过服务端将第一密文作为输入数据;将输入数据输入零化多项式进行同态计算,得到第二密文;将输入数据输入多线性扩展多项式进行同态计算,得到第三密文;将第二密文和第三密文返回客户端,通过客户端利用私钥解密第二密文和第三密文,分别得到第一明文和第二明文;根据第一明文和第二明文确定目标查询结果,从而可以提供一种支持高效更新的在线匿踪查询方案,以提升匿踪查询效率。
与上述实施例一致地,请参阅图3,图3是本申请实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,应用于两方计算系统,所述两方计算系统包括服务端和客户端,所述服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,所述客户端包括待查询键值;本申请实施例中,上述程序包括用于执行以下步骤的指令:
通过所述客户端生成同态密钥对,所述同态密钥对包括公钥和私钥,将所述公钥发送给所述服务端;
通过所述服务端根据所述键值数据库生成零化多项式,以及根据所述键值数据库生成多线性扩展多项式;
通过所述客户端将所述待查询键值表示为二进制形式的比特串,并采用所述公钥对所述比特串的每一位进行加密,得到第一密文,将所述第一密文发送给所述服务端;
通过所述服务端将所述第一密文作为输入数据;将所述输入数据输入所述零化多项式进行同态计算,得到第二密文;将所述输入数据输入所述多线性扩展多项式进行同态计算,得到第三密文;将所述第二密文和所述第三密文返回所述客户端;
通过所述客户端利用所述私钥解密所述第二密文和所述第三密文,分别得到第一明文和第二明文;根据所述第一明文和所述第二明文确定目标查询结果。
可选的,在所述根据所述键值数据库生成零化多项式方面,上述程序包括用于执行以下步骤的指令:
按照如下公式生成所述零化多项式:
,
其中,表示所述键值数据库中的键值数据对的数量,为的二进制形式的比特串,该比特串的长度为,表示该比特串的最低位,表示该比特串的最高位,表示该比特串的第个比特位,表示所述键值数据库中的第个键值,表示所述零化多项式。
可选的,在所述根据所述键值数据库生成多线性扩展多项式方面,上述程序包括用于执行以下步骤的指令:
按照如下公式生成多线性扩展多项式:
,
其中,表示所述键值数据库中的第个数据,,则当时,;当时,表示所述多线性扩展多项式。
可选的,若所述待查询键值为,所述表示为二进制形式的比特串;所述第二密文为,所述第三密文为;表示所述第一明文;表示所述第二明文;
在所述根据所述第一明文和所述第二明文确定目标查询结果方面,上述程序包括用于执行以下步骤的指令:
若,确定所述在键值数据库中;
按照如下公式确定所述目标查询结果:
,
其中,表示所述目标查询结果。
可选的,在所述键值数据库中需要添加键值数据对更新时,上述程序还包括用于执行以下步骤的指令:
按照如下公式将所述零化多项式进行更新:
,
其中,所述表示为二进制形式的比特串,该比特串的长度为,表示该比特串的最低位,表示该比特串的最高位,表示该比特串的第个比特位,表示所述零化多项式,表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
,
其中,表示所述键值数据库中的第个数据,,则当时,;当时,,表示更新前的所述多线性扩展多项式,表示更新后的所述多线性扩展多项式。
可选的,在所述键值数据库中需要删除键值数据对更新时,上述程序还包括用于执行以下步骤的指令:
按照如下公式更新所述零化多项式:
,
其中,所述表示为二进制形式的比特串,该比特串的长度为,表示该比特串的最低位,表示该比特串的最高位,表示该比特串的第个比特位,表示所述零化多项式,表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
,
其中,,则当时,;当时,,表示更新前的所述多线性扩展多项式,表示更新后的所述多线性扩展多项式。
可选的,在需要将所述键值数据库中的键值数据对的键值对应的数据更新为时,上述程序还包括用于执行以下步骤的指令:
按照如下公式更新所述多线性扩展多项式:
,
其中,,则当时,;当时,,表示更新前的所述多线性扩展多项式,表示更新后的所述多线性扩展多项式。
可以看出,本申请实施例中所描述的电子设备,应用于两方计算系统,两方计算系统包括服务端和客户端,服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,客户端包括待查询键值;通过客户端生成同态密钥对,同态密钥对包括公钥和私钥,将公钥发送给服务端,通过服务端根据键值数据库生成零化多项式,以及根据键值数据库生成多线性扩展多项式,通过客户端将待查询键值表示为二进制形式的比特串,并采用公钥对比特串的每一位进行加密,得到第一密文,将第一密文发送给服务端,通过服务端将第一密文作为输入数据;将输入数据输入零化多项式进行同态计算,得到第二密文;将输入数据输入多线性扩展多项式进行同态计算,得到第三密文;将第二密文和第三密文返回客户端,通过客户端利用私钥解密第二密文和第三密文,分别得到第一明文和第二明文;根据第一明文和第二明文确定目标查询结果,从而可以提供一种支持高效更新的在线匿踪查询方案,以提升匿踪查询效率。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory ,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种支持高效更新的在线匿踪查询方法,其特征在于,应用于两方计算系统,所述两方计算系统包括服务端和客户端,所述服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,所述客户端包括待查询键值;所述方法包括:
通过所述客户端生成同态密钥对,所述同态密钥对包括公钥和私钥,将所述公钥发送给所述服务端;
通过所述服务端根据所述键值数据库生成零化多项式,以及根据所述键值数据库生成多线性扩展多项式;
通过所述客户端将所述待查询键值表示为二进制形式的比特串,并采用所述公钥对所述比特串的每一位进行加密,得到第一密文,将所述第一密文发送给所述服务端;
通过所述服务端将所述第一密文作为输入数据;将所述输入数据输入所述零化多项式进行同态计算,得到第二密文;将所述输入数据输入所述多线性扩展多项式进行同态计算,得到第三密文;将所述第二密文和所述第三密文返回所述客户端;
通过所述客户端利用所述私钥解密所述第二密文和所述第三密文,分别得到第一明文和第二明文;根据所述第一明文和所述第二明文确定目标查询结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述键值数据库生成零化多项式,包括:
按照如下公式生成所述零化多项式:
,
其中,表示所述键值数据库中的键值数据对的数量,为的二进制形式的比特串,该比特串的长度为,表示该比特串的最低位,表示该比特串的最高位,表示该比特串的第个比特位,表示所述键值数据库中的第个键值,表示所述零化多项式。
3.根据权利要求2所述的方法,其特征在于,所述根据所述键值数据库生成多线性扩展多项式,包括:
按照如下公式生成多线性扩展多项式:
,
其中,表示所述键值数据库中的第个数据,,则当时,;当时,表示所述多线性扩展多项式。
4.根据权利要求3所述的方法,其特征在于,若所述待查询键值为,所述表示为二进制形式的比特串;所述第二密文为,所述第三密文为;表示所述第一明文;表示所述第二明文;
所述根据所述第一明文和所述第二明文确定目标查询结果,包括:
若,确定所述在键值数据库中;
按照如下公式确定所述目标查询结果:
,
其中,表示所述目标查询结果。
5.根据权利要求3或4所述的方法,其特征在于,在所述键值数据库中需要添加键值数据对更新时,所述方法还包括:
按照如下公式将所述零化多项式进行更新:
,
其中,所述表示为二进制形式的比特串,该比特串的长度为,表示该比特串的最低位,表示该比特串的最高位,表示该比特串的第个比特位,表示所述零化多项式,表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
,
其中,表示所述键值数据库中的第个数据,,则当时,;当时,,表示更新前的所述多线性扩展多项式,表示更新后的所述多线性扩展多项式。
6.根据权利要求3或4所述的方法,其特征在于,在所述键值数据库中需要删除键值数据对更新时,所述方法还包括:
按照如下公式更新所述零化多项式:
,
其中,所述表示为二进制形式的比特串,该比特串的长度为,表示该比特串的最低位,表示该比特串的最高位,表示该比特串的第个比特位,表示所述零化多项式,表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
,
其中,,则当时,;当时,,表示更新前的所述多线性扩展多项式,表示更新后的所述多线性扩展多项式。
7.根据权利要求3或4所述的方法,其特征在于,在需要将所述键值数据库中的键值数据对的键值对应的数据更新为时,所述方法还包括:
按照如下公式更新所述多线性扩展多项式:
,
其中,,则当时,;当时,,表示更新前的所述多线性扩展多项式,表示更新后的所述多线性扩展多项式。
8.一种两方计算系统,其特征在于,所述两方计算系统包括服务端和客户端,所述服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,所述客户端包括待查询键值;其中,
所述客户端,用于生成同态密钥对,所述同态密钥对包括公钥和私钥,将所述公钥发送给所述服务端;
所述服务端,用于根据所述键值数据库生成零化多项式,以及根据所述键值数据库生成多线性扩展多项式;
所述客户端,还用于将所述待查询键值表示为二进制形式的比特串,并采用所述公钥对所述比特串的每一位进行加密,得到第一密文,将所述第一密文发送给所述服务端;
所述服务端,还用于将所述第一密文作为输入数据;将所述输入数据输入所述零化多项式进行同态计算,得到第二密文;将所述输入数据输入所述多线性扩展多项式进行同态计算,得到第三密文;将所述第二密文和所述第三密文返回所述客户端;
所述客户端,还用于利用所述私钥解密所述第二密文和所述第三密文,分别得到第一明文和第二明文;根据所述第一明文和所述第二明文确定目标查询结果。
9.一种电子设备,其特征在于,包括处理器、存储器,所述存储器用于存储一个或多个程序,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-7任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310316392.1A CN116032667B (zh) | 2023-03-29 | 2023-03-29 | 支持高效更新的在线匿踪查询方法、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310316392.1A CN116032667B (zh) | 2023-03-29 | 2023-03-29 | 支持高效更新的在线匿踪查询方法、系统及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116032667A true CN116032667A (zh) | 2023-04-28 |
CN116032667B CN116032667B (zh) | 2023-06-20 |
Family
ID=86089694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310316392.1A Active CN116032667B (zh) | 2023-03-29 | 2023-03-29 | 支持高效更新的在线匿踪查询方法、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116032667B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116303551A (zh) * | 2023-05-16 | 2023-06-23 | 北京信安世纪科技股份有限公司 | 隐匿查询方法及设备 |
CN116702215A (zh) * | 2023-08-07 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 一种查询处理方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020145759A1 (ko) * | 2019-01-11 | 2020-07-16 | 주식회사 크립토랩 | 근사 계산에 대한 계산 검증 |
CN112232367A (zh) * | 2020-09-10 | 2021-01-15 | 山东师范大学 | 一种网络行为相似性判断方法及系统 |
CN113254982A (zh) * | 2021-07-13 | 2021-08-13 | 深圳市洞见智慧科技有限公司 | 一种支持关键词查询的匿踪查询方法及系统 |
CN114428972A (zh) * | 2022-01-21 | 2022-05-03 | 深圳市洞见智慧科技有限公司 | 支持外包计算的隐私保护查询方法、装置及相关设备 |
CN114756886A (zh) * | 2022-06-13 | 2022-07-15 | 华控清交信息科技(北京)有限公司 | 一种匿踪查询方法、装置和用于匿踪查询的装置 |
-
2023
- 2023-03-29 CN CN202310316392.1A patent/CN116032667B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020145759A1 (ko) * | 2019-01-11 | 2020-07-16 | 주식회사 크립토랩 | 근사 계산에 대한 계산 검증 |
US20220092150A1 (en) * | 2019-01-11 | 2022-03-24 | Crypto Lab Inc. | Calculation verification for approximate calculation |
CN112232367A (zh) * | 2020-09-10 | 2021-01-15 | 山东师范大学 | 一种网络行为相似性判断方法及系统 |
CN113254982A (zh) * | 2021-07-13 | 2021-08-13 | 深圳市洞见智慧科技有限公司 | 一种支持关键词查询的匿踪查询方法及系统 |
CN114428972A (zh) * | 2022-01-21 | 2022-05-03 | 深圳市洞见智慧科技有限公司 | 支持外包计算的隐私保护查询方法、装置及相关设备 |
CN114756886A (zh) * | 2022-06-13 | 2022-07-15 | 华控清交信息科技(北京)有限公司 | 一种匿踪查询方法、装置和用于匿踪查询的装置 |
Non-Patent Citations (1)
Title |
---|
张方国;: "从双线性对到多线性映射", 密码学报, no. 03 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116303551A (zh) * | 2023-05-16 | 2023-06-23 | 北京信安世纪科技股份有限公司 | 隐匿查询方法及设备 |
CN116702215A (zh) * | 2023-08-07 | 2023-09-05 | 腾讯科技(深圳)有限公司 | 一种查询处理方法、装置、设备及介质 |
CN116702215B (zh) * | 2023-08-07 | 2023-12-08 | 腾讯科技(深圳)有限公司 | 一种查询处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116032667B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116032667B (zh) | 支持高效更新的在线匿踪查询方法、系统及相关设备 | |
US10635824B1 (en) | Methods and apparatus for private set membership using aggregation for reduced communications | |
CN110689349B (zh) | 一种区块链中的交易哈希值存储和搜索方法及装置 | |
CN104735164A (zh) | 一种保存文件信息的方法和装置 | |
CN107359998A (zh) | 一种便携式智能口令管理体制的建立与操作方法 | |
CN115269938B (zh) | 基于同态加密的关键词匿踪查询方法、系统及相关装置 | |
CN108876593A (zh) | 一种在线交易方法和装置 | |
CN112000632B (zh) | 密文的分享方法、介质、分享客户端及系统 | |
CN113157778B (zh) | 分布式数据仓库的可代理查询方法、系统、设备及介质 | |
CN114528331A (zh) | 基于区块链的数据查询方法及装置、介质、设备 | |
CN116324778A (zh) | 可更新私有集合交集 | |
Gahi et al. | Privacy preserving scheme for location-based services | |
CN115242514A (zh) | 基于国密的隐私集合求交方法、系统及相关设备 | |
CN115913537A (zh) | 基于隐私保护的数据求交方法、系统及相关设备 | |
CN113259317A (zh) | 一种基于身份代理重加密的云存储数据去重方法 | |
CN110598427B (zh) | 数据的处理方法、系统和存储介质 | |
CN117349685A (zh) | 一种通信数据的聚类方法、系统、终端及介质 | |
CN116232639B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN113342802A (zh) | 区块链数据存储的方法和装置 | |
US11133926B2 (en) | Attribute-based key management system | |
CN116318654A (zh) | 融合量子密钥分发的sm2算法协同签名系统、方法及设备 | |
Tan et al. | Distributed Outsourced Privacy‐Preserving Gradient Descent Methods among Multiple Parties | |
CN107872312A (zh) | 对称密钥动态生成方法、装置、设备及系统 | |
CN114817970B (zh) | 基于数据来源保护的数据分析方法、系统及相关设备 | |
CN117749527B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |