[发明专利]一种基于区块链的多关键字可搜索加密方法在审
申请号: | 202310364029.7 | 申请日: | 2023-04-07 |
公开(公告)号: | CN116579001A | 公开(公告)日: | 2023-08-11 |
发明(设计)人: | 邱望洁 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/62;G06F16/2455 |
代理公司: | 北京圣州专利代理事务所(普通合伙) 11818 | 代理人: | 李志强 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 关键字 搜索 加密 方法 | ||
1.一种基于区块链的多关键字可搜索加密方法,包括数据所有者、可信赖用户、区块链以及存储服务器,其特征在于,所述方法包括如下步骤:
(1)初始化阶段:初始化阶段负责将数据所有者生成密钥,并创建智能合约;
(2)生成索引阶段:数据所有者根据加密文件与文件关键字生成密文文件集与加密关键字集,并以此生成安全索引,使用布谷鸟过滤器将文件集中所有的关键字降重后插入进去,在用户进行文件搜索时依据布谷鸟过滤器高效查询快速支持高并发的特点先进行所有关键字集合与用户所要查询的关键字集合进行匹配;
(3)生成陷门阶段:用户根据密钥将想要搜索的关键字集合加密生成加密关键字集,根据加密关键字集生成安全陷门,陷门生成后用户将陷门发送给智能合约并发起检索请求;
(4)搜索阶段:智能合约接收安全索引与搜索陷门后,进行安全索引与陷门的匹配,将陷门与安全索引中每个文件的关键字集合通过向量内积的形式一一计算匹配度,随后排序将匹配度较高的文件标识符发送给存储服务器;
(5)文件返回阶段:存储服务器根据文件标识符从存储服务器中获取对应的加密文件返回给用户。
2.根据权利要求1所述的一种基于区块链的多关键字可搜索加密方法,其特征在于:步骤(1)中,所述初始化阶段包括如下步骤:
(1)随机构建两个元素均属于实数集的K×K维的矩阵M1,M2;
(2)随机构建1个K维向量S∈{0,1}k;
(3)输出sk=(M1,M2,S)作为安全密钥。
3.根据权利要求1所述的一种基于区块链的多关键字可搜索加密方法,其特征在于:步骤(2)中,所述生成索引阶段包括如下步骤:
(1)为文件集合F构建一个布谷鸟过滤器G;
(2)对于文件集合F={f1,f2,…,fn}中的每一个文件fi:
①为文件fi构建一个k位的Bloom过滤器Bi;
②对于文件fi对应的关键字集合W中的每一个关键字wi,使用对偶编码函数将其转换为向量vi,从而构建出关键字集合对应的向量集合V;
③对于向量集合V中每个向量vi,使用位置敏感Hash函数进行计算,计算的结果得到一个k位的数组bi,将加密后的数组bi插入到Bloom过滤器Bi中,随后将bi使用密钥sk进行对称加密算法的加密,得到的密文在布谷鸟过滤器G中查询是否存在,不存在的话将密文插入到布谷鸟过滤器G中;
(3)对于每一个Bi,使用密钥sk进行基于距离可恢复加密算法的加密,生成模糊检索索引IB;
(4)输出索引I=(F,G,IB)。
4.根据权利要求1所述的一种基于区块链的多关键字可搜索加密方法,其特征在于:步骤(3)中,所述生成陷门阶段包括如下步骤:
(1)构建一个k位的Bloom过滤器B以及一个存放关键字密文的链表L;
(2)对于需要查询的关键字集合Q中的每一个关键字qi,使用对偶编码函数将其转换为向量vi,从而构建出关键字集合对应的向量集合V;
(3)对于向量集合V中每个向量vi,使用位置敏感Hash函数进行计算,计算的结果插入到Bloom过滤器B中,随后将bi使用密钥sk进行对称加密算法的加密,得到的密文插入到链表L中;
(4)对于过滤器B,使用密钥sk进行基于距离可恢复加密算法的加密,生成搜索陷门tB;
(5)输出陷门t=(tB,L)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310364029.7/1.html,转载请声明来源钻瓜专利网。