一种基于秘密分享的排序方法和系统技术方案

技术编号:33064191 阅读:13 留言:0更新日期:2022-04-15 09:53
本说明书实施例公开了一种基于秘密分享的排序方法和系统,应用于多方安全计算,所述方法包括第一方基于待排序序列的第一分片,与所述第二参与方基于所述待排序序列的第二分片,通过秘密分享排列协议,对待排序序列乱序;第一方基于排序序列的第一分片,与所述第二参与方基于所述排序序列的第二分片,通过秘密分享排列协议,对排序序列乱序;第一参与方从第二参与方获得乱序排序序列的第二分片,得到乱序排序序列;第一方基于所述乱序排序序列和所述待排序乱序序列的第一分片,与所述第二参与方基于所述待排序乱序序列的第二分片,通过秘密分享排列协议,获得结果序列的第一分片;第二参与方获得结果序列的第二分片。二参与方获得结果序列的第二分片。二参与方获得结果序列的第二分片。

【技术实现步骤摘要】
一种基于秘密分享的排序方法和系统


[0001]本说明书涉及信息安全
,特别涉及一种基于秘密分享的排序方法和系统。

技术介绍

[0002]数据在当今世界,起着越来越重要的作用,在很多应用场景下数据已成为一种资源需要对其进行保护。在实际业务场景中,由于需要保护数据隐私安全和数据隔离等原因,经常会遇到一些棘手的问题。例如,参与业务的多个合作者,希望共同完成建模、统计分析等任务,但是由于数据隐私和数据隔离等原因,无法将数据进行直接融合建模或统计分析。密码学中用于解决多方安全计算的工具可以用于实现这类该任务。
[0003]因此,本说明书提供了一种基于秘密分享的排序方法和系统,可作为一些多方安全计算的底层实现。

技术实现思路

[0004]本说明书实施例的一个方面提供一种基于秘密分享的排序方法。该方法应用于第一参与方,所述第一参与方持有待排序序列的第一分片和排序序列的第一分片,所述待排序序列的第二分片和所述排序序列的第二分片由第二参与方持有,所述方法包括:基于待排序序列的第一分片,与所述第二参与方基于所述待排序序列的第二分片,通过秘密分享排列协议,获得待排序乱序序列的第一分片;所述第二参与方获得所述待排序乱序序列的第二分片;基于排序序列的第一分片,与所述第二参与方基于所述排序序列的第二分片,通过秘密分享排列协议,获得乱序排序序列的第一分片;所述第二参与方获得所述乱序排序序列的第二分片;且对排序序列的乱序方式与待排序序列的乱序方式相同;从所述第二参与方获得所述乱序排序序列的第二分片,得到所述乱序排序序列;基于所述乱序排序序列和所述待排序乱序序列的第一分片,与所述第二参与方基于所述待排序乱序序列的第二分片,通过秘密分享排列协议,获得结果序列的第一分片;第二参与方获得结果序列的第二分片;所述结果序列等于基于所述排序序列对所述待排序序列进行排序的结果。
[0005]本说明书实施例的另一个方面提供一种基于秘密分享的排序系统。该系统设置于第一参与方,所述第一参与方持有待排序序列的第一分片和排序序列的第一分片,所述待排序序列的第二分片和所述排序序列的第二分片由第二参与方持有,所述系统包括:第一待排序乱序序列分片获取模块,用于基于待排序序列的第一分片,与所述第二参与方基于所述待排序序列的第二分片,通过秘密分享排列协议,获得待排序乱序序列的第一分片;所述第二参与方获得所述待排序乱序序列的第二分片;第一乱序排序序列分片获取模块,用于基于排序序列的第一分片,与所述第二参与方基于所述排序序列的第二分片,通过秘密分享排列协议,获得乱序排序序列的第一分片;所述第二参与方获得所述乱序排序序列的第二分片;且对排序序列的乱序方式与待排序序列的乱序方式相同;乱序排序序列获取模块,用于从所述第二参与方获得所述乱序排序序列的第二分片,得到所述乱序排序序列;第
一结果序列获取模块,用于基于所述乱序排序序列和所述待排序乱序序列的第一分片,与所述第二参与方基于所述待排序乱序序列的第二分片,通过秘密分享排列协议,获得结果序列的第一分片;第二参与方获得结果序列的第二分片;所述结果序列等于基于所述排序序列对所述待排序序列进行排序的结果。
[0006]本说明书实施例的另一个方面提供一种基于秘密分享的排序装置包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现本说明书实施例提供的一种基于秘密分享的排序方法。
[0007]本说明书实施例的另一个方面提供另一种基于秘密分享的排序方法,应用于第二参与方,所述第二参与方持有待排序序列的第二分片和排序序列的第二分片,所述待排序序列的第一分片和所述排序序列的第一分片由第一参与方持有,所述方法包括:基于待排序序列的第二分片,与所述第一参与方基于所述待排序序列的第一分片,通过秘密分享排列协议,获得待排序乱序序列的第二分片;所述第一参与方获得所述待排序乱序序列的第一分片;基于排序序列的第二分片,与所述第一参与方基于所述排序序列的第一分片,通过秘密分享排列协议,获得乱序排序序列的第二分片;所述第一参与方获得所述乱序排序序列的第一分片;且对排序序列的乱序方式与待排序序列的乱序方式相同;将所述乱序排序序列的第二分片发送给第一参与方,以便第一参与方得到所述乱序排序序列;基于所述待排序乱序序列的第二分片,与所述第一参与方基于所述待排序乱序序列的第一分片和所述乱序排序序列,通过秘密分享排列协议,获得结果序列的第二分片;第一参与方获得结果序列的第一分片;所述结果序列等于基于所述排序序列对所述待排序序列进行排序的结果。
[0008]本说明书实施例的另一个方面提供另一种基于秘密分享的排序系统,所述系统设置于第二参与方,所述第二参与方持有待排序序列的第二分片和排序序列的第二分片,所述待排序序列的第一分片和所述排序序列的第一分片由第一参与方持有,所述系统包括:第二待排序乱序序列分片获取模块,用于基于待排序序列的第二分片,与所述第一参与方基于所述待排序序列的第一分片,通过秘密分享排列协议,获得待排序乱序序列的第二分片;所述第一参与方获得所述待排序乱序序列的第一分片;第二乱序排序序列分片获取模块,用于基于排序序列的第二分片,与所述第一参与方基于所述排序序列的第一分片,通过秘密分享排列协议,获得乱序排序序列的第二分片;所述第一参与方获得所述乱序排序序列的第一分片;且对排序序列的乱序方式与待排序序列的乱序方式相同;乱序排序序列分片发送模块,用于将所述乱序排序序列的第二分片发送给第一参与方,以便第一参与方得到所述乱序排序序列;第二结果序列获取模块,用于基于所述待排序乱序序列的第二分片,与所述第一参与方基于所述待排序乱序序列的第一分片和所述乱序排序序列,通过秘密分享排列协议,获得结果序列的第二分片;第一参与方获得结果序列的第一分片;所述结果序列等于基于所述排序序列对所述待排序序列进行排序的结果。
[0009]本说明书实施例的另一个方面提供一种基于秘密分享的排序装置包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现本说明书实施例提供的另一种基于秘密分享的排序方法。
附图说明
[0010]本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:图1是根据本说明书一些实施例所示的排序序列的示例性示意图;图2是根据本说明书一些实施例所示的秘密排列协议接口(即输入输出数据形式)的示例性示意图;图3是根据本说明书的一些实施例所示的基于秘密分享的排序方法的示例性交互流程图;图4是根据本说明书一些实施例所示的秘密分享排列协议的示例性示意图;图5是根据本说明书的一些实施例所示的基于秘密分享的排序方法获得待排序乱序序列的示例性交互流程图;图6是根据本说明书的一些实施例所示的基于秘密分享的排序方法获得乱序排序序列的示例性交互流程图;图7是根据本说明书一些实施例所示的基于秘密分享的排序系统的示例性模块图;图8是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于秘密分享的排序方法,应用于第一参与方,所述第一参与方持有待排序序列的第一分片和排序序列的第一分片,所述待排序序列的第二分片和所述排序序列的第二分片由第二参与方持有,所述方法包括:基于待排序序列的第一分片,与所述第二参与方基于所述待排序序列的第二分片,通过秘密分享排列协议,获得待排序乱序序列的第一分片;所述第二参与方获得所述待排序乱序序列的第二分片;基于排序序列的第一分片,与所述第二参与方基于所述排序序列的第二分片,通过秘密分享排列协议,获得乱序排序序列的第一分片;所述第二参与方获得所述乱序排序序列的第二分片;且对排序序列的乱序方式与待排序序列的乱序方式相同;从所述第二参与方获得所述乱序排序序列的第二分片,得到所述乱序排序序列;基于所述乱序排序序列和所述待排序乱序序列的第一分片,与所述第二参与方基于所述待排序乱序序列的第二分片,通过秘密分享排列协议,获得结果序列的第一分片;第二参与方获得结果序列的第二分片;所述结果序列等于基于所述排序序列对所述待排序序列进行排序的结果。2.根据权利要求1所述的方法,所述基于待排序序列的第一分片,与所述第二参与方基于所述待排序序列的第二分片,通过秘密分享排列协议,获得待排序乱序序列的第一分片;所述第二参与方获得所述待排序乱序序列的第二分片,包括:生成第一随机排序序列;基于所述第一随机排序序列以及所述待排序序列的第一分片,与第二参与方基于所述待排序序列的第二分片,通过秘密分享排列协议,获得第一乱序中间序列的第一分片;第二参与方获得第一乱序中间序列的第二分片;基于所述第一乱序中间序列的第一分片,与第二参与方基于第一乱序中间序列的第二分片以及第二随机排序序列,通过秘密分享排列协议,获得所述待排序乱序序列的第一分片;第二参与方获得待排序乱序序列的第二分片,所述第二随机排序序列由第二参与方生成;或者,包括:生成第一随机排序序列;基于所述待排序序列的第一分片,与第二参与方基于所述待排序序列的第二分片以及第二随机排序序列,通过秘密分享排列协议,获得第一乱序中间序列的第一分片;第二参与方获得第一乱序中间序列的第二分片;所述第二随机排序序列由第二参与方生成;基于所述第一随机排序序列以及所述第一乱序中间序列的第一分片,与第二参与方基于第一乱序中间序列的第二分片,通过秘密分享排列协议,获得所述待排序乱序序列的第一分片;第二方获得待排序乱序序列的第二分片。3.根据权利要求2所述的方法,所述基于排序序列的第一分片,与所述第二参与方基于所述排序序列的第二分片,通过秘密分享排列协议,获得乱序排序序列的第一分片;所述第二参与方获得所述乱序排序序列的第二分片,包括:基于所述第一随机排序序列以及所述排序序列的第一分片,与第二参与方基于所述排序序列的第二分片,通过秘密分享排列协议,获得第二乱序中间序列的第一分片;第二参与方获得第二乱序中间序列的第二分片;
基于所述第二乱序中间序列的第一分片,与第二参与方基于第二乱序中间序列的第二分片以及所述第二随机排序序列,通过秘密分享排列协议,获得所述乱序排序序列的第一分片;第二参与方获得乱序排序序列的第二分片;或者,包括:基于所述排序序列的第一分片,与第二参与方基于所述排序序列的第二分片以及第二随机排序序列,通过秘密分享排列协议,获得第二乱序中间序列的第一分片;第二参与方获得第二乱序中间序列的第二分片;基于所述第一随机排序序列以及所述第二乱序中间序列的第一分片,与第二参与方基于第二乱序中间序列的第二分片,通过秘密分享排列协议,获得所述乱序排序序列的第一分片;第二方获得乱序排序序列的第二分片。4.根据权利要求2所述的方法,所述第一随机排序序列和所述第二随机排序序列等长。5.根据权利要求1所述的方法,所述排序序列用于标识对等长序列进行排序的操作,其元素指示所述等长序列中对位数据在结果序列中的位置。6.一种基于秘密分享的排序系统,所述系统设置于第一参与方,所述第一参与方持有待排序序列的第一分...

【专利技术属性】
技术研发人员:方文静王力
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1