一种数据处理方法、装置、密文计算引擎和用于数据处理的装置制造方法及图纸

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

【技术实现步骤摘要】
一种数据处理方法、装置、密文计算引擎和用于数据处理的装置


[0001]本专利技术涉及多方安全计算领域,尤其涉及一种数据处理方法、装置、密文计算引擎和用于数据处理的装置。

技术介绍

[0002]K近邻(k

Nearest Neighbor,KNN)分类算法的基本思想是:如果一个查询样本和离其K个最相邻的样本中的大多数样本属于同一个类别,那么该查询样本也属于这个类别。
[0003]目前,数据通常分布于多个数据方。在横向联邦学习的场景中,横向K近邻分类,是指在不暴露各数据方的数据明文的基础上,在多个数据方各自持有的样本集的所有样本数据中确定距离查询样本距离最近的K个样本中大多数样本所属的类别。
[0004]为保护数据的隐私安全,横向K近邻分类采取的通常做法是:各数据方利用密码学机制将各自持有的样本数据加密后上传至密文计算引擎,由密文计算引擎基于密文对所有数据方的样本数据计算与查询样本的距离并排序,得到距离查询样本最近的K个加密样本以及这K个加密样本的加密标签数据,从而得到查询样本的类别。
[0005]上述方法需要各数据方将自身的样本数据加密上传至密文计算引擎,在数据量巨大的情况下,密文计算引擎需要在大规模的加密数据上进行密文计算操作,导致密文计算引擎的时间消耗过大,计算效率较低。

技术实现思路

[0006]本专利技术实施例提供一种数据处理方法、装置、密文计算引擎和用于数据处理的装置,可以在保证数据隐私安全的基础上,实现横向K近邻分类,并且可以减少密文计算引擎的时间消耗,提高计算效率。
[0007]第一方面,本专利技术实施例公开了一种数据处理方法,应用于密文计算引擎,所述方法包括:接收来自p个数据方的预处理密文数据,每个数据方的预处理密文数据包括密文距离向量和密文标签向量;其中,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签,i的取值为1~p;对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签;将所述密文标签发送给查询方。
[0008]第二方面,本专利技术实施例公开了一种数据处理方法,应用于数据方,所述方法包括:接收来自查询方的查询样本;计算自身样本集中距离所述查询样本最近的K个样本的距离;
对计算得到的K个样本的距离进行排序,得到距离向量;根据所述K个样本分别对应的标签,得到标签向量;对所述距离向量进行加密得到密文距离向量,以及对所述标签向量进行加密得到密文标签向量;将所述密文距离向量和所述密文标签向量作为预处理密文数据发送至密文计算引擎。
[0009]第三方面,本专利技术实施例公开了一种密文计算引擎,所述密文计算引擎包括:数据接收模块,用于接收来自p个数据方的预处理密文数据,每个数据方的预处理密文数据包括密文距离向量和密文标签向量;其中,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签,i的取值为1~p;联合计算模块,用于对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签;结果发送模块,用于将所述密文标签发送给查询方。
[0010]第四方面,本专利技术实施例公开了一种数据处理装置,所述装置包括:查询样本接收模块,用于接收来自查询方的查询样本;本地查询模块,用于计算自身样本集中距离所述查询样本最近的K个样本的距离;距离排序模块,用于对计算得到的K个样本的距离进行排序,得到距离向量;标签获取模块,用于根据所述K个样本分别对应的标签,得到标签向量;数据加密模块,用于对所述距离向量进行加密得到密文距离向量,以及对所述标签向量进行加密得到密文标签向量;数据发送模块,用于将所述密文距离向量和所述密文标签向量作为预处理密文数据发送至密文计算引擎。
[0011]第五方面,本专利技术实施例公开了一种用于数据处理的装置,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如前述一个或多个所述的数据处理方法的指令。
[0012]第六方面,本专利技术实施例公开了一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。
[0013]本专利技术实施例包括以下优点:本专利技术实施例的数据处理方法可以在保护各数据方的数据隐私安全的前提下,实现横向K近邻分类。每个数据方首先根据查询样本在本地样本集中进行查询,得到本地查询结果,对本地查询结果进行排序处理和加密处理,得到各自的预处理密文数据,发送至密文计算引擎进行联合计算,得到查询样本对应的密文标签。在本专利技术实施例中,密文计算引擎接收到的是每个数据方的预处理密文数据,包括密文距离向量和密文标签向量,相对于接收每个数据方的全量密文数据(每个数据方原始样本数据的加密数据),可以大幅度减少密文数据传输量。此外,对于第i个数据方的预处理密文数据,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方
的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签。也即,预处理密文数据中包含数据方针对查询样本的本地查询结果,密文计算引擎在各数据方的预处理密文数据基础上进行联合计算,相对于直接使用各数据方原始的全量加密数据进行计算,可以减少密文计算步骤,提高计算效率。再者,密文计算引擎接收到预处理密文数据包括的是各数据方对其本地查询结果进行排序后加密得到的密文数据,密文计算引擎无法获取各数据方的原始数据信息,可以进一步保证各数据方的数据隐私安全。密文计算引擎的整个计算过程都是基于密文进行,保证了中间传输数据的数据隐私安全性。
附图说明
[0014]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0015]图1是本专利技术的一种数据处理方法实施例的步骤流程图;图2是本专利技术的一种数据处理系统实施例的结构框图;图3是本专利技术的另一种数据处理方法实施例的步骤流程图;图4是本专利技术的一种密文计算引擎实施例的结构框图;图5是本专利技术的一种数据处理装置实施例的结构框图;图6是本专利技术的一种用于数据处理的装置800的框图;图7是本专利技术的一些实施例中服务器的结构示意图。
具体实施方式
[0016]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于密文计算引擎,所述方法包括:接收来自p个数据方的预处理密文数据,每个数据方的预处理密文数据包括密文距离向量和密文标签向量;其中,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签,i的取值为1~p;对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签;将所述密文标签发送给查询方。2.根据权利要求1所述的方法,其特征在于,所述对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签,包括:初始化长度为p的最小值指针列表,以及初始化空的密文标签列表,所述最小值指针列表的第i个元素表示当前循环操作中第i个数据方的密文距离向量中的最小距离的索引,所述密文标签列表用于记录每一轮循环操作中所述p个数据方的密文距离向量中的最小距离对应样本的密文标签;根据所述最小值指针列表,执行K次循环操作;其中,第j次循环操作得到第j次循环操作中p个数据方的密文距离向量中的最小距离以及该最小距离对应样本的密文标签,j的取值为1~K;将每一轮循环操作得到的密文标签加入所述密文标签列表,并更新所述最小值指针列表;在K次循环操作完成时得到长度为K的密文标签列表;根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签。3.根据权利要求2所述的方法,其特征在于,所述更新所述最小值指针列表,包括:对于第j次循环操作,确定所述第j次循环操作得到的最小距离在所述最小值指针列表中对应的目标元素;将所述最小值指针列表中的所述目标元素的数值加一,得到第j次循环操作更新后的最小值指针列表。4.根据权利要求2所述的方法,其特征在于,所述K次循环操作中的第j次循环操作包括:根据所述最小值指针列表,获取第j次循环操作中每个数据方的密文距离向量中的最小距离,得到最小值联合向量;对所述最小值联合向量中的各元素进行密文比较,得到所述最小值联合向量中的最小值元素;获取所述最小值元素对应的密文标签。5.根据权利要求4所述的方法,其特征在于,所述对所述最小值联合向量中的各元素进行密文比较,得到所述最小值联合向量中的最小值元素,包括:将所述最小值联合向量纵向拼接p次,得到第一密文方阵,以及将所述最小值联合向量横向拼接p次,得到第二密文方阵;对所述第一密文方阵和所述第二密文方阵进行密文比较,得到密文比较方阵;对所述密文比较方阵按列进行密文的加和计算,得到密文结果向量;
对所述密文结果向量进行解密,得到明文结果向量;确定所述明文结果向量中数值为0的元素为所述最小值联合向量中的最小值元素,以及确定所述数值为0的元素在所述明文结果向量中的索引为所述最小值联合向量中的最小值元素的索引。6.根据权利要求2所述的方法,其特征在于,所述密文标签包括两种取值,所述根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签,包括:对所述密文标签列表中的元素进行加和计算,得到统计结果值;判断所述统计结果值是否大于K的二分之一;若所述统计结果值大于K的二分之一,则确定所述查询样本对应的密文标签为第一密文标签,否则,确定所述查询样本对应的密文标签为第二密文标签。7.根据权利要求2所述的方法,其特征在于,所述密文标签包括三种以上取值,所述根据所述长度为K的密文标签列表,确定所述查询样本对应的密文标签,包括:将所述密文标签列表中的每个元素分别与每种取值进行密文比较,得到所述密文标签列表中的每个元素分别对应的m个比较结果;对所述密文标签列表中的每个元素在每种取值上的比较结果进行加和计算,得到m个加和结果;在所述m个加和结果中确定数值最大的加和结果对应的密文标签为所述查询样本对应的密文标签。8.一种数据处理方法,其特征在于,应用于数据方,所述方法包括:接收来自查询方的查询样本;计算自身样本集中距离所述查询样本最近的K个样本的距离;对计算得到的K个样本的距离进行排序,得到距离向量;根据所述K个样本分别对应的标签,得到标签向量;对所述距离向量进行加密得到密文距离向量,以及对所述标签向量进行加密得到密文标签向量;将所述密文距离向量和所述密文标签向量作为预处理密文数据发送至密文计算引擎。9.一种密文计算引擎,其特征在于,所述密文计算引擎包括:数据接收模块,用于接收来自p个数据方的预处理密文数据,每个数据方的预处理密文数据包括密文距离向量和密文标签向量;其中,第i个数据方的密文距离向量包括第i个数据方的样本集中距离查询样本最近的K个样本的距离的密文排序,第i个数据方的密文标签向量包括第i个数据方的所述K个样本分别对应的密文标签,i的取值为1~p;联合计算模块,用于对所述p个数据方的预处理密文数据进行基于密文的联合计算,得到所述查询样本对应的密文标签;结果发送模块,用于将所述密文标签发送给查询方。10.根据权利要求9所述的密文计算引擎,其特征在于,所述联合计算模块,包括:初始化子模块,用于初始化长度为p的最小值指针列表,以及初始化空的密文标签列表,所述最小值指针列表的第i个元素表示当前循环操作中第i个数据方的密文距离向量...

【专利技术属性】
技术研发人员:陈璐
申请(专利权)人:华控清交信息科技北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1