CN117171202A - 一种数据查询方法及装置 - Google Patents
一种数据查询方法及装置 Download PDFInfo
- Publication number
- CN117171202A CN117171202A CN202311047539.8A CN202311047539A CN117171202A CN 117171202 A CN117171202 A CN 117171202A CN 202311047539 A CN202311047539 A CN 202311047539A CN 117171202 A CN117171202 A CN 117171202A
- Authority
- CN
- China
- Prior art keywords
- data
- information
- random number
- ciphertext
- hash algorithm
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 55
- 230000008569 process Effects 0.000 claims abstract description 37
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 abstract description 25
- 238000013461 design Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据查询方法及装置,该方法包括:第二设备根据杂凑算法对目标数据的标签进行处理获得第一信息。第二设备向第一设备发送数据查询请求,数据查询请求中包括第一信息。第一设备根据第一信息确定多个数据。其中,根据杂凑算法对多个数据对应的标签进行处理所得的信息均为第一信息。第一设备向第二设备发送多个数据的密文。采用该方法,第一设备仅需要向第二设备发送部分数据的密文,无需向第二设备发送全部数据的密文,从而在实现隐匿查询的基础上,降低第一设备与第二设备之间的数据通信量,提高数据查询效率。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种数据查询方法及装置。
背景技术
传统的数据查询方式通常是查询方将查询对象的关键词或信息提供给数据方,数据方为查询方提供相应的查询结果。然而,在传统的数据查询方式中,查询方会泄露查询对象的信息。为了在查询数据时隐藏查询对象的信息,人们提出了隐匿查询的方法。该方法可以隐藏被查询对象关键词或信息,数据方为查询方提供相应的查询结果时,无法获知查询方具体的查询对象,同时查询方除了获得所查询结果,无法获知数据方的其它数据信息,提升数据的安全性。
目前,现有的隐匿查询方案中,通常采用不经意传输(Oblivious Transfer,OT)协议进行数据查询,从而实现查询方在***露查询对象信息的前提下,获得相应的查询结果。但是,该方案在查询过程中,数据方需要向查询方发送全部数据的密文。因此,该方案中查询方与数据方之间的数据通信量较大,从而导致数据查询效率较低。
发明内容
本申请实施例提供一种数据查询方法及装置,用以降低查询方与数据方之间的数据通信量,从而提高数据查询效率。
第一方面,本申请实施例提供了一种数据查询方法。以第一设备为执行主体为例,该方法包括:第一设备接收来自于第二设备的数据查询请求,数据查询请求包括第一信息,第一信息是根据杂凑算法对目标数据的标签进行处理获得的;第一设备根据第一信息确定多个数据,根据杂凑算法对多个数据对应的标签进行处理所得的信息均为第一信息;第一设备向第二设备发送多个数据对应的密文。
采用该方法,第一设备可以将根据第一信息确定多个数据,第一设备仅需要向第二设备发送所确定的多个数据的密文,无需向第二设备发送全部数据的密文,从而降低第一设备与第二设备之间的数据通信量,提高数据查询效率。
在一种可能的设计中,第一设备向第二设备发送第一随机数;第一设备接收来自于第二设备的第二信息,第二信息是根据杂凑算法对第一随机数、第二随机数和目标数据的标签进行处理获得的;第一设备根据第二信息加密多个数据获得多个数据的密文。
在一种可能的设计中,根据第二信息加密多个数据获得多个数据的密文,包括:第一设备根据杂凑算法对第一随机数、第二信息和多个数据的标签进行处理,获得多个数据分别对应的密钥;第一设备根据密钥对多个数据进行加密,获得多个数据的密文。
采用该设计,第一设备根据多个数据分别对应的密钥对多个数据进行加密,获得多个数据的密文。也就是说,第一设备使用不同的密钥对不同的数据进行加密获得不同的密文,若第二设备没有相应的密钥,则第二设备无法获得该密文的明文数据,从而保证数据的安全性。
在一种可能的设计中,多个数据中的至少两个数据对应的标签不同。
采用该设计,多个数据中不同的数据对应的标签可以不同,但第一设备根据杂凑算法对多个数据中不同的标签进行处理所得的信息可以为相同的信息(即第一信息)。从而实现根据第一信息从全部数据中筛选出对应的信息为第一信息的数据。
第二方面,本申请实施例提供了一种数据查询方法。以第二设备为执行主体为例,该方法包括:第二设备根据杂凑算法对目标数据的标签进行处理获得第一信息;第二设备向第一设备发送数据查询请求,数据查询请求包括第一信息;第二设备接收来自于第一设备的多个数据对应的密文,根据杂凑算法对多个数据对应的标签进行处理所得的信息均为第一信息。
在一种可能的设计中,第二设备接收来自于第一设备的第一随机数;第二设备根据杂凑算法对第一随机数、第二随机数和目标数据的标签进行处理,获得第二信息,多个数据对应的密文是根据第二信息加密多个数据获得的;第二设备向第一设备发送第二信息。
在一种可能的设计中,多个数据对应的密文是根据多个数据分别对应的密钥对多个数据进行加密获得的,密钥是根据杂凑算法对第一随机数、第二信息和多个数据的标签进行处理获得的。
在一种可能的设计中,第二设备根据杂凑算法对第一随机数、第二信息和第二随机数进行处理,获得目标数据的密钥;第二设备根据目标数据的密钥对多个数据的密文解密,获得目标数据。
在一种可能的设计中,多个数据中的至少两个数据对应的标签不同。
第三方面,本申请实施例提供了一种数据查询装置,包括:通信模块,用于接收数据查询请求,数据查询请求包括第一信息,第一信息是根据杂凑算法对目标数据的标签进行处理获得的;处理模块,用于根据第一信息确定多个数据,根据杂凑算法对多个数据对应的标签进行处理所得的信息均为第一信息;通信模块,还用于向第二设备发送多个数据对应的密文。
在一种可能的设计中,通信模块,还用于发送第一随机数;通信模块,还用于接收第二信息,第二信息是根据第一随机数获得的;处理模块,还用于第二信息加密多个数据获得多个数据的密文。
在一种可能的设计中,处理模块具体用于:根据杂凑算法对第一随机数、第二信息和多个数据的标签进行处理,获得多个数据分别对应的密钥;根据密钥对多个数据进行加密,获得多个数据的密文。
在一种可能的设计中,多个数据中的至少两个数据对应的标签不同。
第四方面,本申请实施例提供了一种数据查询装置,包括:处理模块,用于根据杂凑算法对目标数据的标签进行处理获得第一信息;通信模块,用于发送数据查询请求,数据查询请求包括第一信息;通信模块,还用于接收多个数据对应的密文,根据杂凑算法对多个数据对应的标签进行处理所得的信息均为第一信息。
在一种可能的设计中,通信模块,还用于接收第一随机数;处理模块,还用于根据杂凑算法对第一随机数、第二随机数和目标数据的标签进行处理,获得第二信息,第二信息用于加密多个数据获得多个数据对应的密文;通信模块,还用于发送第二信息。
在一种可能的设计中,多个数据对应的密文是根据多个数据分别对应的密钥对多个数据进行加密获得的,密钥是根据杂凑算法对第一随机数、第二信息和多个数据的标签进行处理获得的。
在一种可能的设计中,处理模块具体用于:根据杂凑算法对第一随机数、第二信息和第二随机数进行处理,获得目标数据的密钥;根据目标数据的密钥对多个数据的密文解密,获得目标数据。
在一种可能的设计中,多个数据中的至少两个数据对应的标签不同。
第五方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时,实现如上述第一方面及其任一可能的设计的方法,或者,实现如上述第二方面及其任一可能的设计的方法。
第六方面,本申请实施例还提供了一种电子设备,包括存储器和处理器,存储器上存储有可在处理器上运行的计算机程序,当计算机程序被处理器执行时,使得处理器实现如上述第一方面及其任一可能的设计的方法,或者,实现如上述第二方面及其任一可能的设计的方法。
第二方面至第六方面及其任意一种设计所带来的技术效果可参见第一方面中对应的设计所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据查询方法的流程示意图;
图2为本申请实施例提供的另一种数据查询方法的流程示意图;
图3为本申请实施例提供的一种数据查询装置的模块化结构示意图;
图4为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作可选的详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面,结合现有技术对数据查询方法进行介绍。
传统的数据查询方式通常是查询方将查询对象的关键词或信息提供给数据方,数据方为查询方提供相应的查询结果。然而,在传统的数据查询方式中,查询方会泄露查询对象的信息。为了在查询数据时隐藏查询对象的信息,人们提出了隐匿查询的方法。该方法可以隐藏被查询对象关键词或信息,数据方为查询方提供相应的查询结果时,无法获知查询方具体的查询对象,同时查询方除了获得所查询结果,无法获知数据方的其它数据信息,提升数据的安全性。
目前,现有的隐匿查询方案中,通常采用不经意传输(Oblivious Transfer,OT)协议进行数据查询,从而实现查询方在***露查询对象信息的前提下,获得相应的查询结果。但是,该方案在查询过程中,数据方需要向查询方发送全部数据的密文。因此,该方案中查询方与数据方之间的数据通信量较大,从而导致数据查询效率较低。
隐匿查询,又称隐私信息检索(private information retrieval,pir)是为了保障查询方(用户)的查询对象的隐私信息的私密性而采用的策略。该策略可以隐藏查询对象的关键词或信息,从而数据方在提供相应的查询结果时,无法获知查询方具体的查询对象,同时数据方也不会泄露除查询对象以外的其它数据信息。目前,现有的隐匿查询方案,通常是采用OT协议的查询方法。该方法通常是数据方根据预设的不同的密钥对所有的数据进行加密,并向查询方发送所有的密文。查询方根据查询对象对应的密钥对密文进行解密,从而获得查询结果。然而,该方案中数据方需要将全部数据的密文发送给查询方,相应的查询方需要接收全部数据的密文,数据方与查询方之间的数据通信量较大,导致查询数据的效率较低。
为了解决上述技术缺陷,本申请提供一种数据查询方法及装置,用以降低数据方与查询方之间数据的通信量,从而提高查询数据的效率。该方法可以由第一设备和第二设备实施。其中,第一设备可以是用于提供查询结果的数据提供设备。第二设备可以是查询数据的查询设备。
图1为本申请实施例提供的一种数据查询方法的流程示意图。以第一设备和第二设备为执行主体为例,该流程可以包括以下步骤:
S101,第二设备可以根据杂凑算法对目标数据的标签进行处理获得第一信息。
具体的,目标数据的标签可以是目标数据的索引,或者目标数据的标签可以是根据目标数据的索引生成的。目标数据的标签也可以是目标数据中的部分数据(如,目标数据中的关键词)。目标数据的标签可以是用户在查询数据时,通过输入设备(如,键盘、触摸屏等)输入的。第二设备可以通过接收来自于输入设备的目标数据的标签的方式获得目标数据的标签。第一信息可以是字符或字符串,第一信息也可以是一个数值。
为了解决现有的隐匿查询技术中数据方(即第一设备)需要向查询方(即第二设备)发送全部数据的密文。本申请可以通过以下方式对目标数据的标签进行处理,获得第一信息。
在一个或多个实施例中,第二设备可以根据预设值和目标数据的标签获得第一信息。
具体的,预设值可以是预先设定的数值。或者,预设值可以是用户在查询数据时,通过输入设备输入的数值。相应的,第二设备可以根据预先设定的规则获得预设值。或者,第二设备可以通过接收来自于输入设备的预设值的方式获得预设值。其中,预设值为大于等于1的正整数。
第二设备可以根据杂凑算法对目标数据的标签进行处理,获得目标数据的标签的杂凑值。第二设备还可以根据预设值对目标数据的标签的杂凑值进行处理(例如取模运算),获得第一信息。
示例性的,第一信息可以表示为k,目标数据的标签可以表示为l*,预设值可以表示为m,则第一信息、目标数据的标签和预设值满足:
k=hash(l*)%m;
其中,hash(X)表示对X进行杂凑运算,X%Y表示X对Y进行取模运算。
基于该实施例,第二设备对目标数据的标签进行杂凑处理,获得目标数据的标签的杂凑值,再根据预设值对该杂凑值进行处理获得第一信息,从而可以保证目标数据的标签的私密性。此外,第一信息可以作为后续第一设备从多个数据中筛选出需要向第二设备传输的数据的基准。
示例性的,图2为本申请实施例提供的一种数据查询方法的流程示意图。如图2所示,数据提供设备可以表示为第一设备,数据查询设备可以表示为第二设备,则第二设备可以通过步骤6根据预设值m和目标数据的标签生成数值k,即生成第一信息。
S102,第二设备可以向第一设备发送数据查询请求。其中,数据查询请求包括第一信息。相应的,第一设备接收来自于第二设备的数据查询请求。
具体的,第二设备可以是由其他设备(如输入设备)触发向第一设备发送数据查询请求。例如,用户通过输入设备输入目标数据的标签后,输入设备触发第二设备向第一设备发送用于查询目标数据的请求。
或者,第二设备可以根据预先设定的规则向第一设备发送数据查询请求。例如,预先设定的规则是获得第一信息后,发送数据查询请求。第二设备在获得第一信息后,触发向第一设备发送数据查询请求的动作。
此外,本申请还可以有其他的方式触发第二设备执行向第一设备发送数据查询请求的动作,本申请不做具体限定。
示例性的,仍以图2为例,第二设备可以通过步骤7向第一设备发送数值k(即第一信息),即向第一设备发送数据查询请求。
S103,第一设备可以根据第一信息确定多个数据。其中,根据杂凑算法对多个数据对应的标签进行处理所得的信息均为第一信息。
具体的,第一设备可以根据杂凑算法对所有的数据的对应的标签进行处理,获得所有数据对应的信息。第一设备可以根据全部数据对应的信息和第一信息确定需要向第二设备发送的多个数据。也就是,需要向第二设备发送的多个数据对应的信息为第一信息。
此外,本申请中的数据的标签可以是预先根据标签对应的数据的关键词获得的。例如,在存储数据时,第一设备可以根据数据的索引获得该数据对应的标签。
为了解决现有的隐匿查询技术中数据方(即第一设备)需要向查询方(即第二设备)发送全部数据的密文。本申请可以通过以下方式对所有的数据的标签进行处理,获得相应的信息。
在一个或多个实施例中,第一设备可以根据预设值和所有的数据的标签,获得相应的信息。
具体的,第一设备可以根据预先设定规则获得预设值。第一设备可以通过接收来自于输入设备的预设值的方式获得预设值。第一设备也可以接收来自于第二设备的预设值,相应的,第二设备向第一设备发送预设值。例如,如图2所示,第二设备还可以通过步骤7向第一设备发送m,即向第一设备发送预设值。
第一设备可以根据预设值和杂凑算法分别对所有的数据的标签中的每个标签进行处理,获得相应的信息。其中,第一设备对所有的数据的标签进行处理的杂凑算法与第二设备对目标数据的标签进行处理的杂凑算法为相同的算法。第一设备与第二设备使用的杂凑算法可以是预先设定的算法,或者,第一设备也可以根据来自于第二设备的信息获得杂凑算法,本申请不做具体限定。例如,如图2所示,第一设备可以通过步骤8根据m对多个数据对应的标签进行处理获得多个数值,即获得多个数据对应的信息。
示例性的,若第一设备根据杂凑算法对所有数据标签进行处理,第一设备中包括T个数据,则T个数据的标签可以表示为(l1,l2,…,lT),T个数据的信息可以表示为(Q1,Q2,…,QT),其中,T为大于等于2的正整数,预设值可以表示为m,则T个数据标签、T个数据的信息和预设值满足:
Qi=hash(li)%m;
其中,i为小于或等于T的正整数。
基于该实施例,第一设备可以对所有数据的标签分别进行杂凑处理,获得相应标签的杂凑值,再根据预设值分别对相应标签的杂凑值进行处理,获得该标签对应的信息。该信息可以作为第一设备从多个数据中筛序出需要向第二设备传输的数据的判断依据。也就是,第一设备可以根据所有数据的信息和第一信息确定向第二设备发送该数值对应的数据。
在一个或多个实施例中,多个数据中的至少两个数据对应的标签不同。
具体的,本申请中的数据对应的标签可以为不同的标签。第一设备可以根据杂凑算法对不同的标签进行处理所得的信息可以是相同的信息,也可以是不同的信息。例如,数据a对应的标签为A,数据b对应的标签为B,数据c对应的标签为C,其中A、B和C分别对应三种不同的标签。第一设备根据杂凑算法分别对A进行处理所得的信息为信息1,第一设备根据杂凑算法对B进行处理所得的信息为信息1,第一设备根据杂凑算法对C进行处理所得的信息为信息2。即,数据a与数据b对应的信息为相同的信息,数据a和数据b与数据c对应的信息为不同的信息。由于不同的标签对应的信息可以为相同的信息,则第一设备可以根据某个信息从全部数据中筛选出对应的信息为该信息的数据。
可理解的,步骤S103中根据所有数据的标签获得所有数据的信息的动作,可以在步骤S101和/或步骤S102之前执行,本申请不做具体限定。例如,第一设备可以在查询数据之前,根据预先设定的规则获得预设值,再根据预设值对所有数据的标签进行处理获得所有数据的信息。或者,第一设备可以在接收来自于输入设备或第二设备的预设值之后,根据预设值对所有数据的标签进行处理获得所有数据的信息。此外,第一设备也可以在接收到第一信息后,再执行根据所有数据的标签获得所有数据的信息的动作,本申请不做具体限定。
S104,第一设备可以向第二设备发送多个数据对应的密文。相应的,第二设备接收来自于第一设备的多个数据的密文。
具体的,第一设备通过步骤S103确定需要向第二设备发送的多个数据,再对多个数据进行加密获得多个数据对应的密文。第一设备可以根据密文请求向第二设备发送多个数据的密文。其中,密文请求用于请求多个数据的密文。例如,第二设备可以向第一设备发送请求多个数据的密文的密文请求,第一设备根据来自于第二设备的密文请求向第二设备发送多个数据的密文。此外,为了减少第一设备与第二设备之间数据交互的次数,第一设备可以同时向第二设备发送多个数据的密文。也就是,第一设备可以将多个数据进行加密后,再向第二设备发送多个数据的密文。示例性的,如图2所示,第一设备可以通过步骤11向第二设备发送密文,即向第二设备发送多个数据的密文。
第一设备在向第二设备发送多个数据的密文之前,还可以对多个数据进行加密获得多个数据的密文。示例性的,第一设备可通过以下方式获得多个数据的密文:
在一个或多个实施例中,第一设备可以向第二设备发送第一随机数。第一设备可以接收来自于第二设备的第二信息。第一设备根据第二信息加密多个数据获得多个数据的密文。
具体的,第一设备可以向第二设备发送第一随机数。相应的,第二设备可以接收来自于第一设备的第一随机数。其中,第一随机数可以是根据第三随机数生成的,第三随机数可以是第一设备根据随机数发生器生成的随机数。例如,如图2所示,第一设备可以通过步骤1生成随机数y,随机数y即第三随机数,之后通过步骤2根据随机数y获得随机数S,即获得第一随机数。第一设备还可通过步骤3向第二设备发送随机数S,即发送第一随机数。
示例性的,第一随机数可表示为S,第三随机数可以表示为y,则第一随机数和第三随机数满足:
S=[y]G;
其中,y∈[1,N-1],N为椭圆曲线群的阶,G为椭圆曲线群的基点,[X]Y表示X与Y进行点乘。
第二设备可以根据杂凑算法对第一随机数、第二随机数和目标数据的标签进行处理,获得第二信息。其中,第二随机数可以是第二设备根据随机数发生器生成的随机数。例如,如图2所述,第二设备可以通过步骤4生成第二随机数x,随机数x即第二随机数。第二设备可以通过步骤5,根据目标数据的标签、S(第一随机数)和x(第二随机数),获得数值R(第二信息)。
示例性的,第一随机数可表示为S,第二随机数可以表示为x,目标数据的标签可以表示为l*,第二信息可以表示为R,则第一随机数、第二随机数、目标数据的标签和第二信息满足:
R=[hash(l*)]S+[x]G;
其中,x∈[1,N-1]。
第二设备向第一设备发送第二信息的具体方式可以参见第二设备向第一设备发送第一信息的具体方式,此处不再赘述。此外,第二设备可以同时向第一设备发送第一信息和第二信息。例如,如图2所示,第二设备可以通过步骤7同时向第一设备发送数值k和数值R,即向第一设备发送第一信息和第二信息。或者,第二设备可以分别向第一设备发送第一信息和第二信息。本申请不做具体限定。
在一个或多个实施例中,第一设备可以根据杂凑算法对第一随机数、第二信息和多个数据的标签进行处理,获得多个数据分别对应的密钥。
此外,第一设备也可以根据杂凑算法对第一随机数、第二信息、第三随机数和多个数据的标签进行处理,获得多个数据分别对应的密钥。例如,如图2所示,第一设备可以通过步骤9,将多个数值依次与k进行比较,若数值与k相等,则根据S(即第一随机数)、R(即第二信息)和y(即第三随机数)对该数值对应的标签进行处理获得加密密钥,即获得该数据对应的密钥。
示例性的,第一随机数可以表示为S,第三随机数可以表示y,第二信息可以表示为R,多个数据的标签可以表示为li,多个数据的密钥可以表示为Ki,则第一随机数、第三随机数、第二信息、多个数据的标签和多个数据的密钥满足:
Ki=hash(S||R||([y]R-[hash(li)y]S));
其中,X||Y表示将X与Y进行拼接。
进一步的,第一设备可以根据密钥对所述多个数据进行加密,获得多个数据的密文。例如,如图2所述,第一设备可以通过步骤10根据加密密钥(即第一密钥)对相应的数据进行加密获得密文。即获得第一密文。
示例性的,多个数据的密钥可以表示为Ki,多个数据可以表示为Mi,多个数据的密文可以Ei,则多个数据的密钥、多个数据和多个数据的密文满足:
Ei=ENC(Ki,Mi);
其中,ENC(X,Y)表示为使用密钥X对数据Y进行加密。
基于该实施例,第一设备可仅获得多个数据的密钥,以及使用多个数据的密钥对数据进行加密获得多个数据的密文,无需获得所有数据的密钥,也不需要对所有的数据进行加密,从而降低第一设备的计算量,提高效率。
第一设备可以在获得多个数据的密文后,向第二设备发送多个数据的密文。相应的,第二设备接收来自于第一设备而的多个数据的密文。其中,第一设备向第二设备发送多个数据的密文的具体方式可参见第一设备向第二设备发送第一随机数的具体方式,此处不再赘述。例如,如图2所示,第一设备可以通过步骤11向第二设备发送密文,即向第二设备发送多个数据的密文。
第二设备在接收到来自于第一设备的多个数据的密文后,第二设备还可以根据杂凑算法对第一随机数、第二信息和第二随机数进行处理,获得目标数据的密钥。第二设备根据目标数据的密钥解密多个数据的密文,获得目标数据。
示例性的,第二设备可以通过以下方式获得目标数据:
在一个或多个实施例中,第二设备可以根据第一随机数、第二随机数和第二信息获得目标数据的密钥。例如,如图2所示,第二设备可以通过步骤12根据S(即第一随机数)、R(即第二信息)和x(即第二随机数)生成目标数据对应的解密密钥,即生成目标数据的密钥。
示例性的,第一随机数可以表示为S,第二随机数可以表示为x,第二信息可以表示为R,目标数据的密钥可以表示为Key,则第一随机数、第二随机数、第二信息和目标数据的密钥满足:
Key=hash(S||R||[x]S)。
可理解的,由上述内容可知多个数据的密钥满足:
Ki=hash(S||R||([y]R-[hash(li)y]S));
当多个数据的标签中的一个标签与目标数据的标签为同一标签时(即li=l*),则该标签对应的密钥满足:
Ki=hash(S||R||[x]S);
可理解的,当目标数据的标签与多个数据的标签中的一个标签相同时,目标数据的密钥与该标签的密钥也相同。同理,当目标数据的标签与多个数据的标签中的一个标签不相同时,目标数据的密钥与该标签的密钥不相同。
因此,第二设备可以根据目标数据的密钥解密多个数据的密文获得目标数据。例如,如图2所示,第二设备可以通过步骤13,根据目标数据对应的解密密钥对密文进行解密,获得目标数据。
可理解的,由于目标数据的密钥仅可以对目标数据的密文进行解密,因此第二设备仅可以获得目标数据。第二设备无法根据第二密钥对非目标数据的密文进行解密获得相应的数据。采用该方法,可以实现在获得目标数据的同时,保证其他数据的安全性。
基于上述内容和相同构思,本申请提供一种数据查询装置。图3为本申请实施例提供的一种数据查询装置的模块化结构示意图。该装置包括处理模块301和通信模块302。
在实现以上方法实施例中由第一设备执行的动作时,通信模块302,用于接收数据查询请求,数据查询请求包括第一信息,第一信息是根据杂凑算法对目标数据的标签进行处理获得的;处理模块301,用于根据第一信息确定多个数据,根据杂凑算法对多个数据对应的标签进行处理所得的信息均为第一信息;通信模块302,还用于向第二设备发送多个数据对应的密文。
在一种可能的设计中,通信模块302,还用于发送第一随机数;通信模块302,还用于接收第二信息,第二信息是根据第一随机数获得的;处理模块301,还用于第二信息加密多个数据获得多个数据的密文。
在一种可能的设计中,处理模块301具体用于:根据杂凑算法对第一随机数、第二信息和多个数据的标签进行处理,获得多个数据分别对应的密钥;根据密钥对多个数据进行加密,获得多个数据的密文。
在一种可能的设计中,多个数据中的至少两个数据对应的标签不同。
在实现以上方法实施例中由第二设备执行的动作时,处理模块301,用于根据杂凑算法对目标数据的标签进行处理获得第一信息;通信模块302,用于发送数据查询请求,数据查询请求包括第一信息;通信模块302,还用于接收多个数据对应的密文,根据杂凑算法对多个数据对应的标签进行处理所得的信息均为第一信息。
在一种可能的设计中,通信模块302,还用于接收第一随机数;处理模块301,还用于根据杂凑算法对第一随机数、第二随机数和目标数据的标签进行处理,获得第二信息,第二信息用于加密多个数据获得多个数据对应的密文;通信模块302,还用于发送第二信息。
在一种可能的设计中,多个数据对应的密文是根据多个数据分别对应的密钥对多个数据进行加密获得的,密钥是根据杂凑算法对第一随机数、第二信息和多个数据的标签进行处理获得的。
在一种可能的设计中,处理模块301具体用于:根据杂凑算法对第一随机数、第二信息和第二随机数进行处理,获得目标数据的密钥;根据目标数据的密钥对多个数据的密文解密,获得目标数据。
在一种可能的设计中,多个数据中的至少两个数据对应的标签不同。
图4示出了本申请实施例提供的一种电子设备结构示意图。
本申请实施例中的电子设备可包括处理器401。处理器401是该装置的控制中心,可以利用各种接口和线路连接该装置的各个部分,通过运行或执行存储在存储器403内的指令以及调用存储在存储器403内的数据。可选的,处理器401可包括一个或多个处理单元,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。在一些实施例中,处理器401和存储器403可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器401可以是通用处理器,例如中央处理器(Central Processing Unit,CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法步骤可以直接由硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器403存储有可被至少一个处理器401执行的指令,至少一个处理器401通过执行存储器403存储的指令,可以用于执行本申请实施例所公开的方法步骤。
存储器403作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器403可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等。存储器403是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器403还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本申请实施例中,该装置还可以包括通信接口402,电子设备可以通过该通信接口402传输数据。
可选的,可由图4所示处理器401(或处理器401和通信接口402)实现图3所示的处理模块301和/或通信模块302,也就是说,可以由处理器401(或处理器401和通信接口402)执行处理模块301和/或通信模块302的动作。
基于相同的发明构思,本申请实施例还提供一种计算机可读存储介质,其中可存储有指令,当该指令在计算机上运行时,使得计算机执行上述方法实施例提供的操作步骤。该计算机可读存储介质可以是图4所示的存储器403。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种数据查询方法,其特征在于,所述方法包括:
第一设备接收来自于第二设备的数据查询请求,所述数据查询请求包括第一信息,所述第一信息是根据杂凑算法对目标数据的标签进行处理获得的;
所述第一设备根据所述第一信息确定多个数据,根据所述杂凑算法对所述多个数据对应的标签进行处理所得的信息均为所述第一信息;
所述第一设备向所述第二设备发送所述多个数据对应的密文。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一设备向所述第二设备发送第一随机数;
所述第一设备接收来自于所述第二设备的第二信息,所述第二信息是根据所述杂凑算法对所述第一随机数、第二随机数和所述目标数据的标签进行处理获得的;
所述第一设备根据所述第二信息加密所述多个数据获得所述多个数据的密文。
3.如权利要求2所述的方法,其特征在于,根据所述第二信息加密所述多个数据获得所述多个数据的密文,包括:
所述第一设备根据所述杂凑算法对所述第一随机数、所述第二信息和所述多个数据的标签进行处理,获得所述多个数据分别对应的密钥;
所述第一设备根据所述密钥对所述多个数据进行加密,获得所述多个数据的密文。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述多个数据中的至少两个数据对应的标签不同。
5.一种数据查询方法,其特征在于,所述方法包括:
第二设备根据杂凑算法对目标数据的标签进行处理获得第一信息;
所述第二设备向第一设备发送数据查询请求,所述数据查询请求包括所述第一信息;
所述第二设备接收来自于所述第一设备的多个数据对应的密文,根据所述杂凑算法对所述多个数据对应的标签进行处理所得的信息均为所述第一信息。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
所述第二设备接收来自于所述第一设备的第一随机数;
所述第二设备根据所述杂凑算法对所述第一随机数、第二随机数和所述目标数据的标签进行处理,获得第二信息,所述多个数据对应的密文是根据所述第二信息加密所述多个数据获得的;
所述第二设备向所述第一设备发送所述第二信息。
7.如权利要求6所述的方法,其特征在于,所述多个数据对应的密文是根据所述多个数据分别对应的密钥对所述多个数据进行加密获得的,所述密钥是根据所述杂凑算法对所述第一随机数、所述第二信息和所述多个数据的标签进行处理获得的。
8.如权利要求5所述的方法,其特征在于,所述方法还包括:
所述第二设备根据所述杂凑算法对所述第一随机数、所述第二信息和所述第二随机数进行处理,获得所述目标数据的密钥;
所述第二设备根据所述目标数据的密钥解密所述多个数据的密文,获得所述目标数据。
9.如权利要求5-8中任一项所述的方法,其特征在于,所述多个数据中的至少两个数据对应的标签不同。
10.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-9中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311047539.8A CN117171202A (zh) | 2023-08-18 | 2023-08-18 | 一种数据查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311047539.8A CN117171202A (zh) | 2023-08-18 | 2023-08-18 | 一种数据查询方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117171202A true CN117171202A (zh) | 2023-12-05 |
Family
ID=88946046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311047539.8A Pending CN117171202A (zh) | 2023-08-18 | 2023-08-18 | 一种数据查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117171202A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117827884A (zh) * | 2023-12-31 | 2024-04-05 | 北京海泰方圆科技股份有限公司 | 一种批量数据查询方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114091054A (zh) * | 2021-11-03 | 2022-02-25 | 深圳前海微众银行股份有限公司 | 一种双向隐匿数据查询方法及装置 |
CN114860735A (zh) * | 2022-05-30 | 2022-08-05 | 银清科技有限公司 | 匿踪查询方法及装置 |
CN115905238A (zh) * | 2022-12-12 | 2023-04-04 | 上海零数众合信息科技有限公司 | 隐匿查询方法、装置、电子设备和存储介质 |
-
2023
- 2023-08-18 CN CN202311047539.8A patent/CN117171202A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114091054A (zh) * | 2021-11-03 | 2022-02-25 | 深圳前海微众银行股份有限公司 | 一种双向隐匿数据查询方法及装置 |
CN114860735A (zh) * | 2022-05-30 | 2022-08-05 | 银清科技有限公司 | 匿踪查询方法及装置 |
CN115905238A (zh) * | 2022-12-12 | 2023-04-04 | 上海零数众合信息科技有限公司 | 隐匿查询方法、装置、电子设备和存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117827884A (zh) * | 2023-12-31 | 2024-04-05 | 北京海泰方圆科技股份有限公司 | 一种批量数据查询方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113254957B (zh) | 基于隐私信息保护的数据查询方法、装置、设备及*** | |
CN110650010B (zh) | 一种非对称密钥中的私钥生成和使用方法、装置和设备 | |
CN102138300B (zh) | 消息认证码预计算在安全存储器中的应用 | |
US20140140512A1 (en) | Requested and allowed cryptographic operations comparison | |
WO2024077948A1 (zh) | 匿踪查询方法、装置和***及存储介质 | |
US8769302B2 (en) | Encrypting data and characterization data that describes valid contents of a column | |
CN110505054B (zh) | 一种基于动态白盒的数据处理方法、装置及设备 | |
WO2021129470A1 (zh) | 基于多项式完全同态的二进制数据加密***及方法 | |
CN112788001B (zh) | 一种基于数据加密的数据处理业务处理方法、装置及设备 | |
CN114175569A (zh) | 用于在aes计数器模式加密中对用拟群运算加密的整数进行相加和比较的***和方法 | |
CN112865957A (zh) | 数据加密传输方法、装置、计算机目标设备和存储介质 | |
US9571273B2 (en) | Method and system for the accelerated decryption of cryptographically protected user data units | |
GB2498063A (en) | Checking acceptance of a string by automaton | |
CN111555880A (zh) | 数据碰撞方法、装置、存储介质及电子设备 | |
CN117171202A (zh) | 一种数据查询方法及装置 | |
US8804953B2 (en) | Extensive ciphertext feedback | |
CN115795514A (zh) | 一种隐私信息检索方法、装置及*** | |
Sekar et al. | Comparative study of encryption algorithm over big data in cloud systems | |
US20120321079A1 (en) | System and method for generating round keys | |
CN114430321B (zh) | 基于dfa自适应安全的黑盒可追踪密钥属性加密方法及装置 | |
CN115982768A (zh) | 一种隐私求交方法及装置 | |
KR20170107818A (ko) | 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법 | |
CN114500006B (zh) | 查询请求的处理方法及装置 | |
KR20170005850A (ko) | 암호 장치, 기억 시스템, 복호 장치, 암호 방법, 복호 방법, 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
CN117411727B (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 |