(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202210777764.6
(22)申请日 2022.07.04
(65)同一申请的已公布的文献号
申请公布号 CN 114840568 A
(43)申请公布日 2022.08.02
(73)专利权人 华控清交信息科技 (北京) 有限公
司
地址 100084 北京市海淀区中关村东路1号
院3号楼10层10 09-1
(72)发明人 杨桂林
(74)专利代理 机构 北京润泽恒知识产权代理有
限公司 1 1319
专利代理师 莎日娜
(51)Int.Cl.
G06F 16/2457(2019.01)G06F 21/62(2013.01)
G06F 21/60(2013.01)
(56)对比文件
CN 112685747 A,2021.04.20
CN 108171071 A,2018.0 6.15
CN 114401154 A,202 2.04.26
CN 111767023 A,2020.10.13
US 20213769 98 A1,2021.12.02
李顺东等.安全多方多数据排序. 《计算机学
报》 .2020,(第08 期),
审查员 姜玲玲
(54)发明名称
一种密文排序方法、 装置和用于密文排序的
装置
(57)摘要
本发明实施例提供一种密 文排序方法、 装置
和用于密文排序的装置。 其中的方法包括: 获取
第一数组X和第二数组Y; 依据所述第一数组X中
的元素取值对第一数组X进行排序, 得到数组M;
基于所述数 组M中元素的排列顺序对 所述第二数
组Y进行排序, 得到数组K; 基于所述数组M中元素
的排列顺序, 以及所述数组K中元素的取值范围,
确定基准数组F; 将所述基准数组F与所述数组K
按元素相加, 得到第三数组Z, Z= F+K; 按照元素取
值对所述第三数组Z中的元素进行排序, 得到排
序后的第三数组Z; 根据所述排序后的第三数 组Z
中元素的排列顺序, 对所述数组K进行排序, 得到
结果数组A。 本发明实施例可以基于两个不同的
维度对密文数据进行二次排序。
权利要求书2页 说明书12页 附图4页
CN 114840568 B
2022.09.20
CN 114840568 B
1.一种密文排序方法, 其特征在于, 所述方法用于对包含至少两个维度的密文数据进
行二次排序, 基于第一 维度进行一次排序, 基于第二 维度进行二次排序, 其中第一 维度和第
二维度的数值组成的数组分别为第一数组X和第二数组Y, 所述方法包括:
获取第一数组X和第二数组Y, 所述第一数组X和所述第二数组Y均包含n个值为密文的
元素, n为正整数, 所述第一数组X中的元 素与所述第二数组Y中的元 素一一对应;
依据所述第一数组X中的元 素取值对第一数组X进行排序, 得到数组M;
基于所述数组M中元素的排列顺序对所述第二数组Y进行排序, 得到数组K, 所述数组M
中的元素与所述数组K中元 素的对应关系保持不变;
确定所述数组K中元 素取值的最大值max(K)和最小值mi n(K);
计算所述 最大值max(K)和所述 最小值mi n(K)的差值, 得到所述数组K对应的极差;
将所述极差与预设 常数a相加, 得到目标系数k, k= max(K)‑ min(K)+a;
计算所述目标系数k与所述数组M的乘积, 得到基准数组F, 所述基准数组F用于指示所
述数组K中各个元 素所属的位置区间;
将所述基准数组F与所述数组K按元 素相加, 得到第三数组Z, Z=F+K;
按照元素取值对所述第三数组Z中的元 素进行排序, 得到排序后的第三数组Z;
根据所述排序后的第三数组Z中元素的排列顺序, 对所述数组K进行排序, 得到结果数
组A。
2.根据权利要求1所述的方法, 其特 征在于, 所述基准数组F=b*k* M, 其中b>0 。
3.根据权利要求1所述的方法, 其特 征在于, 第一数组X中元 素的数据类型为整数类型。
4.根据权利要求3所述的方法, 其特 征在于, 所述获取第一数组X和第二数组Y, 包括:
获取待排序的密文数据, 所述密文数据包括第 一维度对应的数组L1和第 二维度对应的
数组L2;
若所述数组L1中存在至少一个数据类型不是整数类型的元素, 则对所述数组L1中的每
个元素进行数据转换, 得到转换后的数组L1;
对转换后的数组L1进行加密处理得到第一数组X, 对所述数组L2进行加密处理得到第
二数组Y。
5.一种密文排序装置, 其特征在于, 所述装置用于对包含至少两个维度的密文数据进
行二次排序, 基于第一 维度进行一次排序, 基于第二 维度进行二次排序, 其中第一 维度和第
二维度的数值组成的数组分别为第一数组X和第二数组Y, 所述装置包括:
数组获取模块, 用于获取第一数组X和第二数组Y, 所述第一数组X和所述第二数组Y均
包含n个值为密文的元素, n为正整数, 所述第一数组X中的元素与所述第二数组Y中的元素
一一对应;
第一排序模块, 用于依据所述第一数组X中的元素取值对第一数组X进行排序, 得到数
组M;
第二排序模块, 用于基于所述数组M中元素的排列顺序对所述第二数组Y进行排序, 得
到数组K, 所述数组M中的元 素与所述数组K中元 素的对应关系保持不变;
基准数组确定模块, 用于基于所述数组M中元素的排列顺序, 以及所述数组K中元素的
取值范围, 确定基准数组F, 所述基准数组F用于指示所述数组K中各个元素所属的位置区
间;权 利 要 求 书 1/2 页
2
CN 114840568 B
2数组运算模块, 用于将所述基准数组F与所述数组K按元素相加, 得到第三数组Z, Z=F+
K;
第三排序模块, 用于按照元素取值对所述第三数组Z中的元素进行排序, 得到排序后的
第三数组Z;
第四排序模块, 用于根据所述排序后的第三数组Z中元素的排列顺序, 对所述数组K进
行排序, 得到结果数组A;
其中, 所述基准数组确定模块, 包括:
目标系数确定 子模块, 用于根据所述数组K中元 素的取值范围确定目标系数k;
基准数组确定 子模块, 用于计算所述目标系数k与所述数组M的乘积, 得到基准数组F;
所述目标系数确定 子模块, 包括:
最值确定单 元, 用于确定所述数组K中元 素取值的最大值max(K)和最小值mi n(K);
极差计算单元, 用于计算所述最大值max(K)和所述最小值min(K)的差值, 得到所述数
组K对应的极差;
目标系数计算单元, 用 于将所述极差与预设常数a相加, 得到目标系数k, k= max(K)‑
min(K)+a。
6.一种用于密文排序的装置, 其特征在于, 所述装置用于对包含至少两个维度的密文
数据进行二次排序, 基于第一 维度进行一次排序, 基于第二 维度进行二次排序, 其中第一 维
度和第二维度的数值组成的数组分别为第一数组X和第二数组Y, 所述装置包括有存储器,
以及一个以上程序, 其中一个以上程序存储于存储器中, 且经配置以由一个或者一个以上
处理器执行所述一个以上程序, 所述 一个以上程序包 含用于进行以下操作的指令:
获取第一数组X和第二数组Y, 所述第一数组X和所述第二数组Y均包含n个值为密文的
元素, n为正整数, 所述第一数组X中的元 素与所述第二数组Y中的元 素一一对应;
依据所述第一数组X中的元 素取值对第一数组X进行排序, 得到数组M;
基于所述数组M中元素的排列顺序对所述第二数组Y进行排序, 得到数组K, 所述数组M
中的元素与所述数组K中元 素的对应关系保持不变;
确定所述数组K中元 素取值的最大值max(K)和最小值mi n(K);
计算所述 最大值max(K)和所述 最小值mi n(K)的差值, 得到所述数组K对应的极差;
将所述极差与预设 常数a相加, 得到目标系数k, k= max(K)‑ min(K)+a;
计算所述目标系数k与所述数组M的乘积, 得到基准数组F, 所述基准数组F用于指示所
述数组K中各个元 素所属的位置区间;
将所述基准数组F与所述数组K按元 素相加, 得到第三数组Z, Z=F+K;
按照元素取值对所述第三数组Z中的元 素进行排序, 得到排序后的第三数组Z;
根据所述排序后的第三数组Z中元素的排列顺序, 对所述数组K进行排序, 得到结果数
组A。
7.根据权利要求6所述的装置, 其特 征在于, 所述基准数组F=b*k* M, 其中b>0 。
8.一种机器可读介质, 其上存储有指令, 当由一个或多个处理器执行时, 使得装置执行
如权利要求1至4任一所述的密文排序方法。权 利 要 求 书 2/2 页
3
CN 114840568 B
3
专利 一种密文排序方法、装置和用于密文排序的装置
文档预览
中文文档
19 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:35:04上传分享