【技术实现步骤摘要】
一种数据处理方法、装置、密文计算引擎和用于数据处理的装置
[0001]本专利技术涉及多方安全计算领域,尤其涉及一种数据处理方法、装置、密文计算引擎和用于数据处理的装置。
技术介绍
[0002]K近邻(k
‑
Nearest Neighbor,KNN)分类算法的基本思想是:如果一个查询样本和离其K个最相邻的样本中的大多数样本属于同一个类别,那么该查询样本也属于这个类别。
[0003]目前,数据通常分布于多个数据方。在横向联邦学习的场景中,横向K近邻分类,是指在不暴露各数据方的数据明文的基础上,在多个数据方各自持有的样本集的所有样本数据中确定距离查询样本距离最近的K个样本中大多数样本所属的类别。
[0004]为保护数据的隐私安全,横向K近邻分类采取的通常做法是:各数据方利用密码学机制将各自持有的样本数据加密后上传至密文计算引擎,由密文计算引擎基于密文对所有数据方的样本数据计算与查询样本的距离并排序,得到距离查询样本最近的K个加密样本以及这K个加密样本的加密标签数据,从而得到查询样本的类别。
[0005]上述方法需要各数据方将自身的样本数据加密上传至密文计算引擎,在数据量巨大的情况下,密文计算引擎需要在大规模的加密数据上进行密文计算操作,导致密文计算引擎的时间消耗过大,计算效率较低。
技术实现思路
[0006]本专利技术实施例提供一种数据处理方法、装置、密文计算引擎和用于数据处理的装置,可以在保证数据隐私安全的基础上,实现横向K近邻分类,并且可以减少密文计算引擎的时间 ...
【技术保护点】
【技术特征摘要】
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个数据方的密文距离向量...
【专利技术属性】
技术研发人员:陈璐,
申请(专利权)人:华控清交信息科技北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。