CN109255244B - 数据加密方法及其装置、数据加密检索系统 - Google Patents

数据加密方法及其装置、数据加密检索系统 Download PDF

Info

Publication number
CN109255244B
CN109255244B CN201810778444.6A CN201810778444A CN109255244B CN 109255244 B CN109255244 B CN 109255244B CN 201810778444 A CN201810778444 A CN 201810778444A CN 109255244 B CN109255244 B CN 109255244B
Authority
CN
China
Prior art keywords
vector
keyword
dictionary
original
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201810778444.6A
Other languages
English (en)
Other versions
CN109255244A (zh
Inventor
陈建铭
张文豪
吴祖扬
王景行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN201810778444.6A priority Critical patent/CN109255244B/zh
Publication of CN109255244A publication Critical patent/CN109255244A/zh
Application granted granted Critical
Publication of CN109255244B publication Critical patent/CN109255244B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明适用于数据加密领域,提供了一种支持模糊匹配与语义近似匹配的关键字排序搜索技术的数据加密方法及其装置、数据加密检索系统,具有更完善的功能和更高的效率,该方法包括:初始化步骤:从数据中提取关键字集合,并建立原始关键字字典,进而建立相应的关键字词干字典和关键字同义词字典,并为所述原始关键字字典中的关键字建立用于字形模糊匹配的单词向量;秘钥生成步骤:根据多个字典生成相应的秘钥;索引构建步骤:根据字典与映射关系为每个文档建立索引向量,并进行聚类;数据加密步骤:对所述索引向量进行加密。

Description

数据加密方法及其装置、数据加密检索系统
技术领域
本发明涉及数据加密领域,尤其涉及一种支持模糊匹配与语义近似匹配的关键字排序搜索技术的数据加密方法及其装置、数据加密检索系统。
背景技术
随着云服务的普及,越来越多敏感信息被外包给云,这些存储在云上的数据需要被加密。然而,云端数据不在企业及个人用户的监管中,因此为了防止隐私信息泄露,数据在上传至云端之前需要进行加密。这就产生了一个新的问题:当数据使用者想要检索云端数据时,云服务器因为无法解密数据因此无法做出回应。
针对这个问题,许多学者提出了大量的解决方案。但在目前的很多研究中,现有的使用关键字排序搜索技术在搜索功能方面的改进相对欠佳,有较大的开拓空间。在现有研究方案中,文档索引向量不同维度所代表的关键字间存在近似关系,如同一单词有不同的衍生词(单复数,时态变化等)、同义词等,而现有方案均忽略了这样的关系,导致了现有方案中的功能不完善且效率较低,而且目前尚无针对文档索引向量不同维度所代表的关键字间的关系的研究。
发明内容
本发明所要解决的技术问题为完善针对云端数据的搜索功能以及提高对数据的搜索效率,使其具有更完善的功能和更高的效率。
为解决上述技术问题,本发明提出一种数据加密方法,包括:
初始化步骤:从数据中提取关键字集合,并建立原始关键字字典,进而建立相应的关键字词干字典和关键字同义词字典,并为所述原始关键字字典中的关键字建立用于字形模糊匹配的单词向量;
秘钥生成步骤:根据多个字典生成相应的秘钥;
索引构建步骤:根据字典与映射关系为每个文档建立索引向量,并进行聚类;
数据加密步骤:对所述索引向量进行加密。
优选的,所述初始化步骤具体包括:
根据所述关键字集合生成所述原始关键字字典D,其中,所述原始关键字字典D的长度为n;
利用词干提取算法对所述关键字集合进行处理以得到关键字的词干,从而生成所述关键字词干字典D1,同时生成所述原始关键字字典D与所述关键字词干字典D1之间的映射表 Map1,其中,所述关键字词干字典D1的长度为n1
对得到的关键字的词干的集合进行同义词组合处理,从而生成所述关键字同义词字典 D2,同时生成所述原始关键字字典D与所述关键字同义词字典D2之间的映射表Map2,其中,所述关键字同义词字典D2的长度为n2
为所述原始关键字字典D中的每个关键字建立单词向量,将每个关键字分别拆分为二元字母组合与一元字母组合,并映射到一个预设长度的向量中。
优选的,所述秘钥生成步骤具体包括:
随机生成第一秘钥SK1(L1,L2,R),其中,L1,L2是两个大小为(n+2)×(n+2)的随机可逆矩阵,R∈{0,1}(n+2)为一随机向量;
随机生成第二秘钥SK1(M1,M2,S),其中,M1,M2是两个大小为(n1+2)×(n1+2)的随机可逆矩阵,
Figure BDA0001731971430000021
为一随机向量;
随机生成第三秘钥SK1(N1,N2,T),其中,N1,N2是两个大小为(n2+2)×(n2+2)的随机可逆矩阵,
Figure BDA0001731971430000022
为一随机向量。
优选的,所述索引构建步骤具体包括:
根据所述原始关键字字典D分别将每个文档F中的关键字映射到长度为n的向量中,从而为每个文档F建立长度为n的原始索引向量I;
根据所述原始关键字字典D、所述关键字词干字典D1以及所述映射表Map1分别将每个文档F中的关键字映射到长度为n1的向量中,从而为每个文档F建立长度为n1的词干索引向量I1
根据所述原始关键字字典D、所述关键字词干字典D1、所述关键字同义词字典D2以及所述映射表Map1、所述映射表Map2分别将每个文档F中的关键字映射到长度为n2的向量中,从而为每个文档F建立长度为n2的同义词索引向量I2
优选的,所述索引构建步骤具体还包括:
利用预设算法分别对索引向量集合{I}、{I1}、{I2}进行聚类以得到各自聚类后的索引集合,其中,所述预设算法具体包括:
(1)将N个文档按照每个文档各自的权值总和从大到小进行排序,依次选取文档,计算每次选取的文档与已选取的聚类中心的相关性得分,若相关性得分小于预设阈值Th,则选为初始聚类中心C,直至所述初始聚类中心C数量达到预设值k;
(2)测量剩余的每个文档F到每个质心的距离,并归到最近的质心的类;
(3)重新计算已经得到的各个类的质心;
(4)迭代(2)~(3)步直至新的质心与原质心相等或小于指定阈值TC
优选的,所述数据加密步骤包括对所述原始索引向量I、所述词干索引向量I1、所述同义词索引向量I2分别进行加密,其中,对所述原始索引向量I加密的方法包括:
将I扩展至(n+2)维,其中第(n+1)维设置为随机值ε1,第(n+2)维设置为1;
根据以下规则将所述原始索引向量I分裂为{I′,I″}:对于向量中的每个元素ij∈I,i′j∈ I′,i″j∈I″,rj∈R,如果rj=1则设置ij=i′j=i″j,否则设置
Figure BDA0001731971430000031
δ1为一随机数;
利用L1,L2将{I',I″}加密为{L1 TI',L2 TI″},输出Enc(I)={L1 TI′,L2 TI″},作为最终加密的原始索引向量I;
I1其中,对所述词干索引向量I1加密的方法包括:
将I1扩展至(n1+2)维,其中第(n1+1)维设置为随机值ε2,第(n1+2)维设置为1;
根据以下规则将所述词干索引向量I1分裂为{I1',I1″}:对于向量中的每个元素i1j∈I1,i′1j∈I1′,i″1j∈I1″,sj∈S,如果sj=1则设置i1j=i′1j=i″1j,否则设置
Figure BDA0001731971430000041
Figure BDA0001731971430000042
δ2为一随机数;
利用M1,M2将{I1',I1″}加密为{M1 TI1′,M2 TI1″},输出Enc(I1)={M1 TI1',M2 TI1″},作为最终加密的词干索引向量I1
I2其中,对所述同义词索引向量I2加密的方法包括:
将I2扩展至(n2+2)维,其中第(n2+1)维设置为随机值ε3,第(n2+2)维设置为1;
根据以下规则将所述同义词索引向量I2分裂为{I2',I2″}:对于向量中的每个元素i2j∈I2,i′2j∈I2',i″2j∈I2″,tj∈T,如果tj=1则设置i2j=i′2j=i″2j,否则设置
Figure BDA0001731971430000043
Figure BDA0001731971430000044
δ3为一随机数;
利用N1,N2将{I2′,I2″}加密为{N1 TI2',N2 TI2″},输出Enc(I2)={N1 TI2′,N2 TI2″},作为最终加密的同义词索引向量I2
将最终加密的原始索引向量I、最终加密的词干索引向量I1、最终加密的同义词索引向量I2这三种类型的加密索引向量及对应的密文上传至云端。
优选的,所述方法还包括:
检索阶段步骤,具体包括:
对用户提交的关键字集合进行预处理,替换掉不存在于所述原始关键字字典D的关键字,以生成可在所述原始关键字字典D中查到全部关键字的关键字集合;
根据用户的精度需求为用户生成相应的陷门从而实现不同类型的匹配策略;
根据用户不同的需求,利用向量内积公式对用户提交的陷门与相应的加密索引进行匹配计算并依照相关性得分进行排序,以及返回相应的结果给用户。
另一方面,本发明还提供一种数据加密装置,包括:
初始化模块,用于从数据中提取关键字集合,并建立原始关键字字典,进而建立相应的关键字词干字典和关键字同义词字典,并为所述原始关键字字典中的关键字建立用于字形模糊匹配的单词向量;
秘钥生成模块,用于根据多个字典生成相应的秘钥;
索引构建模块,用于根据字典与映射关系为每个文档建立索引向量,并进行聚类;
数据加密模块,用于对所述索引向量进行加密。
优选的,所述初始化模块具体用于:
根据所述关键字集合生成所述原始关键字字典D,其中,所述原始关键字字典D的长度为n;
利用词干提取算法对所述关键字集合进行处理以得到关键字的词干,从而生成所述关键字词干字典D1,同时生成所述原始关键字字典D与所述关键字词干字典D1之间的映射表 Map1,其中,所述关键字词干字典D1的长度为n1
对得到的关键字的词干的集合进行同义词组合处理,从而生成所述关键字同义词字典 D2,同时生成所述原始关键字字典D与所述关键字同义词字典D2之间的映射表Map2,其中,所述关键字同义词字典D2的长度为n2
为所述原始关键字字典D中的每个关键字建立单词向量,将每个关键字分别拆分为二元字母组合与一元字母组合,并映射到一个预设长度的向量中。
优选的,所述秘钥生成模块具体用于:
随机生成第一秘钥SK1(L1,L2,R),其中,L1,L2是两个大小为(n+2)×(n+2)的随机可逆矩阵,R∈{0,1}(n+2)为一随机向量;
随机生成第二秘钥SK1(M1,M2,S),其中,M1,M2是两个大小为(n1+2)×(n1+2)的随机可逆矩阵,
Figure BDA0001731971430000061
为一随机向量;
随机生成第三秘钥SK1(N1,N2,T),其中,N1,N2是两个大小为(n2+2)×(n2+2)的随机可逆矩阵,
Figure BDA0001731971430000062
为一随机向量。
优选的,所述索引构建模块具体用于:
根据所述原始关键字字典D分别将每个文档F中的关键字映射到长度为n的向量中,从而为每个文档F建立长度为n的原始索引向量I;
根据所述原始关键字字典D、所述关键字词干字典D1以及所述映射表Map1分别将每个文档F中的关键字映射到长度为n1的向量中,从而为每个文档F建立长度为n1的词干索引向量I1
根据所述原始关键字字典D、所述关键字词干字典D1、所述关键字同义词字典D2以及所述映射表Map1、所述映射表Map2分别将每个文档F中的关键字映射到长度为n2的向量中,从而为每个文档F建立长度为n2的同义词索引向量I2
优选的,所述索引构建模块具体还用于:
利用预设算法分别对索引向量集合{I}、{I1}、{I2}进行聚类以得到各自聚类后的索引集合,其中,所述预设算法具体包括:
(1)将N个文档按照每个文档各自的权值总和从大到小进行排序,依次选取文档,计算每次选取的文档与已选取的聚类中心的相关性得分,若相关性得分小于预设阈值Th,则选为初始聚类中心C,直至所述初始聚类中心C数量达到预设值k;
(2)测量剩余的每个文档F到每个质心的距离,并归到最近的质心的类;
(3)重新计算已经得到的各个类的质心;
(4)迭代(2)~(3)步直至新的质心与原质心相等或小于指定阈值TC
优选的,所述数据加密模块用于对所述原始索引向量I、所述词干索引向量I1、所述同义词索引向量I2分别进行加密,
其中,对所述原始索引向量I加密的方法包括:
将I扩展至(n+2)维,其中第(n+1)维设置为随机值ε1,第(n+2)维设置为1;
根据以下规则将所述原始索引向量I分裂为{I',I″}:对于向量中的每个元素ij∈I,i′j∈ I',i″j∈I″,rj∈R,如果rj=1则设置ij=i′j=i″j,否则设置
Figure BDA0001731971430000071
δ1为一随机数;
利用L1,L2将{I',I″}加密为{L1 TI',L2 TI″},输出Enc(I)={L1 TI',L2 TI″},作为最终加密的原始索引向量I;
I1其中,对所述词干索引向量I1加密的方法包括:
将I1扩展至(n1+2)维,其中第(n1+1)维设置为随机值ε2,第(n1+2)维设置为1;
根据以下规则将所述词干索引向量I1分裂为{I1',I1″}:对于向量中的每个元素i1j∈I1,i′1j∈I1',i″1j∈I1″,sj∈S,如果sj=1则设置i1j=i′1j=i″1j,否则设置
Figure BDA0001731971430000072
Figure BDA0001731971430000073
δ2为一随机数;
利用M1,M2将{I1',I1″}加密为{M1 TI1′,M2 TI1″},输出Enc(I1)={M1 TI1',M2 TI1″},作为最终加密的词干索引向量I1
I2其中,对所述同义词索引向量I2加密的方法包括:
将I2扩展至(n2+2)维,其中第(n2+1)维设置为随机值ε3,第(n2+2)维设置为1;
根据以下规则将所述同义词索引向量I2分裂为{I2′,I2″}:对于向量中的每个元素i2j∈I2,i′2j∈I2′,i″2j∈I2″,tj∈T,如果tj=1则设置i2j=i′2j=i″2j,否则设置
Figure BDA0001731971430000074
Figure BDA0001731971430000075
δ3为一随机数;
利用N1,N2将{I2′,I2″}加密为{N1 TI2′,N2 TI2″},输出Enc(I2)={N1 TI2′,N2 TI2″},作为最终加密的同义词索引向量I2
将最终加密的原始索引向量I、最终加密的词干索引向量I1、最终加密的同义词索引向量I2这三种类型的加密索引向量及对应的密文上传至云端。
此外,本发明还提供一种数据加密检索系统,包括:
上述任一项所述的数据加密装置;
用户端;
云端服务器;
其中,所述用户端将其需要检索的关键字通过安全信道提交给所述数据加密装置,所述数据加密装置根据所述用户端的语义精度需求为用户生成相应的陷门,然后由所述用户端提交给所述云端服务器,所述云端服务器收到所述用户端的陷门之后将会对密文进行检索并将检索的结果返回给所述用户端。
本发明与现有技术相比,有益效果在于:本发明的技术方案针对文档索引向量跨维度关键字间关系进行研究,利用关键字的词干提取、同义词组合并聚类等方式,实现关键字的语义近似匹配,同时提高检索结果文档的相关性以及检索的效率,具有更完善的功能和更高的效率。
附图说明
图1是本发明实施例提供的数据加密方法流程图;
图2是本发明实施例提供的数据加密装置结构示意图;
图3是本发明实施例提供的数据加密检索系统的应用结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,为本发明实施例提供的数据加密方法流程图。
在步骤S1中,从数据中提取关键字集合,并建立原始关键字字典,进而建立相应的关键字词干字典和关键字同义词字典,并为所述原始关键字字典中的关键字建立用于字形模糊匹配的单词向量。
在本实施例中,所述初始化步骤具体包括:
根据所述关键字集合生成所述原始关键字字典D,其中,所述原始关键字字典D的长度为n;
利用词干提取算法对所述关键字集合进行处理以得到关键字的词干,从而生成所述关键字词干字典D1,并还原为关键字基础形态,同时生成所述原始关键字字典D与所述关键字词干字典D1之间的映射表Map1,其中,所述关键字词干字典D1的长度为n1
对得到的关键字的词干的集合进行同义词组合处理,例如互为同义词的关键字只保留其中一个,从而生成所述关键字同义词字典D2,同时生成所述原始关键字字典D与所述关键字同义词字典D2之间的映射表Map2,其中,所述关键字同义词字典D2的长度为n2
为所述原始关键字字典D中的每个关键字建立单词向量wordVector,将每个关键字分别拆分为二元字母组合与一元字母组合,并映射到一个预设长度(例如为26*26+26*5)的向量wordVector中。
在本实施例中,词干提取算法为Porter stemming词干提取算法,当然也可以采用其它的算法,在此不做限定。
在步骤S2中,秘钥生成步骤:根据多个字典生成相应的秘钥。
在本实施例中,所述秘钥生成步骤具体包括:
随机生成第一秘钥SK1(L1,L2,R),其中,L1,L2是两个大小为(n+2)×(n+2)的随机可逆矩阵,R∈{0,1}(n+2)为一随机向量;
随机生成第二秘钥SK1(M1,M2,S),其中,M1,M2是两个大小为(n1+2)×(n1+2)的随机可逆矩阵,
Figure BDA0001731971430000101
为一随机向量;
随机生成第三秘钥SK1(N1,N2,T),其中,N1,N2是两个大小为(n2+2)×(n2+2)的随机可逆矩阵,
Figure BDA0001731971430000102
为一随机向量。
在步骤S3中,索引构建步骤:根据字典与映射关系为每个文档建立索引向量,并进行聚类。
在本实施例中,索引构建步骤分成两个阶段,第一阶段是根据字典与映射关系生成索引向量,第二阶段是利用预设算法(例如改进的k-means聚类方法)分别对索引向量集合{I}、 {I1}、{I2}进行聚类以得到各自聚类后的索引集合。
在本实施例中,第一阶段的所述索引构建步骤具体包括:
根据所述原始关键字字典D分别将每个文档F中的关键字映射到长度为n的向量中,从而为每个文档F建立长度为n的原始索引向量I;
根据所述原始关键字字典D、所述关键字词干字典D1以及所述映射表Map1分别将每个文档F中的关键字映射到长度为n1的向量中,从而为每个文档F建立长度为n1的词干索引向量I1
根据所述原始关键字字典D、所述关键字词干字典D1、所述关键字同义词字典D2以及所述映射表Map1、所述映射表Map2分别将每个文档F中的关键字映射到长度为n2的向量中,从而为每个文档F建立长度为n2的同义词索引向量I2
在本实施例中,第二阶段的所述索引构建步骤具体还包括:
利用预设算法分别对索引向量集合{I}、{I1}、{I2}进行聚类以得到各自聚类后的索引集合。
其中,所述预设算法为改进的k-means聚类方法,所述预设算法具体包括:
(1)将N个文档按照每个文档各自的权值总和从大到小进行排序,依次选取文档,计算每次选取的文档与已选取的聚类中心的相关性得分,若相关性得分小于预设阈值Th,则选为初始聚类中心C,直至所述初始聚类中心C数量达到预设值k;
(2)测量剩余的每个文档F到每个质心的距离,并归到最近的质心的类;
(3)重新计算已经得到的各个类的质心;
(4)迭代(2)~(3)步直至新的质心与原质心相等或小于指定阈值TC
在步骤S4中,数据加密步骤:对所述索引向量进行加密。
在本实施例中,所述数据加密步骤包括对所述原始索引向量I进行加密,其中,加密方法包括:
将I扩展至(n+2)维,其中第(n+1)维设置为随机值ε1,第(n+2)维设置为1;
根据以下规则将所述原始索引向量I分裂为{I′,I″}:对于向量中的每个元素ij∈I,i′j∈ I',i″j∈I″,rj∈R,如果rj=1则设置ij=i′j=i″j,否则设置
Figure BDA0001731971430000111
δ1为一随机数;
利用L1,L2将{I',I″}加密为{L1 TI',L2 TI″},输出Enc(I)={L1 TI',L2 TI″},作为最终加密的原始索引向量I。
在本实施例中,所述数据加密步骤包括对所述词干索引向量I1进行加密,其中,加密方法包括:
将I1扩展至(n1+2)维,其中第(n1+1)维设置为随机值ε2,第(n1+2)维设置为1;
根据以下规则将所述词干索引向量I1分裂为{I1',I1″}:对于向量中的每个元素i1j∈I1,i′1j∈I1′,i″1j∈I1″,sj∈S,如果sj=1则设置i1j=i′1j=i″1j,否则设置
Figure BDA0001731971430000112
Figure BDA0001731971430000113
δ2为一随机数;
利用M1,M2将{I1',I1″}加密为{M1 TI1',M2 TI1″},输出Enc(I1)={M1 TI1',M2 TI1″},作为最终加密的词干索引向量I1
在本实施例中,所述数据加密步骤包括对所述同义词索引向量I2进行加密,其中,加密方法包括:
将I2扩展至(n2+2)维,其中第(n2+1)维设置为随机值ε3,第(n2+2)维设置为1;
根据以下规则将所述同义词索引向量I2分裂为{I2′,I2″}:对于向量中的每个元素i2j∈I2,i′2j∈I2′,i″2j∈I2″,tj∈T,如果tj=1则设置i2j=i′2j=i″2j,否则设置
Figure BDA0001731971430000121
Figure BDA0001731971430000122
δ3为一随机数;
利用N1,N2将{I2′,I2″}加密为{N1 TI2′,N2 TI2″},输出Enc(I2)={N1 TI2',N2 TI2″},作为最终加密的同义词索引向量I2
将最终加密的原始索引向量I、最终加密的词干索引向量I1、最终加密的同义词索引向量I2这三种类型的加密索引向量及对应的密文上传至云端。
此外,所述方法还包括:
检索阶段步骤,具体包括:
字形模糊匹配:对用户提交的关键字集合QuerySet进行预处理,替换掉不存在于所述原始关键字字典D的关键字,以生成可在所述原始关键字字典D中查到全部关键字的关键字集合QuerySet。其中,字形模糊匹配包括:(1)″生僻关键字″处理:若关键字k不存在于原始关键字字典D中,但该关键字的同义词kw′存在于原始关键字字典D中,则认定该关键字为″生僻关键字″,将该″生僻关键字″的同义词kw′替换掉原关键字kw;(2)″误拼词汇″处理:若关键字kw不存在于原始关键字字典D中,且该关键字的同义词kw′也均不存在于原始关键字字典D中,则认定该关键字为″误拼词汇″,则为该关键字生成一个长度为26*26+26*5 的单词向量wordVector,与原始关键字字典的单词向量计算欧式距离,获得最相近的关键字kw″,从而替换掉原关键字kw
Trapdoor:该函数用于为用户提供的关键字集合QuerySet生成陷门,根据用户的精度需求为用户生成相应的陷门从而实现不同类型的匹配策略。具体包括:
(1)若用户的需求为精确匹配,则为用户生成对应于I的陷门Q;
1)将带查询的关键字依照原始关键字字典D映射到长度为n的精确查询向量Q中。
2)将Q扩展至(n+2)维,其中第(n+1)维设置为1,第(n+2)维设置为随机值 t,然后前(n+1)维分别乘随机数u。
3)根据以下规则将精确查询向量Q分裂为{Q',Q″}:对于向量中的每个元素ij∈Q,i′j∈ Q',i″j∈Q″,rj∈R,如果rj=0则设置ij=i′j=i″j;否则设置
Figure BDA0001731971430000131
δ1'为一随机数。
4)利用L1,L2将{Q',Q″}加密为{L1 -1Q',L2 -1Q″},输出Tw=Enc(Q)={L1 -1Q',L2 -1Q″},作为最终加密的用于精确匹配的陷门。
(2)若用户的需求为检索关键字的相关衍生词,则为用户生成对应于I1的陷门Q1
1)将带查询的关键字依照原始关键字字典D、关键字词干字典D1以及映射关系Map1映射到长度为n1的词干查询向量Q1中。
2)将Q1扩展至(n1+2)维,其中第(n1+1)维设置为1,第(n1+2)维设置为随机值t。然后前(n1+1)维分别乘随机数u。
3)根据以下规则将衍生词查询向量Q1分裂为{Q1',Q1″}:对于向量中的每个元素i1j∈Q1,i′1j∈Q1',i″1j∈Q1″,sj∈S,如果sj=0则设置i1j=i′1j=i″1j;否则设置
Figure BDA0001731971430000132
Figure BDA0001731971430000133
δ2′为一随机数。
4)利用M1,M2将{Q1',Q1″}加密为{M1 -1Q1',M2 -1Q1″},输出 Tw=Enc(Q1)={M1 -1Q1',M2 -1Q1″},作为最终加密的用于关键字衍生词匹配的陷门。
(3)若用户的需求为检索关键字的相关同义词,则为用户生成对应于I2的陷门Q2
1)将带查询的关键字依照原始关键字字典D、关键字词干字典D1、同义词字典D2以及映射关系Map1、Map2,映射到长度为n2的同义词查询向量Q2中。
2)将Q2扩展至(n2+2)维,其中第(n2+1)维设置为1,第(n2+2)维设置为随机值t。然后前(n2+1)维分别乘随机数u。
3)根据以下规则将同义词查询向量Q2分裂为{Q2′,Q2″}:对于向量中的每个元素i2j∈Q2,i'2j∈Q2′,i″2j∈Q2″,tj∈T,如果tj=0则设置i2j=i′2j=i″2j;否则设置
Figure BDA0001731971430000134
Figure BDA0001731971430000141
δ3′为一随机数。
4)利用N1,N2将{Q2′,Q2″}加密为{N1 -1Q2′,N2 -1Q2″},输出 Tw=Enc(Q2)={N1 -1Q2′,N2 -1Q2″},作为最终加密的用于关键字同义词匹配的陷门。
根据用户不同的需求,利用向量内积公式对用户提交的陷门与相应的加密索引进行匹配计算并依照相关性得分进行排序,以及返回相应的结果给用户。
具体的,(1)云服务器确认用户的搜索需求,准备利用相应的加密索引进行匹配;(2)以精确匹配为例,计算Tw与各聚类中心的相关性得分RelevanceScore:
RelevanceScore
={L1 TI′,L2 TI″}{L1 -1Q′,L2 -1Q″}
=I′·Q′+I″·Q″
=I·Q
在得分最高的聚类簇内,再计算各文档与Tw的相关性得分RelevanceScore,根据得分结果进行排序,返回相应的结果给用户;(3)若是衍生词匹配与同义词匹配,也以同样的方式进行匹配。
请参阅图2,为本发明实施例提供的数据加密装置结构示意图。
在本实施例中,数据加密装置10具体包括初始化模块11、秘钥生成模块12、索引构建模块13、数据加密模块14。
初始化模块11,用于从数据中提取关键字集合,并建立原始关键字字典,进而建立相应的关键字词干字典和关键字同义词字典,并为所述原始关键字字典中的关键字建立用于字形模糊匹配的单词向量。
在本实施例中,所述初始化模块11具体用于:
根据所述关键字集合生成所述原始关键字字典D,其中,所述原始关键字字典D的长度为n;
利用预设算法对所述关键字集合进行处理以得到关键字的词干,从而生成所述关键字词干字典D1,同时生成所述原始关键字字典D与所述关键字词干字典D1之间的映射表Map1,其中,所述关键字词干字典D1的长度为n1
对得到的关键字的词干的集合进行同义词组合处理,从而生成所述关键字同义词字典 D2,同时生成所述原始关键字字典D与所述关键字同义词字典D2之间的映射表Map2,其中,所述关键字同义词字典D2的长度为n2
为所述原始关键字字典D中的每个关键字建立单词向量,将每个关键字分别拆分为二元字母组合与一元字母组合,并映射到一个预设长度的向量中。
秘钥生成模块12,用于根据多个字典生成相应的秘钥。
在本实施例中,所述秘钥生成模块12具体用于:
随机生成第一秘钥SK1(L1,L2,R),其中,L1,L2是两个大小为(n+2)×(n+2)的随机可逆矩阵,R∈{0,1}(n+2)为一随机向量;
随机生成第二秘钥SK1(M1,M2,S),其中,M1,M2是两个大小为(n1+2)×(n1+2)的随机可逆矩阵,
Figure BDA0001731971430000151
为一随机向量;
随机生成第三秘钥SK1(N1,N2,T),其中,N1,N2是两个大小为(n2+2)×(n2+2)的随机可逆矩阵,
Figure BDA0001731971430000152
为一随机向量。
索引构建模块13,用于根据字典与映射关系为每个文档建立索引向量,并进行聚类。
在本实施例中,所述索引构建模块13具体用于:
根据所述原始关键字字典D分别将每个文档F中的关键字映射到长度为n的向量中,从而为每个文档F建立长度为n的原始索引向量I;
根据所述原始关键字字典D、所述关键字词干字典D1以及所述映射表Map1分别将每个文档F中的关键字映射到长度为n1的向量中,从而为每个文档F建立长度为n1的词干索引向量I1
根据所述原始关键字字典D、所述关键字词干字典D1、所述关键字同义词字典D2以及所述映射表Map1、所述映射表Map2分别将每个文档F中的关键字映射到长度为n2的向量中,从而为每个文档F建立长度为n2的同义词索引向量I2
在本实施例中,所述索引构建模块13具体还用于:
利用预设算法分别对索引向量集合{I}、{I1}、{I2}进行聚类以得到各自聚类后的索引集合。
其中,所述预设算法具体包括:
(1)将N个文档按照每个文档各自的权值总和从大到小进行排序,依次选取文档,计算每次选取的文档与已选取的聚类中心的相关性得分,若相关性得分小于预设阈值Th,则选为初始聚类中心C,直至所述初始聚类中心C数量达到预设值k;
(2)测量剩余的每个文档F到每个质心的距离,并归到最近的质心的类;
(3)重新计算已经得到的各个类的质心;
(4)迭代(2)~(3)步直至新的质心与原质心相等或小于指定阈值TC
数据加密模块14,用于对所述索引向量进行加密。
在本实施例中,所述数据加密模块14用于对所述原始索引向量I进行加密,其中,加密方法包括:
将I扩展至(n+2)维,其中第(n+1)维设置为随机值ε1,第(n+2)维设置为1;
根据以下规则将所述原始索引向量I分裂为{I′,I″}:对于向量中的每个元素ij∈I,i′j∈ I′,i″j∈I″,rj∈R,如果rj=1则设置ij=i′j=i″j,否则设置
Figure BDA0001731971430000161
δ1为一随机数;
利用L1,L2将{I′,I″}加密为{L1 TI′,L2 TI″},输出Enc(I)={L1 TI′,L2 TI″},作为最终加密的原始索引向量I。
在本实施例中,所述数据加密模块14还用于对所述词干索引向量I1进行加密,其中,加密方法包括:
将I1扩展至(n1+2)维,其中第(n1+1)维设置为随机值ε2,第(n1+2)维设置为1;
根据以下规则将所述词干索引向量I1分裂为{I1′,I1″}:对于向量中的每个元素i1j∈I1,i′1j∈I1′,i″1j∈I1″,sj∈S,如果sj=1则设置i1j=i′1j=i″1j,否则设置
Figure BDA0001731971430000171
Figure BDA0001731971430000172
δ2为一随机数;
利用M1,M2将{I1′,I1″}加密为{M1 TI1′,M2 TI1″},输出Enc(I1)={M1 TI1′,M2 TI1″},作为最终加密的词干索引向量I1
在本实施例中,所述数据加密模块14还用于对所述同义词索引向量I2进行加密,其中,加密方法包括:
将I2扩展至(n2+2)维,其中第(n2+1)维设置为随机值ε3,第(n2+2)维设置为1;
根据以下规则将所述同义词索引向量I2分裂为{I2′,I2″}:对于向量中的每个元素i2j∈I2,i′2j∈I2′,i″2j∈I2″,tj∈T,如果tj=1则设置i2j=i′2j=i″2j,否则设置
Figure BDA0001731971430000173
Figure BDA0001731971430000174
δ3为一随机数;
利用N1,N2将{I2′,I2″}加密为{N1 TI2′,N2 TI2″},输出Enc(I2)={N1 TI2′,N2 TI2″},作为最终加密的同义词索引向量I2
将最终加密的原始索引向量I、最终加密的词干索引向量I1、最终加密的同义词索引向量I2这三种类型的加密索引向量及对应的密文上传至云端。
此外,本发明还提供一种数据加密检索系统,所述系统包括:
如上任一项所述的数据加密装置;
用户端;
云端服务器;
其中,所述用户端将其需要检索的关键字通过安全信道提交给所述数据加密装置,所述数据加密装置根据所述用户端的语义精度需求为用户生成相应的陷门,然后由所述用户端提交给所述云服务器,所述云服务器收到所述用户端的陷门之后将会对密文进行检索并将检索的结果返回给所述用户端。
请参阅图3,为本发明实施例提供的数据加密检索系统的应用结构示意图。
本发明基于图3的架构进行拓展研究:首先,数据拥有者(即相当于数据加密检索系统中的数据加密装置)建立三种类型的字典,为原始关键字字典中的关键字添加单词向量用于字形模糊匹配,并为三种类型的字典建立映射关系,并以此为文档建立三种类型的索引结构,再对针对三种索引结构分别对文档进行聚类。然后,数据拥有者(即相当于数据加密检索系统中的数据加密装置)对索引和文档进行加密并上传至服务器(即相当于数据加密检索系统中的云端服务器)。当用户(即相当于数据加密检索系统中的用户端)想要检索服务器(即相当于数据加密检索系统中的云端服务器)文档时,先通过安全信道向数据拥有者(即相当于数据加密检索系统中的数据加密装置)提交待检索关键字,数据拥有者(即相当于数据加密检索系统中的数据加密装置)对待检索关键字进行预处理,将不存在于原始关键字字典中的单词进行同义词替换或模糊匹配,进而用与生成加密索引同样的方式为用户生成一个陷门返回给用户(即相当于数据加密检索系统中的用户端)。用户(即相当于数据加密检索系统中的用户端)将陷门通过公开信道发送到服务器,服务器(即相当于数据加密检索系统中的云端服务器)收到陷门之后,会对密文进行检索并将结果返回给用户(即相当于数据加密检索系统中的用户端)。
本发明提供的一种基于语义近似关键字排序搜索技术的数据加密方法及其装置、数据加密检索系统,针对文档索引向量跨维度关键字间关系进行研究,利用关键字的词干提取、同义词组合并聚类等方式,实现关键字的语义近似匹配,同时提高检索结果文档的相关性以及检索的效率,具有更完善的功能和更高的效率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语″包括″、″包含″或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句″包括一个......″限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (6)

1.一种数据加密方法,其特征在于,所述方法包括:
初始化步骤:从数据中提取关键字集合,并建立原始关键字字典,进而建立相应的关键字词干字典和关键字同义词字典,并为所述原始关键字字典中的关键字建立用于字形模糊匹配的单词向量;
秘钥生成步骤:根据多个字典生成相应的秘钥;
索引构建步骤:根据字典与映射关系为每个文档建立索引向量,并进行聚类;
数据加密步骤:对所述索引向量进行加密;且
其中,所述初始化步骤具体包括:
根据所述关键字集合生成所述原始关键字字典D,其中,所述原始关键字字典D的长度为n;
利用词干提取算法对所述关键字集合进行处理以得到关键字的词干,从而生成所述关键字词干字典D1,同时生成所述原始关键字字典D与所述关键字词干字典D1之间的映射表Map1,其中,所述关键字词干字典D1的长度为n1
对得到的关键字的词干的集合进行同义词组合处理,从而生成所述关键字同义词字典D2,同时生成所述原始关键字字典D与所述关键字同义词字典D2之间的映射表Map2,其中,所述关键字同义词字典D2的长度为n2
为所述原始关键字字典D中的每个关键字建立单词向量,将每个关键字分别拆分为二元字母组合与一元字母组合,并映射到一个预设长度的向量中,
其中,所述秘钥生成步骤具体包括:
随机生成第一秘钥SK1(L1,L2,R),其中,L1,L2是两个大小为(n+2)×(n+2)的随机可逆矩阵,R∈{0,1}(n+2)为一随机向量;
随机生成第二秘钥SK1(M1,M2,S),其中,M1,M2是两个大小为(n1+2)×(n1+2)的随机可逆矩阵,
Figure FDA0002479438110000011
为一随机向量;
随机生成第三秘钥SK1(N1,N2,T),其中,N1,N2是两个大小为(n2+2)×(n2+2)的随机可逆矩阵,
Figure FDA0002479438110000021
为一随机向量,
其中,所述索引构建步骤具体包括:
根据所述原始关键字字典D分别将每个文档F中的关键字映射到长度为n的向量中,从而为每个文档F建立长度为n的原始索引向量I;
根据所述原始关键字字典D、所述关键字词干字典D1以及所述映射表Map1分别将每个文档F中的关键字映射到长度为n1的向量中,从而为每个文档F建立长度为n1的词干索引向量I1
根据所述原始关键字字典D、所述关键字词干字典D1、所述关键字同义词字典D2以及所述映射表Map1、所述映射表Map2分别将每个文档F中的关键字映射到长度为n2的向量中,从而为每个文档F建立长度为n2的同义词索引向量I2
利用预设算法分别对索引向量集合{I}、{I1}、{I2}进行聚类以得到各自聚类后的索引集合,其中,所述预设算法具体包括:
(1)将N个文档按照每个文档各自的权值总和从大到小进行排序,依次选取文档,计算每次选取的文档与已选取的聚类中心的相关性得分,若相关性得分小于预设阈值Th,则选为初始聚类中心C,直至所述初始聚类中心C数量达到预设值k;
(2)测量剩余的每个文档F到每个质心的距离,并归到最近的质心的类;
(3)重新计算已经得到的各个类的质心;
(4)迭代(2)~(3)步直至新的质心与原质心相等或小于指定阈值TC
2.如权利要求1所述的数据加密方法,其特征在于,所述数据加密步骤包括对所述原始索引向量I、所述词干索引向量I1、所述同义词索引向量I2分别进行加密,
其中,对所述原始索引向量I加密的方法包括:
将I扩展至(n+2)维,其中第(n+1)维设置为随机值ε1,第(n+2)维设置为1;
根据以下规则将所述原始索引向量I分裂为{I′,I″}:对于向量中的每个元素ij∈I,i′j∈I′,i″j∈I″,rj∈R,如果rj=1则设置ij=i′j=i″j,否则设置
Figure FDA0002479438110000031
δ1为一随机数;
利用L1,L2将{I′,I″}加密为{L1 TI′,L2 TI″},输出Enc(I)={L1 TI′,L2 TI″},作为最终加密的原始索引向量I;
其中,对所述词干索引向量I1加密的方法包括:
将I1扩展至(n1+2)维,其中第(n1+1)维设置为随机值ε2,第(n1+2)维设置为1;
根据以下规则将所述词干索引向量I1分裂为{I1′,I1″}:对于向量中的每个元素i1j∈I1,i′1j∈I1′,i″1j∈I1″,sj∈S,如果sj=1则设置i1j=i′1j=i″1j,否则设置
Figure FDA0002479438110000032
δ2为一随机数;
利用M1,M2将{I1′,I1″}加密为{M1 TI1′,M2 TI1″},输出Enc(I1)={M1 TI1′,M2 TI1″},作为最终加密的词干索引向量I1
其中,对所述同义词索引向量I2加密的方法包括:
将I2扩展至(n2+2)维,其中第(n2+1)维设置为随机值ε3,第(n2+2)维设置为1;
根据以下规则将所述同义词索引向量I2分裂为{I2′,I2″}:对于向量中的每个元素i2j∈I2,i′2j∈I2′,i″2j∈I2″,tj∈T,如果tj=1则设置i2j=i′2j=i″2j,否则设置
Figure FDA0002479438110000033
δ3为一随机数;
利用N1,N2将{I2′,I2″}加密为{N1 TI2′,N2 TI2″},输出Enc(I2)={N1 TI2′,N2 TI2″},作为最终加密的同义词索引向量I2
将最终加密的原始索引向量I、最终加密的词干索引向量I1、最终加密的同义词索引向量I2这三种类型的加密索引向量及对应的密文上传至云端。
3.如权利要求2所述的数据加密方法,其特征在于,所述方法还包括:
检索阶段步骤,具体包括:
对用户提交的关键字集合进行预处理,替换掉不存在于所述原始关键字字典D的关键字,以生成可在所述原始关键字字典D中查到全部关键字的关键字集合;
根据用户的精度需求为用户生成相应的陷门从而实现不同类型的匹配策略;
根据用户不同的需求,利用向量内积公式对用户提交的陷门与相应的加密索引进行匹配计算并依照相关性得分进行排序,以及返回相应的结果给用户。
4.一种数据加密装置,其特征在于,所述装置包括:
初始化模块,用于从数据中提取关键字集合,并建立原始关键字字典,进而建立相应的关键字词干字典和关键字同义词字典,并为所述原始关键字字典中的关键字建立用于字形模糊匹配的单词向量;
秘钥生成模块,用于根据多个字典生成相应的秘钥;
索引构建模块,用于根据字典与映射关系为每个文档建立索引向量,并进行聚类;
数据加密模块,用于对所述索引向量进行加密;且
其中,所述初始化模块具体用于:
根据所述关键字集合生成所述原始关键字字典D,其中,所述原始关键字字典D的长度为n;
利用词干提取算法对所述关键字集合进行处理以得到关键字的词干,从而生成所述关键字词干字典D1,同时生成所述原始关键字字典D与所述关键字词干字典D1之间的映射表Map1,其中,所述关键字词干字典D1的长度为n1
对得到的关键字的词干的集合进行同义词组合处理,从而生成所述关键字同义词字典D2,同时生成所述原始关键字字典D与所述关键字同义词字典D2之间的映射表Map2,其中,所述关键字同义词字典D2的长度为n2
为所述原始关键字字典D中的每个关键字建立单词向量,将每个关键字分别拆分为二元字母组合与一元字母组合,并映射到一个预设长度的向量中,
其中,所述秘钥生成模块具体用于:
随机生成第一秘钥SK1(L1,L2,R),其中,L1,L2是两个大小为(n+2)×(n+2)的随机可逆矩阵,R∈{0,1}(n+2)为一随机向量;
随机生成第二秘钥SK1(M1,M2,S),其中,M1,M2是两个大小为(n1+2)×(n1+2)的随机可逆矩阵,
Figure FDA0002479438110000051
为一随机向量;
随机生成第三秘钥SK1(N1,N2,T),其中,N1,N2是两个大小为(n2+2)×(n2+2)的随机可逆矩阵,
Figure FDA0002479438110000052
为一随机向量,
其中,所述索引构建模块具体用于:
根据所述原始关键字字典D分别将每个文档F中的关键字映射到长度为n的向量中,从而为每个文档F建立长度为n的原始索引向量I;
根据所述原始关键字字典D、所述关键字词干字典D1以及所述映射表Map1分别将每个文档F中的关键字映射到长度为n1的向量中,从而为每个文档F建立长度为n1的词干索引向量I1
根据所述原始关键字字典D、所述关键字词干字典D1、所述关键字同义词字典D2以及所述映射表Map1、所述映射表Map2分别将每个文档F中的关键字映射到长度为n2的向量中,从而为每个文档F建立长度为n2的同义词索引向量I2
利用预设算法分别对索引向量集合{I}、{I1}、{I2}进行聚类以得到各自聚类后的索引集合,其中,所述预设算法具体包括:
(1)将N个文档按照每个文档各自的权值总和从大到小进行排序,依次选取文档,计算每次选取的文档与已选取的聚类中心的相关性得分,若相关性得分小于预设阈值Th,则选为初始聚类中心C,直至所述初始聚类中心C数量达到预设值k;
(2)测量剩余的每个文档F到每个质心的距离,并归到最近的质心的类;
(3)重新计算已经得到的各个类的质心;
(4)迭代(2)~(3)步直至新的质心与原质心相等或小于指定阈值TC
5.如权利要求4所述的数据加密装置,其特征在于,所述数据加密模块用于对所述原始索引向量I、所述词干索引向量I1、所述同义词索引向量I2分别进行加密,
其中,对所述原始索引向量I加密的方法包括:
将I扩展至(n+2)维,其中第(151+1)维设置为随机值ε1,第(n+2)维设置为1;
根据以下规则将所述原始索引向量I分裂为{I′,I″}:对于向量中的每个元素ij∈I,i′j∈I′,i″j∈I″,rj∈R,如果rj=1则设置ij=i′j=i″j,否则设置
Figure FDA0002479438110000061
δ1为一随机数;
利用L1,L2将{I′,I″}加密为{L1 TI′,L2 TI″},输出Enc(I)={L1 TI′,L2 TI″},作为最终加密的原始索引向量I;
其中,对所述词干索引向量I1加密的方法包括:
将I1扩展至(n1+2)维,其中第(n1+1)维设置为随机值ε2,第(n1+2)维设置为1;
根据以下规则将所述词干索引向量I1分裂为{I1′,I1″}:对于向量中的每个元素i1j∈I1,i′1j∈I1′,i″1j∈I1″,sj∈S,如果sj=1则设置i1j=i′1j=i″1j,否则设置
Figure FDA0002479438110000062
δ2为一随机数;
利用M1,M2将{I1′,I1″}加密为(M1 TI1′,M2 TI1″},输出Enc(I1)={M1 TI1′,M2 TI1″},作为最终加密的词干索引向量I1
其中,对所述同义词索引向量I2加密的方法包括:
将I2扩展至(n2+2)维,其中第(n2+1)维设置为随机值ε3,第(n2+2)维设置为1;
根据以下规则将所述同义词索引向量I2分裂为{I2′,I2″}:对于向量中的每个元素i2j∈I2,i′2j∈I2′,i″2j∈I2″,tj∈T,如果tj=1则设置i2j=i′2j=i″2j,否则设置
Figure FDA0002479438110000063
δ3为一随机数;
利用N1,N2将{I2′,I2″}加密为{N1 TI2′,N2 TI2″},输出Enc(I2)={N1 TI2′,N2 TI2″},作为最终加密的同义词索引向量I2
将最终加密的原始索引向量I、最终加密的词干索引向量I1、最终加密的同义词索引向量I2这三种类型的加密索引向量及对应的密文上传至云端。
6.一种数据加密检索系统,其特征在于,所述系统包括:
如权利要求4或5所述的数据加密装置;
用户端;
云端服务器;
其中,所述用户端将其需要检索的关键字通过安全信道提交给所述数据加密装置,所述数据加密装置根据所述用户端的语义精度需求为用户生成相应的陷门,然后由所述用户端提交给所述云端服务器,所述云端服务器收到所述用户端的陷门之后将会对密文进行检索并将检索的结果返回给所述用户端。
CN201810778444.6A 2018-07-16 2018-07-16 数据加密方法及其装置、数据加密检索系统 Expired - Fee Related CN109255244B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810778444.6A CN109255244B (zh) 2018-07-16 2018-07-16 数据加密方法及其装置、数据加密检索系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810778444.6A CN109255244B (zh) 2018-07-16 2018-07-16 数据加密方法及其装置、数据加密检索系统

Publications (2)

Publication Number Publication Date
CN109255244A CN109255244A (zh) 2019-01-22
CN109255244B true CN109255244B (zh) 2020-08-11

Family

ID=65049177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810778444.6A Expired - Fee Related CN109255244B (zh) 2018-07-16 2018-07-16 数据加密方法及其装置、数据加密检索系统

Country Status (1)

Country Link
CN (1) CN109255244B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100987A (zh) * 2020-09-27 2020-12-18 中国建设银行股份有限公司 一种多源数据字典的转码方法及装置
CN113065146A (zh) * 2021-04-02 2021-07-02 浙江永旗区块链科技有限公司 一种用于区块链数据保护的同态加密方法
CN114417387B (zh) * 2022-01-24 2023-09-22 中国电子科技集团公司第五十四研究所 基于语义内涵的消息加密方法
CN115277267B (zh) * 2022-09-30 2022-12-02 北京道达天际科技股份有限公司 一种文档安全加解密方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326360B (zh) * 2016-08-10 2019-04-09 武汉科技大学 一种云环境中密文数据的模糊多关键词检索方法
CN108259172B (zh) * 2018-01-12 2021-02-05 哈尔滨工业大学深圳研究生院 云存储系统中的密文搜索方法

Also Published As

Publication number Publication date
CN109255244A (zh) 2019-01-22

Similar Documents

Publication Publication Date Title
CN109255244B (zh) 数据加密方法及其装置、数据加密检索系统
CN108712366B (zh) 云环境中支持词形词义模糊检索的可搜索加密方法及系统
CN107220343B (zh) 基于局部敏感哈希的中文多关键词模糊排序密文搜索方法
US11048966B2 (en) Method and device for comparing similarities of high dimensional features of images
CN106815350B (zh) 一种云环境中动态的密文多关键词模糊搜索方法
CN106951411B (zh) 一种云计算中保护数据隐私的快速多关键词语义排序搜索方法
CN106997384B (zh) 一种排序可验证的语义模糊可搜索加密方法
CN108021658B (zh) 一种基于鲸鱼优化算法的大数据智能搜索方法及系统
Fu et al. Privacy-preserving smart similarity search based on simhash over encrypted data in cloud computing
CN109992978B (zh) 信息的传输方法、装置及存储介质
CN112257455B (zh) 一种语义理解的密文空间关键字检索方法及系统
JP6722615B2 (ja) クエリクラスタリング装置、方法、及びプログラム
CN107273467A (zh) 一种支持可搜索加密的安全索引结构及其构造方法
CN115757676A (zh) 模糊可搜索加密方法、装置及电子设备
CN109165520B (zh) 数据加密方法及其装置、数据加密检索系统
CN111859421A (zh) 一种基于词向量的多关键字密文存储、检索方法及系统
Raghavendra et al. MSSS: most significant single-keyword search over encrypted cloud data
Mittal et al. Privacy preserving synonym based fuzzy multi-keyword ranked search over encrypted cloud data
Raghavendra et al. IGSK: index generation on split keyword for search over cloud data
CN112328733B (zh) 基于MinHash函数的中文多关键字模糊排序可搜索加密方法
CN105426490A (zh) 一种基于树形结构的索引方法
CN111966778B (zh) 一种基于关键词分组倒排索引的多关键词密文排序检索方法
CN112328626B (zh) 面向云环境的支持模糊关键词排序的可搜索加密方法
CN114528370A (zh) 动态多关键字模糊排序搜索方法及系统
CN114398660A (zh) 一种基于Word2vec和ASPE的高效模糊可搜索加密方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200811

Termination date: 20210716

CF01 Termination of patent right due to non-payment of annual fee