CN112464257A - 一种数据检测方法、装置和用于数据检测的装置 - Google Patents

一种数据检测方法、装置和用于数据检测的装置 Download PDF

Info

Publication number
CN112464257A
CN112464257A CN202011193691.3A CN202011193691A CN112464257A CN 112464257 A CN112464257 A CN 112464257A CN 202011193691 A CN202011193691 A CN 202011193691A CN 112464257 A CN112464257 A CN 112464257A
Authority
CN
China
Prior art keywords
data
target
value
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
Application number
CN202011193691.3A
Other languages
English (en)
Other versions
CN112464257B (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.)
Huakong Tsingjiao Information Technology Beijing Co Ltd
Original Assignee
Huakong Tsingjiao Information Technology Beijing 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 Huakong Tsingjiao Information Technology Beijing Co Ltd filed Critical Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority to CN202011193691.3A priority Critical patent/CN112464257B/zh
Publication of CN112464257A publication Critical patent/CN112464257A/zh
Application granted granted Critical
Publication of CN112464257B publication Critical patent/CN112464257B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Abstract

本发明实施例提供一种数据检测方法、装置和用于数据检测的装置。该方法中,通过将第一数据划分为数据组,针对每个数据组,结合目标系数,通过目标系数及客户端提供的目标数据生成各个数据组对应的密文的检测结果并返回给客户端。相较于现有技术中将第二数据y相对于各个第一数据的检测结果返回给客户端的情况下,需要对应返回n个检测结果。本发明实施例中,通过根据m划分数据组,服务端所需返回的检测结果的数量即为数据组的数量,由于m不小于2,即,数据组的数量小于n,因此,一定程度上可以降低服务端所需传输的检测结果的数量,进而可以降低传输量,避免带宽较小造成传输时延过高的问题。

Description

一种数据检测方法、装置和用于数据检测的装置
技术领域
本发明涉及网络技术领域,尤其涉及一种数据检测方法、装置和用于数据检测的装置。
背景技术
目前,在一方持有n个第一数据,另一方持有第二数据且双方均不想透露持有的数据的具体信息的情况下,若此时需要检测第二数据是否存在于第一数据中。
现有方式中,往往是将密文的第二数据发送给第一数据拥有方,第一数据拥有方将密文的第二数据与每个第一数据分别进行比对,然后将第二数据与每个第一数据的密文的比对结果返回给客户端。这样就需要相应返回n个比对结果,进而会导致传输量较大,在带宽较小时可能会造成时延过高的问题。
发明内容
本发明实施例提供一种数据检测方法、装置和用于数据检测的装置,可以降低传输量,避免带宽较小时造成时延过高的问题。
为了解决上述问题,本发明实施例公开了一种数据检测方法,所述方法应用于服务端,所述服务端持有第一数据[k1,k2,…,kn],所述第一数据中的m个数据为一个数据组,所述m为不小于2且不大于所述n的整数,所述方法包括:
接收客户端发送的密文的目标数据[y0,y1,…,ym];所述目标数据是依据待检测的第二数据y获得;
对于任一所述数据组,获取所述数据组的目标系数;所述目标系数是根据所述数据组中的第一数据构建的目标多因式(x-k1)(x-k2)…(x-km)得到;
根据所述目标数据与所述目标系数中对应系数的乘积之和,生成密文的所述数据组对应的检测结果;
将各个数据组对应的所述密文的检测结果返回给所述客户端,以便于所述客户端根据所述检测结果确定所述第二数据y是否存在于所述第一数据中。
另一方面,本发明实施例公开了另一种数据检测方法,所述方法应用于客户端,所述方法包括:
获取待检测的第二数据y;
根据所述待检测的第二数据y生成密文的目标数据[y0,y1,…,ym];
向服务端发送所述密文的目标数据[y0,y1,…,ym];
接收所述服务端返回的密文的检测结果;所述检测结果是所述服务端基于上述权利要求1至7中任一所述方法确定的;
根据所述检测结果确定所述第二数据y是否存在于所述服务端持有的第一数据中。
再一方面,本发明实施例公开了一种数据检测装置,所述装置应用于服务端,所述服务端持有第一数据[k1,k2,…,kn],所述第一数据中的m个数据为一个数据组,所述m为不小于2且不大于所述n的整数,所述装置包括:
接收模块,用于接收客户端发送的密文的目标数据[y0,y1,…,ym];所述目标数据是依据待检测的第二数据y获得;
获取模块,用于对于任一所述数据组,获取所述数据组的目标系数;所述目标系数是根据所述数据组中的第一数据构建的目标多因式(x-k1)(x-k2)…(x-km)得到;
生成模块,用于根据所述目标数据与所述目标系数中对应系数的乘积之和,生成密文的所述数据组对应的检测结果;
返回模块,用于将各个数据组对应的所述密文的检测结果返回给所述客户端,以便于所述客户端根据所述检测结果确定所述第二数据y是否存在于所述第一数据中。
再一方面,本发明实施例公开了另一种数据检测装置,应用于客户端,所述装置包括:
获取模块,用于获取待检测的第二数据y;
生成模块,用于根据所述待检测的第二数据y生成密文的目标数据[y0,y1,…,ym];
发送模块,用于向服务端发送所述密文的目标数据[y0,y1,…,ym];
接收模块,用于接收所述服务端返回的密文的检测结果;所述检测结果是所述服务端基于上述权利要求1至7中任一所述方法确定的;
确定模块,用于根据所述检测结果确定所述第二数据y是否存在于所述服务端持有的第一数据中。
再一方面,本发明实施例公开了一种用于数据检测的装置,包括有存储器,以及一个或者一个以上程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含的用于进行上述任一所述数据检测方法中的操作的指令。
又一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据检测方法。
本发明实施例包括以下优点:
本发明实施例通过将第一数据划分为数据组,针对每个数据组,结合目标系数,通过目标系数及客户端提供的目标数据生成各个数据组对应的密文的检测结果并返回给客户端。相较于现有技术中将第二数据y相对于各个第一数据的检测结果返回给客户端的情况下,需要对应返回n个检测结果。本发明实施例中,通过根据m划分数据组,服务端所需返回的检测结果的数量即为数据组的数量,由于m不小于2,即,数据组的数量小于n,因此,一定程度上可以降低服务端所需传输的检测结果的数量,进而可以降低传输量,避免带宽较小造成传输时延过高的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种数据检测方法实施例的步骤流程图;
图2是本发明的另一种数据检测方法实施例的步骤流程图;
图3是本发明的一种数据检测装置实施例的结构框图;
图4是本发明的另一种数据检测装置实施例的结构框图;
图5是本发明的一种用于数据检测的装置800的框图;及
图6是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
方法实施例
参照图1,示出了本发明的一种数据检测方法实施例的步骤流程图,所述方法可以应用于服务端,所述服务端持有第一数据[k1,k2,…,kn],所述第一数据中的m个数据为一个数据组,所述m为不小于2且不大于所述n的整数,所述方法包括如下步骤:
步骤101、接收客户端发送的密文的目标数据[y0,y1,…,ym];所述目标数据是依据待检测的第二数据y获得。
步骤102、对于任一所述数据组,获取所述数据组的目标系数;所述目标系数是根据所述数据组中的第一数据构建的目标多因式(x-k1)(x-k2)…(x-km)得到。
步骤103、根据所述目标数据与所述目标系数中对应系数的乘积之和,生成密文的所述数据组对应的检测结果。
步骤104、将各个数据组对应的所述密文的检测结果返回给所述客户端,以便于所述客户端根据所述检测结果确定所述第二数据y是否存在于所述第一数据中。
本发明实施例的数据检测方法中,通过将第一数据划分为数据组,针对每个数据组,结合目标系数,通过目标系数及客户端提供的目标数据生成各个数据组对应的密文的检测结果并返回给客户端。相较于现有技术中将第二数据y相对于各个第一数据的检测结果返回给客户端的情况下,需要对应返回n个检测结果。本发明实施例中,通过根据m划分数据组,服务端所需返回的检测结果的数量即为数据组的数量,由于m不小于2,即,数据组的数量小于n,因此,一定程度上可以降低服务端所需传输的检测结果的数量,进而可以降低传输量,避免带宽较小造成传输时延过高的问题。
在本发明实施例的一种可选实现方式中,可以对于任一所述数据组,预先执行以下操作,以预先计算出数据组的目标系数:
步骤S1、构建m个目标因子(x-k1),(x-k2),…,(x-km)。
步骤S2、将所述目标因子的乘积确定为所述目标多因式(x-k1)(x-k2)…(x-km)。
步骤S3、确定所述目标多因式的系数ai;ai表示xi对应的系数,i为整数,取值范围为[0,m]。
步骤S4、将所述ai作为所述数据组的目标系数,并存储所述数据组的目标系数。
本发明实施例中,目标因子可以是用于构建目标多因式的元素。具体实施时,可以先按照m将第一数据中的数据进行划分,得到数据组。每个数据组中可以包括m个数据。对于任一数据组,可以根据预设待定数据x,以进行减法运算的方式,构建m个目标因子(x-k1),(x-k2),…,(x-km)。其中,待定数据x可以表征后续需要检测的数据,待定数据x的内容不影响后续对目标多因式的处理,因此,待定数据x可以根据实际需求设置,本发明实施例对此不作限定。
进一步地,可以将目标因子相乘构成的多因式作为目标多因式(x-k1)(x-k2)…(x-km)。接着,可以对目标多因式进行展开,将目标多因式转换为x的i次方与系数的乘积之和的形式,展开后的目标多因式可以表示为∑ai*xi,其中,0≤i≤m,ai的具体值由k1,k2,....,km决定。示例的,假设m等于4,即,目标多因式为(x-k1)(x-k2)(x-k3)(x-k4),相应地,通过多项式展开定理,可以将目标多因式展开为:
1*x4+(k1+k2+k3+k4)*x3+[k1*(k2+k3+k4)+k2*(k3+k4)+k3*k4]*x2+[k1*[k2*(k3+k4)+k3*k4]+k2*k3*k4]*x1+(k1*k2*k3*k4)*x0
其中,“*”表示相乘符号,在一种表示方式中,“*”可以省略。例如,(x-k1)(x-k2)(x-k3)(x-k4)中即省略了相乘符号“*”。
进一步地,xi对应的系数为与展开后的目标多因式中与该xi相乘的部分。示例的,可以提取xi对应的系数:1、(k1+k2+k3+k4)、[k1*(k2+k3+k4)+k2*(k3+k4)+k3*k4]、[k1*[k2*(k3+k4)+k3*k4]+k2*k3*k4]以及(k1*k2*k3*k4),得到该数据组对应的目标系数。其中,x4对应的系数a4即为1,x3对应的系数a3即为(k1+k2+k3+k4),x2对应的系数a2即为[k1*(k2+k3+k4)+k2*(k3+k4)+k3*k4],x1对应的系数a1即为[k1*[k2*(k3+k4)+k3*k4]+k2*k3*k4],x0对应的系数a0即为(k1*k2*k3*k4)。
在存储目标系数时,可以是将目标系数存储至预设数据库中。相应地,后续执行获取数据组的目标系数的操作时,可以直接从该预设数据库中读取该目标系数。其中,目标系数可以被反复使用,即,计算一次目标系数之后,后续可以多次使用该目标系数,进而可以降低后续在线查询时的开销。需要说明的是,由于数据组可能为多个,为了便于区分各个数据组之间的目标系数,可以为数据组设置组号,组号可以表征这是第几个数据组。示例的,组号可以以j表示,相应地,可以将数据组j对应的目标系数表征为aji。对于任一数据组j中的元素kj1,kj2,...,kjm,可以计算多项式(x-kj1)(x-kj2)(x-kj3)...(x-kjm)展开后各项系数aj0,aj1,aj2,...,ajm。这样,通过j的具体数值即可确定出这组目标系数是哪个组的目标系数,例如,在j等于1的情况下,可以确认目标系数为第一个数据组对应的目标系数。
本发明实施例中,通过预先计算出目标系数并存储,使得后续通过直接读取存储的目标系数即可便捷的实现获取目标系数的操作,进而一定程度上可以提高数据检测的整体效率。当然,也可以是在进行数据检测时,按照上述方式实时计算目标系数,本发明实施例对此不作限定。
在本发明实施例的一种可选实现方式中,上述数据组中包含的数据的数量m可以通过下述步骤确定:
步骤S5、接收所述客户端发送的指定值,并将所述指定值确定为所述m的取值。
其中,客户端发送的指定值可以是由用户设置的。示例的,客户端可以向用户显示一输入界面,用户可以根据自己的实际需求在该输入界面输入数值,客户端可以将该输入的数值作为指定值,并将该指定值发送给服务端。或者,也可以是客户端显示多个待选数值,用户可以根据自己的实际需求在这多个待选数值中选择一个待选数值。例如,可以通过点击待选数值实现选择待选数值。进一步地,客户端可以将用户选中的待选数值作为指定值,并将该指定值发送给服务端。相应地,服务端可以在接收到该指定值之后,将该指定值作为m的取值。假设用户在输入界面中输入的数值或选择的数值为4,那么服务端可以将4作为m的取值。需要说明的是,指定值可以是客户端发送密文的目标数据之前发送的,这样,可以使服务端能够在收到检测任务之前,提前进行分组以及计算各个数据组的目标系数,进而可以较大程度提高后续的检测效率。当然,也可以是与密文的目标数据一起发送或者是在密文的目标数据之后发送的,本发明实施例对此不作限定。
本发明实施例中,通过接收客户端发送的指定值,并将客户端发送的指定值确定为m的取值。这样,可以提高客户端用户操作的灵活性,使得用户可以根据实际需求设定m的取值,进而使得m的取值更加贴近用户的实际需求,确保后续基于m划分得到的数据组的数量可以贴合实际需求。
在本发明实施例的另一种可选实现方式中,上述数据组中包含的数据的数量m可以通过下述步骤确定:
步骤S6、根据所述n的值确定所述m的取值。
其中,确定m的取值的操作可以是在接收客户端发送的密文的目标数据之前执行的,这样,可以使服务端能够提前进行分组以及计算各个数据组的目标系数,进而可以较大程度提高后续的检测效率。
进一步地,根据n的值确定m的取值时,可以按照m与n正相关的方式,确定m的具体取值。这样,一定程度上可以避免n较大导致数据组的数量过大的问题。当然,也可以是通过其他方式实现根据n的值,确定m的取值。
本发明实施例中,通过自动根据n的值确定m的取值,使得服务端无需等待即可灵活便捷的实现预先确定m的取值,进而确保确定操作的灵活性。同时,以n的值作为参照,根据n的具体值确定m的具体取值,一定程度上可以使确定的m与n更加适配,进而确保确定操作的操作效果。
在本发明实施例的一种可选实现方式中,m的取值可以为n开平方根得到的值。具体的,可以直接对n进行开平方根运算,进而得到m的取值。本发明实施例中,通过将m的取值设置为n开平方根得到的值,一定程度上可以提高确定m的取值的确定效率。
进一步地,假设数据组的数量为n/m,基于前述描述可知,客户端向服务端发送了m个数据,服务端向客户端返回了n/m个数据,总通讯量可以为m+n/m。而当m取n开平方根得到的值时,该总通讯量为
Figure BDA0002753453010000081
此时,该总通讯量达到最优。因此,通过将m的取值设置为n开平方根得到的值,可以最大程度的降低实现数据检测所需的传输资源,进而提高数据检测的实现效率。示例的,以n为1000000为例,在一种方式中,双方需要传输1000000个数据,在数据为2048位的密文的情况下,传输量为256兆字节(MB)。而在m取n开平方根得到的值时,双方总共只需要传输2000个数据,可以看出相对优化比例达到了1000000:2000=500:1,在数据为2048位的密文的情况下,传输量仅为500千字节(KB)。
在本发明实施例的一种可选实现方式中,步骤S6可以通过下述步骤实现:
步骤S61、确定对所述n进行开平方根运算得到的运算结果是否为整数。
步骤S62、若所述运算结果为整数,则将所述运算结果确定为所述m的取值。
步骤S63、若所述运算结果不为整数,则对所述运算结果进行取整,得到目标整数,若所述目标整数属于预设数值范围,则将所述目标整数确定为所述m的取值;所述预设数值范围为不小于2且不大于所述n的值;若所述目标整数不属于所述预设数值范围,则为所述目标整数添加预设数值,直至添加后的所述目标整数属于所述预设数值范围为止;将添加后的所述目标整数确定为所述m的取值。
具体实施时,可以先对n进行开平方根运算得到运算结果,然后检测该运算结果是否为整数。进一步地,如果运算结果不为整数,则说明直接以运算结果作为m的取值,可能会导致后续无法正常进行分组。相应地,可以对运算结果进行取整,得到目标整数。其中,对运算结果进行取整的操作可以是对运算结果进行向上取整或向下取整,进而得到目标整数。
进一步地,上述预设数值可以是根据实际需求预先设置的,示例的,预设数值可以为1。相应地,在得到目标整数之后,可以检测目标整数是否属于预设数值范围,如果属于,则可以将目标整数确定为m的取值。如果不属于,则可以为目标整数加1,直至目标整数属于预设数值范围为止。假设目标整数为1,那么通过为目标整数加1,使得目标整数属于预设数值范围,进而可以将添加后得到的目标整数2,确定为m的取值。
本发明实施例中,先确定对n进行开平方根运算得到的运算结果是否为整数,在运算结果为整数的情况下,才直接将运算结果确定为m的取值,在运算结果不为整数的情况下,通过对运算结果进行取整,以确定m的取值。这样,可以避免最终确定的m的取值不为整数,导致后续基于m划分数据组时出现划分错误的问题。
在本发明实施例的一种可选实现方式中,可以通过下述步骤实现划分数据组:
步骤S7、将每m个第一数据划分至一个数据组,若剩余的P个第一数据不足m个,则从已分组的第一数据中选择(m-P)个第一数据组成一个数据组。
具体实施时,可以先每次从n个第一数据中选择m个第一数据作为一个数据组。其中,这些数据组中包含的第一数据可以不同,以确保划分效率。当然,也可以有重合的第一数据,本发明实施例对此不作限定。进一步地,如果最后剩余不足m个的P个第一数据,则从除P个第一数据之外的第一数据中,即,从已分组的第一数据中选择(m-P)个第一数据,与剩余的P个第一数据组成一个数据组。
示例的,假设m=2,服务端持有5个第一数据k1,k2,k3,k4,k5。那么可以将k1及k2划分至一个数据组,k3及k4划分至一个数据组。对于最后剩余的k5,可以从k1,k2,k3,k4中任选一个第一数据,与剩余的k5组成一个数据组。
本发明实施例中,通过将每m个第一数据划分至一个数据组,对于剩余的不足m个的第一数据,从已分组的第一数据中选择(m-P)个第一数据,与剩余的P个第一数据组成一个数据组。这样,可以确保划分的数据组中均包含m个第一数据,进而确保数据组划分的准确性。
在本发明实施例的一种可选实现方式中,目标数据可以是基于客户端生成的公钥进行同态加密后得到。具体实施时,可以是进行半同态加密。在一种加密检测的场景中,对于任一数据组,检测密文的第二数据[y]是否存在于第一数据中,可以利用同态加的性质,计算得出[y-k1],[y-k2],...,[y-km],然后计算[y-k1],[y-k2],...,[y-km]相乘构成的多因式[y-k1][y-k2]...,[y-km]的结果,基于[y-k1][y-k2]...,[y-km]的结果是否为0,即可确定出y是否存在与该数据组的第一数据中。但是,由于是半同态加密,因此,可能仅支持同态加,而无法支持密文数据之间的同态乘、因此,这种场景中服务端往往无法通过计算得到该多项式[y-k1][y-k2]...,[y-km]的结果。本发明实施例中,服务端基于自身持有的第一数据确定出目标系数,而客户端只需将密文的目标数据:[y0],[y1],…,[ym]发送给服务端。目标系数作为常数,服务端通过计算作为常数的目标系数与目标数据的乘积之和,即可得到能够用于确定第二数据y是否存在于第一数据中的检测结果。由于计算乘积之和的过程中,并不涉及密文数据之间的乘积运算,进而可以实现数据检测。
进一步地,前述步骤103可以具体包括:将所述乘积之和确定为所述密文的所述数据组对应的检测结果;或者,将所述乘积之和与随机数进行相乘,并将相乘结果确定为所述密文的所述数据组对应的检测结果。
具体实施时,随机数可以根据实际需求设置,各个数据组的乘积之和对应的随机数可以不同。示例的,可以针对各个数据组的乘积之和,利用预设的随机生成算法,为各个数据组的乘积之和生成对应的随机数。其中,随机数可以为一个常数。
进一步地,以[tj]表示第j个数据组的乘积之和,对于任一数据组j而言,服务端计算∑aji*[yi](0≤i≤m),相当于得到了密文的[(y-kj1)(y-kj2)(y-kj3)...(y-kjm)]的结果,该结果即可记为[tj]。以rj表示第j个数据组的乘积之和对应的随机数,那么第j个数据组对应的检测结果可以为密文的[tj*rj]。
本发明实施例中,通过为各个数据组的乘积之和乘以对应的随机数,可以掩盖非0的乘积之和的具体数值,进而防止客户端通过反推确定出服务端持有的第一数据的具体数值,确保服务端持有的第一数据的安全性。
进一步地,前述步骤104可以具体包括:按照随机排序算法,对各个数据组对应的所述密文的检测结果进行重排序;将重排序后的密文的检测结果发送给所述客户端。具体实施时,可以按照随机排序算法将各个数据组对应的密文的检测结果的顺序打乱,进而实现重排序。本发明实施例中,通过打乱数据组对应的密文的检测结果的顺序之后,才将检测结果发送给客户端,可以掩盖各个数据组中的第一数据的具体位置,进而避免客户端反推出数据的位置信息,进一步确保服务端持有的第一数据的安全性。
参照图2,示出了本发明的另一种数据检测方法实施例的步骤流程图,所述方法可以应用于客户端,所述方法包括如下步骤:
步骤201、获取待检测的第二数据y。
步骤202、根据所述待检测的第二数据y生成密文的目标数据[y0,y1,…,ym]。
步骤203、向服务端发送所述密文的目标数据[y0,y1,…,ym]。
步骤204、接收所述服务端返回的密文的检测结果;所述检测结果是所述服务端基于上述任一所述实施例确定的。
步骤205、根据所述检测结果确定所述第二数据y是否存在于所述服务端持有的第一数据中。
本发明实施例的数据检测方法中,通过向服务端发送基于待检测的第二数据y生成的密文的目标数据[y0,y1,…,ym],即可实现根据服务端返回的密文的检测结果确定第二数据y是否存在于服务端持有的第一数据中。由于仅需针对数据组返回对应的检测结果,即,服务端所需传输的数据量降低,进而可以避免带宽较小造成时延过高的问题。同时,服务端所需传输的数据量降低,使得客户端对应需要接收的检测结果的数据量变小,进而可以提高整体的通讯传输效率。
具体实施时,可以通过接收用户输入的数据,实现获取第二数据y。进一步地,客户端可以生成一对公私钥(sk,pk),客户端可以基于公钥pk加密y的各项,得到密文的目标数据:[y1],[y2],...,[ym]。在发送密文的目标数据时,还可以将公钥pk发给服务端,以便于服务端能够基于公钥pk针对密文的目标数据进行处理。
在本发明实施例的一种可选实现方式中,根据检测结果确定第二数据y是否存在于服务端持有的第一数据时,可以基于客户端生成的私钥,对密文的检测结果进行解密,得到解密结果。然后,判断是否存在等于0的解密结果。若存在等于0的解密结果,则确定第二数据y存在于第一数据中;若不存在等于0的解密结果,则确定第二数据y不存在于第一数据中。
相较于现有方式,由于服务端返回的检测结果的数量减少,客户端所需执行的解密操作以及判断操作的次数相应减小,进而一定程度上可以降低客户端的处理量,提高客户端的处理效率。
需要说明的是,本发明实施例中涉及的第一数据及第二数据可以为音频,视频,文本等类型的数据。示例的,本发明实施例中涉及的第一数据可以为列表中各个成员的成员标识,第二数据可以为待检测成员的成员标识。其中,成员可以为音频,视频,文本,用户,等等。列表中各个成员可以是经过去重操作之后的成员,即,一个列表中最多存在一个数据与某个第二数据相同。这样,可以避免不必要的重复计算,进而降低后续处理的计算量。
下面以应用于隐匿成员检测(Private Membership Test,PMT),对本发明实施例中的数据检测方法进行说明。具体的,PMT是服务端一方及客户端一方都不想透露各自手里的信息的情况下,实现检测客户端一方持有第二数据是否存在于服务端一方持有n个第一数据中。
在一种现有实现方式中,客户端提供密文的第二数据[y],服务端S利用同态加的性质,计算[y-k1],[y-k2],...,[y-kn],并向客户端返回n个密文的检测结果。客户端基于这n个密文的检测结果确定第二数据是否存在于第一数据中。虽然该现有实现方式可以较为利用服务端的计算资源,但是,服务端需要发送大量的密文的检测结果给客户端,传输量较大,在带宽较小时可能会造成时延过高。且由于服务端会有大量数据发送出去,容易使客户端用户产生数据泄露的疑虑。
而通过本发明实施例中的数据检测方法,基于预先计算的目标系数,按照分组计算的方式,仅需向客户端返回少量的检测结果,客户端基于少量的密文的检测结果即可确定第二数据是否存在于第一数据中。这样,通过先进行部分离线计算,确定出目标系数,进而可以降低后续检测时的实时计算量,以及降低通讯复杂度。需要说明的是,由于本发明实施例中是根据计算的乘积之和确定检测结果,即,检测结果的数值可能会大于现有方式中检测结果的具体数值,但是数值大小对于传输量的影响往往较小,决定传输量大小的往往是所需传输的数据的数量。因此,本发明实施例中,通过降低所需传输的检测结果的数量,可以较大程度的降低传输量。
进一步地,本发明实施例中,m越大服务端所需返回的检测结果的数量就越少,但是客户端需要发送的目标数据的数量会相应变多。在一种实现方式,可以将m的取值设置n的取值,即,仅有一个数据组。这样,服务端仅需向客户端返回一个检测结果,进而最大程度的降低传输量。但是,这种情况下,会导致客户端需要发送的目标数据的数量较多,进而导致整体过程的数据传输量较大。因此,可以在具体实施时,可以将m具体设置为小于n的整数,这样,可以使服务端将第一数据划分为多个数据组进行多项式的计算,并回传计算得到的乘积之和,进而一定程度上可以平衡客户端的传输量以及服务端的传输量,进而降低整体的传输量。
进一步地,在基于PMT进行黑名单查询的具体场景中。假设某机构作为服务端握有一份保密的用户黑名单数据,用户想知道某人是否在黑名单中,但又不想透露所查人是谁。基于本发明实施例中的数据检测方法,可以在以减少的通讯量实现检测。同时,由于服务端没有用于解密的私钥sk,因此,可以确保握有名单的机构在整个过程中无法得到关于被查人的任何具体信息(包括被查人是谁以及被查人是否在名单中),查询方也仅能获知名单长度和所查人是否在名单中,进而可以保证数据的安全性。
装置实施例
参照图3,示出了本发明的一种数据检测装置实施例的结构框图,所述装置应用于服务端,所述服务端持有第一数据[k1,k2,…,kn],所述第一数据中的m个数据为一个数据组,所述m为不小于2且不大于所述n的整数,所述装置具体可以包括:
接收模块301,用于接收客户端发送的密文的目标数据[y0,y1,…,ym];所述目标数据是依据待检测的第二数据y获得;
获取模块302,用于对于任一所述数据组,获取所述数据组的目标系数;所述目标系数是根据所述数据组中的第一数据构建的目标多因式(x-k1)(x-k2)…(x-km)得到;
生成模块303,用于根据所述目标数据与所述目标系数中对应系数的乘积之和,生成密文的所述数据组对应的检测结果;
返回模块304,用于将各个数据组对应的所述密文的检测结果返回给所述客户端,以便于所述客户端根据所述检测结果确定所述第二数据y是否存在于所述第一数据中。
可选的,所述所述装置还包括::
执行模块,用于对于任一所述数据组,执行以下操作:
构建m个目标因子(x-k1),(x-k2),…,(x-km);
将所述目标因子的乘积确定为所述目标多因式(x-k1)(x-k2)…(x-km);
确定所述目标多因式的系数ai;ai表示xi对应的系数,i为整数,取值范围为[0,m];
将所述ai作为所述数据组的目标系数,并存储所述数据组的目标系数。
可选的,所述装置还包括:
确定模块,用于接收所述客户端发送的指定值,并将所述指定值确定为所述m的取值,或者,根据所述n的值确定所述m的取值。
可选的,所述m的取值为所述n开平方根得到的值。
可选的,所述确定模块,具体用于:
确定对所述n进行开平方根运算得到的运算结果是否为整数;
若所述运算结果为整数,则将所述运算结果确定为所述m的取值;
若所述运算结果不为整数,则对所述运算结果进行取整,得到目标整数,若所述目标整数属于预设数值范围,则将所述目标整数确定为所述m的取值;所述预设数值范围为不小于2且不大于所述n的值;若所述目标整数不属于所述预设数值范围,则为所述目标整数添加预设数值,直至添加后的所述目标整数属于所述预设数值范围为止;将添加后的所述目标整数确定为所述m的取值。
可选的,所述装置还包括:
划分模块,用于将每m个第一数据划分至一个数据组,若剩余的P个第一数据不足m个,则从已分组的第一数据中选择(m-P)个第一数据组成一个数据组。
可选的,所述目标数据是基于所述客户端生成的公钥进行同态加密后得到,所述生成模块303,具体用于:将所述乘积之和确定为所述密文的所述数据组对应的检测结果;或者,将所述乘积之和与随机数进行相乘,并将相乘结果确定为所述密文的所述数据组对应的检测结果;
所述返回模块304,具体用于:按照随机排序算法,对各个数据组对应的所述密文的检测结果进行重排序;将重排序后的密文的检测结果发送给所述客户端。
本发明实施例通过将第一数据划分为数据组,针对每个数据组,结合目标系数,通过目标系数及客户端提供的目标数据生成各个数据组对应的密文的检测结果并返回给客户端。相较于现有技术中将第二数据y相对于各个第一数据的检测结果返回给客户端的情况下,需要对应返回n个检测结果。本发明实施例中,通过根据m划分数据组,服务端所需返回的检测结果的数量即为数据组的数量,由于m不小于2,即,数据组的数量小于n,因此,一定程度上可以降低服务端所需传输的检测结果的数量,进而可以降低传输量,避免带宽较小造成传输时延过高的问题。
参照图4,示出了本发明的另一种数据检测装置实施例的结构框图,所述装置具体可以包括:
获取模块401,用于获取待检测的第二数据y;
生成模块402,用于根据所述待检测的第二数据y生成密文的目标数据[y0,y1,…,ym];
发送模块403,用于向服务端发送所述密文的目标数据[y0,y1,…,ym];
接收模块404,用于接收所述服务端返回的密文的检测结果;所述检测结果是所述服务端基于上述权利要求1至7中任一所述方法确定的;
确定模块405,用于根据所述检测结果确定所述第二数据y是否存在于所述服务端持有的第一数据中。
可选的,所述目标数据是基于所述客户端生成的公钥进行同态加密后得到;
所述确定模块405,具体用于:
基于所述客户端生成的私钥,对所述密文的检测结果进行解密,得到解密结果;
判断是否存在等于0的解密结果;
若存在等于0的解密结果,则确定所述第二数据y存在于所述第一数据中;
若不存在等于0的解密结果,则确定所述第二数据y不存在于所述第一数据中。
本发明实施例的数据检测方法中,通过向服务端发送基于待检测的第二数据y生成的密文的目标数据[y0,y1,…,ym],即可实现根据服务端返回的密文的检测结果确定第二数据y是否存在于服务端持有的第一数据中。由于仅需针对数据组返回对应的检测结果,即,服务端所需传输的数据量降低,进而可以避免带宽较小造成时延过高的问题。同时,服务端所需传输的数据量降低,使得客户端对应需要接收的检测结果的数据量变小,进而可以提高整体的通讯传输效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例提供了一种用于数据检测的装置,该装置可以应用于服务端,所述服务端持有第一数据[k1,k2,…,kn],所述第一数据中的m个数据为一个数据组,所述m为不小于2且不大于所述n的整数,该装置可以包括有存储器,以及一个或者一个以上程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:接收客户端发送的密文的目标数据[y0,y1,…,ym];所述目标数据是依据待检测的第二数据y获得;对于任一所述数据组,获取所述数据组的目标系数;所述目标系数是根据所述数据组中的第一数据构建的目标多因式(x-k1)(x-k2)…(x-km)得到;根据所述目标数据与所述目标系数中对应系数的乘积之和,生成密文的所述数据组对应的检测结果;将各个数据组对应的所述密文的检测结果返回给所述客户端,以便于所述客户端根据所述检测结果确定所述第二数据y是否存在于所述第一数据中。
图5是根据一示例性实施例示出的一种用于数据检测的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图6是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的数据检测方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行一种数据检测方法,所述方法应用于服务端,所述服务端持有第一数据[k1,k2,…,kn],所述第一数据中的m个数据为一个数据组,所述m为不小于2且不大于所述n的整数,所述方法包括:接收客户端发送的密文的目标数据[y0,y1,…,ym];所述目标数据是依据待检测的第二数据y获得对于任一所述数据组,获取所述数据组的目标系数;所述目标系数是根据所述数据组中的第一数据构建的目标多因式(x-k1)(x-k2)…(x-km)得到;根据所述目标数据与所述目标系数中对应系数的乘积之和,生成密文的所述数据组对应的检测结果;将各个数据组对应的所述密文的检测结果返回给所述客户端,以便于所述客户端根据所述检测结果确定所述第二数据y是否存在于所述第一数据中。
本发明实施例公开了A1、一种数据检测方法,所述方法应用于服务端,所述服务端持有第一数据[k1,k2,…,kn],所述第一数据中的m个数据为一个数据组,所述m为不小于2且不大于所述n的整数,所述方法包括:
接收客户端发送的密文的目标数据[y0,y1,…,ym];所述目标数据是依据待检测的第二数据y获得;
对于任一所述数据组,获取所述数据组的目标系数;所述目标系数是根据所述数据组中的第一数据构建的目标多因式(x-k1)(x-k2)…(x-km)得到;
根据所述目标数据与所述目标系数中对应系数的乘积之和,生成密文的所述数据组对应的检测结果;
将各个数据组对应的所述密文的检测结果返回给所述客户端,以便于所述客户端根据所述检测结果确定所述第二数据y是否存在于所述第一数据中。
A2、根据A1所述的方法,所述接收客户端发送的密文的目标数据之前,所述方法还包括:
对于任一所述数据组,执行以下操作:
构建m个目标因子(x-k1),(x-k2),…,(x-km);
将所述目标因子的乘积确定为所述目标多因式(x-k1)(x-k2)…(x-km);
确定所述目标多因式的系数ai;ai表示xi对应的系数,i为整数,取值范围为[0,m];
将所述ai作为所述数据组的目标系数,并存储所述数据组的目标系数。
A3、根据A1或A2所述的方法,所述方法还包括:
接收所述客户端发送的指定值,并将所述指定值确定为所述m的取值,或者,根据所述n的值确定所述m的取值。
A4、根据A3所述的方法,所述m的取值为所述n开平方根得到的值。
A5、根据A3所述的方法,所述根据n的值确定所述m的取值,包括:
确定对所述n进行开平方根运算得到的运算结果是否为整数;
若所述运算结果为整数,则将所述运算结果确定为所述m的取值;
若所述运算结果不为整数,则对所述运算结果进行取整,得到目标整数,若所述目标整数属于预设数值范围,则将所述目标整数确定为所述m的取值;所述预设数值范围为不小于2且不大于所述n的值;若所述目标整数不属于所述预设数值范围,则为所述目标整数添加预设数值,直至添加后的所述目标整数属于所述预设数值范围为止;将添加后的所述目标整数确定为所述m的取值。
A6、根据A2所述的方法,所述方法还包括:
将每m个第一数据划分至一个数据组,若剩余的P个第一数据不足m个,则从已分组的第一数据中选择(m-P)个第一数据组成一个数据组。
A7、根据A1所述的方法,所述目标数据是基于所述客户端生成的公钥进行同态加密后得到,所述根据所述目标数据与所述目标系数中对应系数的乘积之和,生成密文的所述数据组对应的检测结果,包括:将所述乘积之和确定为所述密文的所述数据组对应的检测结果;或者,将所述乘积之和与随机数进行相乘,并将相乘结果确定为所述密文的所述数据组对应的检测结果;
所述将各个数据组对应的所述密文的检测结果返回给所述客户端,包括:按照随机排序算法,对各个数据组对应的所述密文的检测结果进行重排序;将重排序后的密文的检测结果发送给所述客户端。
本发明实施例公开了B1、一种数据检测方法,应用于客户端,所述方法包括:
获取待检测的第二数据y;
根据所述待检测的第二数据y生成密文的目标数据[y0,y1,…,ym];
向服务端发送所述密文的目标数据[y0,y1,…,ym];
接收所述服务端返回的密文的检测结果;所述检测结果是所述服务端基于上述1至7中任一所述方法确定的;
根据所述检测结果确定所述第二数据y是否存在于所述服务端持有的第一数据中。
B9、根据B8所述的方法,所述目标数据是基于所述客户端生成的公钥进行同态加密后得到;
所述根据所述检测结果确定所述第二数据y是否存在于所述服务端持有的第一数据中,包括:
基于所述客户端生成的私钥,对所述密文的检测结果进行解密,得到解密结果;
判断是否存在等于0的解密结果;
若存在等于0的解密结果,则确定所述第二数据y存在于所述第一数据中;
若不存在等于0的解密结果,则确定所述第二数据y不存在于所述第一数据中。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。以上对本发明所提供的一种数据检测方法、一种数据检测装置和一种用于数据检测的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种数据检测方法,其特征在于,所述方法应用于服务端,所述服务端持有第一数据[k1,k2,…,kn],所述第一数据中的m个数据为一个数据组,所述m为不小于2且不大于所述n的整数,所述方法包括:
接收客户端发送的密文的目标数据[y0,y1,…,ym];所述目标数据是依据待检测的第二数据y获得;
对于任一所述数据组,获取所述数据组的目标系数;所述目标系数是根据所述数据组中的第一数据构建的目标多因式(x-k1)(x-k2)…(x-km)得到;
根据所述目标数据与所述目标系数中对应系数的乘积之和,生成密文的所述数据组对应的检测结果;
将各个数据组对应的所述密文的检测结果返回给所述客户端,以便于所述客户端根据所述检测结果确定所述第二数据y是否存在于所述第一数据中。
2.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的密文的目标数据之前,所述方法还包括:
对于任一所述数据组,执行以下操作:
构建m个目标因子(x-k1),(x-k2),…,(x-km);
将所述目标因子的乘积确定为所述目标多因式(x-k1)(x-k2)…(x-km);
确定所述目标多因式的系数ai;ai表示xi对应的系数,i为整数,取值范围为[0,m];
将所述ai作为所述数据组的目标系数,并存储所述数据组的目标系数。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的指定值,并将所述指定值确定为所述m的取值,或者,根据所述n的值确定所述m的取值。
4.根据权利要求3所述的方法,其特征在于,所述m的取值为所述n开平方根得到的值。
5.根据权利要求3所述的方法,其特征在于,所述根据n的值确定所述m的取值,包括:
确定对所述n进行开平方根运算得到的运算结果是否为整数;
若所述运算结果为整数,则将所述运算结果确定为所述m的取值;
若所述运算结果不为整数,则对所述运算结果进行取整,得到目标整数,若所述目标整数属于预设数值范围,则将所述目标整数确定为所述m的取值;所述预设数值范围为不小于2且不大于所述n的值;若所述目标整数不属于所述预设数值范围,则为所述目标整数添加预设数值,直至添加后的所述目标整数属于所述预设数值范围为止;将添加后的所述目标整数确定为所述m的取值。
6.一种数据检测方法,其特征在于,应用于客户端,所述方法包括:
获取待检测的第二数据y;
根据所述待检测的第二数据y生成密文的目标数据[y0,y1,…,ym];
向服务端发送所述密文的目标数据[y0,y1,…,ym];
接收所述服务端返回的密文的检测结果;所述检测结果是所述服务端基于上述权利要求1至7中任一所述方法确定的;
根据所述检测结果确定所述第二数据y是否存在于所述服务端持有的第一数据中。
7.一种数据检测装置,其特征在于,所述装置应用于服务端,所述服务端持有第一数据[k1,k2,…,kn],所述第一数据中的m个数据为一个数据组,所述m为不小于2且不大于所述n的整数,所述装置包括:
接收模块,用于接收客户端发送的密文的目标数据[y0,y1,…,ym];所述目标数据是依据待检测的第二数据y获得;
获取模块,用于对于任一所述数据组,获取所述数据组的目标系数;所述目标系数是根据所述数据组中的第一数据构建的目标多因式(x-k1)(x-k2)…(x-km)得到;
生成模块,用于根据所述目标数据与所述目标系数中对应系数的乘积之和,生成密文的所述数据组对应的检测结果;
返回模块,用于将各个数据组对应的所述密文的检测结果返回给所述客户端,以便于所述客户端根据所述检测结果确定所述第二数据y是否存在于所述第一数据中。
8.一种数据检测装置,其特征在于,应用于客户端,所述装置包括:
获取模块,用于获取待检测的第二数据y;
生成模块,用于根据所述待检测的第二数据y生成密文的目标数据[y0,y1,…,ym];
发送模块,用于向服务端发送所述密文的目标数据[y0,y1,…,ym];
接收模块,用于接收所述服务端返回的密文的检测结果;所述检测结果是所述服务端基于上述权利要求1至7中任一所述方法确定的;
确定模块,用于根据所述检测结果确定所述第二数据y是否存在于所述服务端持有的第一数据中。
9.一种用于数据检测的装置,其特征在于,包括有存储器,以及一个或者一个以上程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含的用于进行上述1至6任一所述数据检测方法中的操作的指令。
10.一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如权利要求1至6任一所述的数据检测方法。
CN202011193691.3A 2020-10-30 2020-10-30 一种数据检测方法、装置和用于数据检测的装置 Active CN112464257B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011193691.3A CN112464257B (zh) 2020-10-30 2020-10-30 一种数据检测方法、装置和用于数据检测的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011193691.3A CN112464257B (zh) 2020-10-30 2020-10-30 一种数据检测方法、装置和用于数据检测的装置

Publications (2)

Publication Number Publication Date
CN112464257A true CN112464257A (zh) 2021-03-09
CN112464257B CN112464257B (zh) 2022-03-22

Family

ID=74834915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011193691.3A Active CN112464257B (zh) 2020-10-30 2020-10-30 一种数据检测方法、装置和用于数据检测的装置

Country Status (1)

Country Link
CN (1) CN112464257B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667674A (zh) * 2021-03-12 2021-04-16 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113032846A (zh) * 2021-05-20 2021-06-25 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629924A (zh) * 2012-03-30 2012-08-08 上海交通大学 一种多服务器环境下的隐私信息检索方法
CN107967431A (zh) * 2017-12-20 2018-04-27 南京航空航天大学 一种垂直分布数据集上的隐私保护skyline查询方法
US20190332792A1 (en) * 2016-12-27 2019-10-31 ZenmuTech, Inc Access management system, access management method and program
CN111475690A (zh) * 2020-06-19 2020-07-31 支付宝(杭州)信息技术有限公司 字符串的匹配方法和装置、数据检测方法、服务器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102629924A (zh) * 2012-03-30 2012-08-08 上海交通大学 一种多服务器环境下的隐私信息检索方法
US20190332792A1 (en) * 2016-12-27 2019-10-31 ZenmuTech, Inc Access management system, access management method and program
CN107967431A (zh) * 2017-12-20 2018-04-27 南京航空航天大学 一种垂直分布数据集上的隐私保护skyline查询方法
CN111475690A (zh) * 2020-06-19 2020-07-31 支付宝(杭州)信息技术有限公司 字符串的匹配方法和装置、数据检测方法、服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张蕊: "大数据时代的数据隐私安全研究", 《佳木斯大学学报(自然科学版)》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667674A (zh) * 2021-03-12 2021-04-16 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112667674B (zh) * 2021-03-12 2021-06-18 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113032846A (zh) * 2021-05-20 2021-06-25 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113032846B (zh) * 2021-05-20 2021-08-06 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置

Also Published As

Publication number Publication date
CN112464257B (zh) 2022-03-22

Similar Documents

Publication Publication Date Title
CN112667674B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN115396101B (zh) 一种基于秘密分享的不经意打乱方法和系统
CN113392422B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN113449325B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114969830B (zh) 一种隐私求交方法、系统和可读存储介质
CN115396100B (zh) 一种基于秘密分享的不经意随机打乱方法和系统
CN114301594B (zh) 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置
CN112464257B (zh) 一种数据检测方法、装置和用于数据检测的装置
CN114840568B (zh) 一种密文排序方法、装置和用于密文排序的装置
CN112861175A (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114884645B (zh) 一种隐私计算方法、装置和可读存储介质
CN113315631A (zh) 一种数据处理方法、装置和用于数据处理的装置
CN112241250A (zh) 一种数据处理方法、装置和用于数据处理的装置
CN112487415B (zh) 计算任务的安全性检测方法及装置
CN114885038B (zh) 一种加密协议转换方法、结果获取节点和隐私计算节点
CN115941181B (zh) 一种乱序秘密分享方法、系统和可读存储介质
CN112468290B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114996752A (zh) 一种多方隐私求交方法、装置和用于多方隐私求交的装置
CN115085912A (zh) 一种密文计算方法、装置和用于密文计算的装置
CN112685747B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114915455A (zh) 一种密文数据传输方法、装置和用于密文数据传输的装置
CN112580064B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN112861145A (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114969164B (zh) 一种数据查询方法、装置和可读存储介质
CN112583764A (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