1.一种可搜索加密方法,其特征在于,包括:
获取安全参数,利用所述安全参数生成密钥集;
从多个文件中提取多个关键词组成关键词集,并对各个所述文件加密,得到与所述文件对应的加密文件;
构建初始化二进制矩阵,利用所述密钥集计算各个所述关键词的伪随机函数值,并利用所述伪随机函数值和所述初始化二进制矩阵构建二进制矩阵;
构建初始化查找表,获取各个所述关键词与目标文件对应的个数参量,并利用所述个数参量、所述密钥集和所述初始化查找表构建所述目标文件对应的查找表;
构建所述关键词的模糊关键词集,利用所述模糊关键词集、所述二进制矩阵和所述查找表构建安全索引,并将安全索引和加密文件发送至云服务器。
2.根据权利要求1所述的可搜索加密方法,其特征在于,所述对各个所述文件加密,得到与所述文件对应的加密文件,包括:
对各个所述文件编号,得到编号文件;
利用私钥密码算法对各个所述编号文件进行加密计算,得到与所述文件对应的加密文件。
3.根据权利要求2所述的可搜索加密方法,其特征在于,利用所述伪随机函数值和所述初始化二进制矩阵构建二进制矩阵,包括:
判断各个所述文件中是否存在所述关键词;
若是,则将所述初始化二进制矩阵中以所述伪随机函数值为行坐标,以所述文件的编号为列坐标的元素值修改为1;
生成随机二进制字符串,并将所述随机二进制字符串填入元素全部为0的矩阵行中,得到未加密二进制矩阵;
对所述未加密二进制矩阵进行加密,得到所述二进制矩阵。
4.根据权利要求1所述的可搜索加密方法,其特征在于,利用所述个数参量、所述密钥集和所述初始化查找表构建所述目标文件对应的查找表,包括:
利用所述密钥集和所述个数参量计算查找表密钥和所述目标文件中各个所述关键词对应的查找表行坐标;
利用所述查找表密钥和所述个数参量计算各个所述关键词对应的单词元素值;
利用所述单词元素值替换具有所述查找表行坐标的元素行中目标元素的元素值;
生成随机二进制字符串,并利用所述随机二进制字符串替换所述查找表中未被替换过的元素值,得到所述查找表。
5.根据权利要求4所述的可搜索加密方法,其特征在于,所述构建所述关键词的模糊关键词集,包括:
构建所述关键词基于通配符的基本关键词集;
利用所述密钥集对所述基本关键词集进行加密,得到所述模糊关键词集。
6.根据权利要求1至5任一项所述的可搜索加密方法,其特征在于,搜索过程,包括:
获取搜索词组,利用所述搜索词组和所述密钥集生成一次陷门,并将所述一次陷门发送给所述云服务器;
所述云服务器利用所述一次陷门和所述模糊关键词集确定所述搜索词组对应的正确词组中各个单词的所述伪随机函数值以及以所述伪随机函数值为行坐标的二进制矩阵行;
利用各个所述伪随机函数值和所述密钥集确定候选文件集并生成二次陷门,将所述二次陷门和候选文件集的信息发送给所述云服务器;
所述云服务器利用所述二次陷门和所述信息从所述候选文件集中获取与所述搜索词组对应的所述加密文件;
获取所述加密文件并对所述加密文件进行解密,得到所述搜索词组对应的所述文件。
7.根据权利要求6所述的可搜索加密方法,其特征在于,所述利用各个所述伪随机函数值和所述密钥集确定候选文件集,包括:
利用所述伪随机函数值和所述密钥集计算各个所述伪随机函数值对应的函数异或值,并利用所有所述函数异或值做与运算,得到异或与值;
判断所述异或与值中的目标位是否为1;
若是,则将所述目标位对应的所述文件添加到所述候选文件集中。
8.一种可搜索加密装置,其特征在于,包括:
密钥集生成模块,用于获取安全参数,利用所述安全参数生成密钥集;
文件加密模块,用于从多个文件中提取多个关键词组成关键词集,并对各个所述文件加密,得到与所述文件对应的加密文件;
二进制矩阵构建模块,用于构建初始化二进制矩阵,利用所述密钥集计算各个所述关键词的伪随机函数值,并利用所述伪随机函数值和所述初始化二进制矩阵构建二进制矩阵;
查找表构建模块,用于构建初始化查找表,获取各个所述关键词与目标文件对应的个数参量,并利用所述个数参量、所述密钥集和所述初始化查找表构建所述目标文件对应的查找表;
安全索引构建模块,用于构建所述关键词的模糊关键词集,利用所述模糊关键词集、所述二进制矩阵和所述查找表构建安全索引,并将安全索引和加密文件发送至云服务器。
9.一种可搜索加密设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的可搜索加密方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的可搜索加密方法。