一种数据中位数确定方法及装置制造方法及图纸

技术编号:33746244 阅读:18 留言:0更新日期:2022-06-08 21:45
本申请提供一种数据中位数确定方法及装置,应用于多方安全计算领域,方法包括:根据多个参与方中每个参与方的本地原始数据确定所有本地原始数据的中位数的取值范围;根据取值范围以及所有本地原始数据确定中位数的位置索引;根据本地原始数据的大小将本地原始数据划分为多个区间,并根据划分后的本地原始数据确定对应的累加序列;对多个参与方中每个参与方的累加序列进行密态按序相加,得到密态累积序列;根据密态累积序列以及位置索引确定中位数所在的目标区间,并根据目标区间以及划分后的本地原始数据确定候选数据列表;根据多个参与方中每个参与方的候选数据列表确定中位数。与方中每个参与方的候选数据列表确定中位数。与方中每个参与方的候选数据列表确定中位数。

【技术实现步骤摘要】
一种数据中位数确定方法及装置


[0001]本申请涉及多方安全计算领域,具体而言,涉及一种数据中位数确定方法及装置。

技术介绍

[0002]随着企业对数据保护意识的增强,多方安全计算作为一种有效的数据保护技术逐步在企业业务中得到应用。在多方安全计算中,算子是最底层、最基础、也是最重要的计算单元,复杂的统计以及机器学习都需要建立在算子的基础之上。
[0003]而中位数是其中一种非常重要的算子之一,它是按顺序排列的一组数据中居于中间位置的数,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分,即在这组数据中,有一半的数据比他大,有一半的数据比他小,中位数是以它在所有标志值中所处的位置确定的全体单位标志值的代表值,不受分布数列的极大或极小值影响,从而在一定程度上提高了中位数对分布数列的代表性。比如人口统计、人均收入统计等都会使用到中位数。
[0004]因此,在多个参与方进行数据联合计算的场景下,经常需要对多个参与方持有的数据计算中位数。目前业内多方安全计算中位数算子,其执行逻辑普遍是对多方数据进行秘密共享后,在全量的碎片数据状态下进行相关运算,因此计算复杂度很高。

技术实现思路

[0005]本申请实施例的目的在于提供一种数据中位数确定方法及装置,用以解决现有技术中多方安全计算中位数算子的计算复杂度很高的技术问题。
[0006]第一方面,本申请实施例提供一种数据中位数确定方法,包括:根据多个参与方中每个参与方的本地原始数据确定所有本地原始数据的中位数的取值范围;根据所述取值范围以及所有本地原始数据确定所述中位数的位置索引;根据本地原始数据的大小将所述本地原始数据划分为多个区间,并根据划分后的本地原始数据确定对应的累加序列;其中,所述累加序列中的每一数值大小表征所述本地原始数据落入对应区间之前及落入对应区间中的所有数据的数量;对多个参与方中每个参与方的累加序列进行密态按序相加,得到密态累积序列;根据所述密态累积序列以及所述位置索引确定所述中位数所在的目标区间,并根据所述目标区间以及划分后的本地原始数据确定候选数据列表;根据多个参与方中每个参与方的候选数据列表确定所述中位数。在上述方案中,通过多次对数据的筛选,逐步缩小中位数所在的范围,这样最后在密文态计算中位数的过程中可以降低计算的复杂度。此外,将密文态中的部分中间计算转移至明文态进行处理,在保证数据安全的基础上,基于明文态以及密文态的混合使用,同样可以降低计算的复杂度。
[0007]在可选的实施方式中,所述根据多个参与方中每个参与方的本地原始数据确定所有本地原始数据的中位数的取值范围,包括:对所述本地原始数据进行求和得到对应的数据和,并确定所述本地原始数据中的第一数据数量;对所述数据和进行密态化得到第一密态数据;对多个参与方中每个参与方的第一数据数量进行求和得到所有参与方的第二数据
数量;根据所述第二数据数量以及多个参与方中每个参与方的第一密态数据,计算多个第一密态数据的均值得到第二密态数据,并根据所述第二密态数据执行多方安全计算标准差算子得到第三密态数据;根据所述第二密态数据以及所述第三密态数据确定中位数的密态取值范围,并根据所述密态取值范围得到所述取值范围。在上述方案中,可以通过确定中位数的取值范围缩小中位数所在的范围,这样最后在密文态计算中位数的过程中可以降低计算的复杂度。此外,由于第一数据数量的大小不涉及数据泄露,因此可以对明文态的第一数据数量进行处理;而由于数据和的大小涉及数据泄露,因此可以对密文态的数据和进行处理。因此,基于明文态以及密文态的混合使用,同样可以降低计算的复杂度。
[0008]在可选的实施方式中,所述根据所述取值范围以及所有本地原始数据确定所述中位数的位置索引,包括:根据所述取值范围对所述本地原始数据进行过滤,得到在所述取值范围之内的数据集以及在所述取值范围之外的第三数据数量;根据所述第二数据数量确定所述中位数的初始索引;根据所述中位数的初始索引以及多个参与方中每个参与方的数据集中小于所述取值范围的第四数据数量确定所述位置索引。在上述方案中,可以在中位数的取值范围的基础上,进一步的对中位数进行筛选过滤,这样最后在密文态计算中位数的过程中可以降低计算的复杂度。
[0009]在可选的实施方式中,所述根据划分后的本地原始数据确定对应的累加序列,包括:记录每个区间内的第五数据数量;针对第i个区间,对第1个区间的第五数据数量至第i个区间的第五数据数量进行求和,得到所述累加序列中的第i个数值大小;其中,1≤i≤N,N为区间数量且为正整数。在上述方案中,通过对本地原始数据进行划分,可以获得所有参与方的本地原始数据中数值在某一个区间范围内的个数,从而可以通过将区间范围内的个数与位置索引进行比较,以进一步的对中位数进行筛选过滤,这样最后在密文态计算中位数的过程中可以降低计算的复杂度。
[0010]在可选的实施方式中,所述根据所述密态累积序列以及所述位置索引确定所述中位数所在的目标区间,包括:将所述密态累积序列中的数据依次与所述位置索引的大小进行比较,直到所述密态累积序列中的数据大于等于所述位置索引,则将所述密态累积序列中对应的区间确定为所述目标区间。在上述方案中,通过对本地原始数据进行划分,可以获得所有参与方的本地原始数据中数值在某一个区间范围内的个数,从而可以通过将区间范围内的个数与位置索引进行比较,以进一步的对中位数进行筛选过滤,这样最后在密文态计算中位数的过程中可以降低计算的复杂度。
[0011]在可选的实施方式中,所述根据多个参与方中每个参与方的候选数据列表确定所述中位数,包括:确定所述候选数据列表的初始中位数;对多个参与方中每个参与方的初始中位数进行密态排序,得到所述初始中位数的中间中位数;对所述候选数据列表进行密态化得到密态数据列表;将多个参与方中每个参与方的密态数据列表中的数据与所述中间中位数的大小进行比较,并记录大于所述中间中位数的第六数据数量;若所述第六数据数量小于所述位置索引,则随机挑选所有的密态数据列表中大于所述中间中位数的一个数据作为新的中间中位数,并重复执行所述将多个参与方中每个参与方的密态数据列表中的数据与所述中间中位数的大小进行比较,并记录大于所述中间中位数的第六数据数量的步骤,直到确定所述中位数。在上述方案中,在确定范围较小的候选数据列表之后,便可以基于上述候选数据列表确定中位数的大小,其中,通过多次对数据的筛选,逐步缩小中位数所在的
范围,这样最后在密文态计算中位数的过程中可以降低计算的复杂度。
[0012]第二方面,本申请实施例提供一种数据中位数确定装置,包括:第一确定模块,用于根据多个参与方中每个参与方的本地原始数据确定所有本地原始数据的中位数的取值范围;第二确定模块,用于根据所述取值范围以及所有本地原始数据确定所述中位数的位置索引;划分模块,用于根据本地原始数据的大小将所述本地原始数据划分为多个区间,并根据划分后的本地原始数据确定对应的累加序列;其中,所述累加序列中的每一数值大小表征所述本地原始数据落入对应区间之前及落入对应区间中的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据中位数确定方法,其特征在于,包括:根据多个参与方中每个参与方的本地原始数据确定所有本地原始数据的中位数的取值范围;根据所述取值范围以及所有本地原始数据确定所述中位数的位置索引;根据本地原始数据的大小将所述本地原始数据划分为多个区间,并根据划分后的本地原始数据确定对应的累加序列;其中,所述累加序列中的每一数值大小表征所述本地原始数据落入对应区间之前及落入对应区间中的所有数据的数量;对多个参与方中每个参与方的累加序列进行密态按序相加,得到密态累积序列;根据所述密态累积序列以及所述位置索引确定所述中位数所在的目标区间,并根据所述目标区间以及划分后的本地原始数据确定候选数据列表;根据多个参与方中每个参与方的候选数据列表确定所述中位数。2.根据权利要求1所述的数据中位数确定方法,其特征在于,所述根据多个参与方中每个参与方的本地原始数据确定所有本地原始数据的中位数的取值范围,包括:对所述本地原始数据进行求和得到对应的数据和,并确定所述本地原始数据中的第一数据数量;对所述数据和进行密态化得到第一密态数据;对多个参与方中每个参与方的第一数据数量进行求和得到所有参与方的第二数据数量;根据所述第二数据数量以及多个参与方中每个参与方的第一密态数据,计算多个第一密态数据的均值得到第二密态数据,并根据所述第二密态数据执行多方安全计算标准差算子得到第三密态数据;根据所述第二密态数据以及所述第三密态数据确定中位数的密态取值范围,并根据所述密态取值范围得到所述取值范围。3.根据权利要求2所述的数据中位数确定方法,其特征在于,所述根据所述取值范围以及所有本地原始数据确定所述中位数的位置索引,包括:根据所述取值范围对所述本地原始数据进行过滤,得到在所述取值范围之内的数据集以及在所述取值范围之外的第三数据数量;根据所述第二数据数量确定所述中位数的初始索引;根据所述中位数的初始索引以及多个参与方中每个参与方的数据集中小于所述取值范围的第四数据数量确定所述位置索引。4.根据权利要求1

3任一项所述的数据中位数确定方法,其特征在于,所述根据划分后的本地原始数据确定对应的累加序列,包括:记录每个区间内的第五数据数量;针对第i个区间,对第1个区间的第五数据数量至第i个区间的第五数据数量进行求和,得到所述累加序列中的第i个数值大小;其中,1≤i≤N,N为区间数量且为正整数。5.根据权利要求1

3任一项所述的数据中位数确定方法,其特征在于,所述根据所述密态累积序列以及所述位置索引确定所述中位数所在的目标区间,包括:将所述密态累积序列中的数据依次与所述位置索引的大小进...

【专利技术属性】
技术研发人员:尤志强卞阳赵东朱崇炳
申请(专利权)人:富算科技上海有限公司
类型:发明
国别省市:

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

1