CN116032667B - 支持高效更新的在线匿踪查询方法、系统及相关设备 - Google Patents

支持高效更新的在线匿踪查询方法、系统及相关设备 Download PDF

Info

Publication number
CN116032667B
CN116032667B CN202310316392.1A CN202310316392A CN116032667B CN 116032667 B CN116032667 B CN 116032667B CN 202310316392 A CN202310316392 A CN 202310316392A CN 116032667 B CN116032667 B CN 116032667B
Authority
CN
China
Prior art keywords
representing
key
polynomial
ciphertext
key value
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
CN202310316392.1A
Other languages
English (en)
Other versions
CN116032667A (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 Dongjian Intelligent Technology Co ltd
Original Assignee
Shenzhen Dongjian Intelligent Technology Co ltd
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 Dongjian Intelligent Technology Co ltd filed Critical Shenzhen Dongjian Intelligent Technology Co ltd
Priority to CN202310316392.1A priority Critical patent/CN116032667B/zh
Publication of CN116032667A publication Critical patent/CN116032667A/zh
Application granted granted Critical
Publication of CN116032667B publication Critical patent/CN116032667B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

  • 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是本申请实施例提供的一种用于实现支持高效更新的在线匿踪查询方法的两方计算系统的架构示意图,如图所示,应用于两方计算系统,所述两方计算系统包括服务端和客户端,所述服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,所述客户端包括待查询键值;基于该两方计算系统可以实现如下功能:
通过所述客户端生成同态密钥对,所述同态密钥对包括公钥和私钥,将所述公钥发送给所述服务端;
通过所述服务端根据所述键值数据库生成零化多项式,以及根据所述键值数据库生成多线性扩展多项式;
通过所述客户端将所述待查询键值表示为二进制形式的比特串,并采用所述公钥对所述比特串的每一位进行加密,得到第一密文,将所述第一密文发送给所述服务端;
通过所述服务端将所述第一密文作为输入数据;将所述输入数据输入所述零化多项式进行同态计算,得到第二密文;将所述输入数据输入所述多线性扩展多项式进行同态计算,得到第三密文;将所述第二密文和所述第三密文返回所述客户端;
通过所述客户端利用所述私钥解密所述第二密文和所述第三密文,分别得到第一明文和第二明文;根据所述第一明文和所述第二明文确定目标查询结果。
可选的,在所述根据所述键值数据库生成零化多项式方面,该两方计算系统可以实现如下功能:
按照如下公式生成所述零化多项式:
Figure SMS_1
其中,
Figure SMS_4
表示所述键值数据库中的键值数据对的数量,
Figure SMS_5
Figure SMS_9
的二进制形式的比特串,该比特串的长度为
Figure SMS_3
Figure SMS_6
表示该比特串的最低位,
Figure SMS_8
表示该比特串的最高位,
Figure SMS_11
表示该比特串的第
Figure SMS_2
个比特位,
Figure SMS_7
表示所述键值数据库中的第
Figure SMS_10
个键值,
Figure SMS_12
表示所述零化多项式。
进一步的,在所述根据所述键值数据库生成多线性扩展多项式方面,该两方计算系统可以实现如下功能:
按照如下公式生成多线性扩展多项式:
Figure SMS_13
其中,
Figure SMS_14
表示所述键值数据库中的第
Figure SMS_18
个数据,
Figure SMS_20
,则当
Figure SMS_15
时,
Figure SMS_17
;当
Figure SMS_19
Figure SMS_21
Figure SMS_16
表示所述多线性扩展多项式。
进一步的,可选的,若所述待查询键值为
Figure SMS_22
,所述
Figure SMS_23
表示为二进制形式的比特串
Figure SMS_24
;所述第二密文为
Figure SMS_25
,所述第三密文为
Figure SMS_26
Figure SMS_27
表示所述第一明文;
Figure SMS_28
表示所述第二明文;
所述根据所述第一明文和所述第二明文确定目标查询结果,包括:
Figure SMS_29
,确定所述
Figure SMS_30
在键值数据库中;
按照如下公式确定所述目标查询结果:
Figure SMS_31
其中,
Figure SMS_32
表示所述目标查询结果。
进一步的,可选的,在所述键值数据库中需要添加键值数据对
Figure SMS_33
更新时,所述方法还包括:
按照如下公式将所述零化多项式进行更新:
Figure SMS_34
其中,所述
Figure SMS_37
表示为二进制形式的比特串
Figure SMS_40
,该比特串的长度为
Figure SMS_41
Figure SMS_35
表示该比特串的最低位,
Figure SMS_39
表示该比特串的最高位,
Figure SMS_42
表示该比特串的第
Figure SMS_43
个比特位,
Figure SMS_36
表示所述零化多项式,
Figure SMS_38
表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
Figure SMS_44
其中,
Figure SMS_47
表示所述键值数据库中的第
Figure SMS_50
个数据,
Figure SMS_52
,则当
Figure SMS_46
时,
Figure SMS_48
;当
Figure SMS_51
时,
Figure SMS_53
Figure SMS_45
表示更新前的所述多线性扩展多项式,
Figure SMS_49
表示更新后的所述多线性扩展多项式。
进一步的,可选的,在所述键值数据库中需要删除键值数据对
Figure SMS_54
更新时,所述方法还包括:
按照如下公式更新所述零化多项式:
Figure SMS_55
其中,所述
Figure SMS_58
表示为二进制形式的比特串
Figure SMS_59
,该比特串的长度为
Figure SMS_63
Figure SMS_57
表示该比特串的最低位,
Figure SMS_60
表示该比特串的最高位,
Figure SMS_62
表示该比特串的第
Figure SMS_64
个比特位,
Figure SMS_56
表示所述零化多项式,
Figure SMS_61
表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
Figure SMS_65
其中,
Figure SMS_66
,则当
Figure SMS_67
时,
Figure SMS_68
;当
Figure SMS_69
时,
Figure SMS_70
Figure SMS_71
表示更新前的所述多线性扩展多项式,
Figure SMS_72
表示更新后的所述多线性扩展多项式。
进一步的,可选的,在需要将所述键值数据库中的键值数据对的键值
Figure SMS_73
对应的数据
Figure SMS_74
更新为
Figure SMS_75
时,所述方法还包括:
按照如下公式更新所述多线性扩展多项式:
Figure SMS_76
其中,
Figure SMS_77
,则当
Figure SMS_78
时,
Figure SMS_79
;当
Figure SMS_80
时,
Figure SMS_81
Figure SMS_82
表示更新前的所述多线性扩展多项式,
Figure SMS_83
表示更新后的所述多线性扩展多项式。
本申请实施例中,针对在线匿踪查询中数据库的数据量庞大且更新频率高的场景,通过引入多线性扩展多项式,解决了相关技术中通信开销大和更新代价高的问题,保证了参与方结果的正确性和数据的隐私性,同时提升了方案整体效率。
请参阅图2,图2是本申请实施例提供的一种支持高效更新的在线匿踪查询方法的流程示意图,应用于两方计算系统,所述两方计算系统包括服务端和客户端,所述服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,所述客户端包括待查询键值;如图所示,本支持高效更新的在线匿踪查询方法包括:
201、通过所述客户端生成同态密钥对,所述同态密钥对包括公钥和私钥,将所述公钥发送给所述服务端。
本申请实施例中,参与方可以包括持有键值数据库
Figure SMS_84
的服务端和持有查询键
Figure SMS_85
的客户端,查询具体步骤如下:客户端生成同态密钥对
Figure SMS_86
,并将公钥
Figure SMS_87
发给服务端。
本申请实施例中,键值可以指要查询数据的唯一标识符,例如,服务端拥有用户的身份证号码与手机号码的映射,即每个键值数据对由一个身份证号与一个手机号组成,此时的键值即为身份证号码,数据即为手机号码。客户端可以通过查询身份证号码得到手机号码。
本申请实施例中,具体应用中,在客户端查询过程中,匿踪查询能够保证查询时客户端的具体查询请求无法被服务端得知,客户端也无法得知服务端除查询结果外的其他数据,同时保证结果正确性。
202、通过所述服务端根据所述键值数据库生成零化多项式,以及根据所述键值数据库生成多线性扩展多项式。
具体实现中,零化多项式为适用于二进制位值的零化多项式,用于判断查询值是否存于数据库中。多线性扩展多项式(multilinear extension polynomial)具有与插值多项式类似的性质,即当多项式的自变量与数据库中某个键相同时,多项式的结果即为该键对应的值,引入多线性扩展多项式,能够使得数据库频繁更新时在线匿踪查询效率提升,另外,基于多线性扩展多项式的性质保证了匿踪查询方获得正确的查询结果。
本申请实施例中,由于考虑到第一类方案的瓶颈在于每次键值数据库的更新时重新进行的效率较低的多项式插值操作,而本申请实施例中,将插值多项式替换为多线性扩展多项式,具有与插值多项式类似的性质,即当多项式的自变量与数据库中某个键相同时,多项式的结果即为该键对应的值。此外,多线性扩展多项式可在元素更新时通过简单计算实现整个多项式的更新,使得每次数据库的更新操作仅需服务端执行简单的计算即可完成,进而提升了效率。
本申请实施例中,多线性扩展多项式需在二进制上对位值进行操作,因此,相关技术中原有的零化多项式构造不再适用,本申请实施例中,将原有的零化多项式改造为适用于二进制位值的零化多项式,用于判断查询值是否存于数据库中。
可选的,上述步骤201,根据所述键值数据库生成零化多项式,可以按照如下方式实施:
按照如下公式生成所述零化多项式:
Figure SMS_88
其中,
Figure SMS_90
表示所述键值数据库中的键值数据对的数量,
Figure SMS_96
Figure SMS_102
的二进制形式的比特串,该比特串的长度为
Figure SMS_91
Figure SMS_93
表示该比特串的最低位,
Figure SMS_97
表示该比特串的最高位,
Figure SMS_100
表示该比特串的第
Figure SMS_89
个比特位,
Figure SMS_94
表示所述键值数据库中的第
Figure SMS_98
个键值,
Figure SMS_101
表示所述零化多项式;
Figure SMS_92
分别表示所述零化多项式的自变量,
Figure SMS_95
表示所述零花多项式的第
Figure SMS_99
个自变量。
具体实现中,
Figure SMS_103
表示零化多项式的自变量,服务端可以生成零化多项式
Figure SMS_104
,其中,
Figure SMS_105
Figure SMS_106
的二进制形式的比特串,其长度为
Figure SMS_107
Figure SMS_108
表示比特串的最低位,
Figure SMS_109
表示比特串的最高位。
具体实现中,本申请实施例中,通过设计零化多项式结构使其适用于基于多线性扩展多项式的在线匿踪查询方案。
可选的,上述步骤202,根据所述键值数据库生成多线性扩展多项式,可以按照如下方式实施:
按照如下公式生成多线性扩展多项式:
Figure SMS_110
其中,
Figure SMS_112
表示所述键值数据库中的第
Figure SMS_115
个数据,
Figure SMS_116
,则当
Figure SMS_113
时,
Figure SMS_114
;当
Figure SMS_117
Figure SMS_118
Figure SMS_111
表示所述多线性扩展多项式。
具体实现中,
Figure SMS_119
表示多线性扩展多项式的自变量,服务端可以生成多线性扩展多项式
Figure SMS_120
,其中,
Figure SMS_121
,则当
Figure SMS_122
时,
Figure SMS_123
;当
Figure SMS_124
Figure SMS_125
本申请实施例中,引入多线性扩展多项式使得数据库更新时计算效率提升。
203、通过所述客户端将所述待查询键值表示为二进制形式的比特串,并采用所述公钥对所述比特串的每一位进行加密,得到第一密文,将所述第一密文发送给所述服务端。
具体实现中,客户端可以将要查询的键值
Figure SMS_126
表示为二进制形式的比特串
Figure SMS_127
,将该比特串的每一位分别用公钥加密,得到一组密文
Figure SMS_128
将其发给服务端。
204、通过所述服务端将所述第一密文作为输入数据;将所述输入数据输入所述零化多项式进行同态计算,得到第二密文;将所述输入数据输入所述多线性扩展多项式进行同态计算,得到第三密文;将所述第二密文和所述第三密文返回所述客户端。
本申请实施例中,服务端在接收到第一密文后,可以将第一密文
Figure SMS_129
作为输入,进一步的,可以同态地计算第二密文
Figure SMS_130
和第三密文
Figure SMS_131
,并将结果返回客户端。
205、通过所述客户端利用所述私钥解密所述第二密文和所述第三密文,分别得到第一明文和第二明文;根据所述第一明文和所述第二明文确定目标查询结果。
本申请实施例中,全同态加密算法构造,方案整体通信量较低。另外,通过全同态加密算法保证了匿踪查询过程的安全性。
可选的,若所述待查询键值为
Figure SMS_132
,所述
Figure SMS_133
表示为二进制形式的比特串
Figure SMS_134
;所述第二密文为
Figure SMS_135
,所述第三密文为
Figure SMS_136
Figure SMS_137
表示所述第一明文;
Figure SMS_138
表示所述第二明文;
上述步骤205,根据所述第一明文和所述第二明文确定目标查询结果,可以按照如下方式实施:
Figure SMS_139
,确定所述
Figure SMS_140
在键值数据库中;
按照如下公式确定所述目标查询结果:
Figure SMS_141
其中,
Figure SMS_142
表示所述目标查询结果。
本申请实施例中,客户端可以用私钥解密
Figure SMS_143
Figure SMS_144
,得到第一明文
Figure SMS_145
和第二明文
Figure SMS_146
Figure SMS_147
,表示查询键
Figure SMS_148
在数据库中,则查询方式可以基于如下公式得到:
Figure SMS_149
即,最终的结果即为目标查询结果
Figure SMS_150
可选的,在所述键值数据库中需要添加键值数据对
Figure SMS_151
更新时,还可以包括如下步骤:
按照如下公式将所述零化多项式进行更新:
Figure SMS_152
其中,所述
Figure SMS_154
表示为二进制形式的比特串
Figure SMS_156
,该比特串的长度为
Figure SMS_159
Figure SMS_155
表示该比特串的最低位,
Figure SMS_158
表示该比特串的最高位,
Figure SMS_160
表示该比特串的第
Figure SMS_161
个比特位,
Figure SMS_153
表示所述零化多项式,
Figure SMS_157
表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
Figure SMS_162
其中,
Figure SMS_165
表示所述键值数据库中的第
Figure SMS_168
个数据,
Figure SMS_170
,则当
Figure SMS_164
时,
Figure SMS_166
;当
Figure SMS_169
时,
Figure SMS_171
Figure SMS_163
表示更新前的所述多线性扩展多项式,
Figure SMS_167
表示更新后的所述多线性扩展多项式。
本申请实施例中,增加键值对
Figure SMS_172
,服务端具体步骤如下:
A1、将
Figure SMS_173
表示为二进制形式
Figure SMS_174
A2、将多项式
Figure SMS_175
更新为:
Figure SMS_176
A3、将多项式
Figure SMS_177
更新为:
Figure SMS_178
可选的,在所述键值数据库中需要删除键值数据对
Figure SMS_179
更新时,还可以包括如下步骤:
按照如下公式更新所述零化多项式:
Figure SMS_180
其中,所述
Figure SMS_182
表示为二进制形式的比特串
Figure SMS_184
,该比特串的长度为
Figure SMS_187
Figure SMS_183
表示该比特串的最低位,
Figure SMS_185
表示该比特串的最高位,
Figure SMS_188
表示该比特串的第
Figure SMS_189
个比特位,
Figure SMS_181
表示所述零化多项式,
Figure SMS_186
表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
Figure SMS_190
其中,
Figure SMS_191
,则当
Figure SMS_192
时,
Figure SMS_193
;当
Figure SMS_194
时,
Figure SMS_195
Figure SMS_196
表示更新前的所述多线性扩展多项式,
Figure SMS_197
表示更新后的所述多线性扩展多项式。
本申请实施例中,删除键值对
Figure SMS_198
,服务端具体步骤如下:
B1、将
Figure SMS_199
表示为二进制形式
Figure SMS_200
B2、将多项式
Figure SMS_201
更新为
Figure SMS_202
B3、将多项式
Figure SMS_203
更新为:
Figure SMS_204
可选的,在需要将所述键值数据库中的键值数据对的键值
Figure SMS_205
对应的数据
Figure SMS_206
更新为
Figure SMS_207
时,还可以包括如下步骤:
按照如下公式更新所述多线性扩展多项式:
Figure SMS_208
其中,
Figure SMS_209
,则当
Figure SMS_210
时,
Figure SMS_211
;当
Figure SMS_212
时,
Figure SMS_213
Figure SMS_214
表示更新前的所述多线性扩展多项式,
Figure SMS_215
表示更新后的所述多线性扩展多项式。
本申请实施例中,可以将键
Figure SMS_216
对应的值
Figure SMS_217
修改为
Figure SMS_218
,服务端可以将多项式
Figure SMS_219
更新为如下:
Figure SMS_220
举例说明下,本申请实施例中,服务端与客户端均为参与方,即参与方包括持有键值数据库
Figure SMS_221
的服务端和持有查询键
Figure SMS_222
的客户端,查询具体步骤如下:
S1、客户端生成同态密钥对
Figure SMS_223
,并将公钥
Figure SMS_224
发给服务端。
S2、服务端生成零化多项式
Figure SMS_225
,其中,
Figure SMS_226
Figure SMS_227
的二进制形式的比特串,其长度为
Figure SMS_228
Figure SMS_229
表示比特串的最低位,
Figure SMS_230
表示比特串的最高位。
S3、服务端生成多线性扩展多项式:
Figure SMS_231
其中,
Figure SMS_232
,则当
Figure SMS_233
时,
Figure SMS_234
,当
Figure SMS_235
Figure SMS_236
S4、客户端将要查询的键
Figure SMS_237
表示为二进制形式的比特串
Figure SMS_238
,将该比特串的每一位分别用公钥加密,得到一组密文
Figure SMS_239
将其发给服务端。
S5、服务端接收到这组密文后,将
Figure SMS_240
作为输入,同态地计算密文
Figure SMS_241
和密文
Figure SMS_242
,并将结果返回客户端。
S6、客户端用私钥解密
Figure SMS_243
Figure SMS_244
,若
Figure SMS_245
,表示查询键
Figure SMS_246
在数据库中,则可以基于如下公式得到查询结果:
Figure SMS_247
其中,
Figure SMS_248
即为查询结果。
本申请实施例中,当服务端的数据库频繁更新(增、删、改)时,使用本申请实施例中的方法仅需进行简单计算即可,提升了匿踪查询效率。而若使用相关技术中的方法则会导致重新进行大量数据的插值计算或通信量较大。
可以看出,本申请实施例中所描述的支持高效更新的在线匿踪查询方法,应用于两方计算系统,两方计算系统包括服务端和客户端,服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,客户端包括待查询键值;通过客户端生成同态密钥对,同态密钥对包括公钥和私钥,将公钥发送给服务端,通过服务端根据键值数据库生成零化多项式,以及根据键值数据库生成多线性扩展多项式,通过客户端将待查询键值表示为二进制形式的比特串,并采用公钥对比特串的每一位进行加密,得到第一密文,将第一密文发送给服务端,通过服务端将第一密文作为输入数据;将输入数据输入零化多项式进行同态计算,得到第二密文;将输入数据输入多线性扩展多项式进行同态计算,得到第三密文;将第二密文和第三密文返回客户端,通过客户端利用私钥解密第二密文和第三密文,分别得到第一明文和第二明文;根据第一明文和第二明文确定目标查询结果,从而可以提供一种支持高效更新的在线匿踪查询方案,以提升匿踪查询效率。
与上述实施例一致地,请参阅图3,图3是本申请实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,应用于两方计算系统,所述两方计算系统包括服务端和客户端,所述服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,所述客户端包括待查询键值;本申请实施例中,上述程序包括用于执行以下步骤的指令:
通过所述客户端生成同态密钥对,所述同态密钥对包括公钥和私钥,将所述公钥发送给所述服务端;
通过所述服务端根据所述键值数据库生成零化多项式,以及根据所述键值数据库生成多线性扩展多项式;
通过所述客户端将所述待查询键值表示为二进制形式的比特串,并采用所述公钥对所述比特串的每一位进行加密,得到第一密文,将所述第一密文发送给所述服务端;
通过所述服务端将所述第一密文作为输入数据;将所述输入数据输入所述零化多项式进行同态计算,得到第二密文;将所述输入数据输入所述多线性扩展多项式进行同态计算,得到第三密文;将所述第二密文和所述第三密文返回所述客户端;
通过所述客户端利用所述私钥解密所述第二密文和所述第三密文,分别得到第一明文和第二明文;根据所述第一明文和所述第二明文确定目标查询结果。
可选的,在所述根据所述键值数据库生成零化多项式方面,上述程序包括用于执行以下步骤的指令:
按照如下公式生成所述零化多项式:
Figure SMS_249
其中,
Figure SMS_252
表示所述键值数据库中的键值数据对的数量,
Figure SMS_254
Figure SMS_257
的二进制形式的比特串,该比特串的长度为
Figure SMS_251
Figure SMS_253
表示该比特串的最低位,
Figure SMS_256
表示该比特串的最高位,
Figure SMS_259
表示该比特串的第
Figure SMS_250
个比特位,
Figure SMS_255
表示所述键值数据库中的第
Figure SMS_258
个键值,
Figure SMS_260
表示所述零化多项式。
可选的,在所述根据所述键值数据库生成多线性扩展多项式方面,上述程序包括用于执行以下步骤的指令:
按照如下公式生成多线性扩展多项式:
Figure SMS_261
其中,
Figure SMS_264
表示所述键值数据库中的第
Figure SMS_265
个数据,
Figure SMS_267
,则当
Figure SMS_263
时,
Figure SMS_266
;当
Figure SMS_268
Figure SMS_269
Figure SMS_262
表示所述多线性扩展多项式。
可选的,若所述待查询键值为
Figure SMS_270
,所述
Figure SMS_271
表示为二进制形式的比特串
Figure SMS_272
;所述第二密文为
Figure SMS_273
,所述第三密文为
Figure SMS_274
Figure SMS_275
表示所述第一明文;
Figure SMS_276
表示所述第二明文;
在所述根据所述第一明文和所述第二明文确定目标查询结果方面,上述程序包括用于执行以下步骤的指令:
Figure SMS_277
,确定所述
Figure SMS_278
在键值数据库中;
按照如下公式确定所述目标查询结果:
Figure SMS_279
其中,
Figure SMS_280
表示所述目标查询结果。
可选的,在所述键值数据库中需要添加键值数据对
Figure SMS_281
更新时,上述程序还包括用于执行以下步骤的指令:
按照如下公式将所述零化多项式进行更新:
Figure SMS_282
其中,所述
Figure SMS_283
表示为二进制形式的比特串
Figure SMS_287
,该比特串的长度为
Figure SMS_291
Figure SMS_285
表示该比特串的最低位,
Figure SMS_286
表示该比特串的最高位,
Figure SMS_289
表示该比特串的第
Figure SMS_290
个比特位,
Figure SMS_284
表示所述零化多项式,
Figure SMS_288
表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
Figure SMS_292
其中,
Figure SMS_295
表示所述键值数据库中的第
Figure SMS_297
个数据,
Figure SMS_299
,则当
Figure SMS_294
时,
Figure SMS_296
;当
Figure SMS_300
时,
Figure SMS_301
Figure SMS_293
表示更新前的所述多线性扩展多项式,
Figure SMS_298
表示更新后的所述多线性扩展多项式。
可选的,在所述键值数据库中需要删除键值数据对
Figure SMS_302
更新时,上述程序还包括用于执行以下步骤的指令:
按照如下公式更新所述零化多项式:
Figure SMS_303
其中,所述
Figure SMS_305
表示为二进制形式的比特串
Figure SMS_308
,该比特串的长度为
Figure SMS_311
Figure SMS_306
表示该比特串的最低位,
Figure SMS_309
表示该比特串的最高位,
Figure SMS_310
表示该比特串的第
Figure SMS_312
个比特位,
Figure SMS_304
表示所述零化多项式,
Figure SMS_307
表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
Figure SMS_313
其中,
Figure SMS_314
,则当
Figure SMS_315
时,
Figure SMS_316
;当
Figure SMS_317
时,
Figure SMS_318
Figure SMS_319
表示更新前的所述多线性扩展多项式,
Figure SMS_320
表示更新后的所述多线性扩展多项式。
可选的,在需要将所述键值数据库中的键值数据对的键值
Figure SMS_321
对应的数据
Figure SMS_322
更新为
Figure SMS_323
时,上述程序还包括用于执行以下步骤的指令:
按照如下公式更新所述多线性扩展多项式:
Figure SMS_324
其中,
Figure SMS_325
,则当
Figure SMS_326
时,
Figure SMS_327
;当
Figure SMS_328
时,
Figure SMS_329
Figure SMS_330
表示更新前的所述多线性扩展多项式,
Figure SMS_331
表示更新后的所述多线性扩展多项式。
可以看出,本申请实施例中所描述的电子设备,应用于两方计算系统,两方计算系统包括服务端和客户端,服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,客户端包括待查询键值;通过客户端生成同态密钥对,同态密钥对包括公钥和私钥,将公钥发送给服务端,通过服务端根据键值数据库生成零化多项式,以及根据键值数据库生成多线性扩展多项式,通过客户端将待查询键值表示为二进制形式的比特串,并采用公钥对比特串的每一位进行加密,得到第一密文,将第一密文发送给服务端,通过服务端将第一密文作为输入数据;将输入数据输入零化多项式进行同态计算,得到第二密文;将输入数据输入多线性扩展多项式进行同态计算,得到第三密文;将第二密文和第三密文返回客户端,通过客户端利用私钥解密第二密文和第三密文,分别得到第一明文和第二明文;根据第一明文和第二明文确定目标查询结果,从而可以提供一种支持高效更新的在线匿踪查询方案,以提升匿踪查询效率。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory ,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (7)

1.一种支持高效更新的在线匿踪查询方法,其特征在于,应用于两方计算系统,所述两方计算系统包括服务端和客户端,所述服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,所述客户端包括待查询键值;所述方法包括:
通过所述客户端生成同态密钥对,所述同态密钥对包括公钥和私钥,将所述公钥发送给所述服务端;
通过所述服务端根据所述键值数据库生成零化多项式,以及根据所述键值数据库生成多线性扩展多项式;
通过所述客户端将所述待查询键值表示为二进制形式的比特串,并采用所述公钥对所述比特串的每一位进行加密,得到第一密文,将所述第一密文发送给所述服务端;
通过所述服务端将所述第一密文作为输入数据;将所述输入数据输入所述零化多项式进行同态计算,得到第二密文;将所述输入数据输入所述多线性扩展多项式进行同态计算,得到第三密文;将所述第二密文和所述第三密文返回所述客户端;
通过所述客户端利用所述私钥解密所述第二密文和所述第三密文,分别得到第一明文和第二明文;根据所述第一明文和所述第二明文确定目标查询结果;
其中,所述根据所述键值数据库生成零化多项式,包括:
按照如下公式生成所述零化多项式:
Figure QLYQS_1
其中,
Figure QLYQS_3
表示所述键值数据库中的键值数据对的数量,
Figure QLYQS_7
Figure QLYQS_8
的二进制形式的比特串,该比特串的长度为
Figure QLYQS_4
Figure QLYQS_5
表示该比特串的最低位,
Figure QLYQS_10
表示该比特串的最高位,
Figure QLYQS_12
表示该比特串的第
Figure QLYQS_2
个比特位,
Figure QLYQS_6
表示所述键值数据库中的第
Figure QLYQS_9
个键值,
Figure QLYQS_11
表示所述零化多项式;
其中,所述根据所述键值数据库生成多线性扩展多项式,包括:
按照如下公式生成多线性扩展多项式:
Figure QLYQS_13
其中,
Figure QLYQS_14
表示所述键值数据库中的第
Figure QLYQS_18
个数据,
Figure QLYQS_20
,则当
Figure QLYQS_15
时,
Figure QLYQS_17
;当
Figure QLYQS_19
Figure QLYQS_21
Figure QLYQS_16
表示所述多线性扩展多项式;
其中,若所述待查询键值为
Figure QLYQS_22
,所述
Figure QLYQS_23
表示为二进制形式的比特串
Figure QLYQS_24
;所述第二密文为
Figure QLYQS_25
,所述第三密文为
Figure QLYQS_26
Figure QLYQS_27
表示所述第一明文;
Figure QLYQS_28
表示所述第二明文;
所述根据所述第一明文和所述第二明文确定目标查询结果,包括:
Figure QLYQS_29
,确定所述
Figure QLYQS_30
在键值数据库中;
按照如下公式确定所述目标查询结果:
Figure QLYQS_31
其中,
Figure QLYQS_32
表示所述目标查询结果。
2.根据权利要求1所述的方法,其特征在于,在所述键值数据库中需要添加键值数据对
Figure QLYQS_33
更新时,所述方法还包括:
按照如下公式将所述零化多项式进行更新:
Figure QLYQS_34
其中,所述
Figure QLYQS_36
表示为二进制形式的比特串
Figure QLYQS_38
,该比特串的长度为
Figure QLYQS_41
Figure QLYQS_37
表示该比特串的最低位,
Figure QLYQS_40
表示该比特串的最高位,
Figure QLYQS_42
表示该比特串的第
Figure QLYQS_43
个比特位,
Figure QLYQS_35
表示所述零化多项式,
Figure QLYQS_39
表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
Figure QLYQS_44
其中,
Figure QLYQS_47
表示所述键值数据库中的第
Figure QLYQS_48
个数据,
Figure QLYQS_52
,则当
Figure QLYQS_46
时,
Figure QLYQS_50
;当
Figure QLYQS_51
时,
Figure QLYQS_53
Figure QLYQS_45
表示更新前的所述多线性扩展多项式,
Figure QLYQS_49
表示更新后的所述多线性扩展多项式。
3.根据权利要求1所述的方法,其特征在于,在所述键值数据库中需要删除键值数据对
Figure QLYQS_54
更新时,所述方法还包括:
按照如下公式更新所述零化多项式:
Figure QLYQS_55
其中,所述
Figure QLYQS_57
表示为二进制形式的比特串
Figure QLYQS_60
,该比特串的长度为
Figure QLYQS_63
Figure QLYQS_58
表示该比特串的最低位,
Figure QLYQS_61
表示该比特串的最高位,
Figure QLYQS_62
表示该比特串的第
Figure QLYQS_64
个比特位,
Figure QLYQS_56
表示所述零化多项式,
Figure QLYQS_59
表示更新后的所述零化多项式;
和/或,
按照如下公式将所述多线性扩展多项式进行更新:
Figure QLYQS_65
其中,
Figure QLYQS_66
,则当
Figure QLYQS_67
时,
Figure QLYQS_68
;当
Figure QLYQS_69
时,
Figure QLYQS_70
Figure QLYQS_71
表示更新前的所述多线性扩展多项式,
Figure QLYQS_72
表示更新后的所述多线性扩展多项式。
4.根据权利要求1所述的方法,其特征在于,在需要将所述键值数据库中的键值数据对的键值
Figure QLYQS_73
对应的数据
Figure QLYQS_74
更新为
Figure QLYQS_75
时,所述方法还包括:
按照如下公式更新所述多线性扩展多项式:
Figure QLYQS_76
其中,
Figure QLYQS_77
,则当
Figure QLYQS_78
时,
Figure QLYQS_79
;当
Figure QLYQS_80
时,
Figure QLYQS_81
Figure QLYQS_82
表示更新前的所述多线性扩展多项式,
Figure QLYQS_83
表示更新后的所述多线性扩展多项式。
5.一种两方计算系统,其特征在于,所述两方计算系统包括服务端和客户端,所述服务端包括键值数据库,该键值数据库包括多个键值数据对,每一键值数据对包括一个键值和一个数据,所述客户端包括待查询键值;其中,
所述客户端,用于生成同态密钥对,所述同态密钥对包括公钥和私钥,将所述公钥发送给所述服务端;
所述服务端,用于根据所述键值数据库生成零化多项式,以及根据所述键值数据库生成多线性扩展多项式;
所述客户端,还用于将所述待查询键值表示为二进制形式的比特串,并采用所述公钥对所述比特串的每一位进行加密,得到第一密文,将所述第一密文发送给所述服务端;
所述服务端,还用于将所述第一密文作为输入数据;将所述输入数据输入所述零化多项式进行同态计算,得到第二密文;将所述输入数据输入所述多线性扩展多项式进行同态计算,得到第三密文;将所述第二密文和所述第三密文返回所述客户端;
所述客户端,还用于利用所述私钥解密所述第二密文和所述第三密文,分别得到第一明文和第二明文;根据所述第一明文和所述第二明文确定目标查询结果;
其中,所述根据所述键值数据库生成零化多项式,包括:
按照如下公式生成所述零化多项式:
Figure QLYQS_84
其中,
Figure QLYQS_86
表示所述键值数据库中的键值数据对的数量,
Figure QLYQS_88
Figure QLYQS_92
的二进制形式的比特串,该比特串的长度为
Figure QLYQS_87
Figure QLYQS_90
表示该比特串的最低位,
Figure QLYQS_91
表示该比特串的最高位,
Figure QLYQS_95
表示该比特串的第
Figure QLYQS_85
个比特位,
Figure QLYQS_89
表示所述键值数据库中的第
Figure QLYQS_93
个键值,
Figure QLYQS_94
表示所述零化多项式;
其中,所述根据所述键值数据库生成多线性扩展多项式,包括:
按照如下公式生成多线性扩展多项式:
Figure QLYQS_96
其中,
Figure QLYQS_98
表示所述键值数据库中的第
Figure QLYQS_100
个数据,
Figure QLYQS_103
,则当
Figure QLYQS_99
时,
Figure QLYQS_101
;当
Figure QLYQS_102
Figure QLYQS_104
Figure QLYQS_97
表示所述多线性扩展多项式;
其中,若所述待查询键值为
Figure QLYQS_105
,所述
Figure QLYQS_106
表示为二进制形式的比特串
Figure QLYQS_107
;所述第二密文为
Figure QLYQS_108
,所述第三密文为
Figure QLYQS_109
Figure QLYQS_110
表示所述第一明文;
Figure QLYQS_111
表示所述第二明文;
所述根据所述第一明文和所述第二明文确定目标查询结果,包括:
Figure QLYQS_112
,确定所述
Figure QLYQS_113
在键值数据库中;
按照如下公式确定所述目标查询结果:
Figure QLYQS_114
其中,
Figure QLYQS_115
表示所述目标查询结果。
6.一种电子设备,其特征在于,包括处理器、存储器,所述存储器用于存储一个或多个程序,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-4任一项所述的方法中的步骤的指令。
7.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-4任一项所述的方法。
CN202310316392.1A 2023-03-29 2023-03-29 支持高效更新的在线匿踪查询方法、系统及相关设备 Active CN116032667B (zh)

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 CN116032667A (zh) 2023-04-28
CN116032667B true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116303551B (zh) * 2023-05-16 2023-08-04 北京信安世纪科技股份有限公司 隐匿查询方法及设备
CN116702215B (zh) * 2023-08-07 2023-12-08 腾讯科技(深圳)有限公司 一种查询处理方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
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 华控清交信息科技(北京)有限公司 一种匿踪查询方法、装置和用于匿踪查询的装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
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 华控清交信息科技(北京)有限公司 一种匿踪查询方法、装置和用于匿踪查询的装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
从双线性对到多线性映射;张方国;;密码学报(第03期);全文 *

Also Published As

Publication number Publication date
CN116032667A (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
US11706026B2 (en) Location aware cryptography
CN116032667B (zh) 支持高效更新的在线匿踪查询方法、系统及相关设备
CN114730420A (zh) 用于生成签名的系统和方法
CN104735164A (zh) 一种保存文件信息的方法和装置
CN108876593A (zh) 一种在线交易方法和装置
CN110599342B (zh) 基于区块链的身份信息的授权方法及装置
CN115269938B (zh) 基于同态加密的关键词匿踪查询方法、系统及相关装置
CN104967693A (zh) 面向云存储的基于全同态密码技术的文档相似度计算方法
CN109951279A (zh) 一种基于区块链和边缘设备的匿名数据存储方法
CN114491637B (zh) 数据查询方法、装置、计算机设备和存储介质
CN108737435A (zh) 一种账户初始化方法和装置
CN114528331A (zh) 基于区块链的数据查询方法及装置、介质、设备
Gahi et al. Privacy preserving scheme for location-based services
CN116226289A (zh) 基于区块链的电子凭证管理方法、装置、设备及存储介质
CN115242514A (zh) 基于国密的隐私集合求交方法、系统及相关设备
US11133926B2 (en) Attribute-based key management system
Huynh et al. A reliability guaranteed solution for data storing and sharing
CN117828673A (zh) 基于区块链的数据流通与隐私保护方法及装置
CN113259317A (zh) 一种基于身份代理重加密的云存储数据去重方法
CN110598427B (zh) 数据的处理方法、系统和存储介质
CN117371011A (zh) 数据隐匿查询方法、电子设备和可读存储介质
Yang et al. Privacy‐Preserving Query Scheme (PPQS) for Location‐Based Services in Outsourced Cloud
CN113342802A (zh) 区块链数据存储的方法和装置
CN115834058A (zh) 通信加密方法、装置、计算机设备
CN112019335B (zh) 一种基于sm2算法的多方协同加解密方法及装置、系统、介质

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