[发明专利]一种面向密文大型数据集的可搜索加密方法有效
申请号: | 201811194140.1 | 申请日: | 2018-10-15 |
公开(公告)号: | CN109165226B | 公开(公告)日: | 2021-03-02 |
发明(设计)人: | 周福才;贾强;秦诗悦;张宗烨 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245;G06F21/60 |
代理公司: | 沈阳东大知识产权代理有限公司 21109 | 代理人: | 李运萍 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 大型 数据 搜索 加密 方法 | ||
1.一种面向密文大型数据集的可搜索加密方法,其特征在于:包括如下步骤:
步骤1:数据拥有者在客户端完成文件上传过程;数据拥有者先对原始文件集F进行预处理,所述预处理包括使用对称加密生成密文数据、对原始文件集进行语义分析并提取关键词、为关键词构造倒排索引并生成安全索引DB;文件预处理之后,数据拥有者将密文数据等分为N份上传至数据服务器并将加密索引上传至索引服务器SI;具体包括:
步骤1.1:数据拥有者在客户端通过初始化算法生成密钥K,然后使用对称加密生成密文数据c;
步骤1.1.1:输入安全参数k,其中k∈{0,1}k;
步骤1.1.2:使用伪随机数生成器生成3个随机数K1,K2,K3作为伪随机函数PRF的密钥;
其中伪随机函数PRF表示为PRF:{0,1}k×{0,1}*→{0,1}k;
步骤1.1.2.1:输入客户端密钥K∈{0,1}k和关键词w∈{0,1}*,输出对应w生成的加密密钥K1∈{0,1}k和K2∈{0,1}k;
步骤1.1.2.2:通过K3←SKE.Gen(1k)计算得到对称加密算法的密钥,用于加密原始文件集F;SEK=(Gen,Enc,Dec)为一个对称加密方案,其中Gen表示密钥生成算法,Enc表示加密算法,Dec表示解密算法;
步骤1.1.3:输出K=(K1,K2,K3)作为密钥;
步骤1.2:文件的加密,输入原始文件集F,使用对称加密算法将F加密为密文数据c;
步骤1.2.1:输入原始文件集F;
步骤1.2.2:对于F中的文件fη,执行其中0η≤|F|,产生密文cη,cη∈c;
步骤1.2.3:将c等分成N份发送给数据服务器
步骤1.3:数据拥有者对F进行语义分析并提取关键词w,为w构造倒排索引并生成安全索引DB,所述DB分类后,得到用来存储块信息的数组A和块Block,创建列表L,将Block和使用K生成的加密标签存储在L中,将L上传至SI,执行D←Create(L),产生字典D,输出K,D,A;具体步骤如下:
步骤1.3.1:生成用来存储倒排索引第一次分块的数据的数组A和存储第二次分块的指针的列表L;
步骤1.3.2:对每一个关键词w,执行K1,K2←F(w),生成与w对应的密钥K1和K2;
步骤1.3.3:确定所述安全索引DB及安全索引分块参数B和b,根据关键词w的倒排索引长度|DB(w)|将DB(w)分为Small、Medium、Large三类:
步骤1.3.3.1:所述安全索引时,取分块个数NumBS=1,即无需进行分块操作;当|DB(w)|b时,对DB(w)进行随机数据填充,补齐到b大小,记该块为BlockS;执行L←(α,β),将L上传至SI;
步骤1.3.3.2:所述安全索引时,取分块个数NumBM≤b;当最后一个分块不足B大小时,补齐到B大小;
对于每个分块BMi,1≤i≤NumBM,使用对称加密计算其标签将随机存储到SI中,其指针记为得到二元组其中1≤i≤NumBM,该过程实际进行一次间接寻址操作;
创建数组A,将写入A;对A按照b大小进行分块,取分块个数由于NumBM≤b,得NumbM=1,记该块为BlockM;分块若不足b大小,进行随机数据填充,补齐到b大小;执行
L←(α,β)
将L上传至SI;
步骤1.3.3.3:所述安全索引时,取分块个数bNumBL≤Bb;
在计算得到数组A后,对A中的NumBL条数据,继续按照B大小进行分块操作,进行第二次间接寻址;取分块个数NumBL'≤b;最后一块不足B大小的,进行随机数填充,补齐到B大小;
对于每个分块BLj',1≤j≤NumBL',使用对称加密算法计算其标签将随机存储到SI中,其指针记为得到二元组其中1≤j≤NumBL';
创建数组A,将写入A;将A按照b大小进行分块,取分块个数由于NumBL'≤b,得NumbM=1,记该分块为BlockL;分块中若不足b大小,进行随机数据填充,补齐到b大小;执行
L←(α,β)
将L上传至SI;
步骤1.3.4:L上传至SI后,执行D←Create(L),产生字典D;
步骤1.3.5:输出K,D,A;
步骤1.4:生成关键词w对应的陷门τw,主要包括以下步骤:
步骤1.4.1:输入搜索关键词w;
步骤1.4.2:执行其中τ1、τ2∈τw;
步骤1.4.3:将(τ1,τ2)作为w的搜索令牌,上传给SI;
步骤2:数据拥有者完成关键词搜索过程;该过程包括搜索及文件更新;
所述文件更新过程包括文件添加和文件删除;文件添加或删除结束后,对于搜索关键词w,其搜索过程转化为对于D+Dadd-Ddel的搜索,其中D为不包含文件添加和删除的字典,Dadd为文件添加的字典,Ddel为文件删除的字典,最后将三部分的搜索结果进行合并返回给密文数据集;
所述搜索过程为数据拥有者向索引服务器SI发出对关键词w的搜索请求,并向索引服务器SI提供w的搜索令牌τw;SI根据τw及安全索引DB计算出w所在的数据服务器其中,1≤ν≤N;向数据拥有者返回τw对应的密文数据集其中为密文数据总数;
具体包括:
步骤2.1:输入(τ1,τ2)和DB;
步骤2.2:执行获取DB(w)所属分类;
步骤2.2.1:当时,执行cres←Get(SF;BlockS);
步骤2.2.2:当时,执行
步骤2.2.3:当时,执行
步骤2.2.4:输出(τ1,τ2)对应的密文数据集
步骤3:数据拥有者在客户端完成文件下载过程;在文件下载过程中,数据拥有者下载关键词w对应的密文数据集使用密钥解密得到包含w的数据文件集
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811194140.1/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置