CN106407822A - 一种关键词、多关键词可搜索加密方法和*** - Google Patents

一种关键词、多关键词可搜索加密方法和*** Download PDF

Info

Publication number
CN106407822A
CN106407822A CN201610824508.2A CN201610824508A CN106407822A CN 106407822 A CN106407822 A CN 106407822A CN 201610824508 A CN201610824508 A CN 201610824508A CN 106407822 A CN106407822 A CN 106407822A
Authority
CN
China
Prior art keywords
key word
ind
search
key
file
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.)
Granted
Application number
CN201610824508.2A
Other languages
English (en)
Other versions
CN106407822B (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201610824508.2A priority Critical patent/CN106407822B/zh
Publication of CN106407822A publication Critical patent/CN106407822A/zh
Application granted granted Critical
Publication of CN106407822B publication Critical patent/CN106407822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种关键词、多关键词可搜索加密方法和***,关键词可搜索加密方法中,在加密过程中通过随机参数和***公开系数生成公钥,然后通过公钥和私钥针对文件中的关键词进行加密得到关键词密文,针对用户输入的关键词,搜索关键词密文即可搜索到用户需要搜索的密文,具有计算开销小、算法简单、速度快及适合多用户模型的优点。多关键词可搜索加密方法中,采用结构树存储每个文件中的各关键词,通过随机参数和***公开系数生成公钥,结构树隐藏部分根据公钥建立文件中各关键词与其密文之间的联系,加密得到文件中各关键词密文;对用户输入的多个关键词,通过搜索到各关键词的密文才可搜索到用户需要搜索的云端密文,具有安全性更好的优点。

Description

一种关键词、多关键词可搜索加密方法和***
技术领域
本发明涉及信息安全技术领域,特别涉及一种关键词可搜索加密***和方法及多关键词可搜索加密方法、***。
背景技术
近年来,随着云计算技术和云服务产品的迅猛发展,云技术得到了人们广泛地关注,例如云网络存储工具Dropbox、亚马逊简易储存服务(Amazon simple storageservice)和微软的云计算平台Windows Azure等。因为其方便快捷的特性,越来越多的用户选择将本地的数据迁移到云端服务器中,以此来节省本地的数据管理开销和***维护开支。但是由于数据脱离了用户的物理控制而存储在云端,云端服务器管理员和非法用户(如黑客等不具有访问权限的用户)可以尝试通过访问数据来试图获取数据所包含的信息,这将可能造成数据信息和用户隐私的泄露。近年来,由于黑客的非法入侵和云端服务器管理员的不当操作造成了多起云安全事故的发生,直接导致了大量用户资料和私人数据的泄露,例如Sony公司在2011年由于黑客入侵导致上亿用户资料外泄事故和Google公司在2011年发生的Gmail大规模用户数据泄露事件等,这些频繁发生的云事故,让用户开始更加审慎考虑当数据存放在云端时的安全性以及自己的个人隐私是否能够得到有效保护等问题。
为了保证数据的机密性,越来越多的公司和个人用户选择对数据进行加密,并将数据以密文形式存储在云端服务器,但是当用户需要寻找包含某个关键字的相关文件时,将会遇到如何在云端服务器的密文进行搜索操作的难题。一种最简单的方法是将所有密文数据下载到本地进行解密,然后在文件上进行关键字搜索,但是这种操作不仅因为很多不需要的数据浪费了庞大的网络开销和存储开销,而且用户也需要因为解密和搜索操作付出巨大的计算开销;另外,这种方法也极不适用于低带宽的网络环境中。而另一种极端的方法是将密钥和关键字发给云端服务器,让云端服务器解密密文数据,并进行文件上的搜索操作。但是这种做法又将让用户的个人数据重新曝光于云端服务器管理员和非法用户的视线之下,严重威胁到数据的安全和用户的个人隐私。
为了更好地解决这个问题,可搜索加密在1996年的时候首次被提出,并在近几年中得到了研究者广泛研究和发展。可搜索加密方案允许远程服务器根据用户提供的搜索凭证在无法学习任何关于文件信息的情况下对密文数据进行搜索。但在当前可搜索加密的研究领域中,基于对称加密的可搜索加密方案,虽然具有计算开销小、算法简单、速度快的优点,但仅适用于单用户模型中,不符合如今各种应用的需求;而基于非对称加密的可搜索加密方案虽然适用于多用户模型,但现存的方案算法通常较为复杂,加解密速度较慢,难以实现和用于实际应用中。
发明内容
本发明的第一目的在于克服现有技术的缺点与不足,提供一种关键词可搜索加密方法,该加密方法对文件中的关键词进行加密得到关键词密文,使得云端密文通过关键词密文的搜索而获取到,具有计算开销小、算法简单、速度快以及适合多用户模型的优点。
本发明的第二目的在于提供一种用于实现上述关键词可搜索加密方法的关键词可搜索加密***。
本发明的第三目的在于提供一种多关键词可搜索加密方法,该加密方法使得云端密文通过多关键词实现搜索,在多个关键词匹配的情况下才能搜索成功,具有高效的搜索效率而且不会泄露搜索模式的信息,保证了安全性。
本发明的第四目的在于提一种用于实现上述多关键词可搜索加密方法的多关键词可搜索加密***。
本发明的第一目的通过下述技术方案实现:一种关键词可搜索加密方法,步骤如下:
S1、***初始化,在基于输入的安全参数下生成***公开系数;
S2、根据用户随机选择的第一参数以及***公开系数生成用户的公钥和私钥;
S3、根据随机选择的第二参数和用户的公钥对文件中关键词进行加密,得到关键词密文。
优选的,针对步骤S3中得到的关键词密文,在用户输入关键词时通过以下步骤进行搜索,具体如下:
S4、根据随机选择的第三参数、用户的私钥和用户输入的关键词计算得到陷门;
S5、根据陷门搜索关键词密文,搜索到包含用户输入关键词的关键词密文。
更进一步的,
所述步骤S1中***初始化具体如下:在基于输入的安全参数k下生成***公开系数,其中***公开系数包括乘法群G、乘法群生成元g和双线性映射e:G×G→GT
所述步骤S2中用户的公钥和私钥生成过程如下:首先根据用户随机选择的第一参数x和y计算X和Y,其中x,y∈Zp,Zp为一个素数阶群,计算得到X=gx,Y=e(g,g)y;然后生成用户的公钥PK=(X,Y),私钥sk=(x,y);
所述步骤S3中用户的公钥对文件中关键词进行加密的过程具体如下:首先随机选择第二参数s,其中s∈Zp,利用公钥对关键词w进行加密,得到关键词密文C=(C1,C2,C3),其中C1=YH(w)·s,C2=gs,C3=X3,H(w)为关键词w的哈希值。
更进一步的,所述步骤S4中计算得到的陷门为Tr为:Tr=(gr,gy·H(w)·gxr);其中r为随机选择的第三参数,r∈Zp
所述步骤S5中将陷门Tr=(gr,gy·H(w)·gxr)记为Tr=(A,B),即A=gr,B=gy·H(w)·gxr,根据陷门Tr=(A,B)判断各关键词密文是否满足以下条件:
将满足上述条件的关键词密文作为搜索结果。
本发明的第二目的通过下述技术方案实现:一种用于实现上述所述的关键词可搜索加密方法的关键词可搜索加密***,其特征在于,包括第一初始化模块、第一密钥生成模块、第一加密模块、第一陷门模块和第一搜索模块,其中
第一初始化模块,用于在基于输入的安全参数下生成***公开系数;
第一密钥生成模块,用于根据用户随机选择的参数以及***公开参数生成用户的公钥和私钥;
第一加密模块,用于通过用户的公钥对文件中关键词进行加密,得到关键词密文;
所述第一加密模块得到的关键词密文通过第一密文搜索模块进行搜索;其中第一密文搜索模块包括
第一陷门模块,用于根据随机选择的第三参数、用户的私钥和用户输入的关键词生成陷门;
第一搜索模块,用于根据陷门搜索关键词密文,搜索到包含用户输入关键词的关键词密文。
本发明的第三目的通过下述技术方案实现:一种多关键词可搜索加密方法,步骤如下:
X1、***初始化:在基于输入的安全参数k下生成***公开系数,其中***公开系数包括乘法群G、乘法群生成元g和双线性映射e:G×G→GT
X2、首先根据用户随机选择的第一参数x和y计算X和Y,其中x,y∈Zp,Zp是一个素数阶群,计算得到X=gx,Y=e(g,g)y;然后生成用户的公钥PK=(X,Y),私钥sk=(x,y);
X3、将每个关键词w以树的方式存储构成结构树,针对结构树进行以下初始化:
随机选择第二参数s,其中s∈Zp,根据第二参数s初始化结构树中的公开参数Pub=(gs,Xs);针对***中每个不同的关键词wf,根据第二参数s将结构树中的隐藏部分初始化为Pri=(s,{(wf,Pt[s,wf]))|wf∈W});其中Pt[s,wf]为关键词w在结构树隐藏部分对应的随机数,其中W是关键词的取值空间,f=1,2,3,…,F′,F′是***中不同的关键词的总数;
X4、通过结构树的隐藏部分建立不同文件中同一个关键词之间的联系,并且针对每个文件中inda中的各关键词waj进行加密,加密得到各关键词waj的密文,具体过程如下:
X4-1、随机选择第三参数r和第四参数R,其中r∈Zp,R∈GT,针对各文件inda中各关键词waj搜索结构树隐藏部分,判断结构树隐藏部分中是否存在(waj,Pt[s,waj]);其中a=1,2,3,…,I,I为文件总数;j=1,2,3,…,m,m为各文件inda中关键词总数;
若存在,则计算各关键词密文C=(C1,C2,C3,C4),其中C1=Pt[s,waj],C2=gr,C3=Xr然后令Pt[s,waj]=R,H(waj)为关键词waj的哈希值;
若不存在,则表示关键词waj相关的文件还没有被***结构树的隐藏部分中,此时令Pt[s,waj]为第四参数R,即Pt[s,waj]=R,然后将(waj,Pt[s,waj])***至结构树的隐藏部分;并计算各关键词密文C=(C1,C2,C3,C4),其中,C2=gr;C3=XrH(waj)为关键词waj的哈希值;
X4-2、建立集合对于每个文件inda,随机选择随机数然后对每个文件inda中每个关键词waj分别建立标签tagaj其中a=1,2,3,…,I,j=1,2,3,…,J,J为对应每个文件inda中关键词的总数;将标签tagaj***集合TSet中,然后在服务器中存储集合TSet以及步骤X4-1中生成的各关键词密文。
优选的,针对步骤X4中得到的密文,在输入w1AND(Op(w2,w3,…,wn))的多关键词搜索时通过以下步骤进行搜索,其中Op指的是w2至wn的运算关系,为逻辑和运算或者逻辑或运算,具体如下:
X5、根据步骤X4中随机选择的第三参数r计算关键词w1,w2,…,wn的陷门Tr,其中n为用户输入的关键词总数;为关键词wi对应的陷门;
X6、首先令结构树中的公开参数为Pub=(A,B),其中A=gs,B=Xs;令其中E=gr令集合然后根据关键词w1对应的陷门进行密文搜索,搜索到带关键词w1的所有关键词密文,具体如下:
X6-1、计算Pt′=e(A,D1)/e(B,E);
X6-2、在关键词密文中进行全文搜索,寻找满足C1=Pt′的关键词密文,并且将寻找到的关键词密文***到集合C′中,然后执行步骤X6-3;若未寻找到,则直接返回集合C′;
X6-3、根据步骤X6-2中寻找到的当前关键词密文计算Pt′,其中Pt′=C4·e(C3,E)/e(C2,D1),然后返回步骤X6-2;
X7、通过步骤X6搜索到包含关键词w1所有密文,从而获取到带关键词w1的每个文件indb,其中b∈[1,2,3,…,I];根据文件indb获取到信息,然后计算针对每个文件indb判断Tag(wi,indb)是否在集合TSet,若Op为逻辑或运算,则将Tag(w2,indb)至Tag(wn,indb)其中一个在集合TSet中的文件indb作为搜索结果,若Op为逻辑与运算,则将Tag(w2,indb)至Tag(wn,indb)其中一个在集合TSet中的文件indb作为搜索结果。
更进一步的,所述步骤X7中,针对每个文件indb判断Tag(wi,indb)是否在集合TSet,若存在,则对应Exp(Tag(wi,indb))=1,若不存在,则对应Exp(Tag(wi,indb))=0;
判断包含关键词w1的各文件indb是否满足以下条件:
op(w2,w3,…,wn)=
Exp(Tag(w2,indb))op Exp(Tag(w3,indb)),…,opExp(Tag(wn,indb))=1;
将对应满足以上条件的文件indb作为搜索结果,其中op表示逻辑运算,当Op为逻辑或运算时,满足Exp(Tag(w2,indb))至Exp(Tag(wn,indb))其中一个结果为1的文件即为搜索结果,当Op为逻辑与运算时,满足Exp(Tag(w2,indb))至Exp(Tag(wn,indb))所有结果为1的文件即为搜索结果。
本发明的第四目的通过下述技术方案实现:一种用于实现上述所述的多关键词可搜索加密方法的多关键词可搜索加密***,包括第二初始化模块、第二密钥生成模块、结构树初始化模块和第二加密模块;
第二初始化模块,用于在基于输入的安全参数k下生成***公开系数,其中***公开系数包括乘法群G、乘法群生成元g和双线性映射e:G×G→GT
第二密钥生成模块,用于根据用户随机选择的第一参数x和y计算X和Y,其中x,y∈Zp,Zp是一个素数阶群,计算得到X=gx,Y=e(g,g)y;然后生成用户的公钥PK=(X,Y),私钥sk=(x,y);
结构树模块,用于存储各文件的关键词;用于随机选择第二参数s,其中s∈Zp,根据第二参数s初始化结构树中的公开参数Pub=(gs,Xs);用于针对***中不同的关键词wf根据第二参数s将结构树中的隐藏部分初始化为Pri=(s,{(wf,Pt[s,wf]))|wf∈W});其中Pt[s,wf]为关键词wf在结构树隐藏部分对应的随机数,其中W是关键词的取值空间,f=1,2,3,…,F′,F′是***中不同的关键词的总数;
第二加密模块,用于通过结构树的隐藏部分建立各关键词与其密文之间的联系,即加密得到各关键词的密文,具体为:用于随机选择第三参数r和第四参数R,其中r∈Zp,R∈GT;用于针对各文件inda中各关键词waj搜索结构树隐藏部分,判断结构树隐藏部分中是否存在(waj,Pt[s,waj]);其中a=1,2,3,…,I,I为文件总数;j=1,2,3,…,m,m为各文件inda中关键词总数;;若存在,则用于计算各关键词密文C=(C1,C2,C3,C4),其中,C2=gr;C3=XrPt[s,waj],H(waj)为关键词waj的哈希值;然后令Pt[s,waj]=R;若不存在,则表示关键词waj相关的文件还没有被***结构树的隐藏部分中,此时令Pt[s,waj]为第四参数R,即Pt[s,waj]=R,然后用于将(waj,Pt[s,waj])***至结构树的隐藏部分;并用于计算各关键词密文C=(C1,C2,C3,C4),其中,C2=gr;C3=XrPt[s,waj],H(waj)为关键词wi的哈希值;用于建立集合对于每个文件inda,随机选择随机数用于对每个文件inda中每个关键词waj分别建立标签tagaj其中a=1,2,3,…,I,j=1,2,3,…,J,J为对应每个文件inda中关键词的总数;用于标签tagaj***集合TSet中,然后在服务器中存储集合TSet以及生成的所有的关键词密文。
优选的,所述第二加密模块得到的关键词密文通过第二密文搜索模块进行搜索;其中第二密文搜索模块包括第二陷门模块和第二搜索模块;
第二陷门模块,针对于用户输入的关键词w1AND(Op(w2,w3,…,wn)),用于根据步骤加密模块中随机选择的第三参数r计算关键词w1,w2,…,wn的陷门Tr,其中i=1,2,3,…,n,n为用户输入的关键词总数;为关键词wi对应的陷门;
第二搜索模块,用于令结构树中的公开参数为Pub=(A,B),其中A=gs,B=Xs;令其中E=gr令集合然后用于根据关键词w1对应的陷门进行密文搜索,搜索到带关键词w1的所有密文;
所述第二搜索模块在搜索到包含关键词w1所有密文后,获取到带关键词w1的每个文件indb,其中b∈[1,2,3,…,I];所述第二搜索模块用于根据文件indb获取到信息,然后计算 所述第二搜索模块用于针对每个文件indb判断Tag(wi,indb)是否在集合TSet,若Op为逻辑或运算,则将Tag(w2,indb)至Tag(wn,indb)其中一个在集合TSet中的文件indb作为搜索结果,若Op为逻辑与运算,则将Tag(w2,indb)至Tag(wn,indb)其中一个在集合TSet中的文件indb作为搜索结果。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明关键词可搜索加密方法中,在加密过程中通过随机参数和***公开系数生成公钥,然后通过公钥和私钥针对文件中的关键词进行加密得到关键词密文,在搜索过程针对用户输入的关键词,搜索关键词密文即可搜索到用户需要搜索的密文,具有计算开销小、算法简单、速度快以及适合多用户模型的优点。另外本发明在搜索过程中通过随机参数和私钥生成用户输入关键词的陷门,根据陷门对关键词密文进行搜索,相比现有技术,本发明对陷门进行了改进,采用了一个随机性算法,可以***露搜索模式的信息,对相同的输入在很大概率上产生不同的输出,以达到保护搜索模式信息提高安全性的目的。
(2)本发明多关键词可搜索加密方法中,采用结构树存储每个文件中的各个关键词,通过随机参数和***公开系数生成公钥,结构树隐藏部分建立不同文件中相同关键词直接的联系,并且加密得到文件中各关键词密文;在搜索过程针对用户输入的多个关键词,通过搜索到各个关键词的密文才可搜索到用户需要搜索的云端密文,具有安全性更好的优点。另外本发明在搜索过程中通过随机参数和私钥分别生成用户输入的各关键词的陷门,根据第一个陷门以及结构树公开参数寻找到包括第一个关键词的所有文件,然后获取到包含第一关键词的所有文件相关信息,并用给定的陷门计算其他各关键词对应标签Tag,然后判断各个标签是否包含在关键词标签集合TSet中,当其他各关键词的逻辑运算为“或”时,则将其中一个标签包含在集合TSet中的文件作为搜索结果,当其他各关键词的逻辑运算为“与”时,则将所有标签包含在集合TSet中的文件indb作为搜索结果,因此本发明方法通过关键词匹配判断出用户输入的所有关键词的文件,在多个关键词匹配的情况下才能搜索成功,本发明多关键词可搜索加密方法使得在海量的数据中能够快速并准确的找到所需要的文件,具有高效的搜索效率而且不会泄露搜索模式的信息,保证了安全性。
(3)本发明多关键词可搜索加密方法中在搜索过程中,判断各文件对应用户输入的各关键词的标签是否包含在关键词标签集合TSet中,当在的时候,定义对应关键词的Exp(Tag)为1时,否则为0,针对各文件,每个关键词执行此操作,然后将执行结果为1的对应文件作为搜索结果,本发明基于逻辑判断的基材上得到搜索结果,进一步提高了搜索效率。
附图说明
图1是本发明关键词可搜索加密***结构框图。
图2是本发明多关键词可搜索加密***结构框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
本实施例公开了一种关键词可搜索加密方法,步骤如下:
S1、***初始化,在基于输入的安全参数下生成***公开系数。具体如下:在基于输入的安全参数k下生成***公开系数,其中***公开系数包括乘法群G、乘法群生成元g和双线性映射e:G×G→GT
S2、根据用户随机选择的第一参数以及***公开系数生成用户的公钥和私钥。具体过程如下:
首先根据用户随机选择的第一参数x和y计算X和Y,其中x,y∈Zp,Zp为一个素数阶群,计算得到X=gx,Y=e(g,g)y;然后生成用户的公钥PK=(X,Y),私钥sk=(x,y)。
S3、根据随机选择的第二参数和用户的公钥对文件中关键词进行加密,得到关键词密文。
本步骤中用户的公钥对文件中关键词进行加密的过程具体如下:首先随机选择第二参数s,其中s∈Zp,利用公钥对关键词w进行加密,得到关键词密文C=(C1,C2,C3),其中C1=YH(w)·s,C2=gs,C3=X3,H(w)为关键词w的哈希值。
S4、根据随机选择的第三参数、用户的私钥和用户输入的关键词计算得到陷门。本步骤中获取到的陷门为Tr为:Tr=(gr,gy·H(w)·gxr);其中r为随机选择的第三参数,r∈Zp
S5、根据陷门搜索关键词密文,搜索到包含用户输入关键词的关键词密文。具体如下:本步骤中将陷门Tr=(gr,gy·H(w)·gxr)记为Tr=(A,B),即A=gr,B=gy·H(w)·gxr,根据陷门Tr=(A,B)判断各关键词密文是否满足以下条件:
将满足上述条件的关键词密文作为搜索结果。
本实施例还公开了一种用于实现上述关键词可搜索加密方法的关键词可搜索加密***,如图1所示,包括第一初始化模块、第一密钥生成模块、第一加密模块、第一陷门模块和第一搜索模块,其中
第一初始化模块,用于在基于输入的安全参数下生成***公开系数;
第一密钥生成模块,用于根据用户随机选择的参数以及***公开参数生成用户的公钥和私钥;
第一加密模块,用于通过用户的公钥对文件中关键词进行加密,得到关键词密文;
所述第一加密模块得到的关键词密文通过第一密文搜索模块进行搜索;其中第一密文搜索模块包括
第一陷门模块,用于根据随机选择的第三参数、用户的私钥和用户输入的关键词生成陷门;
第一搜索模块,用于根据陷门搜索关键词密文,搜索到包含用户输入关键词的关键词密文。
本实施例上述关键词可搜索加密方法中,在加密过程中通过随机参数和***公开系数生成公钥,然后通过公钥和私钥针对文件中的关键词进行加密得到关键词密文,在搜索过程针对用户输入的关键词,搜索关键词密文即可搜索到用户需要搜索的密文,具有计算开销小、算法简单、速度快以及适合多用户模型的优点。另外在搜索过程中通过随机参数和私钥生成用户输入关键词的陷门,根据陷门对关键词密文进行搜索,相比现有技术,本实施例对陷门进行了改进,采用了一个随机性算法,可以***露搜索模式的信息,对相同的输入在很大概率上产生不同的输出,以达到保护搜索模式信息提高安全性的目的。
本实施例还公开了一种多关键词可搜索加密方法,步骤如下:
X1、***初始化:在基于输入的安全参数k下生成***公开系数,其中***公开系数包括乘法群G、乘法群生成元g和双线性映射e:G×G→GT
X2、首先根据用户随机选择的第一参数x和y计算X和Y,其中x,y∈Zp,Zp为一个素数阶群,计算得到X=gx,Y=e(g,g)y;然后生成用户的公钥PK=(X,Y),私钥sk=(x,y);
X3、将每个关键词w以树的方式存储构成结构树,针对结构树进行以下初始化:
随机选择第二参数s,其中s∈Zp,根据第二参数s初始化结构树中的公开参数Pub=(gs,Xs);针对***中每个不同的关键词wf,根据第二参数s将结构树中的隐藏部分初始化为Pri=(s,{(wf,Pt[s,wf]))|wf∈W});其中Pt[s,wf]为关键词w在结构树隐藏部分对应的随机数,其中W是关键词的取值空间,f=1,2,3,…,F′,F′是***中不同的关键词的总数;
X4、通过结构树的隐藏部分建立不同文件中同一个关键词之间的联系,并且针对每个文件中inda中的各关键词waj进行加密,加密得到各关键词waj的密文,具体过程如下:
X4-1、随机选择第三参数r和第四参数R,其中r∈Zp,R∈GT,针对文件中各关键词waj搜索结构树隐藏部分,判断结构树隐藏部分中是否存在(waj,Pt[s,waj]);其中a=1,2,3,…,I,I为文件总数;j=1,2,3,…,m,m为各文件inda中关键词总数;由于其他文件中有可能已经存在和该文件各inda关键词waj相同的关键词,因此此时就结构树隐藏部分中就可能存在(waj,Pt[s,waj])值。
若存在,则计算各关键词密文C=(C1,C2,C3,C4),其中C1=Pt[s,waj],C2=gr,C3=Xr然后令Pt[s,waj]=R,H(waj)为关键词waj的哈希值;
若不存在,则表示关键词waj相关的文件还没有被***结构树的隐藏部分中,此时令Pt[s,waj]为第四参数R,即Pt[s,waj]=R,然后将(waj,Pt[s,waj])***至结构树的隐藏部分;并计算各关键词密文C=(C1,C2,C3,C4),其中,C2=gr,C3=XrH(waj)为关键词waj的哈希值;
X4-2、建立集合对于每个文件inda,随机选择随机数然后对每个文件inda中每个关键词waj分别建立标签tagaj其中a=1,2,3,…,I,j=1,2,3,…,J,J为对应每个文件inda中关键词的总数;将标签tagaj***集合TSet中,然后在服务器中存储集合TSet以及步骤X4-1中生成的各关键词密文。
针对步骤X4中得到的密文,在输入关键词w1,w2,…,wn时通过以下步骤进行搜索,具体如下:
X5、根据步骤X4中随机选择的第三参数r计算关键词w1,w2,…,wn的陷门Tr,其中n为用户输入的关键词总数;为关键词wi对应的陷门;
X6、首先令结构树中的公开参数为Pub=(A,B),其中A=gs,B=Xs;令其中E=gr令集合然后根据关键词w1对应的陷门进行密文搜索,搜索到带关键词w1的所有关键词密文,具体如下:
X6-1、计算Pt′=e(A,D1)/e(B,E);
X6-2、在关键词密文中进行全文搜索,寻找满足C1=Pt′的关键词密文,并且将寻找到的关键词密文***到集合C′中,然后执行步骤X6-3;若未寻找到,则直接返回集合C′;
X6-3、根据步骤X6-2中寻找到的当前关键词密文计算Pt′,其中Pt′=C4·e(C3,E)/e(C2,D1),然后返回带步骤X6-2;
X7、通过步骤X6搜索到包含关键词w1所有密文,从而获取到带关键词w1的每个文件indb,其中b∈[1,2,3,…,I];根据文件indb获取到信息,然后计算针对每个文件indb判断Tag(wi,indb)是否在集合TSet,若Op为逻辑或运算,则将Tag(w2,indb)至Tag(wn,indb)其中一个在集合TSet中的文件indb作为搜索结果,若Op为逻辑与运算,则将Tag(w2,indb)至Tag(wn,indb)其中一个在集合TSet中的文件indb作为搜索结果。
步骤X7中,针对每个文件indb判断Tag(wi,indb)是否在集合TSet,若存在,则对应Exp(Tag(wi,indb))=1,若不存在,则对应Exp(Tag(wi,indb))=0;
判断包含关键词w1的各文件indb是否满足以下条件:
op(w2,w3,…,wn)=
Exp(Tag(w2,indb))op Exp(Tag(w3,indb)),…,opExp(Tag(wn,indb))=1;
将对应满足以上条件的文件indb作为搜索结果。其中op表示逻辑运算,当Op为逻辑或运算时,即搜索带关键词w1和w2至wn中的其中一个关键词时,满足Exp(Tag(w2,indb))至Exp(Tag(wn,indb))其中一个结果为1的文件即为搜索结果,当Op为逻辑与运算时,即搜索带关键词w1至wn的文件时,满足Exp(Tag(w2,indb))至Exp(Tag(wn,indb)所有结果为1的文件即为搜索结果。
如图3所示,本实施例还公开了一种用于实现上述多关键词可搜索加密方法的多关键词可搜索加密***,包括第二初始化模块、第二密钥生成模块、结构树初始化模块、第二加密模块;
第二初始化模块,用于在基于输入的安全参数k下生成***公开系数,其中***公开系数包括乘法群G、乘法群生成元g和双线性映射e:G×G→GT
第二密钥生成模块,用于根据用户随机选择的第一参数x和y计算X和Y,其中x,y∈Zp,Zp是一个素数阶群,计算得到X=gx,Y=e(g,g)y;然后生成用户的公钥PK=(X,Y),私钥sk=(x,y);
结构树模块,用于存储各文件中的关键词;用于随机选择第二参数s,其中s∈Zp,根据第二参数s初始化结构树中的公开参数Pub=(gs,Xs);用于针对每个文件inda中的每个关键词waj根据第二参数s将结构树中的隐藏部分初始化为Pri=(s,{(waj,Pt[s,waj]))|waj∈W});其中Pt[s,waj]为文件中每个关键词wi在结构树隐藏部分对应的随机数,其中j=1,2,3,…,m,m为各文件inda中关键词总数的,a=1,2,3,…,I,I为文件总数;
第二加密模块,用于通过结构树的隐藏部分建立各关键词与其密文之间的联系,即加密得到各关键词的密文,具体为:用于随机选择第三参数r和第四参数R,其中r∈Zp,R∈GT;用于针对文件中各关键词wi搜索结构树隐藏部分判断结构树隐藏部分中是否存在(wi,Pt[s,wi]);若存在,则用于计算各关键词密文C=(C1,C2,C3,C4),其中,C2=gr;C3=XrPt[s,waj],H(waj)为关键词waj的哈希值;然后令Pt[s,waj]=R;若不存在,则表示关键词waj相关的文件还没有被***结构树的隐藏部分中,此时令Pt[s,waj]为第四参数R,即Pt[s,waj]=R,然后用于将(waj,Pt[s,waj])***至结构树的隐藏部分;并用于计算各关键词密文C=(C1,C2,C3,C4),其中,C2=gr;C3=XrH(waj)为关键词wi的哈希值;用于建立集合对于每个文件inda,随机选择随机数用于对每个文件inda中每个关键词waj分别建立标签tagaj其中a=1,2,3,…,I,j=1,2,3,…,J,J为对应每个文件inda中关键词的总数;用于标签tagaj***集合TSet中,然后在服务器中存储集合TSet以及生成的所有的密文。
本实施例中第二加密模块得到的关键词密文通过第二密文搜索模块进行搜索;其中第二密文搜索模块包括第二陷门模块和第二搜索模块;
第二陷门模块,针对于用户输入的关键词w1AND(Op(w2,w3,…,wn)),用于根据步骤加密模块中随机选择的第三参数r计算关键词w1,w2,…,wn的陷门Tr,其中n为用户输入的关键词总数;为关键词wi对应的陷门;
第二搜索模块,用于令结构树中的公开参数为Pub=(A,B),其中A=gs,B=Xs;令其中E=gr令集合然后用于根据关键词w1对应的陷门进行密文搜索,搜索到带关键词w1的所有密文,具体搜索步骤如X6-1至X6-2所示;
第二搜索模块在搜索到包含关键词w1所有密文后,获取到带关键词w1的每个文件indb,其中b∈[1,2,3,…,I];所述第二搜索模块用于根据文件indb获取到信息,然后计算 所述第二搜索模块用于针对每个文件indb判断Tag(wi,indb)是否在集合TSet,若Op为逻辑或运算,则将Tag(w2,indb)至Tag(wn,indb)其中一个在集合TSet中的文件indb作为搜索结果,若Op为逻辑与运算,则将Tag(w2,indb)至Tag(wn,indb)其中一个在集合TSet中的文件indb作为搜索结果。
本实施例上述多关键词可搜索加密方法采用结构树存储每个文件中的各个关键词,通过随机参数和***公开系数生成公钥,结构树隐藏部分建立不同文件中相同关键词之间的联系,并且加密得到文件中各关键词密文;在搜索过程针对用户输入的多个关键词,通过搜索到各个关键词的密文才可搜索到用户需要搜索的云端密文,具有安全性更好的优点。本实施例上述多关键词可搜索加密方法在搜索过程中通过随机参数和私钥分别生成用户输入的各关键词的陷门,根据第一个陷门以及结构树公开参数寻找到包括第一个关键词的所有文件,然后获取到包含第一关键词的所有文件相关信息,并用给定的陷门计算其他关键词的一个标签Tag,当其他各关键词的逻辑运算为“或”时,则将其中一个标签包含在集合TSet中的文件作为搜索结果,当其他各关键词的逻辑运算为“与”时,则将所有标签包含在集合TSet中的文件indb作为搜索结果,因此本发明方法通过关键词匹配判断出用户输入的所有关键词的文件,在多个关键词匹配的情况下才能搜索成功,本发明多关键词可搜索加密方法使得在海量的数据中能够快速并准确的找到所需要的文件,具有高效的搜索效率而且不会泄露搜索模式的信息,保证了安全性。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种关键词可搜索加密方法,其特征在于,步骤如下:
S1、***初始化,在基于输入的安全参数下生成***公开系数;
S2、根据用户随机选择的第一参数以及***公开系数生成用户的公钥和私钥;
S3、根据随机选择的第二参数和用户的公钥对文件中关键词进行加密,得到关键词密文。
2.根据权利要求1所述的关键词可搜索加密方法,其特征在于,针对步骤S3中得到的关键词密文,在用户输入关键词时通过以下步骤进行搜索,具体如下:
S4、根据随机选择的第三参数、用户的私钥和用户输入的关键词计算得到陷门;
S5、根据陷门搜索关键词密文,搜索到包含用户输入关键词的关键词密文。
3.根据权利要求2所述的关键词可搜索加密方法,其特征在于,
所述步骤S1中***初始化具体如下:在基于输入的安全参数k下生成***公开系数,其中***公开系数包括乘法群G、乘法群生成元g和双线性映射e:G×G→GT
所述步骤S2中用户的公钥和私钥生成过程如下:首先根据用户随机选择的第一参数x和y计算X和Y,其中x,y∈Zp,Zp为一个素数阶群,计算得到X=gx,Y=e(g,g)y;然后生成用户的公钥PK=(X,Y),私钥sk=(x,y);
所述步骤S3中用户的公钥对文件中关键词进行加密的过程具体如下:首先随机选择第二参数s,其中s∈Zp,利用公钥对关键词w进行加密,得到关键词密文C=(C1,C2,C3),其中C1=YH(w)·s,C2=gs,C3=X3,H(w)为关键词w的哈希值。
4.根据权利要求3所述的关键词可搜索加密方法,其特征在于,
所述步骤S4中计算得到的陷门为Tr为:Tr=(gr,gy·H(w)·gxr);其中r为随机选择的第三参数,r∈Zp
所述步骤S5中将陷门Tr=(gr,gy·H(w)·gxr)记为Tr=(A,B),即A=gr,B=gy·H(w)·gxr,根据陷门Tr=(A,B)判断各关键词密文是否满足以下条件:
C 1 = e ( C 2 , B ) e ( C 3 , A ) ;
将满足上述条件的关键词密文作为搜索结果。
5.一种用于实现权利要求1所述的关键词可搜索加密方法的关键词可搜索加密***,其特征在于,包括第一初始化模块、第一密钥生成模块、第一加密模块、第一陷门模块和第一搜索模块,其中
第一初始化模块,用于在基于输入的安全参数下生成***公开系数;
第一密钥生成模块,用于根据用户随机选择的参数以及***公开参数生成用户的公钥和私钥;
第一加密模块,用于通过用户的公钥对文件中关键词进行加密,得到关键词密文;
所述第一加密模块得到的关键词密文通过第一密文搜索模块进行搜索;其中第一密文搜索模块包括
第一陷门模块,用于根据随机选择的第三参数、用户的私钥和用户输入的关键词生成陷门;
第一搜索模块,用于根据陷门搜索关键词密文,搜索到包含用户输入关键词的关键词密文。
6.一种多关键词可搜索加密方法,其特征在于,步骤如下:
X1、***初始化:在基于输入的安全参数k下生成***公开系数,其中***公开系数包括乘法群G、乘法群生成元g和双线性映射e:G×G→GT
X2、首先根据用户随机选择的第一参数x和y计算X和Y,其中x,y∈Zp,Zp是一个素数阶群,计算得到X=gx,Y=e(g,g)y;然后生成用户的公钥PK=(X,Y),私钥sk=(x,y);
X3、将每个关键词w以树的方式存储构成结构树,针对结构树进行以下初始化:
随机选择第二参数s,其中s∈Zp,根据第二参数s初始化结构树中的公开参数Pub=(gs,Xs);针对***中每个不同的关键词wf,根据第二参数s将结构树中的隐藏部分初始化为Pri=(s,{(wf,Pt[s,wf])|wf∈W});其中Pt[s,wf]为关键词w在结构树隐藏部分对应的随机数,其中W是关键词的取值空间,f=1,2,3,…,F′,F′是***中不同的关键词的总数;
X4、通过结构树的隐藏部分建立不同文件中同一个关键词之间的联系,并且针对每个文件中inda中的各关键词waj进行加密,加密得到各关键词waj的密文,具体过程如下:
X4-1、随机选择第三参数r和第四参数R,其中r∈Zp,R∈GT,针对各文件inda中各关键词waj搜索结构树隐藏部分,判断结构树隐藏部分中是否存在(waj,Pt[s,waj]);其中a=1,2,3,…,I,I为文件总数;j=1,2,3,…,m,m为各文件inda中关键词总数;
若存在,则计算各关键词密文C=(C1,C2,C3,C4),其中C1=Pt[s,waj],C2=gr,C3=Xr然后令Pt[s,waj]=R,H(waj)为关键词waj的哈希值;
若不存在,则表示关键词waj相关的文件还没有被***结构树的隐藏部分中,此时令Pt[s,waj]为第四参数R,即Pt[s,waj]=R,然后将(waj,Pt[s,waj])***至结构树的隐藏部分;并计算各关键词密文C=(C1,C2,C3,C4),其中,C2=gr;C3=XrH(waj)为关键词waj的哈希值;
X4-2、建立集合对于每个文件inda,随机选择随机数然后对每个文件inda中每个关键词waj分别建立标签tagaj其中a=1,2,3,…,I,j=1,2,3,…,J,J为对应每个文件inda中关键词的总数;将标签tagaj***集合TSet中,然后在服务器中存储集合TSet以及步骤X4-1中生成的各关键词密文。
7.根据权利要求6所述的多关键词可搜索加密方法,其特征在于,针对步骤X4中得到的密文,在输入w1AND(Op(w2,w3,…,wn))的多关键词搜索时通过以下步骤进行搜索,其中Op指的是w2至wn的运算关系,为逻辑和运算或者逻辑或运算,具体如下:
X5、根据步骤X4中随机选择的第三参数r计算关键词w1,w2,…,wn的陷门Tr,其中i=1,2,3,…,n,n为用户输入的关键词总数;为关键词wi对应的陷门;
X6、首先令结构树中的公开参数为Pub=(A,B),其中A=gs,B=Xs;令其中E=gr令集合然后根据关键词w1对应的陷门进行密文搜索,搜索到带关键词w1的所有关键词密文,具体如下:
X6-1、计算Pt′=e(A,D1)/e(B,E);
X6-2、在关键词密文中进行全文搜索,寻找满足C1=Pt′的关键词密文,并且将寻找到的关键词密文***到集合C′中,然后执行步骤X6-3;若未寻找到,则直接返回集合C′;
X6-3、根据步骤X6-2中寻找到的当前关键词密文计算Pt′,其中Pt′=C4·e(C3,E)/e(C2,D1),然后返回步骤X6-2;
X7、通过步骤X6搜索到包含关键词w1所有密文,从而获取到带关键词w1的每个文件indb,其中b∈[1,2,3,…,I];根据文件indb获取到信息,然后计算i=2,3,…,n;针对每个文件indb判断Tag(wi,indb)是否在集合TSet,若Op为逻辑或运算,则将Tag(w2,indb)至Tag(wn,indb)其中一个在集合TSet中的文件indb作为搜索结果,若Op为逻辑与运算,则将Tag(w2,indb)至Tag(wn,indb)其中一个在集合TSet中的文件indb作为搜索结果。
8.根据权利要求7所述的多关键词可搜索加密方法,其特征在于,所述步骤X7中,针对每个文件indb判断Tag(wi,indb)是否在集合TSet,若存在,则对应Exp(Tag(wi,indb))=1,若不存在,则对应Exp(Tag(wi,indb))=0;
判断包含关键词w1的各文件indb是否满足以下条件:
op(w2,w3,…,wn)=
Exp(Tag(w2,indb))op Exp(Tag(w3,indb)),…,op Exp(Tag(wn,indb))=1;
将对应满足以上条件的文件indb作为搜索结果,其中op表示逻辑运算,当Op为逻辑或运算时,满足Exp(Tag(w2,indb))至Exp(Tag(wn,indb))其中一个结果为1的文件即为搜索结果,当Op为逻辑与运算时,满足Exp(Tag(w2,indb))至Exp(Tag(wn,indb))所有结果为1的文件即为搜索结果。
9.一种用于实现权利要求6所述的多关键词可搜索加密方法的多关键词可搜索加密***,其特征在于,包括第二初始化模块、第二密钥生成模块、结构树初始化模块和第二加密模块;
第二初始化模块,用于在基于输入的安全参数k下生成***公开系数,其中***公开系数包括乘法群G、乘法群生成元g和双线性映射e:G×G→GT
第二密钥生成模块,用于根据用户随机选择的第一参数x和y计算X和Y,其中x,y∈Zp,Zp是一个素数阶群,计算得到X=gx,Y=e(g,g)y;然后生成用户的公钥PK=(X,Y),私钥sk=(x,y);
结构树模块,用于存储各文件的关键词;用于随机选择第二参数s,其中s∈Zp,根据第二参数s初始化结构树中的公开参数Pub=(gs,Xs);用于针对***中不同的关键词wf根据第二参数s将结构树中的隐藏部分初始化为Pri=(s,{(wf,Pt[s,wf]))|wf∈W});其中Pt[s,wf]为关键词wf在结构树隐藏部分对应的随机数,其中W是关键词的取值空间,f=1,2,3,…,F′,F′是***中不同的关键词的总数;
第二加密模块,用于通过结构树的隐藏部分建立各关键词与其密文之间的联系,即加密得到各关键词的密文,具体为:用于随机选择第三参数r和第四参数R,其中r∈Zp,R∈GT;用于针对各文件inda中各关键词waj搜索结构树隐藏部分,判断结构树隐藏部分中是否存在(waj,Pt[s,waj]);其中a=1,2,3,…,I,I为文件总数;j=1,2,3,…,m,m为各文件inda中关键词总数;;若存在,则用于计算各关键词密文C=(C1,C2,C3,C4),其中,C2=gr;C3=XrH(waj)为关键词waj的哈希值;然后令Pt[s,waj]=R;若不存在,则表示关键词waj相关的文件还没有被***结构树的隐藏部分中,此时令Pt[s,waj]为第四参数R,即Pt[s,waj]=R,然后用于将(waj,Pt[s,waj])***至结构树的隐藏部分;并用于计算各关键词密文C=(C1,C2,C3,C4),其中,C2=gr;C3=XrPt[s,waj],H(waj)为关键词wi的哈希值;用于建立集合对于每个文件inda,随机选择随机数用于对每个文件inda中每个关键词waj分别建立标签tagaj其中a=1,2,3,…,I,j=1,2,3,…,J,J为对应每个文件inda中关键词的总数;用于标签tagaj***集合TSet中,然后在服务器中存储集合TSet以及生成的所有的关键词密文。
10.根据权利要求9所述的多关键词可搜索加密***,其特征在于,所述第二加密模块得到的关键词密文通过第二密文搜索模块进行搜索;其中第二密文搜索模块包括第二陷门模块和第二搜索模块;
第二陷门模块,针对于用户输入的关键词w1AND(Op(w2,w3,…,wn)),用于根据步骤加密模块中随机选择的第三参数r计算关键词w1,w2,…,wn的陷门Tr,其中i=1,2,3,…,n,n为用户输入的关键词总数;为关键词wi对应的陷门;
第二搜索模块,用于令结构树中的公开参数为Pub=(A,B),其中A=gs,B=XS;令其中E=gr令集合然后用于根据关键词w1对应的陷门进行密文搜索,搜索到带关键词w1的所有密文;
所述第二搜索模块在搜索到包含关键词w1所有密文后,获取到带关键词w1的每个文件indb,其中b∈[1,2,3,…,I];所述第二搜索模块用于根据文件indb获取到信息,然后计算 i=2,3,…,n;所述第二搜索模块用于针对每个文件indb判断Tag(wi,indb)是否在集合TSet,若Op为逻辑或运算,则将Tag(w2,indb)至Tag(wn,indb)其中一个在集合TSet中的文件indb作为搜索结果,若Op为逻辑与运算,则将Tag(w2,indb)至Tag(wn,indb)其中一个在集合TSet中的文件indb作为搜索结果。
CN201610824508.2A 2016-09-14 2016-09-14 一种关键词、多关键词可搜索加密方法和*** Active CN106407822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610824508.2A CN106407822B (zh) 2016-09-14 2016-09-14 一种关键词、多关键词可搜索加密方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610824508.2A CN106407822B (zh) 2016-09-14 2016-09-14 一种关键词、多关键词可搜索加密方法和***

Publications (2)

Publication Number Publication Date
CN106407822A true CN106407822A (zh) 2017-02-15
CN106407822B CN106407822B (zh) 2019-06-18

Family

ID=57996776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610824508.2A Active CN106407822B (zh) 2016-09-14 2016-09-14 一种关键词、多关键词可搜索加密方法和***

Country Status (1)

Country Link
CN (1) CN106407822B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122449A (zh) * 2017-04-25 2017-09-01 安徽大学 一种多用户环境下基于公钥加密的文件分类方法和***
CN108011713A (zh) * 2017-11-16 2018-05-08 南京邮电大学 一种云存储中基于同态加密的密文检索方法
CN108156140A (zh) * 2017-12-13 2018-06-12 西安电子科技大学 一种支持数值属性比较的多关键字可搜索加密方法
CN108416037A (zh) * 2018-03-14 2018-08-17 安徽大学 云环境中基于两级索引的中心关键词密文搜索方法
CN108551390A (zh) * 2018-03-20 2018-09-18 南京航空航天大学 一种无须安全信道的带关键词搜索公钥加密方法
CN108599937A (zh) * 2018-04-20 2018-09-28 西安电子科技大学 一种多关键字可搜索的公钥加密方法
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索***
CN108694186A (zh) * 2017-04-07 2018-10-23 阿里巴巴集团控股有限公司 数据发送方法及服务器应用、计算设备及计算机可读介质
CN108920967A (zh) * 2018-06-28 2018-11-30 深信服科技股份有限公司 一种数据处理方法、装置、终端和计算机存储介质
CN109088719A (zh) * 2018-08-14 2018-12-25 重庆第二师范学院 外包数据库多关键词可验证密文搜索方法、数据处理***
CN109672525A (zh) * 2018-12-14 2019-04-23 华中科技大学 一种具有高效前向索引的可搜索公钥加密方法及***
CN110602064A (zh) * 2019-08-29 2019-12-20 河海大学 一种支持多关键字搜索的基于身份加密方法与***
CN110851481A (zh) * 2019-11-08 2020-02-28 青岛大学 一种可搜索加密方法、装置、设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408177A (zh) * 2014-12-15 2015-03-11 西安电子科技大学 基于云文档***的密文检索方法
CN104993931A (zh) * 2015-06-05 2015-10-21 东南大学 一种云存储中多用户的加密搜索方法
CN105007161A (zh) * 2015-06-12 2015-10-28 电子科技大学 一种陷门无法识别的模糊关键字公钥搜索加密方案
CN105007258A (zh) * 2015-05-22 2015-10-28 华中科技大学 一种快速关键字可搜索公钥加密方法
CN105024802A (zh) * 2015-07-13 2015-11-04 西安理工大学 云存储中基于双线性对的多用户多关键词可搜索加密方法
CN105024812A (zh) * 2015-07-13 2015-11-04 西安理工大学 云存储中基于身份的指定测试者的可搜索的加密方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408177A (zh) * 2014-12-15 2015-03-11 西安电子科技大学 基于云文档***的密文检索方法
CN105007258A (zh) * 2015-05-22 2015-10-28 华中科技大学 一种快速关键字可搜索公钥加密方法
CN104993931A (zh) * 2015-06-05 2015-10-21 东南大学 一种云存储中多用户的加密搜索方法
CN105007161A (zh) * 2015-06-12 2015-10-28 电子科技大学 一种陷门无法识别的模糊关键字公钥搜索加密方案
CN105024802A (zh) * 2015-07-13 2015-11-04 西安理工大学 云存储中基于双线性对的多用户多关键词可搜索加密方法
CN105024812A (zh) * 2015-07-13 2015-11-04 西安理工大学 云存储中基于身份的指定测试者的可搜索的加密方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108694186A (zh) * 2017-04-07 2018-10-23 阿里巴巴集团控股有限公司 数据发送方法及服务器应用、计算设备及计算机可读介质
CN107122449A (zh) * 2017-04-25 2017-09-01 安徽大学 一种多用户环境下基于公钥加密的文件分类方法和***
CN108011713A (zh) * 2017-11-16 2018-05-08 南京邮电大学 一种云存储中基于同态加密的密文检索方法
CN108011713B (zh) * 2017-11-16 2020-11-20 南京邮电大学 一种云存储中基于同态加密的密文检索方法
CN108156140B (zh) * 2017-12-13 2020-10-30 西安电子科技大学 一种支持数值属性比较的多关键字可搜索加密方法
CN108156140A (zh) * 2017-12-13 2018-06-12 西安电子科技大学 一种支持数值属性比较的多关键字可搜索加密方法
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索***
CN108416037A (zh) * 2018-03-14 2018-08-17 安徽大学 云环境中基于两级索引的中心关键词密文搜索方法
CN108416037B (zh) * 2018-03-14 2021-07-23 安徽大学 云环境中基于两级索引的中心关键词密文搜索方法
CN108551390A (zh) * 2018-03-20 2018-09-18 南京航空航天大学 一种无须安全信道的带关键词搜索公钥加密方法
CN108599937A (zh) * 2018-04-20 2018-09-28 西安电子科技大学 一种多关键字可搜索的公钥加密方法
CN108599937B (zh) * 2018-04-20 2020-10-09 西安电子科技大学 一种多关键字可搜索的公钥加密方法
CN108920967A (zh) * 2018-06-28 2018-11-30 深信服科技股份有限公司 一种数据处理方法、装置、终端和计算机存储介质
CN108920967B (zh) * 2018-06-28 2022-08-05 深信服科技股份有限公司 一种数据处理方法、装置、终端和计算机存储介质
CN109088719B (zh) * 2018-08-14 2019-06-04 重庆第二师范学院 外包数据库多关键词可验证密文搜索方法、数据处理***
CN109088719A (zh) * 2018-08-14 2018-12-25 重庆第二师范学院 外包数据库多关键词可验证密文搜索方法、数据处理***
CN109672525A (zh) * 2018-12-14 2019-04-23 华中科技大学 一种具有高效前向索引的可搜索公钥加密方法及***
CN110602064A (zh) * 2019-08-29 2019-12-20 河海大学 一种支持多关键字搜索的基于身份加密方法与***
CN110851481A (zh) * 2019-11-08 2020-02-28 青岛大学 一种可搜索加密方法、装置、设备及可读存储介质
CN110851481B (zh) * 2019-11-08 2022-06-28 青岛大学 一种可搜索加密方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN106407822B (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
CN106407822B (zh) 一种关键词、多关键词可搜索加密方法和***
CN105262843B (zh) 一种针对云存储环境的数据防泄漏保护方法
Vaidya et al. Privacy-preserving data mining: Why, how, and when
CN104038349B (zh) 一种基于kp‑abe的有效可验证的公钥可搜索加密方法
CN104021157B (zh) 云存储中基于双线性对的关键词可搜索加密方法
CN106022155B (zh) 用于数据库安全管理的方法及服务器
CN105610910B (zh) 面向云存储并基于全同态密码的密文全文检索方法及***
CN105049196B (zh) 云存储中指定位置的多个关键词可搜索的加密方法
CN109493017A (zh) 基于区块链的可信外包存储方法
CN108833077A (zh) 基于同态ou密码的外包分类器加解密方法
CN108171066A (zh) 一种医疗云中隐私保护下的关键词跨域搜索方法及***
CN104022866A (zh) 云存储中多用户密文关键词可搜索的加密方法
CN105024802A (zh) 云存储中基于双线性对的多用户多关键词可搜索加密方法
CN109361644A (zh) 一种支持快速搜索和解密的模糊属性基加密方法
CN104052740A (zh) 云存储中可验证的基于词典的可搜索加密方法
CN110392038A (zh) 一种多用户场景下可验证的多密钥可搜索加密方法
Cheng et al. A privacy-preserving image retrieval scheme based secure kNN, DNA coding and deep hashing
CN108170753A (zh) 一种共有云中Key-Value数据库加密与安全查询的方法
Malik et al. A homomorphic approach for security and privacy preservation of Smart Airports
CN106250453A (zh) 基于云存储的数值型数据的密文检索方法及装置
Wang et al. An effective verifiable symmetric searchable encryption scheme in cloud computing
Islam et al. Poster: Inference attacks against searchable encryption protocols
Shen et al. Privacy-preserving approximate top-K nearest keyword queries over encrypted graphs
Kumar et al. Privacy Protection in Personalized Web Search Using Software Applications–Tools and Plug-Ins
Chaudhari et al. An In-Depth Analysis on Efficiency and Vulnerabilities on a Cloud-Based Searchable Symmetric Encryption Solution

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant