一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于秘密分享的多键排序方法和系统与流程

2022-04-14 03:23:38 来源:中国专利 TAG:

技术特征:
1.一种基于秘密分享的多键排序方法,其中,第一方拥有一个或多个第一信息项分别对应的一个或多个第一数据列;第二方拥有一个或多个第二信息项分别对应的一个或多个第二数据列;所述第一数据列和所述第二数据列按行对齐;所述方法由第一方执行,包括:将所述一个或多个第一信息项分别作为排序键对所述一个或多个第一数据列进行迭代排序,得到第一结果序列;基于所述第一结果序列获得第一分组标记列,所述第一分组标记列的元素指示所述一个或多个第一数据列中的对位元素依据所述一个或多个第一信息项的联合分组信息;将所述第一分组标记列作为待排序序列,与第二方将第二排序向量作为排序向量,进行秘密分享向量排序,得到经过排序的第一分组标记列的第一分片,第二方得到经过排序的第一分组标记列的第二分片;其中,所述第二排序向量用于标识将所述一个或多个第二信息项作为排序键分别对等长序列进行多键排序的操作,所述第二排序向量的元素指示该等长序列中对位元素在结果序列中的位置;基于所述经过排序的第一分组标记列的第一分片,与第二方基于所述经过排序的第一分组标记列的第二分片,进行秘密分享基数排序,得到第三排序向量的第一分片,第二方得到第三排序向量的第二分片;基于所述第三排序向量的第一分片,与第二方基于所述第三排序向量的第二分片以及所述第二排序向量,进行秘密分享合并,得到多方排序向量的第一分片,第二方得到多方排序向量的第二分片;其中,所述多方排序向量用于标识分别将所述一个或多个第一信息项以及所述一个或多个第二信息项作为排序键对等长序列进行多键排序的操作,所述多方排序向量的元素指示该等长序列中对位元素在结果序列中的位置;基于所述多方排序向量的第一分片,与第二方基于所述多方排序向量的第二分片,对待排序数据列进行秘密分享向量排序,得到目标数据列的第一分片,第二方得到目标数据列的第二分片;所述目标数据列等于分别将所述一个或多个第一信息项以及所述一个或多个第二信息项作为排序键对所述待排序数据列进行多键排序的结果。2.如权利要求1所述的方法,所述基于所述第一结果序列获得第一分组标记列包括:基于所述第一结果序列获得待重排的分组标记列,所述待重排的分组标记列的元素指示所述第一结果序列中对位元素依据所述一个或多个第一信息项的联合分组信息;获得第一排序向量的逆;其中,所述第一排序向量用于标识分别将所述一个或多个第一信息项作为排序键对等长序列进行迭代排序的操作,所述第一排序向量的元素指示该等长序列中对位元素在结果序列中的位置;排序向量的逆用于标识对基于排序向量对等长序列进行排序得到的结果序列进行还原的操作,其元素指示所述结果序列中对位元素在原序列中的位置;以所述第一排序向量的逆为排序向量,对所述待重排的分组标记列进行排序,得到所述第一分组标记列。3.如权利要求1所述的方法,所述基于所述多方排序向量的第一分片,与第二方基于所述多方排序向量的第二分片,对待排序数据列进行秘密分享向量排序,得到目标数据列的第一分片,第二方得到目标数据列的第二分片,包括:基于所述多方排序向量的第一分片、所述待排序数据列的第一分片,与第二方基于所述多方排序向量的第二分片、所述待排序数据列的第二分片,进行秘密分享向量排序,得到
目标数据列的第一分片,第二方得到目标数据列的第二分片。4.一种基于秘密分享的多键排序系统,其中,第一方拥有一个或多个第一信息项分别对应的一个或多个第一数据列;第二方拥有一个或多个第二信息项分别对应的一个或多个第二数据列;所述第一数据列和所述第二数据列按行对齐;所述系统在第一方实现,包括:第一结果序列获得模块,用于将所述一个或多个第一信息项分别作为排序键对所述一个或多个第一数据列进行迭代排序,得到第一结果序列;第一分组标记列获得模块,用于基于所述第一结果序列获得第一分组标记列,所述第一分组标记列的元素指示所述一个或多个第一数据列中的对位元素依据所述一个或多个第一信息项的联合分组信息;第一秘密分享向量排序模块,用于将所述第一分组标记列作为待排序序列,与第二方将第二排序向量作为排序向量,进行秘密分享向量排序,得到经过排序的第一分组标记列的第一分片,第二方得到经过排序的第一分组标记列的第二分片;其中,所述第二排序向量用于标识将所述一个或多个第二信息项作为排序键分别对等长序列进行多键排序的操作,所述第二排序向量的元素指示该等长序列中对位元素在结果序列中的位置;第一秘密分享基数排序模块,用于基于所述经过排序的第一分组标记列的第一分片,与第二方基于所述经过排序的第一分组标记列的第二分片,进行秘密分享基数排序,得到第三排序向量的第一分片,第二方得到第三排序向量的第二分片;第一秘密分享合并模块,用于基于所述第三排序向量的第一分片,与第二方基于所述第三排序向量的第二分片以及所述第二排序向量,进行秘密分享合并,得到多方排序向量的第一分片,第二方得到多方排序向量的第二分片;其中,所述多方排序向量用于标识分别将所述一个或多个第一信息项以及所述一个或多个第二信息项作为排序键对等长序列进行多键排序的操作,所述多方排序向量的元素指示该等长序列中对位元素在结果序列中的位置;第一多键排序模块,用于基于所述多方排序向量的第一分片,与第二方基于所述多方排序向量的第二分片,对待排序数据列进行秘密分享向量排序,得到目标数据列的第一分片,第二方得到目标数据列的第二分片;所述目标数据列等于分别将所述一个或多个第一信息项以及所述一个或多个第二信息项作为排序键对所述待排序数据列进行多键排序的结果。5.一种基于秘密分享的多键排序装置,包括处理器和存储设备,所述存储设备用于存储指令,其中,当所述处理器执行指令时,实现如权利要求1~3中任一项所述的方法。6.一种基于秘密分享的多键排序方法,其中,第一方拥有一个或多个第一信息项分别对应的一个或多个第一数据列;第二方拥有一个或多个第二信息项分别对应的一个或多个第二数据列;所述第一数据列和所述第二数据列按行对齐;所述方法由第二方执行,包括:基于所述一个或多个第二数据列生成第二排序向量;其中,所述第二排序向量用于标识将所述一个或多个第二信息项分别作为排序键对等长序列进行迭代排序的操作,所述第二排序向量的元素指示该等长序列中对位元素在结果序列中的位置;将第二排序向量作为排序向量,与第一方将第一分组标记列作为待排序序列,进行秘密分享向量排序,得到经过排序的第一分组标记列的第二分片,第一方得到经过排序的第一分组标记列的第一分片;其中,所述第一分组标记列的元素指示所述一个或多个第一数
据列中对位元素依据所述一个或多个第一信息项的联合分组信息;基于所述经过排序的第一分组标记列的第二分片,与第一方基于所述经过排序的第一分组标记列的第一分片,进行秘密分享基数排序,得到第三排序向量的第二分片,第一方得到第三排序向量的第一分片;基于所述第三排序向量的第二分片以及所述第二排序向量,与第一方基于所述第三排序向量的第一分片,进行秘密分享合并,得到多方排序向量的第二分片,第一方得到多方排序向量的第一分片;其中,所述多方排序向量用于标识分别将所述一个或多个第一信息项以及所述一个或多个第二信息项作为排序键对等长序列进行迭代排序的操作,所述多方排序向量的元素指示该等长序列中对位元素在结果序列中的位置;基于所述多方排序向量的第二分片,与第一方基于所述多方排序向量的第一分片,对待排序数据列进行秘密分享向量排序,得到目标数据列的第二分片,第一方得到目标数据列的第一分片;所述目标数据列等于基于所述多方排序向量对所述待排序数据列进行排序的结果。7.如权利要求6所述的方法,其中,基于多个第二数据列生成第二排序向量,包括:对多个第二数据列之一进行基数排序,得到单列排序向量;其中,所述单列排序向量用于标识基于该第二数据列对应的第二信息项对等长序列进行排序的操作,其元素指示所述等长序列中对位数据在结果序列中的位置;进行一轮或多轮迭代的单方合并,得到所述第二排序向量;其中,一轮单方合并包括:获取当前轮的输入排序向量作为参与本轮合并的一个排序向量;当当前轮为第一轮时,当前轮的输入排序向量为所述单列排序向量,否则为前一轮的输出排序向量;根据所述输入排序向量对所述多个第二数据列中的其他某一第二数据列进行排序,得到中间数据列;对所述中间数据列进行基数排序,得到参与本轮合并的另一排序向量;合并参与本轮合并的两个排序向量,得到当前轮的输出排序向量。8.如权利要求7所述的方法,其中,合并参与本轮合并的两个排序向量,得到当前轮的输出排序向量,包括:将所述输入排序向量中的第一个元素确定为目标位置,并将所述另一排序向量中该目标位置的元素确定为所述输出排序向量的第一个元素;将所述输入排序向量中的第二个元素确定为目标位置,并将所述另一排序向量中该目标位置的元素确定为所述输出排序向量的第二个元素;以此类推,得到所述输出排序向量。9.如权利要求7所述的方法,其中,当多个第二信息项具有优先级时:优先级最低的第二信息项对应的单列排序向量作为第一轮中的输入排序向量;优先级越低的第二信息项对应的第二数据列在越靠前的轮次中作为所述其他某一第二数据列。10.如权利要求7所述的方法,其中,所述待排序数据列为所述多个第二数据列之一,所述待排序数据列对应的单列排序向量为第一轮单方合并中的输入排序向量。11.一种基于秘密分享的多键排序系统,其中,第一方拥有一个或多个第一信息项分别对应的一个或多个第一数据列;第二方拥有一个或多个第二信息项分别对应的一个或多个第二数据列;所述第一数据列和所述第二数据列按行对齐;所述系统在第二方实现,包括:第二排序向量生成模块,用于基于所述一个或多个第二数据列生成第二排序向量;其
中,所述第二排序向量用于标识将所述一个或多个第二信息项分别作为排序键对等长序列进行迭代排序的操作,所述第二排序向量的元素指示该等长序列中对位元素在结果序列中的位置;第二秘密分享向量排序模块,用于将第二排序向量作为排序向量,与第一方将第一分组标记列作为待排序序列,进行秘密分享向量排序,得到经过排序的第一分组标记列的第二分片,第一方得到经过排序的第一分组标记列的第一分片;其中,所述第一分组标记列的元素指示所述一个或多个第一数据列中对位元素依据所述一个或多个第一信息项的联合分组信息;第二秘密分享基数排序模块,用于基于所述经过排序的第一分组标记列的第二分片,与第一方基于所述经过排序的第一分组标记列的第一分片,进行秘密分享基数排序,得到第三排序向量的第二分片,第一方得到第三排序向量的第一分片;第二秘密分享合并模块,用于基于所述第三排序向量的第二分片以及所述第二排序向量,与第一方基于所述第三排序向量的第一分片,进行秘密分享合并,得到多方排序向量的第二分片,第一方得到多方排序向量的第一分片;其中,所述多方排序向量用于标识分别将所述一个或多个第一信息项以及所述一个或多个第二信息项作为排序键对等长序列进行迭代排序的操作,所述多方排序向量的元素指示该等长序列中对位元素在结果序列中的位置;第二多键排序模块,用于基于所述多方排序向量的第二分片,与第一方基于所述多方排序向量的第一分片,对待排序数据列进行秘密分享向量排序,得到目标数据列的第二分片,第一方得到目标数据列的第一分片;所述目标数据列等于基于所述多方排序向量对所述待排序数据列进行排序的结果。12.一种基于秘密分享的多键排序装置,包括处理器和存储设备,所述存储设备用于存储指令,其中,当所述处理器执行指令时,实现如权利要求6~10中任一项所述的方法。

技术总结
本说明书实施例公开了一种基于秘密分享的多键排序方法和系统。第一方将一个或多个第一信息项分别作为排序键对一个或多个第一数据列进行迭代排序,并基于得到的第一结果序列获得第一分组标记列。第一方将第一分组标记列作为待排序序列,第二方将基于一个或多个第二数据列生成的第二排序向量作为排序向量,进行秘密分享向量排序,双方各自得到经过排序的第一分组标记列的分片。双方基于经过排序的第一分组标记列的分片进行秘密分享基数排序,得到第三排序向量的分片。双方对第二排序向量和第三排序向量进行秘密分享合并,得到多方排序向量的分片。双方基于多方排序向量的分片,对待排序数据列进行秘密分享向量排序,得到目标数据列的分片。据列的分片。据列的分片。


技术研发人员:方文静 王力
受保护的技术使用者:支付宝(杭州)信息技术有限公司
技术研发日:2022.03.04
技术公布日:2022/4/12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献