【技术实现步骤摘要】
一种支持隐匿查询的索引构建和检索方法及装置
[0001]本专利技术涉及隐私安全计算
,尤其涉及一种支持隐匿查询的索引构建和检索方法及装置
。
技术介绍
[0002]近些年来,随着数据的大量产生和处理,数据的存储和保护变得尤为重要
。
为了保护数据隐私和安全,各种技术被发展和完善
。
其中,隐匿查询技术
(Private Information Retrieval
,
PIR)
趋于成熟,该技术可实现查询方从数据提供方查询数据而不暴露其查询的内容
。
目前已有基于不经意传输
、
同态加密
、
隐私求交等多种实现方案
。
[0003]中国专利文献
CN115905238A
公开了一种隐匿查询方法
、
装置
、
电子设备和存储介质,该方法包括响应于对待查询数据的查询请求,确定所述待查询数据的查询标识;所述查询标识用于确定待查询数据在服务方中的分片存储区域;将所述查询标识发送给服务方,用于指示服务方根据所述查询标识,查询并反馈所述查询标识对应的分片存储区域中的密文序列和相应的位置索引序列;其中,所述分片存储区域为所述服务方根据数据库中各数据的原始位置索引对各所述数据进行分片存储的区域;获取所述密文序列和所述位置索引序列,并根据所述位置索引序列,从所述密文序列中确定目标密文;获取服务方基于不经意传输协议发送的隐匿密钥序列,并从隐匿密钥序列中
【技术保护点】
【技术特征摘要】
1.
一种支持隐匿查询的索引构建和检索方法,其特征在于,包括以下步骤:构建包含数据表
、
二级索引以及一级索引的索引与数据存储结构,其中,数据表包括多个具有唯一标识符的数据桶,每个数据桶包含多条原始数据记录,数据桶的存储方式与按行查询的隐匿查询算法兼容;二级索引包括多个二级索引桶,每个二级索引桶包含若干行二级索引记录,每个二级索引记录包括数据桶中的关键字
、
关键字对应的数据桶桶号和在对应桶号的数据桶中的行号;一级索引包含一个一级索引文件,每个一级索引文件包含若干行一级索引记录,每个一级索引记录包括的起始关键字
、
终止关键字
、
二级索引桶号
、
以及二级索引桶长度;基于构建的索引与数据存储结构进行隐匿查询检索,包括:获取一级索引文件,并基于输入的关键字确定关键字对应的二级索引桶的桶号和长度;基于关键字与二级索引桶的长度计算二级索引桶的行号;基于二级索引桶的桶号和行号,结合隐匿查询技术获取数据表中对应的原始数据记录
。2.
根据权利要求1所述的支持隐匿查询的索引构建和检索方法,其特征在于,所述数据表的构建过程包括:根据不可区分度将原始数据文件拆分为若干个数据文件,组成一个数据表,每个数据文件作为数据表中的一个数据桶,其中,原始数据文件中的原始数据记录以自然存储的顺序存放
。3.
根据权利要求1所述的支持隐匿查询的索引构建和检索方法,其特征在于,所述二级索引的构建过程包括:提取数据桶中每一条原始数据记录的关键字和关键字对应的数据桶桶号以及在对应桶号的数据桶中的行号作为一条二级索引记录;对所有二级索引记录进行关键字排序和关键字合并;根据不可区分度对所有二级索引记录拆分若干个二级索引文件,将每个二级索引文件作为一个二级索引桶;基于关键字为每条二级索引记录分配在二级索引桶中的存储行位置
。4.
根据权利要求3所述的支持隐匿查询的索引构建和检索方法,其特征在于,所述对所有二级索引记录进行关键字排序和关键字合并,包括:采用快速排序与文件级归并排序结合的算法对所有二级索引记录进行关键字排序和关键字合并,所述快速排序与文件级归并排序结合的算法包括:将所有二级索引记录划分为
N
块二级索引记录块,其中
N
小于二级索引记录的数量;对每块二级索引记录块执行以下操作:读入内存进行快速排序,将快速排序后的二级索引记录块写入中间文件,对中间文件进行归并排序
。5.
根据权利要求3所述的支持隐匿查询的索引构建和检索方法,其特征在于,所述基于关键字为每条二级索引记录分配在二级索引桶中的存储行位置,包括:采用二级索引位置生成算法为每条二级索引记录分配在二级索引桶的位置,所述二级索引位置生成算法以关键字为输入,将每个二级索引桶对应的二级索引文件划分为两个哈希表空间,使用第一哈希函数和第二哈希函...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。