standard download
(19)国家知识产权局 (12)发明 专利 (10)授权公告 号 (45)授权公告日 (21)申请 号 202210870043.X (22)申请日 2022.07.22 (65)同一申请的已公布的文献号 申请公布号 CN 114969164 A (43)申请公布日 2022.08.30 (73)专利权人 华控清交信息科技 (北京) 有限公 司 地址 100084 北京市海淀区中关村东路1号 院3号楼10层10 09-1 (72)发明人 何昊青  (74)专利代理 机构 北京润泽恒知识产权代理有 限公司 1 1319 专利代理师 苏培华 (51)Int.Cl. G06F 16/2458(2019.01)G06F 21/60(2013.01) G06F 21/62(2013.01) (56)对比文件 CN 111783109 A,2020.10.16 CN 114021006 A,2022.02.08 CN 1080238 87 A,2018.0 5.11 CN 112506440 A,2021.0 3.16 US 2016013933 A1,2016.01.14 审查员 邱爽 (54)发明名称 一种数据查询方法、 装置和可读存 储介质 (57)摘要 本发明实施例提供了一种数据查询方法、 装 置和可读存储介质。 其中的方法包括: 判断当前 迭代的有序数组a中剩余的元素个数是否为1; 若 剩余的元素个数为1, 则基于加密状态比较所述 数据x与当前迭代的有序数组 a中剩余的1个元素 是否相等, 得到查询结果, 终止迭代操作; 若剩余 的元素个数大于1, 则基于加密状态对所述数据x 和当前迭代的有序数组a的中间元素进行预设比 较操作, 得到密文比较结果, 并根据所述密文比 较结果对当前迭代的有序数组a进行更新, 更新 后的有序数组a为更新前的前半部分或后半部 分; 基于所述更新后的有序数组a执行下一轮迭 代操作。 本发 明实施例可以在保护数据隐私安全 的基础上进行二分查找, 提高数据查询效率。 权利要求书2页 说明书12页 附图3页 CN 114969164 B 2022.10.21 CN 114969164 B 1.一种数据查询方法, 其特征在于, 所述方法应用于多方安全计算系统, 所述方法用于 基于加密状态查找有序数组a中是否存在数据x, 所述数据x和所述有序数组a中的元素为密 文, 所述方法包括: 判断当前迭代的有序数组a 中剩余的元 素个数是否为1; 若当前迭代 的有序数组a中剩余的元素个数为1, 则基于加密状态比较所述数据x与当 前迭代的有序数组a 中剩余的1个元 素是否相等, 得到查询结果, 终止迭代操作; 若当前迭代 的有序数组a中剩余的元素个数大于1, 则基于加密状态对所述数据x和当 前迭代的有序数组a的中间元素进行预设比较操作, 得到密 文比较结果, 并根据所述密 文比 较结果对当前迭代的有序数组a进 行更新, 更新后的有序数 组a为更新前的前半部 分或后半 部分; 基于所述更新后的有序数组a执 行下一轮迭代操作; 其中, 所述密文比较结果为flag, flag为0或1的密文, flag为0的密文表示所述预设比 较操作不成立, flag为1的密文表示所述预设比较操作成立, 当前迭代的有序数组a中剩 余 的元素个数为 n, 所述根据所述密文比较结果对当前迭代的有序数组a进行 更新, 包括: 若n为偶数, 则通过 下式根据所述密文比较结果对当前迭代的有序数组a进行 更新: a=[a1,a2,…,a⌊n/2⌋]*flag+[a⌊n/2⌋+1,a⌊n/2⌋+2,…,an]*(1‑flag); 若n为奇数, 则通过 下式根据所述密文比较结果对当前迭代的有序数组a进行 更新: a=[a1,a2,…,a⌊n/2⌋+1]*flag+[a⌊n/2⌋+1,a⌊n/2⌋+2,…,an]*(1‑flag)。 2.根据权利要求1所述的方法, 其特征在于, 若所述有序数组a为升序排序, 则所述预设 比较操作为比较所述数据x是否小于或等于 当前迭代的有序数组a的中间元素; 若 所述有序 数组a为降序排序, 则所述预设比较操作为比较所述数据x是否大于或等于 当前迭代的有序 数组a的中间元 素。 3.根据权利要求1所述的方法, 其特征在于, 所述查询结果为第 一预设值或第 二预设值 的密文, 所述查询结果为第一预设值的密文表示所述有序数组a中不存在所述数据x, 所述 查询结果 为第二预设值的密文表示所述有序数组a 中存在所述数据x。 4.根据权利要求1所述的方法, 其特 征在于, 所述方法还 包括: 将所述查询结果发送至查询方。 5.根据权利要求1至4任一所述的方法, 其特征在于, 所述有序数组a和所述数据x分别 由不同的数据方 所持有, 所述方法还 包括: 接收第一数据方发送的有序数组a, 以及接收第二数据方发送的数据x。 6.一种数据查询装置, 其特征在于, 所述装置应用于多方安全计算系统, 所述装置用于 基于加密状态查找有序数组a中是否存在数据x, 所述数据x和所述有序数组a中的元素为密 文, 所述装置包括: 长度判断模块, 用于判断当前迭代的有序数组a 中剩余的元 素个数是否为1; 结果确定模块, 用于若当前迭代 的有序数组a中剩余的元素个数为1, 则基于加密状态 比较所述数据x与当前迭代的有序数组a中剩余的1个元素是否相等, 得到查询结果, 终止迭 代操作; 数组更新模块, 用于若当前迭代 的有序数组a中剩余的元素个数大于1, 则基于加密状 态对所述数据x和当前迭代的有序数组a的中间元素进行预设比较操作, 得到密文比较结权 利 要 求 书 1/2 页 2 CN 114969164 B 2果, 并根据所述密文比较结果对当前迭代的有序数组a进行更新, 更新后的有序数组a为更 新前的前半部分或后半部分; 迭代操作模块, 用于基于所述更新后的有序数组a执 行下一轮迭代操作; 其中, 所述密文比较结果为flag, flag为0或1的密文, flag为0的密文表示所述预设比 较操作不成立, flag为1的密文表示所述预设比较操作成立, 当前迭代的有序数组a中剩 余 的元素个数为 n, 所述数组更新模块, 具体用于: 若n为偶数, 则通过 下式根据所述密文比较结果对当前迭代的有序数组a进行 更新: a=[a1,a2,…,a⌊n/2⌋]*flag+[a⌊n/2⌋+1,a⌊n/2⌋+2,…,an]*(1‑flag); 若n为奇数, 则通过 下式根据所述密文比较结果对当前迭代的有序数组a进行 更新: a=[a1,a2,…,a⌊n/2⌋+1]*flag+[a⌊n/2⌋+1,a⌊n/2⌋+2,…,an]*(1‑flag)。 7.根据权利要求6所述的装置, 其特征在于, 若所述有序数组a为升序排序, 则所述预设 比较操作为比较所述数据x是否小于或等于 当前迭代的有序数组a的中间元素; 若 所述有序 数组a为降序排序, 则所述预设比较操作为比较所述数据x是否大于或等于 当前迭代的有序 数组a的中间元 素。 8.根据权利要求6所述的装置, 其特征在于, 所述查询结果为第 一预设值或第 二预设值 的密文, 所述查询结果为第一预设值的密文表示所述有序数组a中不存在所述数据x, 所述 查询结果 为第二预设值的密文表示所述有序数组a 中存在所述数据x。 9.根据权利要求6所述的装置, 其特 征在于, 所述装置还 包括: 结果发送模块, 用于将所述 查询结果发送至查询方。 10.根据权利要求6至9任一所述的装置, 其特征在于, 所述有序 数组a和所述数据x分别 由不同的数据方 所持有, 所述装置还 包括: 数据接收模块, 用于接收第 一数据方发送的有序 数组a, 以及接收第 二数据方发送的数 据x。 11.一种用于数据查询的装置, 其特征在于, 包括有存储器, 以及一个以上程序, 其中一 个以上程序存储于存储器中, 且经配置以由一个以上处理器执行所述一个以上程序, 所述 一个以上程序包 含用于进行如权利要求1至 5中任一所述的数据查询方法的指令 。 12.一种可读存储介质, 其上存储有指令, 当所述指令由装置的一个或多个处理器执行 时, 使得装置执 行如权利要求1至 5中任一所述的数据查询方法。权 利 要 求 书 2/2 页 3 CN 114969164 B 3

PDF文档 专利 一种数据查询方法、装置和可读存储介质

文档预览
中文文档 18 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种数据查询方法、装置和可读存储介质 第 1 页 专利 一种数据查询方法、装置和可读存储介质 第 2 页 专利 一种数据查询方法、装置和可读存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-18 22:34:51上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。