CN110489998A - 一种可搜索加密方法、装置、设备及可读存储介质 - Google Patents

一种可搜索加密方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN110489998A
CN110489998A CN201910774467.4A CN201910774467A CN110489998A CN 110489998 A CN110489998 A CN 110489998A CN 201910774467 A CN201910774467 A CN 201910774467A CN 110489998 A CN110489998 A CN 110489998A
Authority
CN
China
Prior art keywords
encryption
file
key
search
keyword
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
CN201910774467.4A
Other languages
English (en)
Other versions
CN110489998B (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.)
Qingdao University
Original Assignee
Qingdao University
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 Qingdao University filed Critical Qingdao University
Priority to CN201910774467.4A priority Critical patent/CN110489998B/zh
Publication of CN110489998A publication Critical patent/CN110489998A/zh
Application granted granted Critical
Publication of CN110489998B publication Critical patent/CN110489998B/zh
Expired - Fee Related 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption

Abstract

本申请公开了一种可搜索加密方法,该方法中的第一端可以直接将目标集合中的随机数确定为其私钥,并为用户生成用于关键字搜索的聚合密钥,该聚合密钥不会因为需要搜索的文件数量增多而增多,从而降低了第一端的计算和通信开销;用户存储的密钥也不会因为需要搜索的文件数量而增大,从而降低了用户端的存储、计算和通信开销。云服务端也无需进行大量指数运算,如此则明显降低了云服务端的计算量。如上所述,本申请可以降低可搜索加密方案的计算、存储和通信开销。相应地,本申请公开的一种可搜索加密装置、设备及可读存储介质,也同样具有上述技术效果。

Description

一种可搜索加密方法、装置、设备及可读存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种可搜索加密方法、装置、设备及可读存储介质。
背景技术
在可搜索加密方案中,包括:数据拥有者端、用户端和云服务端。其中,数据拥有者端用于上传加密文件至云服务端;云服务端用于存储加密文件;用户端用户从云服务端搜索加密文件。
在现有的可搜索加密方案中,云服务端需要通过指数运算来生成大量参数,这些参数可用于生成用户搜索加密文件的密钥。但是指数运算会增加云服务端计算开销和通信开销。在对称可搜索加密方案中,用户搜索加密文件的密钥与用户搜索的文件一一对应,也就是一个加密文件对应一个密钥;那么当用户搜索的加密文件较多时,用户端就需要提前存储较多的密钥,如此会增加用户端的存储开销。当对大量文件进行关键字搜索时,用户端需要计算大量的陷门发给云服务端,如此则增加了用户端的计算和通信开销。又由于用户搜索加密文件的密钥是数据拥有者端计算得到的,因此当加密文件较多时,也会增加数据拥有者端的计算和通信开销。
因此,如何降低可搜索加密方案中的计算量、存储和通信开销,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种可搜索加密方法、装置、设备及可读存储介质,以降低可搜索加密方案中的计算量、存储和通信开销。其具体方案如下:
第一方面,本申请提供了一种可搜索加密方法,应用于数据拥有者对应的第一端,包括:
从目标集合中获取第一随机数和第二随机数,并将第一随机数和第二随机数确定为第一端对应的私钥;目标集合为预设整数集合;
从目标集合中获取多个第三随机数,并将每个第三随机数确定为每个文件对应的安全索引;
利用私钥和安全索引子集计算目标用户对应的聚合密钥;安全索引子集为目标用户对应的加密文件子集中的每个加密文件对应的安全索引组成的集合;目标用户为数据拥有者授权搜索加密文件的任一个用户;
将聚合密钥发送给目标用户,以使目标用户利用聚合密钥在云服务端搜索加密文件;云服务端存储有第一端发送的加密文件集合;加密文件子集为加密文件集合的子集。
优选地,第一端发送加密文件集合至云服务端,包括:
从目标集合中获取第四随机数,并将第四随机数确定为加密文件的对称密钥;
利用对称密钥加密每个文件,获得加密文件集合;
利用对称密钥、私钥对应的公钥和每个安全索引,分别计算每个加密文件对应的文件参数对,获得文件参数对集合;
按照第一公式计算每个关键字对应的关键字密文,获得关键字密文集合;每个加密文件对应多个关键字,第一公式为:
其中,CW表示任一个关键字对应的关键字密文,W表示任一个关键字;τ表示对称密钥,τ∈Zp,Zp为目标集合;H(W)表示任一个关键字的哈希值;g和h均为G中的生成元,G为p阶的乘法循环群,且G存在于双线性映射系统B中,B=(p,G,G1,e(·,·));n≤p≤k,n表示加密文件集合中的加密文件的个数,k为预设安全参数,G1为p阶的乘法循环群,e(·,·)为双线性映射:G×G→G1;G、G1和e(·,·)构成所述双线性映射系统B;
将加密文件集合、文件参数对集合和关键字密文集合发送至云服务端。
优选地,利用私钥和安全索引子集计算目标用户对应的聚合密钥之前,还包括:
按照第三公式计算每个安全索引对应的公开索引,获得公开索引集合;第三公式为:pkindex=(βI1,βI2,...,βIn);
其中,pkindex表示公开索引集合,I1,I2……In分别表示n个安全索引,β为第二随机数;n表示加密文件集合中的加密文件的个数,n≤p≤k,k为预设安全参数。
优选地,利用私钥和安全索引子集计算目标用户对应的聚合密钥,包括:
按照第四公式计算聚合密钥,第四公式为:
其中,kagg,0和kagg,1共同构成聚合密钥Kagg,Kagg=(kagg,0,kagg,1);S表示加密文件子集,|S|表示加密文件子集中的加密文件的个数;Ii表示加密文件子集中的第i个加密文件对应的安全索引;α为第一随机数,β为第二随机数。
优选地,目标用户利用聚合密钥在云服务端搜索加密文件,包括:
目标用户输入聚合密钥和待搜索的关键字至目标用户对应的第二端,以使第二端计算待搜索的关键字的哈希值,并利用聚合密钥和待搜索的关键字的哈希值计算聚合陷门,将聚合陷门发送至云服务端;
云服务端利用与目标用户对应的加密文件子集中的每个加密文件对应的文件参数对,以及聚合陷门分别计算加密文件子集中的每个加密文件对应的关键字,并判断计算得到的关键字与待搜索的关键字是否一致;若是,则将待搜索的关键字对应的加密文件返回给目标用户。
优选地,第二端利用聚合密钥和待搜索的关键字的哈希值计算聚合陷门,包括:
第二端按照第五公式计算待搜索的关键字的聚合陷门,第五公式为:
Tr=kagg,0 H(W)kagg,1
其中,Tr表示聚合陷门,H(W)表示待搜索的关键字的哈希值,kagg,0和kagg,1共同构成聚合密钥Kagg,Kagg=(kagg,0,kagg,1)。
优选地,从目标集合中获取第一随机数和第二随机数之前,还包括:
云服务端根据安全参数生成双线性映射系统,并选择单向哈希函数;生成包含双线性映射系统、单向哈希函数和生成元的系统参数;将系统参数发送至第一端和第二端。
第二方面,本申请提供了一种可搜索加密装置,应用于数据拥有者对应的第一端,包括:
第一获取模块,用于从目标集合中获取第一随机数和第二随机数,并将第一随机数和第二随机数确定为第一端对应的私钥;目标集合为预设整数集合;
第二获取模块,用于从目标集合中获取多个第三随机数,并将每个第三随机数确定为每个文件对应的安全索引;
计算模块,用于利用私钥和安全索引子集计算目标用户对应的聚合密钥;安全索引子集为目标用户对应的加密文件子集中的每个加密文件对应的安全索引组成的集合;目标用户为数据拥有者授权搜索加密文件的任一个用户;
发送模块,用于将聚合密钥发送给目标用户,以使目标用户利用聚合密钥在云服务端搜索加密文件;云服务端存储有第一端发送的加密文件集合;加密文件子集为加密文件集合的子集。
第三方面,本申请提供了一种可搜索加密设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序,以实现前述公开的可搜索加密方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,计算机程序被处理器执行时实现前述公开的可搜索加密方法。
通过以上方案可知,本申请提供了一种可搜索加密方法,应用于数据拥有者对应的第一端,包括:从目标集合中获取第一随机数和第二随机数,并将第一随机数和第二随机数确定为第一端对应的私钥;目标集合为预设整数集合;从目标集合中获取多个第三随机数,并将每个第三随机数确定为每个文件对应的安全索引;利用私钥和安全索引子集计算目标用户对应的聚合密钥;安全索引子集为目标用户对应的加密文件子集中的每个加密文件对应的安全索引组成的集合;目标用户为数据拥有者授权搜索加密文件的任一个用户;将聚合密钥发送给目标用户,以使目标用户利用聚合密钥在云服务端搜索加密文件;云服务端存储有第一端发送的加密文件集合;加密文件子集为加密文件集合的子集。
可见,所述方法中的数据拥有者对应的第一端可以直接将目标集合中的第一随机数和第二随机数确定为其私钥,并为用户生成一个用于关键字搜索的聚合密钥,该聚合密钥不会因为需要搜索的文件数量增多而增多,如此则降低了第一端的计算和通信开销。同时,用户存储的密钥的长度也不会因为需要搜索的文件数量而增大,如此则降低了用户端的存储开销,以及搜索文件时的计算和通信开销。云服务端也无需进行大量指数运算以生成与文件数量相对应的参数,而只需第一端从目标集合中获取多个第三随机数,便可为聚合密钥的生成提供参数,如此则明显降低了云服务端的计算量。如上所述,本申请可以降低数据拥有者对应的第一端、用户端以及云服务端的通信开销,从而降低了可搜索加密方案的计算、存储和通信开销。
相应地,本申请提供的一种可搜索加密装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种可搜索加密方法流程图;
图2为本申请公开的一种可搜索加密系统示意图;
图3为本申请公开的一种可搜索加密装置示意图;
图4为本申请公开的一种可搜索加密设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,现有的可搜索加密方案会增加计算量和通信开销。为此,本申请提供了一种可搜索加密方案,能够降低可搜索加密方案的计算量、存储和通信开销。
参见图1所示,本申请实施例公开了一种可搜索加密方法,应用于数据拥有者对应的第一端,包括:
S101、从目标集合中获取第一随机数和第二随机数,并将第一随机数和第二随机数确定为第一端对应的私钥;
其中,目标集合为预设整数集合,用Zp表示。从Zp中随机获取α和β,α,β∈Zp,其中,α为第一随机数,β为第二随机数,那么第一端对应的私钥msk=(α,β)。
需要说明的是,从目标集合中获取第一随机数和第二随机数之前,还包括:云服务端根据安全参数生成双线性映射系统,并选择单向哈希函数;生成包含双线性映射系统、单向哈希函数和生成元的系统参数;将系统参数发送至第一端和第二端。第二端为用户对应的用户端。
具体的,云服务端利用安全参数k,生成双线性映射系统B=(p,G,G1,e(·,·)),B中的G和G1为p阶的乘法循环群,文件数量n≤p≤k,n表示数据拥有者可以上传的文件的个数。单向哈希函数H:{0,1}*→Zp,Zp为目标集合;从G中随机选择两个生成元g和h,生成系统参数params=(g,h,B,H),将系统参数params进行公开,即发送至第一端和第二端。
需要说明的是,上述系统参数的生成是基于双线性映射获得的。具体的,令G和G1均为p阶的乘法循环群,从G中随机选择一个生成元g,那么则有双线性映射e:G×G→G1,双线性映射具有如下属性:双线性:对任意的u,v∈G以及a,b∈Zp,有e(ua,vb)=e(u,v)ab;非退化性:e(g,g)≠1;可计算性:对任意u,v∈G,可以计算e(u,v)。
S102、从目标集合中获取多个第三随机数,并将每个第三随机数确定为每个文件对应的安全索引;
需要说明的是,利用私钥和安全索引子集计算目标用户对应的聚合密钥之前,还包括:按照第三公式计算每个安全索引对应的公开索引,获得公开索引集合;第三公式为:pkindex=(βI1,βI2,...,βIn);其中,pkindex表示公开索引集合,I1,I2……In分别表示n个安全索引,β为第二随机数;n表示加密文件集合中的加密文件的个数,n≤p≤k,k为预设安全参数,G1为p阶的乘法循环群。
具体的,安全索引和公开索引的关系可用如下公式表示,安全索引In=β-1βIn,其中的βIn为公开索引。其中,针对每个安全索引,可计算得到对应的公开索引;同样地,对于每个公开索引,可逆向计算得到对应的安全索引。
S103、利用私钥和安全索引子集计算目标用户对应的聚合密钥;
其中,安全索引子集为目标用户对应的加密文件子集中的每个加密文件对应的安全索引组成的集合;目标用户为数据拥有者授权搜索加密文件的任一个用户。
需要说明的是,安全索引的个数需要不小于加密文件集合中加密文件的个数。例如:若随机选取10个安全索引,那么加密文件集合中加密文件的个数最多可以是10个;这10个安全索引可构成安全索引集合,继而可计算获得10个公开索引。若目标用户对应的加密文件子集中的加密文件为3个,那么这3个文件分别对应3个安全索引,也对应3个公开索引,这3个安全索引构成安全索引子集,这3个公开索引构成公开索引子集,且公开索引子集和安全索引子集相互为映射集合。
需要说明的是,利用私钥和公开索引子集计算目标用户对应的聚合密钥,包括:按照第四公式计算聚合密钥,第四公式为:
其中,kagg,0和kagg,1共同构成聚合密钥Kagg,Kagg=(kagg,0,kagg,1);S表示加密文件子集,|S|表示加密文件子集中的加密文件的个数;Ii表示加密文件子集中的第i个加密文件对应的安全索引。
需要说明的是,本实施例中的安全索引和公开索引与现有技术中的用于生成聚合密钥的系统参数相对应。由于本实施例中的安全索引为随机数,公开索引由安全索引进行模乘运算获得,因此与现有技术中的指数运算相比,本实施例可使云服务端的计算量大大降低。
S104、将聚合密钥发送给目标用户,以使目标用户利用聚合密钥在云服务端搜索加密文件;
其中,云服务端存储有第一端发送的加密文件集合;加密文件子集为加密文件集合的子集。
可见,本实施例公开的方法中的数据拥有者对应的第一端可以直接将目标集合中的第一随机数和第二随机数确定为其私钥,并为用户生成一个用于关键字搜索的聚合密钥,该聚合密钥不会因为需要搜索的文件数量增多而增多,如此则降低了第一端的计算和通信开销。同时,用户存储的密钥的长度也不会因为需要搜索的文件数量而增大,如此则降低了用户端的存储开销,以及搜索文件时的计算和通信开销。云服务端也无需进行大量指数运算以生成与文件数量相对应的参数,而只需第一端从目标集合中获取多个第三随机数,便可为聚合密钥的生成提供参数,如此则明显降低了云服务端的计算量。如上所述,本申请可以降低数据拥有者对应的第一端、用户端以及云服务端的通信开销,从而降低了可搜索加密方案的计算、存储和通信开销。
在一种具体实施方式中,目标用户利用聚合密钥在云服务端搜索加密文件,包括:目标用户输入聚合密钥和待搜索的关键字至目标用户对应的第二端,以使第二端计算待搜索的关键字的哈希值,并利用聚合密钥和待搜索的关键字的哈希值计算聚合陷门,将聚合陷门发送至云服务端;云服务端利用与目标用户对应的加密文件子集中的每个加密文件对应的文件参数对,以及聚合陷门分别计算加密文件子集中的每个加密文件对应的关键字,并判断计算得到的关键字与待搜索的关键字是否一致;若是,则将待搜索的关键字对应的加密文件返回给目标用户。
目标用户获得加密文件后,可利用加密文件用的对称密钥τ解密加密文件。对称密钥τ随同聚合密钥一起发送给了目标用户。其中,当第一端发送对称密钥τ和聚合密钥给目标用户后,可向云服务端标识当前目标用户对应的加密文件子集,这样云服务端在接收到目标用户发送的聚合陷门,就可以直接在目标用户对应的加密文件子集中搜索与关键字对应的加密文件,而不用在加密文件集合中进行搜索,如此可以降低数据处理量。
其中,云服务端利用与目标用户对应的加密文件子集中的每个加密文件对应的文件参数对,以及聚合陷门分别计算加密文件子集中的每个加密文件对应的关键字,包括:
云服务端利用下述公式计算加密文件子集中的每个加密文件对应的关键字,
其中,C′W为云服务端计算得到的关键字W的关键字密文,关键字W为待搜索的关键字,公式中的其他字母释义请参见本说明书的其他部分,在此不再赘述。
其中,第二端利用聚合密钥和待搜索的关键字的哈希值计算聚合陷门,包括:第二端按照第五公式计算待搜索的关键字的聚合陷门,第五公式为:
Tr=kagg,0 H(W)kagg,1
其中,Tr表示聚合陷门,H(W)表示待搜索的关键字的哈希值,kagg,0和kagg,1共同构成聚合密钥Kagg,Kagg=(kagg,0,kagg,1)。
需要说明的是,按照第五公式计算聚合陷门,可以有效防止恶意攻击。例如:若聚合陷门Tr被非法拦截,且待搜索的关键字被穷举获得,但由于聚合陷门由指数运算计算获得,因此无法逆向计算获得聚合密钥。
在一种具体实施方式中,第一端发送加密文件集合至云服务端,包括:
从目标集合中获取第四随机数,并将第四随机数确定为加密文件的对称密钥;其中,第四随机数用τ表示,τ∈Zp,Zp为目标集合。对称密钥与文件一一对应,也就是一个文件对应一个加密用的对称密钥。
利用对称密钥加密每个文件,获得加密文件集合。
利用对称密钥、私钥对应的公钥和每个安全索引,分别计算每个加密文件对应的文件参数对,获得文件参数对集合;其中,文件参数对用Δi表示,Δi=(c0,c1),其中,c0=vτv为公钥pk中的部分公钥,τ表示对称密钥,g为G中的生成元,Ii表示任一个安全索引。
按照第一公式计算每个关键字对应的关键字密文,获得关键字密文集合;每个加密文件对应多个关键字,第一公式为:
其中,CW表示任一个关键字对应的关键字密文,W表示任一个关键字;τ表示对称密钥,τ∈Zp,Zp为目标集合;H(W)表示任一个关键字的哈希值;g和h均为G中的生成元,G为p阶的乘法循环群,且G存在于双线性映射系统B中,B=(p,G,G1,e(·,·));n≤p≤k,n表示加密文件集合中的加密文件的个数,k为预设安全参数,G1为p阶的乘法循环群,e(·,·)为双线性映射:G×G→G1;G、G1和e(·,·)构成所述双线性映射系统B。
将加密文件集合、文件参数对集合和关键字密文集合发送至云服务端。
其中,可按照v=gα,r=g计算私钥对应的公钥。其中,v和r共同构成公钥pk,pk=(v,r);α和β共同构成私钥msk,msk=(α,β),α为第一随机数,β为第二随机数;g为G中的生成元。
本申请实施例公开了一种可搜索加密系统,该系统包括:数据拥有者端(即上文提及的第一端)、用户端(即上文提及的第二端)和云服务器(即上文提及的云服务端),其中,数据拥有者端用于执行本申请公开的可搜索加密方法。
请参见图2,假设数据拥有者上传加密文件1,2,3,4,5,6至云服务器,并将包含文件1,4,5的加密文件子集的搜索权限授予用户。当用户搜索关键字W时,他需要使用数据拥有者发送给他的聚合密钥和关键字W的哈希值计算得到聚合陷门,之后将聚合陷门提交给云服务器。云服务器收到聚合陷门后,找到包含文件1,4,5的加密文件子集,使用聚合陷门和1,4,5分别对应的文件参数对进行计算,将计算结果与云服务器上预存的关键字密文进行比较,若二者相同,则将关键字W对应的加密文件返回给用户。
同时,还可以在云服务器端增加验证步骤,以保障文件的完整性。
需要说明的是,本实施例中的实现步骤可参见上述实施例,本实施例在此不再赘述。
由上可见,本实施例公开的可搜索加密系统能够降低用户端的存储、计算、和通信开销,也可降低云服务器的存储、计算、和通信开销,从而可提高可搜索加密方案的搜索效率。
下面对本申请实施例提供的一种可搜索加密装置进行介绍,下文描述的一种可搜索加密装置与上文描述的一种可搜索加密方法可以相互参照。
参见图3所示,本申请实施例公开了一种可搜索加密装置,应用于数据拥有者对应的第一端,包括:
第一获取模块301,用于从目标集合中获取第一随机数和第二随机数,并将第一随机数和第二随机数确定为第一端对应的私钥;目标集合为预设整数集合;
第二获取模块302,用于从目标集合中获取多个第三随机数,并将每个第三随机数确定为每个文件对应的安全索引;
计算模块303,用于利用私钥和安全索引子集计算目标用户对应的聚合密钥;安全索引子集为目标用户对应的加密文件子集中的每个加密文件对应的安全索引组成的集合;目标用户为数据拥有者授权搜索加密文件的任一个用户;
发送模块304,用于将聚合密钥发送给目标用户,以使目标用户利用聚合密钥在云服务端搜索加密文件;云服务端存储有第一端发送的加密文件集合;加密文件子集为加密文件集合的子集。
在一种具体实施方式中,第一端具体用于:
从目标集合中获取第四随机数,并将第四随机数确定为加密文件的对称密钥;
利用对称密钥加密每个文件,获得加密文件集合;
利用对称密钥、私钥对应的公钥和每个安全索引,分别计算每个加密文件对应的文件参数对,获得文件参数对集合;
按照第一公式计算每个关键字对应的关键字密文,获得关键字密文集合;每个加密文件对应多个关键字,第一公式为:
其中,CW表示任一个关键字对应的关键字密文,W表示任一个关键字;τ表示对称密钥,τ∈Zp,Zp为目标集合;H(W)表示任一个关键字的哈希值;g和h均为G中的生成元,G为p阶的乘法循环群,且G存在于双线性映射系统B中,B=(p,G,G1,e(·,·));n≤p≤k,n表示加密文件集合中的加密文件的个数,k为预设安全参数,G1为p阶的乘法循环群,e(·,·)为双线性映射:G×G→G1;G、G1和e(·,·)构成所述双线性映射系统B;
将加密文件集合、文件参数对集合和关键字密文集合发送至云服务端。
在一种具体实施方式中,还包括公开索引计算模块,其具体用于:
按照第三公式计算每个安全索引对应的公开索引,获得公开索引集合;第三公式为:pkindex=(βI1,βI2,...,βIn);
其中,pkindex表示公开索引集合,I1,I2……In分别表示n个安全索引,β为第二随机数;n表示加密文件集合中的加密文件的个数,n≤p≤k,k为预设安全参数。
在一种具体实施方式中,计算模块具体用于:
按照第四公式计算聚合密钥,第四公式为:
其中,kagg,0和kagg,1共同构成聚合密钥Kagg,Kagg=(kagg,0,kagg,1);S表示加密文件子集,|S|表示加密文件子集中的加密文件的个数;Ii表示加密文件子集中的第i个加密文件对应的安全索引;α为第一随机数,β为第二随机数。
在一种具体实施方式中,第二端具体用于:
目标用户输入聚合密钥和待搜索的关键字至目标用户对应的第二端,以使第二端计算待搜索的关键字的哈希值,并利用聚合密钥和待搜索的关键字的哈希值计算聚合陷门,将聚合陷门发送至云服务端;
相应的,云服务端具体用于:
利用与目标用户对应的加密文件子集中的每个加密文件对应的文件参数对,以及聚合陷门分别计算加密文件子集中的每个加密文件对应的关键字,并判断计算得到的关键字与待搜索的关键字是否一致;若是,则将待搜索的关键字对应的加密文件返回给目标用户。
在一种具体实施方式中,第二端具体用于:
按照第五公式计算待搜索的关键字的聚合陷门,第五公式为:
Tr=kagg,0 H(W)kagg,1
其中,Tr表示聚合陷门,H(W)表示待搜索的关键字的哈希值,kagg,0和kagg,1共同构成聚合密钥Kagg,Kagg=(kagg,0,kagg,1)。
在一种具体实施方式中,云服务端具体用于:
根据安全参数生成双线性映射系统,并选择单向哈希函数;生成包含双线性映射系统、单向哈希函数和生成元的系统参数;将系统参数发送至第一端和第二端。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了的可搜索加密装置可以降低数据拥有者对应的第一端、用户端以及云服务端的计算量和通信开销,从而降低了可搜索加密方案的计算量和通信开销。
下面对本申请实施例提供的一种可搜索加密设备进行介绍,下文描述的一种可搜索加密设备与上文描述的一种可搜索加密方法及装置可以相互参照。
参见图4所示,本申请实施例公开了一种可搜索加密设备,包括:
存储器401,用于保存计算机程序;
处理器402,用于执行所述计算机程序,以实现上述实施例公开的方法。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种可搜索加密方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的可搜索加密方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种可搜索加密方法,其特征在于,应用于数据拥有者对应的第一端,包括:
从目标集合中获取第一随机数和第二随机数,并将所述第一随机数和所述第二随机数确定为所述第一端对应的私钥;所述目标集合为预设整数集合;
从所述目标集合中获取多个第三随机数,并将每个所述第三随机数确定为每个文件对应的安全索引;
利用所述私钥和安全索引子集计算目标用户对应的聚合密钥;所述安全索引子集为所述目标用户对应的加密文件子集中的每个加密文件对应的安全索引组成的集合;所述目标用户为所述数据拥有者授权搜索加密文件的任一个用户;
将所述聚合密钥发送给所述目标用户,以使所述目标用户利用所述聚合密钥在云服务端搜索加密文件;所述云服务端存储有所述第一端发送的加密文件集合;所述加密文件子集为所述加密文件集合的子集。
2.根据权利要求1所述的可搜索加密方法,其特征在于,所述第一端发送所述加密文件集合至所述云服务端,包括:
从所述目标集合中获取第四随机数,并将所述第四随机数确定为加密文件的对称密钥;
利用所述对称密钥加密每个文件,获得所述加密文件集合;
利用所述对称密钥、所述私钥对应的公钥和每个安全索引,分别计算每个加密文件对应的文件参数对,获得文件参数对集合;
按照第一公式计算每个关键字对应的关键字密文,获得关键字密文集合;每个加密文件对应多个关键字,所述第一公式为:
其中,CW表示任一个关键字对应的关键字密文,W表示任一个关键字;τ表示所述对称密钥,τ∈Zp,Zp为所述目标集合;H(W)表示任一个关键字的哈希值;g和h均为G中的生成元,G为p阶的乘法循环群,且G存在于双线性映射系统B中,B=(p,G,G1,e(·,·));n≤p≤k,n表示所述加密文件集合中的加密文件的个数,k为预设安全参数,G1为p阶的乘法循环群,e(·,·)为双线性映射:G×G→G1;G、G1和e(·,·)构成所述双线性映射系统B;
将所述加密文件集合、所述文件参数对集合和所述关键字密文集合发送至所述云服务端。
3.根据权利要求2所述的可搜索加密方法,其特征在于,所述利用所述私钥和安全索引子集计算目标用户对应的聚合密钥之前,还包括:
利用所述第二随机数计算每个安全索引对应的公开索引,获得公开索引集合,包括:
按照第三公式计算每个安全索引对应的公开索引,获得所述公开索引集合;所述第三公式为:pkindex=(βI1,βI2,...,βIn);
其中,pkindex表示公开索引集合,I1,I2……In分别表示n个安全索引,β为所述第二随机数;n表示所述加密文件集合中的加密文件的个数,n≤p≤k,k为预设安全参数。
4.根据权利要求3所述的可搜索加密方法,其特征在于,所述利用所述私钥和安全索引子集计算目标用户对应的聚合密钥,包括:
按照第四公式计算所述聚合密钥,所述第四公式为:
其中,kagg,0和kagg,1共同构成所述聚合密钥Kagg,Kagg=(kagg,0,kagg,1);S表示所述加密文件子集,|S|表示所述加密文件子集中的加密文件的个数;Ii表示所述加密文件子集中的第i个加密文件对应的安全索引;α为所述第一随机数,β为所述第二随机数。
5.根据权利要求4所述的可搜索加密方法,其特征在于,所述目标用户利用所述聚合密钥在云服务端搜索加密文件,包括:
所述目标用户输入所述聚合密钥和待搜索的关键字至所述目标用户对应的第二端,以使所述第二端计算所述待搜索的关键字的哈希值,并利用所述聚合密钥和所述待搜索的关键字的哈希值计算聚合陷门,将所述聚合陷门发送至所述云服务端;
所述云服务端利用与所述目标用户对应的加密文件子集中的每个加密文件对应的文件参数对,以及所述聚合陷门分别计算所述加密文件子集中的每个加密文件对应的关键字,并判断计算得到的关键字与所述待搜索的关键字是否一致;若是,则将所述待搜索的关键字对应的加密文件返回给所述目标用户。
6.根据权利要求5所述的可搜索加密方法,其特征在于,所述第二端利用所述聚合密钥和所述待搜索的关键字的哈希值计算聚合陷门,包括:
所述第二端按照第五公式计算所述待搜索的关键字的聚合陷门,所述第五公式为:
Tr=kagg,0 H(W)kagg,1
其中,Tr表示所述聚合陷门,H(W)表示所述待搜索的关键字的哈希值,kagg,0和kagg,1共同构成所述聚合密钥Kagg,Kagg=(kagg,0,kagg,1)。
7.根据权利要求6所述的可搜索加密方法,其特征在于,所述从目标集合中获取第一随机数和第二随机数之前,还包括:
所述云服务端根据安全参数生成所述双线性映射系统,并选择单向哈希函数;生成包含所述双线性映射系统、所述单向哈希函数和所述生成元的系统参数;将所述系统参数发送至所述第一端和所述第二端。
8.一种可搜索加密装置,其特征在于,应用于数据拥有者对应的第一端,包括:
第一获取模块,用于从目标集合中获取第一随机数和第二随机数,并将所述第一随机数和所述第二随机数确定为所述第一端对应的私钥;所述目标集合为预设整数集合;
第二获取模块,用于从所述目标集合中获取多个第三随机数,并将每个所述第三随机数确定为每个文件对应的安全索引;
计算模块,用于利用所述私钥和安全索引子集计算目标用户对应的聚合密钥;所述安全索引子集为所述目标用户对应的加密文件子集中的每个加密文件对应的安全索引组成的集合;所述目标用户为所述数据拥有者授权搜索加密文件的任一个用户;
发送模块,用于将所述聚合密钥发送给所述目标用户,以使所述目标用户利用所述聚合密钥在云服务端搜索加密文件;所述云服务端存储有所述第一端发送的加密文件集合;所述加密文件子集为所述加密文件集合的子集。
9.一种可搜索加密设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的可搜索加密方法。
10.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的可搜索加密方法。
CN201910774467.4A 2019-08-21 2019-08-21 一种可搜索加密方法、装置、设备及可读存储介质 Expired - Fee Related CN110489998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910774467.4A CN110489998B (zh) 2019-08-21 2019-08-21 一种可搜索加密方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910774467.4A CN110489998B (zh) 2019-08-21 2019-08-21 一种可搜索加密方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN110489998A true CN110489998A (zh) 2019-11-22
CN110489998B CN110489998B (zh) 2021-02-26

Family

ID=68552419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910774467.4A Expired - Fee Related CN110489998B (zh) 2019-08-21 2019-08-21 一种可搜索加密方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN110489998B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560069A (zh) * 2020-12-28 2021-03-26 杭州趣链科技有限公司 短过滤关键字的加密邮件过滤方法
CN114793156A (zh) * 2022-06-27 2022-07-26 北京瑞莱智慧科技有限公司 一种数据处理方法、装置、设备及存储介质
CN115269938A (zh) * 2022-09-22 2022-11-01 深圳市洞见智慧科技有限公司 基于同态加密的关键词匿踪查询方法、系统及相关装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104021157A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中基于双线性对的关键词可搜索加密方法
CN105024802A (zh) * 2015-07-13 2015-11-04 西安理工大学 云存储中基于双线性对的多用户多关键词可搜索加密方法
CN105897419A (zh) * 2016-03-31 2016-08-24 浙江工业大学 一种多用户动态关键词可搜索加密方法
CN107181596A (zh) * 2017-06-05 2017-09-19 福建师范大学 一种基于双线性对的可搜索加密方法
US20180183571A1 (en) * 2015-09-04 2018-06-28 NEC Laboratories Europe GmbH Method for providing encrypted data in a database and method for searching on encrypted data
CN108494768A (zh) * 2018-03-22 2018-09-04 深圳大学 一种支持访问控制的密文搜索方法及系统
CN108632248A (zh) * 2018-03-22 2018-10-09 平安科技(深圳)有限公司 数据加密方法、数据查询方法、装置、设备及存储介质
CN109361644A (zh) * 2018-08-22 2019-02-19 西安工业大学 一种支持快速搜索和解密的模糊属性基加密方法
CN109815730A (zh) * 2018-12-29 2019-05-28 中国科学院软件研究所 一种支持skyline查询的可搜索加密方法与系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104021157A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中基于双线性对的关键词可搜索加密方法
CN105024802A (zh) * 2015-07-13 2015-11-04 西安理工大学 云存储中基于双线性对的多用户多关键词可搜索加密方法
US20180183571A1 (en) * 2015-09-04 2018-06-28 NEC Laboratories Europe GmbH Method for providing encrypted data in a database and method for searching on encrypted data
CN105897419A (zh) * 2016-03-31 2016-08-24 浙江工业大学 一种多用户动态关键词可搜索加密方法
CN107181596A (zh) * 2017-06-05 2017-09-19 福建师范大学 一种基于双线性对的可搜索加密方法
CN108494768A (zh) * 2018-03-22 2018-09-04 深圳大学 一种支持访问控制的密文搜索方法及系统
CN108632248A (zh) * 2018-03-22 2018-10-09 平安科技(深圳)有限公司 数据加密方法、数据查询方法、装置、设备及存储介质
CN109361644A (zh) * 2018-08-22 2019-02-19 西安工业大学 一种支持快速搜索和解密的模糊属性基加密方法
CN109815730A (zh) * 2018-12-29 2019-05-28 中国科学院软件研究所 一种支持skyline查询的可搜索加密方法与系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
N. CAO等: ""Privacy-Preserving Multi-Keyword Ranked Search over Encrypted Cloud Data"", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》 *
R.ZHOU等: ""file-centric multi-key keyword Searchable Encryption for industrial internet of things""", 《IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS》 *
ZHENHUA.LIU等: ""Verifiable and Authenticated Searchable Encryption Scheme with Aggregate Key in Cloud Storage"", 《2018 14TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY (CIS)》 *
张玉磊等: ""云存储环境下多服务器的密钥聚合可搜索加密方案"", 《电子与信息学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560069A (zh) * 2020-12-28 2021-03-26 杭州趣链科技有限公司 短过滤关键字的加密邮件过滤方法
CN112560069B (zh) * 2020-12-28 2023-02-21 杭州趣链科技有限公司 短过滤关键字的加密邮件过滤方法
CN114793156A (zh) * 2022-06-27 2022-07-26 北京瑞莱智慧科技有限公司 一种数据处理方法、装置、设备及存储介质
CN114793156B (zh) * 2022-06-27 2022-08-26 北京瑞莱智慧科技有限公司 一种数据处理方法、装置、设备及存储介质
CN115269938A (zh) * 2022-09-22 2022-11-01 深圳市洞见智慧科技有限公司 基于同态加密的关键词匿踪查询方法、系统及相关装置
CN115269938B (zh) * 2022-09-22 2023-02-14 深圳市洞见智慧科技有限公司 基于同态加密的关键词匿踪查询方法、系统及相关装置

Also Published As

Publication number Publication date
CN110489998B (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
Chen et al. A blockchain-based searchable public-key encryption with forward and backward privacy for cloud-assisted vehicular social networks
Wang et al. Secure ranked keyword search over encrypted cloud data
CN108632248B (zh) 数据加密方法、数据查询方法、装置、设备及存储介质
CN105262843B (zh) 一种针对云存储环境的数据防泄漏保护方法
CN109450935B (zh) 云存储中可验证的语义安全的多关键词搜索方法
CN104967693B (zh) 面向云存储的基于全同态密码技术的文档相似度计算方法
CN109660555A (zh) 基于代理重加密的内容安全分享方法和系统
CN110489998A (zh) 一种可搜索加密方法、装置、设备及可读存储介质
CN109347832A (zh) 一种动态数据共享方法、终端设备及代理服务器
CN108390855A (zh) 一种面向云存储的属性基关键词搜索加密系统及方法
Cui et al. Ciphertext-policy attribute-based encrypted data equality test and classification
CN105635135A (zh) 一种基于属性集及关系谓词的加密系统及访问控制方法
CN110502918A (zh) 一种基于分级安全加密的电子文件访问控制方法和系统
CN107704768A (zh) 一种密文的多关键字分级安全检索方法
Liu et al. Offline/online attribute‐based encryption with verifiable outsourced decryption
Liu et al. EMK-ABSE: Efficient multikeyword attribute-based searchable encryption scheme through cloud-edge coordination
CN111934875B (zh) 一种支持密文模糊搜索功能的公钥加密方法和系统
Xu et al. Enabling comparable search over encrypted data for IoT with privacy-preserving
CN107592298A (zh) 一种基于单服务器模型的序列比较算法安全外包方法、用户终端和服务器
CN115801224A (zh) 一种云计算环境中支持浮点数运算的全同态加密方法
CN108449329A (zh) 基于云计算的数据安全保护方法和装置
Chen et al. Multi-user boolean searchable encryption supporting fast ranking in mobile clouds
CN108809996A (zh) 不同流行度的删重存储数据的完整性审计方法
CN116108497B (zh) 一种基于身份匿名的医疗数据轻量级云存储方法及装置
Wang et al. Access control encryption without sanitizers for Internet of Energy

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: 20210226

Termination date: 20210821

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