CN114401154B - 一种数据处理方法、装置、密文计算引擎和用于数据处理的装置 - Google Patents

一种数据处理方法、装置、密文计算引擎和用于数据处理的装置 Download PDF

Info

Publication number
CN114401154B
CN114401154B CN202210296139.XA CN202210296139A CN114401154B CN 114401154 B CN114401154 B CN 114401154B CN 202210296139 A CN202210296139 A CN 202210296139A CN 114401154 B CN114401154 B CN 114401154B
Authority
CN
China
Prior art keywords
ciphertext
data
vector
tag
minimum
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
CN202210296139.XA
Other languages
English (en)
Other versions
CN114401154A (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 CN202210296139.XA priority Critical patent/CN114401154B/zh
Publication of CN114401154A publication Critical patent/CN114401154A/zh
Application granted granted Critical
Publication of CN114401154B publication Critical patent/CN114401154B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • 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

Abstract

本发明实施例提供了一种数据处理方法、装置、密文计算引擎和用于数据处理的装置。其中的方法包括:接收来自p个数据方的预处理密文数据,每个数据方的预处理密文数据包括密文距离向量和密文标签向量;第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签;对p个数据方的预处理密文数据进行基于密文的联合计算,得到查询样本对应的密文标签;将该密文标签发送给查询方。本发明实施例在保证数据隐私安全的基础上,实现对多方数据协同进行K近邻分类,并且可以减少密文计算引擎的时间消耗以及数据传输量。

Description

一种数据处理方法、装置、密文计算引擎和用于数据处理的 装置
技术领域
本发明涉及多方安全计算领域,尤其涉及一种数据处理方法、装置、密文计算引擎和用于数据处理的装置。
背景技术
K近邻(k-Nearest Neighbor,KNN)分类算法的基本思想是:如果一个查询样本和离其K个最相邻的样本中的大多数样本属于同一个类别,那么该查询样本也属于这个类别。
目前,数据通常分布于多个数据方。在横向联邦学习的场景中,横向K近邻分类,是指在不暴露各数据方的数据明文的基础上,在多个数据方各自持有的样本集的所有样本数据中确定距离查询样本距离最近的K个样本中大多数样本所属的类别。
为保护数据的隐私安全,横向K近邻分类采取的通常做法是:各数据方利用密码学机制将各自持有的样本数据加密后上传至密文计算引擎,由密文计算引擎基于密文对所有数据方的样本数据计算与查询样本的距离并排序,得到距离查询样本最近的K个加密样本以及这K个加密样本的加密标签数据,从而得到查询样本的类别。
上述方法需要各数据方将自身的样本数据加密上传至密文计算引擎,在数据量巨大的情况下,密文计算引擎需要在大规模的加密数据上进行密文计算操作,导致密文计算引擎的时间消耗过大,计算效率较低。
发明内容
本发明实施例提供一种数据处理方法、装置、密文计算引擎和用于数据处理的装置,可以在保证数据隐私安全的基础上,实现横向K近邻分类,并且可以减少密文计算引擎的时间消耗,提高计算效率。
第一方面,本发明实施例公开了一种数据处理方法,应用于密文计算引擎,所述方法包括:
接收来自p个数据方的预处理密文数据,每个数据方的预处理密文数据包括密文距离向量和密文标签向量;其中,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签,i的取值为1~p;
对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签;
将所述密文标签发送给查询方。
第二方面,本发明实施例公开了一种数据处理方法,应用于数据方,所述方法包括:
接收来自查询方的查询样本;
计算自身样本集中距离所述查询样本最近的K个样本的距离;
对计算得到的K个样本的距离进行排序,得到距离向量;
根据所述K个样本分别对应的标签,得到标签向量;
对所述距离向量进行加密得到密文距离向量,以及对所述标签向量进行加密得到密文标签向量;
将所述密文距离向量和所述密文标签向量作为预处理密文数据发送至密文计算引擎。
第三方面,本发明实施例公开了一种密文计算引擎,所述密文计算引擎包括:
数据接收模块,用于接收来自p个数据方的预处理密文数据,每个数据方的预处理密文数据包括密文距离向量和密文标签向量;其中,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签,i的取值为1~p;
联合计算模块,用于对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签;
结果发送模块,用于将所述密文标签发送给查询方。
第四方面,本发明实施例公开了一种数据处理装置,所述装置包括:
查询样本接收模块,用于接收来自查询方的查询样本;
本地查询模块,用于计算自身样本集中距离所述查询样本最近的K个样本的距离;
距离排序模块,用于对计算得到的K个样本的距离进行排序,得到距离向量;
标签获取模块,用于根据所述K个样本分别对应的标签,得到标签向量;
数据加密模块,用于对所述距离向量进行加密得到密文距离向量,以及对所述标签向量进行加密得到密文标签向量;
数据发送模块,用于将所述密文距离向量和所述密文标签向量作为预处理密文数据发送至密文计算引擎。
第五方面,本发明实施例公开了一种用于数据处理的装置,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如前述一个或多个所述的数据处理方法的指令。
第六方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。
本发明实施例包括以下优点:
本发明实施例的数据处理方法可以在保护各数据方的数据隐私安全的前提下,实现横向K近邻分类。每个数据方首先根据查询样本在本地样本集中进行查询,得到本地查询结果,对本地查询结果进行排序处理和加密处理,得到各自的预处理密文数据,发送至密文计算引擎进行联合计算,得到查询样本对应的密文标签。在本发明实施例中,密文计算引擎接收到的是每个数据方的预处理密文数据,包括密文距离向量和密文标签向量,相对于接收每个数据方的全量密文数据(每个数据方原始样本数据的加密数据),可以大幅度减少密文数据传输量。此外,对于第i个数据方的预处理密文数据,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签。也即,预处理密文数据中包含数据方针对查询样本的本地查询结果,密文计算引擎在各数据方的预处理密文数据基础上进行联合计算,相对于直接使用各数据方原始的全量加密数据进行计算,可以减少密文计算步骤,提高计算效率。再者,密文计算引擎接收到预处理密文数据包括的是各数据方对其本地查询结果进行排序后加密得到的密文数据,密文计算引擎无法获取各数据方的原始数据信息,可以进一步保证各数据方的数据隐私安全。密文计算引擎的整个计算过程都是基于密文进行,保证了中间传输数据的数据隐私安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种数据处理方法实施例的步骤流程图;
图2是本发明的一种数据处理系统实施例的结构框图;
图3是本发明的另一种数据处理方法实施例的步骤流程图;
图4是本发明的一种密文计算引擎实施例的结构框图;
图5是本发明的一种数据处理装置实施例的结构框图;
图6是本发明的一种用于数据处理的装置800的框图;
图7是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,所述方法可应用于密文计算引擎,所述方法可以包括如下步骤:
步骤101、接收来自p个数据方的预处理密文数据,每个数据方的预处理密文数据包括密文距离向量和密文标签向量;其中,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签,i的取值为1~p;
步骤102、对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签;
步骤103、将所述密文标签发送给查询方。
本发明实施例提供的数据处理方法,可以实现横向联邦学习场景中的横向K近邻分类。也即,在不暴露各数据方的数据明文的基础上,在p个数据方各自持有的样本集的所有样本数据中确定距离查询样本距离最近的K个样本中大多数样本所属的类别,并且可以减少密文计算引擎的时间消耗,提高计算效率,以及减少密文数据传输量。其中,p≥2,K可以根据实际需要设置。
横向联邦学习是指在数据特征空间重叠较大而在样本空间重叠较小的联邦学习。横向联邦学习也称为按样本划分的联邦学习,参与横向联邦学习的各数据方持有的样本数据具有相同的特征空间和不同的样本空间。例如,两家不同地区的商业银行的客户群体有着非常小的交集,因此,这两家银行的样本数据有着不同的样本空间。由于业务模型相似,这两家银行的样本数据具有相似或相同的特征空间。这两家银行便可以联合起来进行横向联邦学习,以训练质量更好的分类模型。
参照图2,示出了应用本发明的数据处理方法的系统架构图。如图2所示的系统架构,其中包括密文计算引擎201、查询方202、以及p个数据方203,如p个数据方记为:D1、D2、…、Dp,p≥2。
查询方拥有查询样本,如记为s。所述查询方可以为任意的终端设备。数据方指数据拥有方,可用于为横向联邦学习提供训练数据。p个数据方拥有各自的样本集,每个数据方的样本集中包含的样本数据的类型和内容本发明不做限制,p个数据方各自拥有的样本与查询样本s具有相同的字段。p个数据方可以为参与横向联邦学习的参与方。密文计算引擎是一种保护数据隐私安全的计算平台。本发明实施例对所述密文计算引擎采用的安全计算协议不做限制,例如,所述密文计算引擎可以基于MPC(SecureMuti-Party Computation,多方安全计算)协议,多个参与方可以在不泄漏自身数据的前提下,使用多方安全计算技术进行协同计算得到计算结果,参与计算的数据、中间结果、以及最终结果可以为密文。当然,所述密文计算引擎还可以基于秘密分享、半同态、不经意传输等技术实现的安全计算协议。
每个数据方在本地计算自身样本集中距离所述查询样本s最近的K个样本的距离,并对计算得到的K个样本的距离进行排序,得到距离向量。本发明实施例对排序方式不做限制,例如,可以按照从小到大的顺序排序,或者,按照从大到小的顺序排序。本发明实施例中以从小到大排序为例进行说明。每个数据方计算得到距离向量之后,可以根据所述K个样本分别对应的标签,得到标签向量;并且对所述距离向量进行加密得到密文距离向量,以及对所述标签向量进行加密得到密文标签向量。
p个数据方中的每个数据方将各自计算得到的密文距离向量和密文标签向量作为预处理密文数据发送至密文计算引擎。密文计算引擎对p个数据方传输过来的预处理密文数据进行基于密文的联合计算,得到所述查询样本s对应的密文标签,并且将该密文标签发送给查询方。查询方可以将密文计算引擎发送过来的密文标签进行解密,可以得到查询样本s在p个数据方的所有样本数据中的K近邻分类。也即,p个数据方的所有样本数据中距离查询样本s最近的K个样本中大多数样本所属的类别,将该类别作为查询样本s所属的类别。
需要说明的是,在具体实施中,所述密文计算引擎可以只提供计算功能,而不提供存储功能,也即密文计算引擎可以不存储计算结果,以进一步保护数据隐私。此外,根据加密协议的不同,还可以采用没有中心化的密文计算引擎。
在具体应用中,查询方可以将查询样本s分别发送至p 个数据方中的每个数据方。每个数据方在本地计算自身样本集中距离所述查询样本s最近的K个样本的距离,对计算得到的K个样本的距离进行排序,得到距离向量;根据所述K个样本分别对应的标签,得到标签向量。其中,标签可用于表示样本对应的类别。例如,对于p个数据方中的第i个数据方,如记为Di。Di在本地的样本集中计算距离查询样本s最近的K个样本,并对这K个样本按照与查询样本s的距离从小到大进行排序,得到距离向量。由于数据方在本地计算,因此可以基于明文进行,可以提高计算效率。例如,假设第i个数据方Di计算得到的距离向量记为L(i)=(L1(i),L2(i),…,Lk(i)),i的取值为1~p。其中,L1(i)表示第i个数据方的样本集中距离查询样本s最近的K个样本中距离最小的样本的距离。L2(i)表示第i个数据方的样本集中距离查询样本s最近的K个样本中距离第二小的样本的距离。以此类推。
Di还获取按照距离排序后的K个样本分别对应的标签,组成标签向量,如记为Y(i)=(y1(i),y2(i),…,yk(i)),i的取值为1~p。其中,y1(i)表示与查询样本s的距离为L1(i)的样本对应的标签。y2(i)表示与查询样本s的距离为L2(i)的样本对应的标签。以此类推。每个数据方对各自的距离向量进行加密得到密文距离向量,以及对各自的标签向量进行加密得到密文标签向量。例如,第i个数据方Di对其距离向量L(i)进行加密得到密文距离向量,如记为[L(i)]={[L1(i)],[L2(i)],…,[Lk(i)]}。其中,[L1(i)]、[L2(i)]、…、[Lk(i)]均为密文的形式。第i个数据方Di对其标签向量Y(i)进行加密得到密文标签向量,如记为[Y(i)]={[y1(i)],[y2(i)],…,[yk(i)]}。其中,[y1(i)]、[y2(i)]、…、[yk(i)]均为密文的形式。每个数据方将各自的密文距离向量和密文标签向量作为预处理密文数据发送至密文计算引擎。例如,第i个数据方Di将[L(i)]和[Y(i)]发送至密文计算引擎。密文计算引擎接收到p个数据方的预处理密文数据包括:p个密文距离向量,如[L(1)]、[L(2)]、…、[L(p)],以及p个密文标签向量,如[Y(1)]、[Y(2)]、…、[Y(p)]。
密文计算引擎基于密文对p个密文距离向量和p个密文标签向量基于密文进行联合计算,计算出在p*K个距离中最小的K个距离,并求出这K个距离对应样本中大部分样本的密文标签,将该密文标签返回给查询方。查询方解密后可以得到该密文标签的明文,也即得到查询样本对应的类别。
其中,密文计算引擎基于密文对p个密文距离向量和p个密文标签向量进行联合计算所采用的密文计算协议,本发明实施例不做限制。例如,可以采用的密文计算协议包括但不限于多方安全计算MPC(Secure Multi-party Computation,多方安全计算)协议等。
本发明实施例的数据处理方法可以在保护各数据方的数据隐私安全的前提下,实现对多个数据方的样本集联合进行横向K近邻分类。多个数据方首先在本地进行查询,得到本地查询结果,对本地查询结果进行排序处理和加密处理,得到各自的预处理密文数据,每个数据方将各自的预处理密文数据发送至密文计算引擎。该预处理密文数据是各数据方对各自的本地查询结果进行排序后加密得到,其中包含各数据方的本地查询结果的排序信息和标签信息,密文计算引擎基于各数据方的本地查询结果可以快速计算出多个数据方的联合查询结果。在使用全量密文数据的情况下,数据方Di传输的数据量为Di所有样本数据的加密数据,而在本发明实施例中,数据方Di传输的数据量为2*K*n,n为查询样本的个数,即数据方Di对于查询样本的K个密文距离向量和K个密文标签向量。相对于直接使用各数据方的全量密文数据进行计算,本发明实施例可以大幅度减少密文数据传输量,并且可以减少密文计算步骤,由此可以支持在大规模的多方数据上,高效计算得到查询样本的K近邻分类,实现多方数据协同进行横向K近邻分类,密文计算引擎的时间复杂度为O(p*K*E),其中,E为加密比较的时间复杂度。此外,密文计算引擎得到的是各数据方对其本地查询结果进行排序后加密得到的密文数据,密文计算引擎无法获取各数据方的本地查询结果以及原始样本数据,可以进一步保证各数据方的数据隐私安全。密文计算引擎的整个计算过程都是基于密文进行,保证了中间传输数据的数据隐私安全性。
进一步地,本发明实施例还可以同时接收n个查询样本,从而实现同时对n个查询样本计算在多个数据方的所有样本数据中的K近邻分类结果。
在本发明的一种可选实施例中,所述对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签,可以包括:
步骤S11、初始化长度为p的最小值指针列表,以及初始化空的密文标签列表,所述最小值指针列表的第i个元素表示当前循环操作中第i个数据方的密文距离向量中的最小距离的索引,所述密文标签列表用于记录每一轮循环操作中所述p个数据方的密文距离向量中的最小距离对应样本的密文标签;
步骤S12、根据所述最小值指针列表,执行K次循环操作;其中,第j次循环操作得到第j次循环操作中p个数据方的密文距离向量中的最小距离以及该最小距离对应样本的密文标签,j的取值为1~K;
步骤S13、将每一轮循环操作得到的密文标签加入所述密文标签列表,并更新所述最小值指针列表;
步骤S14、在K次循环操作完成时得到长度为K的密文标签列表;
步骤S15、根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签。
本发明实施例通过K次循环操作执行K次加密矩阵的比较操作,每次得到当前最小距离对应的密文标签,在K次循环操作完成时得到K个最小距离的密文标签。
密文计算引擎接收到p个密文距离向量[L(1)]、[L(2)]、…、[L(p)]和p个密文标签向量[Y(1)]、[Y(2)]、…、[Y(p)]。其中,第i个密文向量[L(i)]中包含K个距离,这K个距离是第i个数据方的样本集中距离查询样本s最小的K个距离,且这K个距离是按照顺序进行排序的(如从小到大排序)。本发明实施例需要基于密文在p个密文距离向量[L(1)]、[L(2)]、…、[L(p)]包含的p*K个距离中,计算出最小的K个距离。
本发明实施例利用p个密文距离向量[L(1)]、[L(2)]、…、[L(p)]进行K次基于密文的矩阵比较操作,在第一次矩阵比较操作完成时可以得到p*K个距离中的第一小距离,在第二次矩阵比较操作完成时可以得到p*K个距离中的第二小距离,在第三次矩阵比较操作完成时可以得到p*K个距离中的第三小距离,以此类推,在第K次矩阵比较操作完成时可以得到p*K个距离中的第K小距离。
由于密文标签向量中的密文标签与密文距离向量中的密文距离之间具有对应关系,因此,在计算出p*K个距离中的K个最小距离的情况下,可以根据密文标签向量得到这K个最小距离对应样本的密文标签。
具体地,本发明实施例首先初始化长度为p的最小值指针列表,以及初始化空的密文标签列表。所述最小值指针列表的第i个元素表示当前循环操作中第i个数据方的密文距离向量中的最小距离的索引。所述密文标签列表用于记录每一轮循环操作中所述p个数据方的密文距离向量的最小距离对应样本的密文标签。
例如,声明一个长度为p的最小值指针列表,如记为min_ptrs=(ptr1,ptr2,…,ptrp),假设min_ptrs中每个元素的初始值均为0,表示密文距离向量中的元素的索引从0开始,也即,每个数据方的密文距离向量中的第0个元素对应最小距离。min_ptrs中的第i个元素ptri表示当前循环操作中第i个数据方Di的密文距离向量的最小距离的索引。例如,ptr3=2表示当前循环操作中第3个数据方D3的密文距离向量中的最小距离的索引为2,也即,当前循环操作中数据方D3的密文距离向量[L(3)]中的最小值是该密文距离向量中的第二个元素,如表示为[L2(3)]。
根据所述最小值指针列表min_ptrs,执行K次循环操作;其中,第j次循环操作得到第j次循环操作中p个数据方的密文距离向量中的最小距离以及该最小距离对应样本的密文标签,j的取值为1~K;将每一轮循环操作得到的密文标签加入所述密文标签列表,并更新所述最小值指针列表;在K次循环操作完成时得到长度为K的密文标签列表。
在某一次循环操作中,最小值指针列表min_ptrs用于记录在当前循环操作中每个数据方的密文距离向量中的最小距离的索引。因此,根据最小值指针列表min_ptrs中的各元素可以从各数据方的密文距离向量中取出相应的密文距离进行比较,得到其中的最小距离。根据密文标签向量,可以获取当前循环操作计算得到的最小距离对应样本的密文标签,将该密文标签加入到密文标签列表y_list中,并更新所述最小值指针列表,进入下一次循环操作。在K次循环操作完成时得到长度为K的密文标签列表。此时,该长度为K的密文标签列表中保存了p个数据方的密文距离向量中的K个最小距离对应样本的密文标签。根据该长度为K的密文标签列表,即可确定该K个最小距离对应样本的密文标签中大部分的密文标签,也即得到所述查询样本对应的密文标签。
在本发明的一种可选实施例中,所述K次循环操作中的第j次循环操作包括:
步骤S21、根据所述最小值指针列表,获取第j次循环操作中每个数据方的密文距离向量中的最小距离,得到最小值联合向量;
步骤S22、对所述最小值联合向量中的各元素进行密文比较,得到所述最小值联合向量中的最小值元素;
步骤S22、获取所述最小值元素对应的密文标签。
所述最小值指针列表用于记录当前循环操作中每个数据方的密文距离向量中的最小距离的索引。例如,对于某一次循环操作,min_ptrs=(ptr1,ptr2,…,ptrp),也即,在该循环操作中,第一个数据方的密文距离向量[L(1)]中的第ptr1个元素为[L(1)]中的最小值,第二个数据方的密文距离向量[L(2)]中的第ptr2个元素为[L(2)]中的最小值,以此类推,第p个数据方的密文距离向量[L(p)]中的第ptrp个元素为[L(p)]中的最小值。
根据min_ptrs可以从第一个数据方的密文距离向量[L(1)]中取出第ptr1个元素[Lptr1(1)],从第二个数据方的密文距离向量[L(2)]中取出第ptr2个元素[Lptr2(2)],以此类推,从第p个数据方的密文距离向量[L(p)]中取出第ptrp个元素[Lptrp(p)],取出的这p个元素可以组成最小值联合向量。如所述最小值联合向量记为[Lptr]={[Lptr1(1)],[Lptr2(2)],…,[Lptrp(p)]}。
本发明执行K次循环操作,第一次循环操作对最小值联合向量[Lptr]中的各元素进行比较,得到其中的最小值,由于此时[Lptr]中的各元素是p个数据方的各密文距离向量中的最小距离,因此,第一次循环操作比较得到的最小值元素,即为p个数据方的密文距离向量中所有距离(p*K个距离)中最小的距离。根据密文标签向量可以获取该距离对应样本的密文标签,保存至密文标签列表y_list中,并更新长度为p的最小值指针列表min_ptrs,以从min_ptrs删除第一次循环操作中得到的最小值元素的索引,进入第二次循环操作。第二次循环操作对最小值联合向量[Lptr]中的各元素进行比较,得到其中的最小值元素,即为p个数据方的密文距离向量中所有距离(p*K个距离)中第二小的距离,获取该距离对应样本的密文标签,保存至密文标签列表y_list中,并更新长度为p的最小值指针列表min_ptrs,以从min_ptrs删除第二次循环操作中得到的最小值元素的索引,进入第三次循环操作。以此类推,在K次循环操作结束时,即可获得p个数据方的密文距离向量中所有距离(p*K个距离)中最小的K个距离,此时密文标签列表y_list的长度为K,其中包含这最小的K个距离对应样本的密文标签。最后在长度为K的y_list中统计大部分样本的密文标签,如大部分样本的密文标签为[y],则将该密文标签[y]作为查询样本的密文标签返回给查询方,查询方解密后可以得到最终结果为标签y,也即查询样本对应的类别为标签y对应的类别。
在本发明的一种可选实施例中,所述更新所述最小值指针列表,包括:
步骤S31、对于第j次循环操作,确定所述第j次循环操作得到的最小距离在所述最小值指针列表中对应的目标元素;
步骤S32、将所述最小值指针列表中的所述目标元素的数值加一,得到第j次循环操作更新后的最小值指针列表。
对于第j次循环操作,对最小值联合向量[Lptr]中的各元素进行比较得到其中的最小值元素,示例性地,假设该最小值元素为第一个数据方的密文距离向量[L(1)]中的某个元素,假设为[L(1)]中的第3个元素,即最小值指针列表第一个元素ptr1=3。那么,第j次循环操作完成时需要对最小值指针列表进行更新,将该第一个元素ptr1的数值加1,得到ptr1=4,也即,更新最小值联合向量[Lptr]中的第一个元素为[L4(1)]。
具体地,可以确定所述第j次循环操作得到的最小距离在所述最小值指针列表中对应的目标元素,将所述最小值指针列表中的所述目标元素的数值加一,得到第j次循环操作更新后的最小值指针列表。例如,在第j次循环操作中,计算得到最小值联合向量[Lptr]={[Lptr1(1)],[Lptr2(2)],…,[Lptrp(p)]}中的最小距离为[Lptr2(2)],即可得知该最小距离为第二个数据方的密文距离向量中第ptr2个元素。那么更新得到新的最小值指针列表min_ptrs=(ptr1,ptr2+1,…,ptrp),相当于将第2个数据方最小值指针向后移了一格。例如原本ptr2=3,则更新后ptr2=4。因为每个数据方的密文距离向量中的密文距离是按顺序排序的(如从小到大排序),当前数据方的最小值元素对应的标签已经被加入列表y_list中,则该最小值元素就应该从最小值指针列表中剔除,下一轮循环操作就能找到次小的距离。
需要说明的是,由于向量化操作可以并行化执行,进而提高计算性能,因此本发明实施例中的密文计算引擎执行的操作尽可能以向量或者矩阵的形式进行密文操作。
在本发明的一种可选实施例中,所述对所述最小值联合向量中的各元素进行密文比较,得到所述最小值联合向量中的最小值元素,包括:
步骤S41、将所述最小值联合向量纵向拼接p次,得到第一密文方阵,以及将所述最小值联合向量横向拼接p次,得到第二密文方阵;
步骤S42、对所述第一密文方阵和所述第二密文方阵进行密文比较,得到密文比较方阵;
步骤S43、对所述密文比较方阵按列进行密文的加和计算,得到密文结果向量;
步骤S44、对所述密文结果向量进行解密,得到明文结果向量;
步骤S45、确定所述明文结果向量中数值为0的元素为所述最小值联合向量中的最小值元素,以及确定所述数值为0的元素在所述明文结果向量中的索引为所述最小值联合向量中的最小值元素的索引。
对于第j次循环操作,需要对最小值联合向量[Lptr]中的各元素进行比较,得到最小值元素。但是密文比较操作的效率较低,本发明实施例为了提高密文比较操作的效率,通过上述步骤S41~步骤S45,对最小值联合向量[Lptr]中的各元素进行并行化的比较,以提高密文比较的效率。
具体地,首先将所述最小值联合向量纵向拼接p次,得到第一密文方阵,以及将所述最小值联合向量[Lptr]横向拼接p次,得到第二密文方阵。本发明实施例将维度为(p,)的最小值联合向量[Lptr]纵向拼接p次,可以得到维度为(p, p)的第一密文方阵,如记为:
Figure DEST_PATH_IMAGE001
以及将维度为(p,)的最小值联合向量[Lptr]横向拼接p次,可以得到维度为(p,p)的第二密文方阵,如记为:
Figure DEST_PATH_IMAGE002
需要说明的是,维度为(p,)的向量是一个p维的行向量,可以看作是1行p列的向量数据。横向拼接维度为(p,)的最小值联合向量[Lptr]时,是将1行p列的向量数据横向堆叠p次。纵向拼接维度为(p,)的最小值联合向量[Lptr]时,是自动将1行p列的向量数据转置为p行1列的向量数据,然后纵向堆叠p次。
然后,对所述第一密文方阵A和所述第二密文方阵B进行密文比较,如执行A>B的密文比较操作或者执行A<B的密文比较操作,得到维度为(p, p)的密文比较方阵,密文比较方阵中的元素表示第一密文方阵A和第二密文方阵B中相应位置的元素的密文比较结果,如密文比较结果记为:
Figure DEST_PATH_IMAGE003
例如,元素C1p表示第一密文方阵A中第1行第p列的元素[Lptr1(1)]与第二密文方阵B中第1行第p列的元素[Lptrp(p)]的密文比较结果。示例性地,在执行A>B的密文比较操作时,如果C1p的值为1的密文,表示[Lptr1(1)]>[Lptrp(p)]成立,如果C1p的值为0的密文,表示表示[Lptr1(1)]>[Lptrp(p)]不成立。
接下来,对所述密文比较方阵按列进行密文的加和计算,得到密文结果向量,如记为:
Figure DEST_PATH_IMAGE004
其中,axis=1表示对向量C中的元素横向进行求和。例如,对于向量C,将向量C的第一行元素C11~C1p进行求和,得到的即为密文结果向量中的第一个元素;将向量C的第二行元素C21~C2p进行求和,得到的即为密文结果向量中的第二个元素;以此类推。
密文结果向量中的第i个元素
Figure DEST_PATH_IMAGE005
表示最小值联合向量[Lptr]中比密文距离[Lptri(i)]小的距离个数。例如,密文结果向量中的元素
Figure DEST_PATH_IMAGE006
表示在最小值联合向量[Lptr]中比密文距离[Lptr2(2)]小的距离个数,如果
Figure DEST_PATH_IMAGE007
,表示在最小值联合向量[Lptr]中比密文距离[Lptr2(2)]小的距离个数为0,也即密文距离[Lptr2(2)]是最小值联合向量[Lptr]中的最小距离。如果
Figure DEST_PATH_IMAGE008
,表示在最小值联合向量[Lptr]中比密文距离[Lptr2(2)]小的距离个数为1,也即密文距离[Lptr2(2)]是最小值联合向量[Lptr]中的第二小距离。
最后,对所述密文结果向量进行解密,得到明文结果向量,确定所述明文结果向量中数值为0的元素为所述最小值联合向量中的最小值元素;以及确定所述数值为0的元素在所述明文结果向量中的索引为所述最小值联合向量中的最小值元素的索引。
具体地,对密文结果向量sum(C,axis=1)进行解密,得到明文结果向量,确定所述明文结果向量中数值为0的元素为所述最小值联合向量中的最小值元素。例如,假设确定明文结果向量中的第2个元素为0,则可以确定该索引2为最小值联合向量中的最小值元素的索引,也即[Lptr2(2)]是最小值联合向量[Lptr]中的最小距离。进而可以获取该最小距离对应样本的密文标签为
Figure DEST_PATH_IMAGE009
。将该密文标签加入密文标签列表,并更新最小值指针列表。
需要说明的是,上述步骤S41~步骤S45使用向量化方法计算最小值联合向量[Lptr]中的最小值,在实际应用中,还可以采用其他密文计算方法计算最小值联合向量[Lptr]中的最小值,例如,还可以采用朴素的暴力搜索方法,通过遍历搜索求得最小值联合向量[Lptr]中的最小值。
在本发明的一种可选实施例中,所述密文标签可以包括两种取值,所述根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签,可以包括:
步骤S51、对所述密文标签列表中的元素进行加和计算,得到统计结果值;
步骤S52、判断所述统计结果值是否大于K的二分之一;
步骤S53、若所述统计结果值大于K的二分之一,则确定所述查询样本对应的密文标签为第一密文标签,否则,确定所述查询样本对应的密文标签为第二密文标签。
在具体实施中,密文标签可以包括两种取值,以表示两种分类。例如,密文标签可以包括0或1两种取值(0表示一种类别,1表示另一种类别,0和1均为密文),则可以对所述密文标签列表中的元素进行密文的加和计算,得到统计结果值。例如,sum_y是密文标签列表y_list里所有元素的密文相加结果(结果sum_y也是密文)。若所述统计结果值大于K的二分之一,则确定所述查询样本对应的密文标签为第一密文标签,否则,确定所述查询样本对应的密文标签为第二密文标签。其中,第一密文标签的取值为1的密文,第二密文标签的取值为0的密文。
进一步地,在统计结果值是否大于K的二分之一,可以通过在密文状态下执行下述比较操作:[sum_y]>1/2[len(y_list)],得到比较结果,该比较结果为密文,若[sum_y]>1/2[len(y_list)]该式成立,则比较结果为1的密文,否则,比较结果为0的密文。将该比较结果进行解密,若得到1的明文,则确定查询样本对应的类别为1;若得到0的明文,则确定查询样本对应的类别为0。
在本发明的一种可选实施例中,所述密文标签可以包括三种以上取值,如包括m种取值,m>2,以表示多种分类,所述根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签,可以包括:
步骤S61、将所述密文标签列表中的每个元素分别与每种取值进行密文比较,得到所述密文标签列表中的每个元素分别对应的m个比较结果;
步骤S62、对所述密文标签列表中的每个元素在每种取值上的比较结果进行加和计算,得到m个加和结果;
步骤S63、在所述m个加和结果中确定数值最大的加和结果对应的密文标签为所述查询样本对应的密文标签。
以密文标签有三种取值为例,如密文标签对应的明文包括0或1或2,其中,0、1、2分别表示不同类别。
首先,将所述密文标签列表y_list中的每个元素分别与每种取值(0或1或2)进行密文比较,得到所述密文标签列表中的每个元素分别对应的3个比较结果。该比较结果可用于表示某个元素与密文标签的某个取值是否相等。
例如,将密文标签列表y_list中的某个元素与0的密文进行比较,如果该元素与0的密文相等,则比较结果为1的密文,否则为0的密文。将该元素与1的密文进行比较,如果该元素与1的密文相等,则比较结果为1的密文,否则为0的密文。将该元素与2的密文进行比较,如果该元素与2的密文相等,则比较结果为1的密文,否则为0的密文。这样,一个元素可以包含m个(该示例中为3个)比较结果。密文标签列表y_list中的K个元素包含m*K个(该示例中为3K个)比较结果。所述比较结果均为密文。
需要说明的是,在将所述密文标签列表y_list中的每个元素分别与每种取值进行密文比较时,可以先将三种取值0、1、2转换为密文后再进行比较。
然后,对所述密文标签列表中的每个元素在每种取值上的比较结果进行加和计算,得到m个加和结果,该加和结果为密文。
在上述示例中,将K个元素分别在取值为0的密文标签上的比较结果进行加和计算,得到在取值为0的密文标签上的加和结果,如记为sum0;将K个元素分别在取值为1的密文标签上的比较结果进行加和计算,得到在取值为1的密文标签上的加和结果,如记为sum1;将K个元素分别在取值为2的密文标签上的比较结果进行加和计算,得到在取值为2的密文标签上的加和结果,如记为sum2。sum0、sum1和sum2这3个加和结果为密文。
最后,在上述m个(该示例中为3个)加和结果中确定数值最大的加和结果对应的密文标签为所述查询样本对应的密文标签。
例如,可以对m个加和结果进行两两比较,确定其中最大的加和结果。如确定最大的加和结果是sum1,则可以确定sum1对应的密文标签(取值为1的密文)为查询样本对应的密文标签。
综上,本发明实施例的数据处理方法可以在保护各数据方的数据隐私安全的前提下,实现对多个数据方协同进行横向K近邻分类。每个数据方首先根据查询样本在本地样本集中进行查询,得到本地查询结果,对本地查询结果进行排序处理和加密处理,得到各自的预处理密文数据,发送至密文计算引擎进行联合计算,得到查询样本对应的密文标签。在本发明实施例中,密文计算引擎接收到的是每个数据方的预处理密文数据,包括密文距离向量和密文标签向量,相对于接收每个数据方的全量密文数据(每个数据方原始样本数据的加密数据),可以大幅度减少密文数据传输量。此外,对于第i个数据方的预处理密文数据,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签。也即,预处理密文数据中包含数据方针对查询样本的本地查询结果,密文计算引擎在各数据方的预处理密文数据基础上进行联合计算,相对于直接使用各数据方原始的全量加密数据进行计算,可以减少密文计算步骤,提高计算效率。再者,密文计算引擎接收到预处理密文数据包括的是各数据方对其本地查询结果进行排序后加密得到的密文数据,密文计算引擎无法获取各数据方的原始数据信息,可以进一步保证各数据方的数据隐私安全。密文计算引擎的整个计算过程都是基于密文进行,保证了中间传输数据的数据隐私安全性。
参照图3,示出了本发明的一种数据处理方法实施例的步骤流程图,所述方法可应用于数据方,所述方法可以包括如下步骤:
步骤301、接收来自查询方的查询样本;
步骤302、计算自身样本集中距离所述查询样本最近的K个样本的距离;
步骤303、对计算得到的K个样本的距离进行排序,得到距离向量;以及根据所述K个样本分别对应的标签,得到标签向量;
步骤304、对所述距离向量进行加密得到密文距离向量,以及对所述标签向量进行加密得到密文标签向量;
步骤305、将所述密文距离向量和所述密文标签向量作为预处理密文数据发送至密文计算引擎。
本发明实施例提供的数据处理方法,可以实现横向联邦学习场景中的横向K近邻分类。在不暴露各数据方的数据明文的基础上,在p个数据方各自持有的样本集的所有样本数据中确定距离查询样本距离最近的K个样本中大多数样本所属的类别,并且可以减少密文计算引擎的时间消耗,提高计算效率,以及减少密文数据传输量。其中,p≥2,K可以根据实际需要设置。
本发明实施例的数据处理方法可以在保护各数据方的数据隐私安全的前提下,实现对多个数据方协同进行横向K近邻分类。每个数据方首先根据查询样本在本地样本集中进行查询,得到本地查询结果,对本地查询结果进行排序处理和加密处理,得到各自的预处理密文数据,发送至密文计算引擎进行联合计算,得到查询样本对应的密文标签。在本发明实施例中,密文计算引擎接收到的是每个数据方的预处理密文数据,包括密文距离向量和密文标签向量,相对于接收每个数据方的全量密文数据(每个数据方原始样本数据的加密数据),可以大幅度减少密文数据传输量。此外,对于第i个数据方的预处理密文数据,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签。也即,预处理密文数据中包含数据方针对查询样本的本地查询结果,密文计算引擎在各数据方的预处理密文数据基础上进行联合计算,相对于直接使用各数据方原始的全量加密数据进行计算,可以减少密文计算步骤,提高计算效率。再者,密文计算引擎接收到预处理密文数据包括的是各数据方对其本地查询结果进行排序后加密得到的密文数据,密文计算引擎无法获取各数据方的原始数据信息,可以进一步保证各数据方的数据隐私安全。密文计算引擎的整个计算过程都是基于密文进行,保证了中间传输数据的数据隐私安全性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明的一种密文计算引擎实施例的结构框图,所述密文计算引擎可以包括:
数据接收模块401,用于接收来自p个数据方的预处理密文数据,每个数据方的预处理密文数据包括密文距离向量和密文标签向量;其中,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签,i的取值为1~p;
联合计算模块402,用于对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签;
结果发送模块403,用于将所述密文标签发送给查询方。
可选地,所述联合计算模块,包括:
初始化子模块,用于初始化长度为p的最小值指针列表,以及初始化空的密文标签列表,所述最小值指针列表的第i个元素表示当前循环操作中第i个数据方的密文距离向量中的最小距离的索引,所述密文标签列表用于记录每一轮循环操作中所述p个数据方的密文距离向量中的最小距离对应样本的密文标签;
循环计算子模块,用于根据所述最小值指针列表,执行K次循环操作;其中,第j次循环操作得到第j次循环操作中p个数据方的密文距离向量中的最小距离以及该最小距离对应样本的密文标签,j的取值为1~K;
列表更新子模块,用于将每一轮循环操作得到的密文标签加入所述密文标签列表,并更新所述最小值指针列表;
列表确定子模块,用于在K次循环操作完成时得到长度为K的密文标签列表;
结果确定子模块,用于根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签。
可选地,所述列表更新子模块,包括:
目标确定单元,用于对于第j次循环操作,确定所述第j次循环操作得到的最小距离在所述最小值指针列表中对应的目标元素;
指针更新单元,用于将所述最小值指针列表中的所述目标元素的数值加一,得到第j次循环操作更新后的最小值指针列表。
可选地,所述循环计算子模块,包括:
向量确定单元,用于根据所述最小值指针列表,获取第j次循环操作中每个数据方的密文距离向量中的最小距离,得到最小值联合向量;
向量比较单元,用于对所述最小值联合向量中的各元素进行密文比较,得到所述最小值联合向量中的最小值元素;
标签获取单元,用于获取所述最小值元素对应的密文标签。
可选地,所述向量比较单元,包括:
向量拼接子单元,用于将所述最小值联合向量纵向拼接p次,得到第一密文方阵,以及将所述最小值联合向量横向拼接p次,得到第二密文方阵;
方阵比较子单元,用于对所述第一密文方阵和所述第二密文方阵进行密文比较,得到密文比较方阵;
方阵加和子单元,用于对所述密文比较方阵按列进行密文的加和计算,得到密文结果向量;
结果解密子单元,用于对所述密文结果向量进行解密,得到明文结果向量;
结果确定子单元,用于确定所述明文结果向量中数值为0的元素为所述最小值联合向量中的最小值元素,以及确定所述数值为0的元素在所述明文结果向量中的索引为所述最小值联合向量中的最小值元素的索引。
可选地,所述结果确定子模块,包括:
元素加和单元,用于对所述密文标签列表中的元素进行加和计算,得到统计结果值;
结果判断单元,用于判断所述统计结果值是否大于K的二分之一;
第一结果确定单元,用于若所述统计结果值大于K的二分之一,则确定所述查询样本对应的密文标签为第一密文标签,否则,确定所述查询样本对应的密文标签为第二密文标签。
可选地,所述密文标签包括三种以上取值,所述结果确定子模块,包括:
元素比较单元,用于将所述密文标签列表中的每个元素分别与每种取值进行密文比较,得到所述密文标签列表中的每个元素分别对应的m个比较结果;
结果加和单元,用于对所述密文标签列表中的每个元素在每种取值上的比较结果进行加和计算,得到m个加和结果;
第二结果确定单元,用于在所述m个加和结果中确定数值最大的加和结果对应的密文标签为所述查询样本对应的密文标签。
参照图5,示出了本发明的一种数据处理装置实施例的结构框图,所述装置可应用于数据方,所述装置可以包括:
查询样本接收模块501,用于接收来自查询方的查询样本;
本地查询模块502,用于计算自身样本集中距离所述查询样本最近的K个样本的距离;
预处理模块503,用于对计算得到的K个样本的距离进行排序,得到距离向量;以及根据所述K个样本分别对应的标签,得到标签向量;
数据加密模块504,用于对所述距离向量进行加密得到密文距离向量,以及对所述标签向量进行加密得到密文标签向量;
数据发送模块505,用于将所述密文距离向量和所述密文标签向量作为预处理密文数据发送至密文计算引擎。
参照图2,示出了本发明的一种数据处理系统实施例的结构框图,所述系统包括密文计算引擎201、查询方202、以及p个数据方203,p≥2;其中,
所述查询方202,用于将查询样本分别发送至p个数据方中的每个数据方;
所述数据方203,用于接收来自查询方的查询样本;计算自身样本集中距离所述查询样本最近的K个样本的距离;对计算得到的K个样本的距离进行排序,得到距离向量;根据所述K个样本分别对应的标签,得到标签向量;对所述距离向量进行加密得到密文距离向量,以及对所述标签向量进行加密得到密文标签向量;将所述密文距离向量和所述密文标签向量作为预处理密文数据发送至密文计算引擎;
所述密文计算引擎201,用于接收来自p个数据方的预处理密文数据,对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签,并将所述密文标签发送给查询方;
所述查询方202,还用于接收所述密文计算引擎发送的密文标签,解密得到所述查询样本的查询结果。所述查询样本的查询结果即为所述查询样本对应的类别。
本发明实施例的数据处理方法可以在保护各数据方的数据隐私安全的前提下,实现对多个数据方协同进行横向K近邻分类。每个数据方首先根据查询样本在本地样本集中进行查询,得到本地查询结果,对本地查询结果进行排序处理和加密处理,得到各自的预处理密文数据,发送至密文计算引擎进行联合计算,得到查询样本对应的密文标签。在本发明实施例中,密文计算引擎接收到的是每个数据方的预处理密文数据,包括密文距离向量和密文标签向量,相对于接收每个数据方的全量密文数据(每个数据方原始样本数据的加密数据),可以大幅度减少密文数据传输量。此外,对于第i个数据方的预处理密文数据,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签。也即,预处理密文数据中包含数据方针对查询样本的本地查询结果,密文计算引擎在各数据方的预处理密文数据基础上进行联合计算,相对于直接使用各数据方原始的全量加密数据进行计算,可以减少密文计算步骤,提高计算效率。再者,密文计算引擎接收到预处理密文数据包括的是各数据方对其本地查询结果进行排序后加密得到的密文数据,密文计算引擎无法获取各数据方的原始数据信息,可以进一步保证各数据方的数据隐私安全。密文计算引擎的整个计算过程都是基于密文进行,保证了中间传输数据的数据隐私安全性。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例提供了一种用于数据处理的装置,包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序包含用于进行以下操作的指令:接收来自p个数据方的预处理密文数据,每个数据方的预处理密文数据包括密文距离向量和密文标签向量;其中,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签,i的取值为1~p;对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签;将所述密文标签发送给查询方。
图6是根据一示例性实施例示出的一种用于数据处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,装置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、磁带、软盘和光数据存储设备等。
图7是本发明的一些实施例中服务器的结构示意图。该服务器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所示的数据处理方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行前文图1所对应实施例中数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图1所对应实施例中数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种数据处理方法、装置、密文计算引擎和用于数据处理的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (17)

1.一种数据处理方法,其特征在于,应用于密文计算引擎,所述方法包括:
接收来自p个数据方的预处理密文数据,每个数据方的预处理密文数据包括密文距离向量和密文标签向量;其中,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签,i的取值为1~p;
对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签;
将所述密文标签发送给查询方;
所述对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签,包括:
初始化长度为p的最小值指针列表,以及初始化空的密文标签列表,所述最小值指针列表的第i个元素表示当前循环操作中第i个数据方的密文距离向量中的最小距离的索引,所述密文标签列表用于记录每一轮循环操作中所述p个数据方的密文距离向量中的最小距离对应样本的密文标签;
根据所述最小值指针列表,执行K次循环操作;其中,第j次循环操作得到第j次循环操作中p个数据方的密文距离向量中的最小距离以及该最小距离对应样本的密文标签,j的取值为1~K;
将每一轮循环操作得到的密文标签加入所述密文标签列表,并更新所述最小值指针列表;
在K次循环操作完成时得到长度为K的密文标签列表;
根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签。
2.根据权利要求1所述的方法,其特征在于,所述更新所述最小值指针列表,包括:
对于第j次循环操作,确定所述第j次循环操作得到的最小距离在所述最小值指针列表中对应的目标元素;
将所述最小值指针列表中的所述目标元素的数值加一,得到第j次循环操作更新后的最小值指针列表。
3.根据权利要求1所述的方法,其特征在于,所述K次循环操作中的第j次循环操作包括:
根据所述最小值指针列表,获取第j次循环操作中每个数据方的密文距离向量中的最小距离,得到最小值联合向量;
对所述最小值联合向量中的各元素进行密文比较,得到所述最小值联合向量中的最小值元素;
获取所述最小值元素对应的密文标签。
4.根据权利要求3所述的方法,其特征在于,所述对所述最小值联合向量中的各元素进行密文比较,得到所述最小值联合向量中的最小值元素,包括:
将所述最小值联合向量纵向拼接p次,得到第一密文方阵,以及将所述最小值联合向量横向拼接p次,得到第二密文方阵;
对所述第一密文方阵和所述第二密文方阵进行密文比较,得到密文比较方阵;
对所述密文比较方阵按列进行密文的加和计算,得到密文结果向量;
对所述密文结果向量进行解密,得到明文结果向量;
确定所述明文结果向量中数值为0的元素为所述最小值联合向量中的最小值元素,以及确定所述数值为0的元素在所述明文结果向量中的索引为所述最小值联合向量中的最小值元素的索引。
5.根据权利要求1所述的方法,其特征在于,所述密文标签包括两种取值,所述根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签,包括:
对所述密文标签列表中的元素进行加和计算,得到统计结果值;
判断所述统计结果值是否大于K的二分之一;
若所述统计结果值大于K的二分之一,则确定所述查询样本对应的密文标签为第一密文标签,否则,确定所述查询样本对应的密文标签为第二密文标签。
6.根据权利要求1所述的方法,其特征在于,所述密文标签包括三种以上取值,所述根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签,包括:
将所述密文标签列表中的每个元素分别与每种取值进行密文比较,得到所述密文标签列表中的每个元素分别对应的m个比较结果;
对所述密文标签列表中的每个元素在每种取值上的比较结果进行加和计算,得到m个加和结果;
在所述m个加和结果中确定数值最大的加和结果对应的密文标签为所述查询样本对应的密文标签。
7.一种数据处理方法,其特征在于,应用于数据方,所述方法包括:
接收来自查询方的查询样本;
计算自身样本集中距离所述查询样本最近的K个样本的距离;
对计算得到的K个样本的距离进行排序,得到距离向量;
根据所述K个样本分别对应的标签,得到标签向量;
对所述距离向量进行加密得到密文距离向量,以及对所述标签向量进行加密得到密文标签向量;
将所述密文距离向量和所述密文标签向量作为预处理密文数据发送至密文计算引擎,以使所述密文计算引擎在接收到来自p个数据方的预处理密文数据后,对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签,并将所述密文标签发送给查询方;所述p个数据方中第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签,i的取值为1~p;
所述对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签,包括:
初始化长度为p的最小值指针列表,以及初始化空的密文标签列表,所述最小值指针列表的第i个元素表示当前循环操作中第i个数据方的密文距离向量中的最小距离的索引,所述密文标签列表用于记录每一轮循环操作中所述p个数据方的密文距离向量中的最小距离对应样本的密文标签;
根据所述最小值指针列表,执行K次循环操作;其中,第j次循环操作得到第j次循环操作中p个数据方的密文距离向量中的最小距离以及该最小距离对应样本的密文标签,j的取值为1~K;
将每一轮循环操作得到的密文标签加入所述密文标签列表,并更新所述最小值指针列表;
在K次循环操作完成时得到长度为K的密文标签列表;
根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签。
8.一种密文计算引擎,其特征在于,所述密文计算引擎包括:
数据接收模块,用于接收来自p个数据方的预处理密文数据,每个数据方的预处理密文数据包括密文距离向量和密文标签向量;其中,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签,i的取值为1~p;
联合计算模块,用于对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签;
结果发送模块,用于将所述密文标签发送给查询方;
所述联合计算模块,包括:
初始化子模块,用于初始化长度为p的最小值指针列表,以及初始化空的密文标签列表,所述最小值指针列表的第i个元素表示当前循环操作中第i个数据方的密文距离向量中的最小距离的索引,所述密文标签列表用于记录每一轮循环操作中所述p个数据方的密文距离向量中的最小距离对应样本的密文标签;
循环计算子模块,用于根据所述最小值指针列表,执行K次循环操作;其中,第j次循环操作得到第j次循环操作中p个数据方的密文距离向量中的最小距离以及该最小距离对应样本的密文标签,j的取值为1~K;
列表更新子模块,用于将每一轮循环操作得到的密文标签加入所述密文标签列表,并更新所述最小值指针列表;
列表确定子模块,用于在K次循环操作完成时得到长度为K的密文标签列表;
结果确定子模块,用于根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签。
9.根据权利要求8所述的密文计算引擎,其特征在于,所述列表更新子模块,包括:
目标确定单元,用于对于第j次循环操作,确定所述第j次循环操作得到的最小距离在所述最小值指针列表中对应的目标元素;
指针更新单元,用于将所述最小值指针列表中的所述目标元素的数值加一,得到第j次循环操作更新后的最小值指针列表。
10.根据权利要求8所述的密文计算引擎,其特征在于,所述循环计算子模块,包括:
向量确定单元,用于根据所述最小值指针列表,获取第j次循环操作中每个数据方的密文距离向量中的最小距离,得到最小值联合向量;
向量比较单元,用于对所述最小值联合向量中的各元素进行密文比较,得到所述最小值联合向量中的最小值元素;
标签获取单元,用于获取所述最小值元素对应的密文标签。
11.根据权利要求10所述的密文计算引擎,其特征在于,所述向量比较单元,包括:
向量拼接子单元,用于将所述最小值联合向量纵向拼接p次,得到第一密文方阵,以及将所述最小值联合向量横向拼接p次,得到第二密文方阵;
方阵比较子单元,用于对所述第一密文方阵和所述第二密文方阵进行密文比较,得到密文比较方阵;
方阵加和子单元,用于对所述密文比较方阵按列进行密文的加和计算,得到密文结果向量;
结果解密子单元,用于对所述密文结果向量进行解密,得到明文结果向量;
结果确定子单元,用于确定所述明文结果向量中数值为0的元素为所述最小值联合向量中的最小值元素,以及确定所述数值为0的元素在所述明文结果向量中的索引为所述最小值联合向量中的最小值元素的索引。
12.根据权利要求8所述的密文计算引擎,其特征在于,所述结果确定子模块,包括:
元素加和单元,用于对所述密文标签列表中的元素进行加和计算,得到统计结果值;
结果判断单元,用于判断所述统计结果值是否大于K的二分之一;
第一结果确定单元,用于若所述统计结果值大于K的二分之一,则确定所述查询样本对应的密文标签为第一密文标签,否则,确定所述查询样本对应的密文标签为第二密文标签。
13.根据权利要求8所述的密文计算引擎,其特征在于,所述密文标签包括三种以上取值,所述结果确定子模块,包括:
元素比较单元,用于将所述密文标签列表中的每个元素分别与每种取值进行密文比较,得到所述密文标签列表中的每个元素分别对应的m个比较结果;
结果加和单元,用于对所述密文标签列表中的每个元素在每种取值上的比较结果进行加和计算,得到m个加和结果;
第二结果确定单元,用于在所述m个加和结果中确定数值最大的加和结果对应的密文标签为所述查询样本对应的密文标签。
14.一种数据处理装置,其特征在于,应用于数据方,所述装置包括:
查询样本接收模块,用于接收来自查询方的查询样本;
本地查询模块,用于计算自身样本集中距离所述查询样本最近的K个样本的距离;
预处理模块,用于对计算得到的K个样本的距离进行排序,得到距离向量;以及根据所述K个样本分别对应的标签,得到标签向量;
数据加密模块,用于对所述距离向量进行加密得到密文距离向量,以及对所述标签向量进行加密得到密文标签向量;
数据发送模块,用于将所述密文距离向量和所述密文标签向量作为预处理密文数据发送至密文计算引擎,以使所述密文计算引擎在接收到来自p个数据方的预处理密文数据后,对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签,并将所述密文标签发送给查询方;所述p个数据方中第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签,i的取值为1~p;
所述密文计算引擎,具体用于通过执行如下步骤以对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签:
初始化长度为p的最小值指针列表,以及初始化空的密文标签列表,所述最小值指针列表的第i个元素表示当前循环操作中第i个数据方的密文距离向量中的最小距离的索引,所述密文标签列表用于记录每一轮循环操作中所述p个数据方的密文距离向量中的最小距离对应样本的密文标签;
根据所述最小值指针列表,执行K次循环操作;其中,第j次循环操作得到第j次循环操作中p个数据方的密文距离向量中的最小距离以及该最小距离对应样本的密文标签,j的取值为1~K;
将每一轮循环操作得到的密文标签加入所述密文标签列表,并更新所述最小值指针列表;
在K次循环操作完成时得到长度为K的密文标签列表;
根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签。
15.一种数据处理系统,其特征在于,所述系统包括密文计算引擎、查询方、以及p个数据方,p≥2;
所述查询方,用于将查询样本分别发送至p个数据方中的每个数据方;
所述数据方,用于接收来自查询方的查询样本;计算自身样本集中距离所述查询样本最近的K个样本的距离;对计算得到的K个样本的距离进行排序,得到距离向量;根据所述K个样本分别对应的标签,得到标签向量;对所述距离向量进行加密得到密文距离向量,以及对所述标签向量进行加密得到密文标签向量;将所述密文距离向量和所述密文标签向量作为预处理密文数据发送至密文计算引擎;
所述密文计算引擎,用于接收来自p个数据方的预处理密文数据,对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签,并将所述密文标签发送给查询方;
所述查询方,还用于接收所述密文计算引擎发送的密文标签,解密得到所述查询样本的查询结果;
所述密文计算引擎,具体用于通过执行如下步骤以对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签:
初始化长度为p的最小值指针列表,以及初始化空的密文标签列表,所述最小值指针列表的第i个元素表示当前循环操作中第i个数据方的密文距离向量中的最小距离的索引,所述密文标签列表用于记录每一轮循环操作中所述p个数据方的密文距离向量中的最小距离对应样本的密文标签;
根据所述最小值指针列表,执行K次循环操作;其中,第j次循环操作得到第j次循环操作中p个数据方的密文距离向量中的最小距离以及该最小距离对应样本的密文标签,j的取值为1~K;
将每一轮循环操作得到的密文标签加入所述密文标签列表,并更新所述最小值指针列表;
在K次循环操作完成时得到长度为K的密文标签列表;
根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签。
16.一种用于数据处理的装置,其特征在于,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如权利要求1至7中任一所述的数据处理方法的指令。
17.一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如权利要求1至7中任一所述的数据处理方法。
CN202210296139.XA 2022-03-24 2022-03-24 一种数据处理方法、装置、密文计算引擎和用于数据处理的装置 Active CN114401154B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210296139.XA CN114401154B (zh) 2022-03-24 2022-03-24 一种数据处理方法、装置、密文计算引擎和用于数据处理的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210296139.XA CN114401154B (zh) 2022-03-24 2022-03-24 一种数据处理方法、装置、密文计算引擎和用于数据处理的装置

Publications (2)

Publication Number Publication Date
CN114401154A CN114401154A (zh) 2022-04-26
CN114401154B true CN114401154B (zh) 2022-06-07

Family

ID=81234835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210296139.XA Active CN114401154B (zh) 2022-03-24 2022-03-24 一种数据处理方法、装置、密文计算引擎和用于数据处理的装置

Country Status (1)

Country Link
CN (1) CN114401154B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615090B (zh) * 2022-05-10 2022-08-23 富算科技(上海)有限公司 基于跨域标签传播的数据处理方法及系统、设备及介质
CN114840568B (zh) * 2022-07-04 2022-09-20 华控清交信息科技(北京)有限公司 一种密文排序方法、装置和用于密文排序的装置
CN115114895B (zh) * 2022-08-26 2022-11-29 华控清交信息科技(北京)有限公司 一种合并报表的方法、装置和可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685115B2 (en) * 2006-07-21 2010-03-23 Mitsubishi Electronic Research Laboratories, Inc. Method for classifying private data using secure classifiers
CN110189192B (zh) * 2019-05-10 2021-04-13 深圳前海微众银行股份有限公司 一种信息推荐模型的生成方法及装置
CN112734032A (zh) * 2020-12-31 2021-04-30 杭州电子科技大学 一种用于横向联邦学习的优化方法
CN113255002B (zh) * 2021-06-09 2022-07-15 北京航空航天大学 一种保护多方隐私的联邦k近邻查询方法
CN113642700A (zh) * 2021-07-05 2021-11-12 湖南师范大学 基于联邦学习和边缘计算的跨平台多模态舆情分析方法
CN113987255B (zh) * 2021-12-30 2022-04-01 南湖实验室 基于联邦学习与秘密分享的多源密文图像检索方法

Also Published As

Publication number Publication date
CN114401154A (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
CN114401154B (zh) 一种数据处理方法、装置、密文计算引擎和用于数据处理的装置
US20220036250A1 (en) Method and device for training tree model
CN111178538B (zh) 垂直数据的联邦学习方法及装置
CN115396101B (zh) 一种基于秘密分享的不经意打乱方法和系统
CN115396100B (zh) 一种基于秘密分享的不经意随机打乱方法和系统
CN113449325B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114884645B (zh) 一种隐私计算方法、装置和可读存储介质
CN114840568B (zh) 一种密文排序方法、装置和用于密文排序的装置
CN113094744A (zh) 信息处理方法、服务平台、用于信息处理的装置和多方安全计算系统
CN113824550B (zh) 一种数据处理方法、密文计算平台和明密文混合计算系统
CN113032839B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN113033717B (zh) 一种模型生成方法、装置以及用于模型生成的装置
CN114662686A (zh) 一种神经网络模型训练方法、装置和安全计算平台
CN115941181B (zh) 一种乱序秘密分享方法、系统和可读存储介质
CN115085912A (zh) 一种密文计算方法、装置和用于密文计算的装置
CN112468290B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114996752A (zh) 一种多方隐私求交方法、装置和用于多方隐私求交的装置
CN113821732A (zh) 保护用户隐私的项目推荐方法、设备和学习系统
CN113821764B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN112861145A (zh) 一种数据处理方法、装置和用于数据处理的装置
CN113779500B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN113326477B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN112906904B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114969164B (zh) 一种数据查询方法、装置和可读存储介质
CN115114895B (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