(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211155376.0
(22)申请日 2022.09.22
(71)申请人 深圳市洞见智慧科技有限公司
地址 518000 广东省深圳市福田区福田街
道岗厦社区彩田路3069号星河世纪A
栋3603B8
(72)发明人 马博文 冯新宇 王湾湾 何浩
姚明
(74)专利代理 机构 广州三环 专利商标代理有限
公司 44202
专利代理师 陈舟苗
(51)Int.Cl.
G06F 16/903(2019.01)
G06F 16/9038(2019.01)
G06F 21/60(2013.01)G06F 21/62(2013.01)
(54)发明名称
基于同态加密的关键词匿踪查询方法、 系统
及相关装置
(57)摘要
本申请实施例公开了一种基于同态加密的
关键词匿踪查询方法、 系统及相关装置, 方法包
括: 生成同态加密的公钥和私钥; 对数据进行分
桶操作; 计算待 查询关键词K所在桶的目标编号,
并获取目标编号的桶中元素, 得到n个元素; 构造
含有n个元素的第一向量; 根据公钥对其进行加
密, 得到第二向量; 根据目标编号对应的桶中的
所有关键词和第二向量, 确定索引 值响应向量,
私钥解密该索引值响应向量, 得到明文向量; 根
据明文向量确定K所在桶中目标位置; 根据目标
位置构造第三向量以及加密, 得到第四向量; 将
桶中数据与第四 向量进行内积运算, 得到运算结
果向量, 私钥对其解密, 得到解密结果, 确定查询
结果。 采用本申请实施例可以提升数据查询的安
全性。
权利要求书2页 说明书12页 附图5页
CN 115269938 A
2022.11.01
CN 115269938 A
1.一种基于同态加密的关键词匿踪查询方法, 其特征在于, 应用于两方计算系统, 所述
两方计算系统包括请求方和响应方, 其中,
通过所述请求方生成同态加密的公私钥对, 将所述公私钥对中的公钥同步给所述响应
方, 所述公私钥对 包括所述公钥和私钥;
通过所述响应方对数据进行分桶操作, 得到桶数量以及每个桶的元素数量, 将所述桶
数量以及每 个桶的元 素数量同步给 所述请求方;
通过所述请求方计算待查询关键词K所在桶的目标编号, 并获取所述目标编号的桶中
元素, 得到n个元素; 构 造含有所述n个元素的第一向量, 该第一向量中每个元素的值均为K;
根据所述公钥对所述第一向量进行加密, 得到第二向量, 将所述第二向量和所述 目标编号
发送给所述响应方;
通过所述响应方根据 所述目标编 号对应的桶中的所有关键词和所述第 二向量, 确定索
引值响应向量, 将所述索引值响应向量发送给 所述请求方;
通过所述请求方根据所述私钥解密所述索引值响应向量, 得到明文向量; 根据所述明
文向量确定所述待查询关键词K所在桶中目标位置; 根据所述目标位置构 造第三向量; 对所
述第三向量加密, 得到第四向量, 将所述第四向量发送给 所述响应方;
通过所述响应方将桶中数据分别与所述第 四向量进行内积运算, 得到运算结果向量,
将所述运算结果向量发送给 所述请求方;
通过所述请求方根据所述私钥对所述运算结果向量进行解密, 得到解密结果, 根据所
述解密结果确定查询结果。
2.根据权利要求1所述的方法, 其特征在于, 所述通过所述响应方对数据进行分桶操
作, 得到桶数量以及每 个桶的元 素数量, 包括:
通过所述响应方对数据进行 预处理, 得到预处 理后的数据;
按照预设分桶规则将预处理后的数据进行分桶操作, 得到所述桶数量以及每个桶的元
素数量, 其中, 所述预设分桶规则为: i=data mod N, 其中, i为桶的编号, data表示预处理后
的数据, N 为数据桶的总数量。
3.根据权利要求1或2所述的方法, 其特征在于, 所述通过所述响应方根据所述目标编
号对应的桶中的所有关键词和所述第二向量, 确定索引值响应向量, 包括:
通过所述响应方将所述目标编号对应的桶中的所有关键词与所述第二向量中的值做
减法运算, 得到同态加密向量;
生成随机数, 将所述随机数与所述同态加密 向量做内积运算, 得到所述索引值响应向
量。
4.根据权利要求1或2所述的方法, 其特征在于, 所述第三向量包括n个元素, 所述根据
所述目标位置构造第三向量, 包括:
将所述第三向量中所述目标位置的元 素设置为1;
将所述第三向量中除所述目标位置之外的元 素设置为0 。
5.根据权利要求1或2所述的方法, 其特征在于, 所述通过所述请求方生成同态加密的
公私钥对, 包括:
通过所述请求方基于BFV同态加密算法生成同态加密的公私钥对。
6.一种两方计算系统, 其特 征在于, 所述两方计算系统包括请求方和响应方, 其中,权 利 要 求 书 1/2 页
2
CN 115269938 A
2所述请求方, 用于生成同态加密的公私钥对, 将所述公私钥对中的公钥同步给所述响
应方, 所述公私钥对 包括所述公钥和私钥;
所述响应方, 用于对数据进行分桶操作, 得到桶数量以及每个桶的元素数量, 将所述桶
数量以及每 个桶的元 素数量同步给 所述请求方;
所述请求方, 还用于计算待查询关键词K所在桶的目标编号, 并获取所述目标编 号的桶
中元素, 得到n个元素; 构 造含有所述n个元素的第一向量, 该第一向量中每个元素的值均为
K; 根据所述公钥对所述第一向量进行加密, 得到第二向量, 将所述第二向量和所述目标编
号发送给 所述响应方;
所述响应方, 还用于根据所述目标编号对应的桶中的所有关键词和所述第二向量, 确
定索引值响应向量, 将所述索引值响应向量发送给 所述请求方;
所述请求方, 还用于根据 所述私钥解密所述索引值响应向量, 得到明文向量; 根据 所述
明文向量确定所述待查询关键词K所在桶中目标位置; 根据所述目标位置构 造第三向量; 对
所述第三向量加密, 得到第四向量, 将所述第四向量发送给 所述响应方;
所述响应方, 还用于将桶中数据分别与所述第 四向量进行内积运算, 得到运算结果向
量, 将所述 运算结果向量发送给 所述请求方;
所述请求方, 还用于根据 所述私钥对所述运算结果向量进行解密, 得到解密结果, 根据
所述解密结果确定查询结果。
7.根据权利要求6所述的系统, 其特征在于, 在所述对数据进行分桶操作, 得到桶数量
以及每个桶的元 素数量方面, 包括:
对数据进行 预处理, 得到预处 理后的数据;
按照预设分桶规则将预处理后的数据进行分桶操作, 得到所述桶数量以及每个桶的元
素数量, 其中, 所述预设分桶规则为: i=data mod N, 其中, i为桶的编号, data表示预处理后
的数据, N 为数据桶的总数量。
8.根据权利要求6或7所述的系统, 其特征在于, 在所述根据所述目标编号对应的桶中
的所有关键词和所述第二向量, 确定索引值响应向量, 包括:
将所述目标编号对应的桶中的所有关键词与所述第 二向量中的值做减法运算, 得到同
态加密向量;
生成随机数, 将所述随机数与所述同态加密 向量做内积运算, 得到所述索引值响应向
量。
9.一种电子设备, 其特征在于, 包括处理器、 存储器, 所述存储器用于存储一个或多个
程序, 并且被配置由所述处理器执行, 所述程序包括用于执行如权利要求 1‑5任一项所述的
方法中的步骤的指令 。
10.一种计算机可读存储介质, 其特征在于, 存储用于电子数据交换的计算机程序, 其
中, 所述计算机程序使得计算机执 行如权利要求1 ‑5任一项所述的方法。权 利 要 求 书 2/2 页
3
CN 115269938 A
3
专利 基于同态加密的关键词匿踪查询方法、系统及相关装置
文档预览
中文文档
20 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共20页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 02:14:08上传分享