CN117194756A - 数据处理方法、装置及存储介质 - Google Patents
数据处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117194756A CN117194756A CN202311451669.8A CN202311451669A CN117194756A CN 117194756 A CN117194756 A CN 117194756A CN 202311451669 A CN202311451669 A CN 202311451669A CN 117194756 A CN117194756 A CN 117194756A
- Authority
- CN
- China
- Prior art keywords
- query
- data
- client
- server
- interference data
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 239000011159 matrix material Substances 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000004590 computer program Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 abstract description 7
- 238000006243 chemical reaction Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 238000007792 addition Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供数据处理方法、装置及存储介质。该方法包括,在服务器端将数据库中原始数据转换为目标矩阵后,接收服务器端提供的提示参数;其中,提示参数是基于目标矩阵和匿踪查询的公共参数计算得到的;生成包含干扰数据的查询请求;向服务器端发送包含干扰数据的查询请求;接收服务器端反馈的包含干扰数据的查询结果;利用提示参数从包含干扰数据的查询结果中恢复目标数据。基于上述方案,服务器端预先计算得到的提示参数以及匿踪查询的公共参数是可以应用于不同客户端的数据查询需求,服务器端的预处理仅依赖于数据库转换得到的目标矩阵和匿踪查询的公开参数,因此服务器可以在许多相互独立的客户端的多次查询中重复使用此预处理数据。
Description
技术领域
本申请计算机技术领域,尤其涉及数据处理方法、装置及存储介质。
背景技术
隐私信息检索(也叫匿踪查询)是安全多方计算中很实用的一项技术,用来保护用户的查询隐私。其目的是保证用户向服务器(数据源方)提交查询请求时,在用户查询信息不被泄漏的条件下完成查询。即整个查询过程中服务器不知道用户具体查询信息及查询出的数据项。
在实际计算过程中,为了更好的保护客户端的真实意图和查询隐私,服务器必须遍历数据库的每一个比特来回答一个客户端的查询,否则就会泄露客户端不感兴趣的数据库记录信息。也就意味着一次查询过程就需要服务器端执行大量不相关的数据处理工作。一些方案提出对数据库进行预处理,使服务器回答查询的时间与数据库记录是次线性相关的。但是上述方案需要特定于客户端的预处理,需要很大的服务器存储空间。并且,由于计算量和通信量都比较大,导致计算、通信成本很高。因此,需要一种能够实现提高匿踪查询数据处理能力的方案。
发明内容
本申请的多个方面提供数据处理方法、装置及存储介质,用以提高匿踪查询数据处理能力的方案。
本申请实施例提供一种数据处理方法,应用于客户端,所述方法包括:
在服务器端将数据库中原始数据转换为目标矩阵后,接收所述服务器端提供的提示参数;其中,所述提示参数是基于所述目标矩阵和匿踪查询的公共参数计算得到的;
生成包含干扰数据的查询请求;
向所述服务器端发送所述包含干扰数据的查询请求;
接收所述服务器端反馈的包含干扰数据的查询结果;
利用所述提示参数从所述包含干扰数据的查询结果中恢复所述目标数据。
可选地,所述生成包含干扰数据的查询请求,包括:
基于所述目标矩阵与所述原始数据的对应关系,生成用于表示检索所需目标数据的单位向量;
基于所述单位向量生成包含干扰数据的查询请求。
可选地,基于所述单位向量生成包含干扰数据的查询请求,包括:
随机选取秘密向量和错误向量;
基于所述秘密向量与所述匿踪查询的公共参数、所述错误向量、所述单位向量计算得到用于表示查询所需目标数据的所述查询请求。
可选地,基于所述秘密向量和所述对应关系,设置用于恢复所述目标数据的状态信息。
可选地,所述利用所述提示参数从所述包含干扰数据的查询结果中恢复所述目标数据,包括:
基于所述状态信息计算查询结果中目标元素与提示信息中目标元素的差值;
基于预设的第一常量和第二常量计算得到整数常量;
基于所述差值和所述整数常量,恢复所述目标数据。
第二方面,本申请实施例提供一种数据处理方法,应用于服务器端,所述方法包括:
将数据库中原始数据转换为目标矩阵;
基于所述目标矩阵和匿踪查询的公共参数,计算得到提示参数;
将所述提示参数发送给所述客户端;
响应于所述客户端提供的包含干扰数据的查询请求,向所述客户端发送包含干扰数据的查询结果,以便所述客户端利用所述提示参数从所述查询结果中恢复所述目标数据。
可选地,所述响应于所述客户端提供的包含干扰数据的查询请求,向所述客户端发送包含干扰数据的查询结果,包括:
基于接收到的所述包含干扰数据的查询请求和所述目标矩阵计算得到所述包含干扰数据的查询结果;
将所述包含干扰数据的查询结果发送给所述客户端。
可选地,所述将所述提示参数发送给所述客户端,包括:
当任意所述客户端有对所述目标数据的查询需求时,确定对应的客户端;
将所述提示参数发送给所述对应的客户端。
可选地,从所述匿踪查询的公共参数a是随机选取的。
第三方面,本申请实施例提供一种数据处理装置,应用于客户端,所述装置包括:
接收模块,用于在服务器端将数据库中原始数据转换为目标矩阵后,接收所述服务器端提供的提示参数;其中,所述提示参数是基于所述目标矩阵和匿踪查询的公共参数计算得到的。
生成模块,用于生成包含干扰数据的查询请求。
发送模块,用于向所述服务器端发送所述包含干扰数据的查询请求。
所述接收模块,还用于接收所述服务器端反馈的包含干扰数据的查询结果。
第四方面,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如第一方面或第二方面所述的方法。
第五方面,一种电子设备,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第一方面或第二方面所述的方法。
在本申请的一些实施例中,在服务器端将数据库中原始数据转换为目标矩阵后,接收所述服务器端提供的提示参数;其中,所述提示参数是基于所述目标矩阵和匿踪查询的公共参数计算得到的;生成包含干扰数据的查询请求;向所述服务器端发送所述包含干扰数据的查询请求;接收所述服务器端反馈的包含干扰数据的查询结果;利用所述提示参数从所述包含干扰数据的查询结果中恢复所述目标数据。基于上述方案,服务器端预先计算得到的提示参数以及匿踪查询的公共参数是可以应用于不同客户端的数据查询需求,服务器端的预处理仅依赖于数据库转换得到的目标矩阵和匿踪查询的公开参数,因此服务器可以在许多相互独立的客户端的多次查询中重复使用此预处理数据。在计算查询结果的时候,服务器端只需要计算大概N个多项式乘法和加法。需要说明的是,客户端必须下载提示参数。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种数据处理方法的流程示意图;
图2为本申请实施例提供的生成包含干扰数据的查询请求的流程示意图;
图3为本申请实施例提供的另一种数据处理方法的流程示意图;
图4为本申请实施例提供的一种数据处理装置的结构示意图;
图5为本申请实施例提供的另一种数据处理装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者***中还存在另外的相同要素。
隐私信息检索(也叫匿踪查询)是安全多方计算中很实用的一项技术,用来保护用户的查询隐私。其目的是保证用户向服务器(数据源方)提交查询请求时,在用户查询信息不被泄漏的条件下完成查询。即整个查询过程中服务器不知道用户具体查询信息及查询出的数据项。
在实际计算过程中,为了更好的包含客户端的真实意图和查询隐私,服务器必须遍历数据库的每一个比特来回答一个客户端的查询,否则就会泄露客户端不感兴趣的数据库记录信息。也就意味着一次查询过程就需要服务器端执行大量不相关的数据处理工作。一些方案提出对数据库进行预处理,使服务器回答查询的时间与数据库记录是次线性相关的。但是上述方案需要特定于客户端的预处理,需要很大的服务器存储空间。并且,由于计算量和通信量都比较大,导致计算、通信成本很高。因此,需要一种能够实现提高匿踪查询数据处理能力的方案。
为了使得软件产品的镜像压缩包能够实现高效的安装,特提出本申请技术方案。以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请实施例提供的一种数据处理方法的流程示意图。该方法的执行主体是客户端。本申请数据处理方法具体包括如下步骤:
步骤101:在服务器端将数据库中原始数据转换为目标矩阵后,接收所述服务器端提供的提示参数;其中,所述提示参数是基于所述目标矩阵和匿踪查询的公共参数计算得到的。
步骤102:生成包含干扰数据的查询请求。
步骤103:向所述服务器端发送所述包含干扰数据的查询请求。
步骤104:接收所述服务器端反馈的包含干扰数据的查询结果。
步骤105:利用所述提示参数从所述包含干扰数据的查询结果中恢复所述目标数据。
在实际应用中,服务器端会对数据库db进行处理,将其转换为目标矩阵D,该目标矩阵是的。其中,目标矩阵D中每个元素为原数据库db中多个元素转变为环的多项式,t>1为整数,f(x)为次数与安全参数λ有关的分圆多项式/>。
其中,安全参数λ是一个预先设定的常量,而不是随机常量或通过计算得出的。在密码学和安全领域中,安全参数λ用于衡量算法或方案的安全性,并且通常会根据需求和具体情况进行选择。较大的安全参数值可以提供更高的安全性,但也会增加计算和处理的成本。安全参数的选择需要综合考虑***需求、计算资源、安全性要求等因素。
服务器端会基于此前得到的目标矩阵D以及匿踪查询的公共参数a计算得到提示参数hintc,具体来说,服务器计算公式:。其中,匿踪查询的公共参数是向量,匿踪查询的公共参数a是在/>中随机选取的,与加密消息无关,因此可以提前产生,而且该匿踪查询的公共参数a可以适用于任何有查询请求的客户端,也就意味着,该匿踪查询的公共参数a提前产生,不会占用数据查询时间,能够有效提高数据查询效率,而且匿踪查询的公共参数a可以多次被应用于不同的客户端的查询请求中。q=q(λ)≥2为一个整数。
在生成查询请求的时候,可以是任意客户端向服务器端发送查询请求,但是都需要服务器端为该有数据查询需求的客户端发送提示参数hintc,以便客户端可以利用提示参数hintc恢复目标数据。
在实际应用中,客户端在生成的查询请求中包含有干扰数据,其目的是为了更好隐藏客户端真实的查询需求。具体过程将在下述实施例中展开说明。
在客户端将包含干扰数据的查询请求发送给服务器端之后,服务器端将执行该查询请求。服务器端执行该查询请求之后,所得到的查询结果也是包含有干扰数据的,从而使得服务器端在执行任务过程中查了很多数据,但是并不知晓客户端所实际需要的目标数据是哪个或哪些数据,从而起到对客户端的实际查询意图进行保密的效果。
客户端在对接收到包含有干扰数据的查询结果进行恢复处理的时候,可以利用事先准备好的提示参数hintc恢复目标数据,不需要经过繁琐复杂的恢复计算提高数据恢复效率的同时,提示参数hintc可以重复应用于不同的查询请求,使得一次计算得到的提示参数hintc的计算量被平摊到多次查询当中,整体计算量减少。此外,提示参数hintc是可以提前计算得到的,即便计算量有些大,但是不会对实际查询请求执行过程占用过多时间,不会直接影响查询效率。
下面将结合具体实施例对查询请求的生成过程进行展开说明。
如图2为本申请实施例提供的生成包含干扰数据的查询请求的流程示意图,从图2中可以看到该方法具体包括如下步骤:
步骤201:基于所述目标矩阵与所述原始数据的对应关系,生成用于表示检索所需目标数据的单位向量。
步骤202:基于所述单位向量生成包含干扰数据的查询请求。
其中,步骤202基于所述单位向量生成包含干扰数据的查询请求,具体包括:步骤202a:随机选取秘密向量和错误向量。
步骤202b:基于所述秘密向量与所述匿踪查询的公共参数、所述错误向量、所述单位向量计算得到用于表示查询所需目标数据的所述查询请求。
客户端将查询的索引分解为/>。然后客户端构建一个单位向量/>,其中第/>个元素为1,其他元素全为0。
在得到单位向量之后,进一步地,客户端在Rq中随机选取秘密向量s,在R上的分布χ中随机选取错误向量/>。其次,根据已知的/>向量计算查询向量。在该计算查询请求qu的公式中,包含有此前准备好的匿踪查询的公共参数a,错误向量e,以及由客户端自己计算得到单位向量/>。通过上述方式,计算得到的查询请求中包含有干扰数据,能够达到更好隐藏客户端真实查询意图的目的,即便服务器端接收到查询请求也无法知道客户端的真实查询意图。
在本申请的一个或者多个实施例中,还包括:基于所述秘密向量和所述对应关系,设置用于恢复所述目标数据的状态信息。
在实际应用中,还需要设置用于表示客户端真实查询意图的状态信息的向量st,该状态信息st,是基于秘密向量以及基于对应关系所确定的在矩阵中的索引行,状态信息具体表示为:/>。
在本申请的一个或者多个实施例中,所述利用所述提示参数从所述包含干扰数据的查询结果中恢复所述目标数据,包括:
基于所述状态信息计算查询结果中目标元素与提示信息中目标元素的差值;
基于预设的第一常量和第二常量计算得到整数常量;
基于所述差值和所述整数常量,恢复所述目标数据。
需要说明的是,这里所说的第一常量是q,第二常量是t,对应的计算得到的整数常量是∆,具体计算公式表示为:。
在实际应用中,客户端根据状态信息st、服务器端提供的提示参数hintc和查询结果ans,计算。其中,ans[i_row ]表示向量ans的第i_row个元素,/>表示向量/>的第i_row个元素。最后计算得到,其中/>得到的是离/>最近的∆的整多项式倍。
基于同样的思路,本申请实施例还提供另一种数据处理方法。如图3为本申请实施例提供的另一种数据处理方法的流程示意图。该方法的执行主体是服务器端。本申请数据处理方法具体包括如下步骤:
步骤301:将数据库中原始数据转换为目标矩阵。
服务器端对给定的数据库转换为/>的目标矩阵D。其中,目标矩阵D中每个元素为原数据库db中多个元素转变为环/>的多项式,t>1为整数,f(x)为次数与安全参数λ有关的分圆多项式/>。
步骤302:基于所述目标矩阵和匿踪查询的公共参数,计算得到提示参数。
计算公式:。其中,匿踪查询的公共参数是向量,匿踪查询的公共参数a是在/>中随机选取的,与加密消息无关,因此可以提前产生,而且该匿踪查询的公共参数a可以适用于任何有查询请求的客户端,也就意味着,该匿踪查询的公共参数a提前产生,不会占用数据查询时间,能够有效提高数据查询效率,而且匿踪查询的公共参数a可以多次被应用于不同的客户端的查询请求中。q=q(λ)≥2为一个整数。
步骤303:将所述提示参数发送给所述客户端。
在发送提示参数hintc的时候,会发送给有数据查询需求的各个客户端。该提示参数hintc是在执行查询请求之前就已经由服务器端计算得到了,也就是说,客户端有查询需求的时候,不需要再针对每个客户端在单独计算提示参数hintc。
步骤304:响应于所述客户端提供的包含干扰数据的查询请求,向所述客户端发送包含干扰数据的查询结果,以便所述客户端利用所述提示参数从所述查询结果中恢复所述目标数据。
具体来说,所述响应于所述客户端提供的包含干扰数据的查询请求,向所述客户端发送包含干扰数据的查询结果,包括:
基于接收到的所述包含干扰数据的查询请求和所述目标矩阵计算得到所述包含干扰数据的查询结果;
将所述包含干扰数据的查询结果发送给所述客户端。
服务器收到查询请求qu后,计算查询结果并返回给客户端。其中,D为目标矩阵,qu为查询请求。
可选地,所述将所述提示参数发送给所述客户端,包括:
当任意所述客户端有对所述目标数据的查询需求时,确定对应的客户端;
将所述提示参数发送给所述对应的客户端。
在本申请方案中,提示参数hintc是可以应用于任何有查询需求的客户端的,而不是仅适用于单一客户端,也不需要每次针对不同的客户端单独计算提示参数hintc,能够有效提高数据查询效率,同时减少查询过程中的计算量。
可选地,还包括:从所述匿踪查询的公共参数a是随机选取的。匿踪查询的公共参数a是在中随机选取的,与加密消息无关,因此可以提前产生,q=q(λ)≥2为一个整数。也就意味着,匿踪查询的公共参数a的计算过程不需要占用查询时间,也不需要占用太多存储空间。而且,匿踪查询的公共参数a可以被应用于各个客户端的查询请求。
本申请方案的离线阶段(也就是执行查询请求之前),服务器需要计算N个Rq中多项式乘法和加法,客户端需要下载个Rq中多项式。在每次查询中,客户端需要上传/>个Rq中多项式,服务器端需要计算N个Rq中多项式乘法和加法,客户端最终需要下载/>个Rq中多项式。
总体来说,通信复杂度为O(),计算复杂度为O(N)。与现有技术相比,本申请提出的技术方案可以有效的保护查询信息和数据的隐私,并且其通信量可以随独立的客户端的多次查询被平摊,计算效率因为环的特殊结构被提升。
如图4为本申请实施例提供的一种数据处理装置的结构示意图。该装置可以应用于客户端,从图4中可以看到包括如下模块:
接收模块41,用于在服务器端将数据库中原始数据转换为目标矩阵后,接收所述服务器端提供的提示参数;其中,所述提示参数是基于所述目标矩阵和匿踪查询的公共参数计算得到的。
生成模块42,用于生成包含干扰数据的查询请求。
发送模块43,用于向所述服务器端发送所述包含干扰数据的查询请求。
所述接收模块41,还用于接收所述服务器端反馈的包含干扰数据的查询结果。
恢复模块44,用于利用所述提示参数从所述包含干扰数据的查询结果中恢复所述目标数据。
可选地,生成模块42,用于基于所述目标矩阵与所述原始数据的对应关系,生成用于表示检索所需目标数据的单位向量;
基于所述单位向量生成包含干扰数据的查询请求。
可选地,生成模块42,用于随机选取秘密向量和错误向量;
基于所述秘密向量与所述匿踪查询的公共参数、所述错误向量、所述单位向量计算得到用于表示查询所需目标数据的所述查询请求。
可选地,还包括设置模块45,用于基于所述秘密向量和所述对应关系,设置用于恢复所述目标数据的状态信息。
可选地,恢复模块44,用于基于所述状态信息计算查询结果中目标元素与提示信息中目标元素的差值;
基于预设的第一常量和第二常量计算得到整数常量;
基于所述差值和所述整数常量,恢复所述目标数据。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
在服务器端将数据库中原始数据转换为目标矩阵后,接收所述服务器端提供的提示参数;其中,所述提示参数是基于所述目标矩阵和匿踪查询的公共参数计算得到的;
生成包含干扰数据的查询请求;
向所述服务器端发送所述包含干扰数据的查询请求;
接收所述服务器端反馈的包含干扰数据的查询结果;
利用所述提示参数从所述包含干扰数据的查询结果中恢复所述目标数据。
可选地,所述生成包含干扰数据的查询请求,包括:
基于所述目标矩阵与所述原始数据的对应关系,生成用于表示检索所需目标数据的单位向量;
基于所述单位向量生成包含干扰数据的查询请求。
可选地,基于所述单位向量生成包含干扰数据的查询请求,包括:
随机选取秘密向量和错误向量;
基于所述秘密向量与所述匿踪查询的公共参数、所述错误向量、所述单位向量计算得到用于表示查询所需目标数据的所述查询请求。
可选地,基于所述秘密向量和所述对应关系,设置用于恢复所述目标数据的状态信息。
可选地,所述利用所述提示参数从所述包含干扰数据的查询结果中恢复所述目标数据,包括:
基于所述状态信息计算查询结果中目标元素与提示信息中目标元素的差值;
基于预设的第一常量和第二常量计算得到整数常量;
基于所述差值和所述整数常量,恢复所述目标数据。
如图5为本申请实施例提供的另一种数据处理装置的结构示意图。应用于服务器端,如图5所示包括如下模块:
转换模块51,用于将数据库中原始数据转换为目标矩阵。
计算模块52,用于基于所述目标矩阵和匿踪查询的公共参数,计算得到提示参数。
发送模块53,用于将所述提示参数发送给所述客户端。
所述发送模块53,还用于响应于所述客户端提供的包含干扰数据的查询请求,向所述客户端发送包含干扰数据的查询结果,以便所述客户端利用所述提示参数从所述查询结果中恢复所述目标数据。
所述发送模块53,还用于基于接收到的所述包含干扰数据的查询请求和所述目标矩阵计算得到所述包含干扰数据的查询结果;
将所述包含干扰数据的查询结果发送给所述客户端。
所述发送模块53,还用于当任意所述客户端有对所述目标数据的查询需求时,确定对应的客户端;
将所述提示参数发送给所述对应的客户端。
可选地,从所述匿踪查询的公共参数a是随机选取的。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器执行包括以下的动作:
将数据库中原始数据转换为目标矩阵;
基于所述目标矩阵和匿踪查询的公共参数,计算得到提示参数;
将所述提示参数发送给所述客户端;
响应于所述客户端提供的包含干扰数据的查询请求,向所述客户端发送包含干扰数据的查询结果,以便所述客户端利用所述提示参数从所述查询结果中恢复所述目标数据。
可选地,所述响应于所述客户端提供的包含干扰数据的查询请求,向所述客户端发送包含干扰数据的查询结果,包括:
基于接收到的所述包含干扰数据的查询请求和所述目标矩阵计算得到所述包含干扰数据的查询结果;
将所述包含干扰数据的查询结果发送给所述客户端。
可选地,所述将所述提示参数发送给所述客户端,包括:
当任意所述客户端有对所述目标数据的查询需求时,确定对应的客户端;
将所述提示参数发送给所述对应的客户端。
可选地,从所述匿踪查询的公共参数a是随机选取的。
基于上述实施例可知,在服务器端将数据库中原始数据转换为目标矩阵后,接收所述服务器端提供的提示参数;其中,所述提示参数是基于所述目标矩阵和匿踪查询的公共参数计算得到的;生成包含干扰数据的查询请求;向所述服务器端发送所述包含干扰数据的查询请求;接收所述服务器端反馈的包含干扰数据的查询结果;利用所述提示参数从所述包含干扰数据的查询结果中恢复所述目标数据。基于上述方案,服务器端预先计算得到的提示参数以及匿踪查询的公共参数是可以应用于不同客户端的数据查询需求,服务器端的预处理仅依赖于数据库转换得到的目标矩阵D和匿踪查询的公开参数a,因此服务器可以在许多相互独立的客户端的多次查询中重复使用此预处理数据。在计算查询结果的时候,服务器端只需要计算大概N个多项式乘法和加法。需要说明的是,客户端必须下载提示参数。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中创建的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中创建的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中创建的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪存储体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种数据处理方法,其特征在于,应用于客户端,所述方法包括:
在服务器端将数据库中原始数据转换为目标矩阵后,接收所述服务器端提供的提示参数;其中,所述提示参数是基于所述目标矩阵和匿踪查询的公共参数计算得到的;
生成包含干扰数据的查询请求;
向所述服务器端发送所述包含干扰数据的查询请求;
接收所述服务器端反馈的包含干扰数据的查询结果;
利用所述提示参数从所述包含干扰数据的查询结果中恢复所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述生成包含干扰数据的查询请求,包括:
基于所述目标矩阵与所述原始数据的对应关系,生成用于表示检索所需目标数据的单位向量;
基于所述单位向量生成包含干扰数据的查询请求。
3.根据权利要求2所述的方法,其特征在于,基于所述单位向量生成包含干扰数据的查询请求,包括:
随机选取秘密向量和错误向量;
基于所述秘密向量与所述匿踪查询的公共参数、所述错误向量、所述单位向量计算得到用于表示查询所需目标数据的所述查询请求。
4.根据权利要求3所述的方法,其特征在于,还包括:
基于所述秘密向量和所述对应关系,设置用于恢复所述目标数据的状态信息。
5.根据权利要求4所述的方法,其特征在于,所述利用所述提示参数从所述包含干扰数据的查询结果中恢复所述目标数据,包括:
基于所述状态信息计算查询结果中目标元素与提示信息中目标元素的差值;
基于预设的第一常量和第二常量计算得到整数常量;
基于所述差值和所述整数常量,恢复所述目标数据。
6.一种数据处理方法,其特征在于,应用于服务器端,所述方法包括:
将数据库中原始数据转换为目标矩阵;
基于所述目标矩阵和匿踪查询的公共参数,计算得到提示参数;
将所述提示参数发送给客户端;
响应于所述客户端提供的包含干扰数据的查询请求,向所述客户端发送包含干扰数据的查询结果,以便所述客户端利用所述提示参数从所述查询结果中恢复所述目标数据。
7.根据权利要求6所述的方法,其特征在于,所述响应于所述客户端提供的包含干扰数据的查询请求,向所述客户端发送包含干扰数据的查询结果,包括:
基于接收到的所述包含干扰数据的查询请求和所述目标矩阵计算得到所述包含干扰数据的查询结果;
将所述包含干扰数据的查询结果发送给所述客户端。
8.根据权利要求6所述的方法,其特征在于,所述将所述提示参数发送给所述客户端,包括:
当任意所述客户端有对所述目标数据的查询需求时,确定对应的客户端;
将所述提示参数发送给所述对应的客户端。
9.根据权利要求6所述的方法,其特征在于,还包括:
从所述匿踪查询的公共参数a是随机选取的。
10.一种数据处理装置,其特征在于,所述装置包括:
接收模块,用于在服务器端将数据库中原始数据转换为目标矩阵后,接收所述服务器端提供的提示参数;其中,所述提示参数是基于所述目标矩阵和匿踪查询的公共参数计算得到的;
生成模块,用于生成包含干扰数据的查询请求;
发送模块,用于向所述服务器端发送所述包含干扰数据的查询请求;
所述接收模块,还用于接收所述服务器端反馈的包含干扰数据的查询结果。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求1-9中任一项所述的方法。
12.一种电子设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311451669.8A CN117194756A (zh) | 2023-11-02 | 2023-11-02 | 数据处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311451669.8A CN117194756A (zh) | 2023-11-02 | 2023-11-02 | 数据处理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117194756A true CN117194756A (zh) | 2023-12-08 |
Family
ID=88996470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311451669.8A Pending CN117194756A (zh) | 2023-11-02 | 2023-11-02 | 数据处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117194756A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574435A (zh) * | 2024-01-12 | 2024-02-20 | 云阵(杭州)互联网技术有限公司 | 基于同态加密的多关键词匿踪查询方法、装置及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110191584A1 (en) * | 2009-08-07 | 2011-08-04 | Trostle Jonathan T | System and Method for Computationally Private Information Retrieval |
CN109643324A (zh) * | 2016-09-12 | 2019-04-16 | 日本电信电话株式会社 | 加密消息搜索方法、消息发送接收***、服务器、终端、程序 |
CN115688167A (zh) * | 2022-10-13 | 2023-02-03 | 北京沃东天骏信息技术有限公司 | 匿踪查询方法、装置和***及存储介质 |
CN116521969A (zh) * | 2023-02-28 | 2023-08-01 | 华为云计算技术有限公司 | 一种数据检索方法、服务端、***及相关设备 |
CN116662388A (zh) * | 2023-05-24 | 2023-08-29 | 山东浪潮科学研究院有限公司 | 一种高效的隐匿查询方法和*** |
-
2023
- 2023-11-02 CN CN202311451669.8A patent/CN117194756A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110191584A1 (en) * | 2009-08-07 | 2011-08-04 | Trostle Jonathan T | System and Method for Computationally Private Information Retrieval |
CN109643324A (zh) * | 2016-09-12 | 2019-04-16 | 日本电信电话株式会社 | 加密消息搜索方法、消息发送接收***、服务器、终端、程序 |
CN115688167A (zh) * | 2022-10-13 | 2023-02-03 | 北京沃东天骏信息技术有限公司 | 匿踪查询方法、装置和***及存储介质 |
CN116521969A (zh) * | 2023-02-28 | 2023-08-01 | 华为云计算技术有限公司 | 一种数据检索方法、服务端、***及相关设备 |
CN116662388A (zh) * | 2023-05-24 | 2023-08-29 | 山东浪潮科学研究院有限公司 | 一种高效的隐匿查询方法和*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574435A (zh) * | 2024-01-12 | 2024-02-20 | 云阵(杭州)互联网技术有限公司 | 基于同态加密的多关键词匿踪查询方法、装置及*** |
CN117574435B (zh) * | 2024-01-12 | 2024-04-23 | 云阵(杭州)互联网技术有限公司 | 基于同态加密的多关键词匿踪查询方法、装置及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110689349B (zh) | 一种区块链中的交易哈希值存储和搜索方法及装置 | |
CN108182581B (zh) | 一种区块链的记账方法及装置 | |
CN106899566B (zh) | 一种认证方法、设备以及认证客户端 | |
CN117194756A (zh) | 数据处理方法、装置及存储介质 | |
CN110633309A (zh) | 一种区块链交易处理方法及装置 | |
EP3258458A1 (en) | Share recovery system, share recovery device, share recovery method, and program | |
CN112131227A (zh) | 一种基于联盟链的数据查询方法及装置 | |
CN113254955A (zh) | 前向安全的连接关键词对称可搜索加密方法、***及应用 | |
EP4020265A1 (en) | Method and device for storing encrypted data | |
CN109344268A (zh) | 图形数据库写入的方法、电子设备及计算机可读存储介质 | |
CN109934584B (zh) | 区块链账户交易方法及设备 | |
CN113312630B (zh) | 实现可信调度的方法及装置 | |
CN117313119A (zh) | 一种应用代码加密验证方法、装置以及计算机设备 | |
CN115408724A (zh) | 一种分布式数据处理方法及装置、电子设备、存储介质 | |
CN113742370B (zh) | 全加密数据库的数据查询方法、统计信息密文生成方法 | |
CN116244062A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN113159952B (zh) | 基于区块链存储数字资产的方法、***、设备及存储介质 | |
CN114995949A (zh) | 容器镜像构建方法及装置 | |
CN115470264A (zh) | 一种数据审计方法及装置、电子设备、存储介质 | |
CN114419719A (zh) | 一种生物特征的处理方法及装置 | |
CN115499150A (zh) | 一种边缘数据完整性审计方法及*** | |
CN113836169A (zh) | 一种基于Clickhouse的数据处理方法、设备及介质 | |
CN116432199B (zh) | 云平台远程数据备份方法及其恢复方法、电子设备 | |
CN116938475B (zh) | 一种环签名方法、装置、设备及存储介质 | |
KR101988302B1 (ko) | 해쉬 기반의 콘텐츠 파일의 식별자 생성 장치 및 방법, 및 해쉬 코드 생성 방법 |
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 |