CN104852801A - 一种可搜索的公钥加密方法 - Google Patents

一种可搜索的公钥加密方法 Download PDF

Info

Publication number
CN104852801A
CN104852801A CN201510080013.9A CN201510080013A CN104852801A CN 104852801 A CN104852801 A CN 104852801A CN 201510080013 A CN201510080013 A CN 201510080013A CN 104852801 A CN104852801 A CN 104852801A
Authority
CN
China
Prior art keywords
recipient
keyword
trapdoor
algorithm
data
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
CN201510080013.9A
Other languages
English (en)
Other versions
CN104852801B (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.)
Shaanxi Normal University
Original Assignee
Shaanxi Normal 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 Shaanxi Normal University filed Critical Shaanxi Normal University
Priority to CN201510080013.9A priority Critical patent/CN104852801B/zh
Publication of CN104852801A publication Critical patent/CN104852801A/zh
Application granted granted Critical
Publication of CN104852801B publication Critical patent/CN104852801B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种可搜索的公钥加密方法,其首先定义接收者集合,数据拥有者选取关键字,使用加密算法对文件进行加密,然后使用可搜索公钥加密方案对关键字进行加密。数据拥有者使用所欲指定接收者的信息来生成关键字密文,并且将关键字密文和被加密的数据文件保存在云服务器上。若数据拥有者能确认那些用户能够访问自己的数据,就为每一个确定的接收者发送一个特殊的陷门。只有得到属于自己的陷门,该接收者才能生成正确的关键字陷门,然后服务器才能找出搜索的文件。本发明在公钥加密的环境中设计一个支持多个接收者的可搜索公钥加密方案,不但满足关键字密文的安全,还满足关键字陷门的安全;而且我们的方案可以保护指定接收者的成员性隐私。

Description

一种可搜索的公钥加密方法
技术领域
本发明属于数据加密技术领域,涉及一种加密方法,尤其是一种基于云计算环境的可搜索的公钥加密方法。
背景技术
在云计算中,用户希望将自己的数据保存在云服务器上,从而实现自己的数据被不同的用户进行共享的目的,这样以来用户就可以不用为繁杂的存储管理问题所累。而且云存储给用户提供了许多前所未有的便利性,比如存储的不受地域限制,无线的存储能力的获取,以及安全风险的转移等。然而,出于经济利益或者政治因素,云服务的服务提供商对用户的数据是非常感兴趣的,因此他们很可能存在偷窥用户隐私的嫌疑。面对这些不被信任的云服务提供商,用户更希望在将自己的数据存储在云服务器上之前,先对其进行加密处理,然后再将加密后的密文数据外包给云服务器。对数据的加密可以在一定程度上解决数据的隐私问题,但是却给用户数据的操作带来了很多不便利,使得对用户数据的操作变得更加复杂。在诸多对于用户数据的操作中,一个非常普遍的操作是使用相应的关键字检索出相应的用户文件,在这样一种操作中,可搜索的加密扮演了一个非常重要的角色。
第一个实用的可搜索加密方案是有Song等人提出来的,在他们的方案中数据拥有者将自己的数据进行加密,然后再将加密后的文件存储在一个服务器上,这个服务器是不能完全被信任的。当数据拥有者想要找出一个包含有某个指定关键字的文件的时候,他先将这个关键字进行加密,然后再将密文发送给服务器,这样以来服务器就不知道数据的拥有者想要搜索的是什么关键字了,服务器再将这个加密后的关键字和整个文件中的所有单词进行比较,最终找出相应的文件并且返回给数据拥有者。Song等人解决了对密文数据的搜索问题,但是他们的方案中指存在一个用户,这个用户发布关键字询问,并且从服务器处接收检索出来的文件。所以这个用户即是数据的拥有者,又是文件的接收者。Song的方案是在对称密钥加密的的环境下完成的。
第一个公钥环境下的可搜索加密方案是由Boneh等人在2004年提出来的。在Boneh的方案是以一种邮件的存储转发形式进行描述的,多个发送者给同一个接收者发送邮件,这些邮件被一个被称为邮件路由的服务器通过存储转发的方式发送给同一个接收者。所有有机爱你的内容都是使用邮件接收者的公钥进行加密的,使用的加密方案是普通的公钥加密方案。对于每一个发送给接收者的邮件,邮件的发送者都要选取若干个关键字,并且使用可搜索的公钥加密方案(PEKS,Public key encryption with keyword search)对这些关键字进行加密。当接收者想要检索一个包含有某个关键字的邮件的时候,接收者首先针对这个关键字生成一个陷门,然后将这个陷门发送给服务器,服务器将是有这个陷门在存储的关键字密文当中进行搜索,找出相应的关键字并且将关键字所在的文件返回给接收者。通过这种方式,服务器即能将包含有某个特定的关键字的邮件返回给接收者,接收者又可以保证服务器不知道自己想要搜索的关键字的内容是什么。这样就从一定程度上保护了接收者的邮件内容的隐私。我们将Boneh等人的这个场景看做是多个数据拥有者(即多个邮件发送者)和单个数据接收者(即邮件的接收者)的场景。拥有者将加密后的文件和相应的关键字密文保存在服务器上,接收者提出关键字的搜索请求,并且接受服务器搜索到的文件。
在Song和Boneh等人的工作的基础上,出现了具有不同功能的可搜索加密的方案。Colle等人首次提出了支持连接关键字的搜索。Boneh等人实现了密文上的连接搜索,子集搜索,以及范围搜索。Moataz等人实现了密文上的诸如合取、析取、求返等布尔操作。Li等人首次提出了密文上的模糊的关键字搜索,他们的方案支持用户在发出搜索请求时候的关键字的拼写错误等。Wang等人根据被检索的关键字和返回的文件之间的关系的紧密程度实现了对搜索结果的排序。Rhee等人首次从语义安全的角度形式化了关键字陷门的安全。所有这些工作都是从扩展可搜索加密的功能方面展开的。然而,在实际应用中,不同的应用场景下的相关研究也是非常重要的,我们现在就给出以下的假设。
在云计算环境下的文件共享系统中,一个文件的拥有者想要将自己的文件和n个文件的接收者进行共享,这n个接收者是指定好的。数据拥有者为了自己文件的安全,首先对文件进行加密,然后再将加密后的文件保存在云服务器上。如果拥有者使用了一个传统的可搜索加密,那么对于这n个接收者来说,他得生成n分不同的关于关键字的加密。这无形中浪费了大量的云存储空间,而且会消耗大量的通信资源。在按照需要付钱的云计算环境中,这样一种浪费或者说是资源的消耗是没有办法被接受的。因此,我们希望能够有支持多个接收者的可搜索加密方案,希望在这样一种方案中,在跟多个接收者进行文件共享的时候只需要保存一份加密的文件。
Curtmola等人首次给出了多用户的可搜索加密方案的定义,不过是在对称密钥加密的环境下给出的。在他们的方案中,任意的用户组都可以对共享的文件进行搜索,并不仅仅只是数据拥有者自己。Bao等人引入了一个可信的第三方,这个第三方并非服务器,通过这个可信第三方来为所欧普的用户生成数据加密的密钥,以及生成加密关键字询问的密钥。然而,让一个第三方来为所有的用户生成数据加密的密钥这样做安全吗?而且,在他们的方案中,用户需要和服务器以及第三方进行多轮的交互。Zhao等人提出了一个新概念,基于细粒度访问控制的关键字搜索,是专门为多用户的可搜索加密设计的。在他们的方案中,通过只要求服务器在在那些用户可以解密的文件中去搜索,从而减少了服务器的计算量。这种提高服务器计算效率的方法在某些场景中确实是合理的。然而,如果服务器上存在一些文件,是用户需要的,但是用户却没有办法对文件进行解密,那么会发生什么事情呢?如果实用Zhao的方案,所有的这些用户所需要的文件肯定不会被返回给用户,这却是不合情理的。尽管用户无法解密这些文件,但是用户可以从相应的数据拥有者手里买回这些加密文件对应的明文信息,只要用户确实需要这个文件。所以,关键的问题不是用户能不能解密文件,而是用户是否能够确认服务器上确实存在这样一个自己需要的文件。
在对称加密的环境中,已经存在一些支持多用户的方案。然而,在公钥环境下的支持多用户的方案确是寥寥无几,除了Hwang的工作。我们的方案是在公钥加密的环境下展开的。我们假设数据的拥有者已经定义了指定的数据接收者,对自己的数据进行了加密操作,并且将这些加密后的数据存储在了云服务器上。但是由于某种原因,数据拥有者想要撤销某些接收者对自己数据的访问权力。那么这个数据拥有者应该做些什么呢?如果我们实用Hwang的方案,那么数据拥有者就需要对自己的关键字重新进行加密,并且再将这些重新加密后的密文关键字保存在云服务器上。这自然的就产生了很多不必要的计算。那么数据的拥有者是否能够在已经定义了指定接收者并且将加密后的数据放在了云服务器上之后还能够控制用户对自己的数据访问权限呢?我们引入了一个特殊的陷门,称为TPri,这个特殊的陷门是由数据拥有者来生成的。在将加密的数据文件存储在云服务器上之前,数据拥有者首先定义一个指定的数据接收者集合,这个集合中尽可能的包含所有可能出现的接收者。然后数据拥有者将数据进行加密,然后将加密后的数据保存在云服务器上。数据拥有者还要为每一个接收者生成一个不同的陷门TPri。只有那些得到了TPri的指定接收者,才能生成正确的关键字陷门,然后收到自己想要的文件。
在这篇文章里,我们的目的是要在公钥加密的环境中设计一个支持多个接收者的可搜索公钥加密方案。我们正式的定义了关键字密文的安全和关键字陷门的安全;基于双线性映射构造方案;正式的证明了关键字密文的安全和关键字西安门的安全,我们的证明是在随机寓言机模型下完成的。关键字密文的安全是基于BDH问题的困难性的,关键字陷门的安全是基于DDH问题的困难性的。用户的呈圆形隐私问题是基于DLP问题的困难性的。和Hwang的方案进行比较,我们的方案不但满足关键字密文的安全,还满足关键字陷门的安全;而且我们的方案可以保护指定接收者的成员性隐私。在我们的方案中,生成的关键字密文的长度要远远小于传统的方案,也就是说,不管指定的接收者有多少个,关键字密文的长度都是固定的,这个固定的长度仅仅是群中元素的长度的两倍。在我们的方案中。对指数操作和乘法操作的数量要相对较少。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供一种可搜索的公钥加密方法,该方法能够在公钥加密的环境中设计一个支持多个接收者的可搜索公钥加密方案,其不但满足关键字密文的安全,还满足关键字陷门的安全;而且我们的方案可以保护指定接收者的成员性隐私。
本发明的目的是通过以下技术方案来实现的:
这种可搜索的公钥加密方法,包括以下步骤:
(1)数据拥有者、接收者和云服务器分别初始化运行环境;
(2)数据的拥有者首先定义一个接收者集合;数据拥有者为自己的数据文件选取若干个关键字,使用加密算法对数据文件进行加密,然后使用关键字密文生成算法对关键字进行加密,关键字密文生成算法在运行过程中所使用到的数据拥有者的秘密钥由发送者密钥生成算法生成;
(3)对数据文件进行加密,并且将被加密的数据文件及上步骤中被加密的关键字一起保存在云服务器上;
(4)如果数据拥有者已经能够确认哪些用户能够访问自己的数据,就为每一个确定的接收者发送一个保密陷门,所述保密陷门是使用所有其他的指定的接收者的信息生成的;
(5)接收者从数据拥有者得到属于自己的保密陷门之后,采用关键字陷门生成算法生成关键字陷门,在生成关键字陷门的过程中,需要用到接收者的秘密钥,该秘密钥由接收者的密钥生成算法生成;然后接收者将关键字陷门发送给云服务器;
(6)服务器根据该接收者提供的关键字陷门使用测试算法找出接收者想要搜索出来的文件。
进一步的,以上所述接收者集合包含有所有可能出现的接收者。
进一步的,上述步骤1)具体为:数据拥有者、接收者和云服务器分别运行初始化算法,所述初始化算法为GlobalSetup(λ),具体为:
在输入安全参数λ后,GlobalSetup(λ)输出一个全局参数GP={G,G1,e,H1,H2,g,q};其中,G和G1是阶为素数q的乘法循环群;e:G×G→G1是一个可容许的双线性映射;H1和H2是两个哈希函数,将H1和H2视为两个随机寓言机,并且H1:{0,1}*→G,H2:G→{0,1}λ,g是群G的一个生成元。
进一步,上述步骤2)中的关键字密文生成算法为(其中GP为全局参数,分别为接收者r1到接收者rn的公钥,w为关键字,为数据拥有者的私钥)具体为:
在给定收入全局参数,所有指定接收者的公钥,关键字,以及数据拥有者的私钥的情况下,数据拥有者运行关键字密文生成算法,随机的选取一个整数并且运行来获得关键字密文 C = [ C 1 , C 2 ] = [ H 2 ( e ( ( pk r 1 · . . . · pk r n ) r s k s , H 1 ( w ) s k s r ) ) , g r ] = [ H 2 ( e ( g r α · Σ i = 1 n β i , H 1 ( w ) α r ) ) , g r ] ,(其中α为数据拥有者的私钥,βi是第i个接收者对应的私钥)并且将这个密文存储在云服务器上,和加密的文件内容一起。
进一步,上述步骤4)中所述陷门的生成采用保密陷门生成算法,所述保密陷门生成算法为具体为:
在给定输入全局参数,以及所有其他指定接收者的公钥的情况下,数据拥有者运行这个算法来为第i个接收者计算出一个秘密的陷门 T pri i = ( pk r 1 · . . . · p k r i - 1 · pk r i + 1 · . . . · pk r n ) = g ( β 1 · . . . · β i - 1 · β i + 1 · . . . · β n ) = g Σ j = 1 , j ≠ i n β j ; 数据拥有者将这个针对第i个接收者生成的秘密陷门发送给第i个接收者。
进一步,上述步骤5)中,所述的关键字陷门生成算法为(其中是接收者ri的私钥,w'是接收者选取的关键字),关键字陷门生成算法具体为:
在给定输入全局参数,数据拥有者生成的秘密陷门,第i个接收者自己的私钥,以及被检测的关键字w'的情况下,第i给接收者随即的选取两个随机数r,并且运行这个算法针对关键字w'生成关键字陷门其中 T i 1 = ( T pri i ) r ′ sk r i = g β 1 + . . . + β i - 1 + β i + 1 + . . . + β n β i · r ′ = g r ′ β i · Σ j = 1 , j ≠ i n β j , T i 2 = H 1 ( w ′ ) sk r i r ′ · ( pk s ) r ′ ′ = H 1 ( w ′ ) β i r ′ · g αr ′ ′ , T i 3 = g r ′ , T i 4 = 1 pk s r ′ ′ = 1 g αr ′ ′ , 然后指定的接收者再将Ti发送给云服务器。
进一步,上述步骤6)中,所述测试算法为Test(GP,Ti,C),具体为:
在给定输入全局参数;以及由第i个接收者生成的陷门,还有关键字密文的时候,晕服务器运行这个算法来检测如果过这个方程成立,那么算法输出结果为1,意思是说接收者想要搜索的哪个关键字w'和数据拥有者以密文形式存储在云服务器上的那个关键字w是相等的。因此数据的接收者就可以从云服务器那里找到包含有关键字w'的文件。否则,算法输出为0,说明云服务器上并不存在一个文件其中包含有关键字w'。
进一步,上述步骤2)中,所述发送者的密钥生成算法为KeyGensender(GP):在以全局参数作为输入的情况下,发送者,也就是数据的拥有者,运行这个算法来获取自己的私钥以及公钥pks=gα∈G。
进一步,上述步骤5)中,所述接收者的密钥生成算法为在以全局参数作为输入的情况下,第i个指定的接收者运行这个算法来获得自己的私钥以及公钥 pk r i = g β ∈ G .
本发明具有以下有益效果:
本发明的加密方法正式的定义了关键字密文的安全和关键字陷门的安全;基于双线性映射构造方案;正式的证明了关键字密文的安全和关键字西安门的安全,本发明的证明是在随机寓言机模型下完成的。关键字密文的安全是基于BDH问题的困难性的,关键字陷门的安全是基于DDH问题的困难性的。用户的呈圆形隐私问题是基于DLP问题的困难性的。本发明和Hwang的方案进行比较,不但满足关键字密文的安全,还满足关键字陷门的安全;而且我们的方案可以保护指定接收者的成员性隐私。本发明可以保护指定接收者的成员性隐私。采用本发明的加密方法生成的关键字密文的长度要远远小于传统的方案,也就是说,不管指定的接收者有多少个,关键字密文的长度都是固定的,这个固定的长度仅仅是群中元素的长度的两倍。本发明中,对指数操作和乘法操作的数量要相对较少。
具体实施方式
以下通过具体实施方式对本发明进一步详细说明:
本发明的可搜索的公钥加密方法,具体包括以下步骤:
(1)数据拥有者、接收者和云服务器分别初始化运行环境,具体为:
数据拥有者、接收者和云服务器分别运行初始化算法,初始化算法为GlobalSetup(λ),GlobalSetup(λ)为:
在输入安全参数λ后,GlobalSetup(λ)输出一个全局参数GP={G,G1,e,H1,H2,g,q};其中,e为双线性映射,G和G1是阶为素数q的乘法循环群;e:G×G→G1是一个可容许的双线性映射;H1和H2是两个哈希函数,将H1和H2视为两个随机寓言机,并且H1:{0,1}*→G,H2:G→{0,1}λ(其中λ为安全参数),g是群G的一个生成元。
(2)数据的拥有者首先定义一个接收者集合,这个集合中要包含有所有可能出现的接收者。数据拥有者为自己的数据文件选取若干个关键字,使用加密算法对数据文件进行加密,然后使用关键字密文生成算法对关键字进行加密,关键字密文生成算法在运行过程中所使用到的数据拥有者的秘密钥由发送者密钥生成算法生成。其中关键字密文生成算法为(其中sks为数据拥有者的私钥),具体为:
在给定收入全局参数,所有指定接收者的公钥,关键字,以及数据拥有者的私钥的情况下,数据拥有者运行关键字密文生成算法,随机的选取一个整数并且运行来获得关键字密文 C = [ C 1 , C 2 ] = [ H 2 ( e ( ( pk r 1 · . . . · pk r n ) r s k i , H 1 ( w ) s k i r ) ) , g r ] = [ H 2 ( e ( g r α · Σ i = 1 n β i , H 1 ( w ) α r ) ) , g r ] ,并且将这个密文存储在云服务器上,和加密的文件内容一起。
在该步骤中,发送者的密钥生成算法为KeyGensender(GP):在以全局参数作为输入的情况下,发送者,也就是数据的拥有者,运行这个算法来获取自己的私钥以及公钥pks=gα∈G。
(3)对数据文件进行加密,并且将被加密的数据文件及上步骤中被加密的关键字一起保存在云服务器上;
(4)如果数据拥有者已经能够确认哪些用户能够访问自己的数据,就为每一个确定的接收者发送一个保密陷门,所述保密陷门是使用所有其他的指定的接收者的信息生成的;
本步骤中,陷门的生成采用保密陷门生成算法,保密陷门生成算法具体为
在给定输入全局参数,以及所有其他指定接收者的公钥的情况下,数据拥有者运行这个算法来为第i个接收者计算出一个秘密的陷门 T pri i = ( pk r 1 · . . . · p k r i - 1 · pk r i + 1 · . . . · pk r n ) = g ( β 1 · . . . · β i - 1 · β i + 1 · . . . · β n ) = g Σ j = 1 , j ≠ i n β j ; 数据拥有者将这个针对第i个接收者生成的秘密陷门发送给第i个接收者。
(5)接收者从数据拥有者得到属于自己的保密陷门之后,采用关键字陷门生成算法生成关键字陷门,在生成关键字陷门的过程中,需要用到接收者的秘密钥,该秘密钥由接收者的密钥生成算法生成;然后接收者将关键字陷门发送给云服务器。其中,关键字陷门生成算法为
在给定输入全局参数,数据拥有者生成的秘密陷门,第i个接收者自己的私钥,以及被检测的关键字w'的情况下,第i给接收者随即的选取两个随机数r,并且运行这个算法针对关键字w'生成关键字陷门其中 T i 1 = ( T pri i ) r ′ sk r i = g β 1 + . . . + β i - 1 + β i + 1 + . . . + β n β i · r ′ = g r ′ β i · Σ j = 1 , j ≠ i n β j , T i 2 = H 1 ( w ′ ) sk r i r ′ · ( pk s ) r ′ ′ = H 1 ( w ′ ) β i r ′ · g αr ′ ′ , T i 3 = g r ′ , T i 4 = 1 pk s r ′ ′ = 1 g αr ′ ′ , 然后指定的接收者再将Ti发送给云服务器。
另外,在该步骤中,所述接收者的密钥生成算法为在以全局参数作为输入的情况下,第i个指定的接收者运行这个算法来获得自己的私钥以及公钥 pk r i = g β ∈ G .
(6)服务器根据该接收者提供的关键字陷门使用测试算法找出接收者想要搜索出来的文件。所述测试算法为Test(GP,Ti,C),Test(GP,Ti,C)具体为:
在给定输入全局参数;以及由第i个接收者生成的陷门,还有关键字密文的时候,晕服务器运行这个算法来检测如果过这个方程成立,那么算法输出结果为1,意思是说接收者想要搜索的哪个关键字w'和数据拥有者以密文形式存储在云服务器上的那个关键字w是相等的。因此数据的接收者就可以从云服务器那里找到包含有关键字w'的文件。否则,算法输出为0,说明云服务器上并不存在一个文件其中包含有关键字w'。
综上所述,本发明在公钥加密的环境中设计了一个支持多个接收者的可搜索公钥加密方案。其正式的定义了关键字密文的安全和关键字陷门的安全;基于双线性映射构造方案;正式的证明了关键字密文的安全和关键字西安门的安全,本发明的证明是在随机寓言机模型下完成的。关键字密文的安全是基于BDH问题的困难性的,关键字陷门的安全是基于DDH问题的困难性的。用户的呈圆形隐私问题是基于DLP问题的困难性的。

Claims (9)

1.一种可搜索的公钥加密方法,其特征在于,包括以下步骤:
(1)数据拥有者、接收者和云服务器分别初始化运行环境;
(2)数据的拥有者首先定义一个接收者集合;数据拥有者为自己的数据文件选取若干个关键字,使用加密算法对数据文件进行加密,然后使用关键字密文生成算法对关键字进行加密,关键字密文生成算法在运行过程中所使用到的数据拥有者的秘密钥由发送者密钥生成算法生成;
(3)对数据文件进行加密,并且将被加密的数据文件及上步骤中被加密的关键字一起保存在云服务器上;
(4)如果数据拥有者已经能够确认哪些用户能够访问自己的数据,就为每一个确定的接收者发送一个保密陷门,所述保密陷门是使用所有其他的指定的接收者的信息生成的;
(5)接收者从数据拥有者得到属于自己的保密陷门之后,采用关键字陷门生成算法生成关键字陷门,在生成关键字陷门的过程中,需要用到接收者的秘密钥,该秘密钥由接收者的密钥生成算法生成;然后接收者将关键字陷门发送给云服务器;
(6)服务器根据该接收者提供的关键字陷门使用测试算法找出接收者想要搜索出来的文件。
2.根据权利要求1所述的可搜索的公钥加密方法,其特征在于,所述接收者集合包含有所有可能出现的接收者。
3.根据权利要求1所述的可搜索的公钥加密方法,其特征在于,所述步骤1)具体为:数据拥有者、接收者和云服务器分别运行初始化算法,所述初始化算法为GlobalSetup(λ),具体为:
在输入安全参数λ后,GlobalSetup(λ)输出一个全局参数 GP={G,G1,e,H1,H2,g,q};其中,G和G1是阶为素数q的乘法循环群;e:G×G→G1是一个可容许的双线性映射;H1和H2是两个哈希函数,将H1和H2视为两个随机寓言机,并且H1:{0,1}*→G,H2:G→{0,1}λ,g是群G的一个生成元。
4.根据权利要求1所述的可搜索的公钥加密方法,其特征在于,所述步骤2)中的关键字密文生成算法为其中GP为全局参数,分别为接收者r1到接收者rn的公钥,w为关键字,sks为数据拥有者的私钥,关键字密文生成算法具体为:
在给定收入全局参数,所有指定接收者的公钥,关键字,以及数据拥有者的私钥的情况下,数据拥有者运行关键字密文生成算法,随机的选取一个整数并且运行来获得关键字密文 ,其中α为数据拥有者的私钥,βi是第i个接收者对应的私钥,并且将这个密文存储在云服务器上,和加密的文件内容一起。
5.根据权利要求1所述的可搜索的公钥加密方法,其特征在于,所述步骤4)中所述陷门的生成采用保密陷门生成算法,所述保密陷门生成算法为具体为:
在给定输入全局参数,以及所有其他指定接收者的公钥的情况下,数据拥有者运行这个算法来为第i个接收者计算出一个秘密的陷门 数据拥有者将这个针对第i个接收者生成的秘密陷门发送给第i个接收者。
6.根据权利要求1所述的可搜索的公钥加密方法,其特征在于,所述 步骤5)中,所述的关键字陷门生成算法为其中是接收者ri的私钥,w'是接收者选取的关键字,关键字陷门生成算法具体为:
在给定输入全局参数,数据拥有者生成的秘密陷门,第i个接收者自己的私钥,以及被检测的关键字w'的情况下,第i给接收者随即的选取两个随机数r,并且运行这个算法针对关键字w'生成关键字陷门 其中 然后指定的接收者再将Ti发送给云服务器。
7.根据权利要求1所述的可搜索的公钥加密方法,其特征在于,所述步骤6)中,所述测试算法为Test(GP,Ti,C),具体为:
在给定输入全局参数;以及由第i个接收者生成的陷门,还有关键字密文的时候,云服务器运行这个算法来检测如果过这个方程成立,那么算法输出结果为1,意思是说接收者想要搜索的哪个关键字w'和数据拥有者以密文形式存储在云服务器上的那个关键字w是相等的;因此数据的接收者就可以从云服务器那里找到包含有关键字w'的文件;否则,算法输出为0,说明云服务器上并不存在一个文件其中包含有关键字w'。
8.根据权利要求1所述的可搜索的公钥加密方法,其特征在于,所述步骤2)中,所述发送者的密钥生成算法为KeyGensender(GP):在以全局参数作为输入的情况下,发送者,也就是数据的拥有者,运行这个算法来获取自己的私钥以及公钥pks=gα∈G。
9.根据权利要求1所述的可搜索的公钥加密方法,其特征在于,所述步骤5)中,所述接收者的密钥生成算法为在以全局参数作为输入的情况下,第i个指定的接收者运行这个算法来获得自己的私钥以及公钥
CN201510080013.9A 2015-02-13 2015-02-13 一种可搜索的公钥加密方法 Expired - Fee Related CN104852801B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510080013.9A CN104852801B (zh) 2015-02-13 2015-02-13 一种可搜索的公钥加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510080013.9A CN104852801B (zh) 2015-02-13 2015-02-13 一种可搜索的公钥加密方法

Publications (2)

Publication Number Publication Date
CN104852801A true CN104852801A (zh) 2015-08-19
CN104852801B CN104852801B (zh) 2018-02-13

Family

ID=53852171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510080013.9A Expired - Fee Related CN104852801B (zh) 2015-02-13 2015-02-13 一种可搜索的公钥加密方法

Country Status (1)

Country Link
CN (1) CN104852801B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553660A (zh) * 2016-01-25 2016-05-04 华中科技大学 一种动态可搜索公钥加密方法
CN105871543A (zh) * 2016-03-29 2016-08-17 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法
CN105897419A (zh) * 2016-03-31 2016-08-24 浙江工业大学 一种多用户动态关键词可搜索加密方法
CN105915520A (zh) * 2016-04-18 2016-08-31 深圳大学 基于公钥可搜索加密的文件存储、搜索方法及存储系统
CN106161437A (zh) * 2016-06-28 2016-11-23 电子科技大学 一种基于ElGamal的高效的可搜索公钥加密方案
CN106559422A (zh) * 2016-11-10 2017-04-05 西安电子科技大学 基于密钥协商的多维密文区间查询方法
CN106789044A (zh) * 2017-02-20 2017-05-31 西南石油大学 标准模型下格上云存储密文数据公钥可搜索加密方法
CN107086917A (zh) * 2017-06-06 2017-08-22 华中科技大学 一种并行化和结构化公钥可搜索的加密方法
CN107734054A (zh) * 2017-11-06 2018-02-23 福州大学 安全云存储中的加密数据检索系统
CN108243000A (zh) * 2018-01-12 2018-07-03 哈尔滨工业大学深圳研究生院 云存储系统中的密文搜索方法
CN108259172A (zh) * 2018-01-12 2018-07-06 哈尔滨工业大学深圳研究生院 云存储系统中的密文搜索方法
CN108390760A (zh) * 2018-01-12 2018-08-10 电子科技大学 一种云数据传输中端到端的公钥关键字可搜索加密方法
CN108777623A (zh) * 2018-05-03 2018-11-09 上海海事大学 一种基于模糊关键字搜索的可撤销公钥加密方法
CN108881152A (zh) * 2018-04-20 2018-11-23 南京搜文信息技术有限公司 一种同时支持析取与合取关键词查询的公钥加密方法
CN109672525A (zh) * 2018-12-14 2019-04-23 华中科技大学 一种具有高效前向索引的可搜索公钥加密方法及系统
CN111049646A (zh) * 2019-11-21 2020-04-21 南京信息工程大学 一种基于量子委托计算的多方量子可搜索加密方法
CN111934875A (zh) * 2020-07-06 2020-11-13 河海大学 一种支持密文模糊搜索功能的公钥加密方法和系统
CN112000985A (zh) * 2020-08-25 2020-11-27 福建师范大学 具有指定条件关键字搜索功能的代理重加密方法和系统
CN112152803A (zh) * 2020-09-15 2020-12-29 河海大学 一种多接收者密文可搜索的基于身份加密方法和系统
CN112636902A (zh) * 2020-12-28 2021-04-09 杭州趣链科技有限公司 基于离散对数的加密邮件过滤方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101931947A (zh) * 2010-07-28 2010-12-29 南京航空航天大学 基于可搜索密文的wsn数据安全处理方法
US20110145594A1 (en) * 2009-12-16 2011-06-16 Electronics And Telecommunications Research Institute Method for performing searchable symmetric encryption
CN103023637A (zh) * 2012-12-25 2013-04-03 电子科技大学 一种云存储中可撤销的关键字搜索公钥加密及搜索方法
CN103095733A (zh) * 2013-03-04 2013-05-08 淮阴工学院 一种面向云存储的关键字密文检索方法
CN104022866A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中多用户密文关键词可搜索的加密方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145594A1 (en) * 2009-12-16 2011-06-16 Electronics And Telecommunications Research Institute Method for performing searchable symmetric encryption
CN101931947A (zh) * 2010-07-28 2010-12-29 南京航空航天大学 基于可搜索密文的wsn数据安全处理方法
CN103023637A (zh) * 2012-12-25 2013-04-03 电子科技大学 一种云存储中可撤销的关键字搜索公钥加密及搜索方法
CN103095733A (zh) * 2013-03-04 2013-05-08 淮阴工学院 一种面向云存储的关键字密文检索方法
CN104022866A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中多用户密文关键词可搜索的加密方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ZHI-YI SHAO,BO YANG: "Private set intersection via public key encryption with keywords search", 《WILEY ONLINE LIBRARY》 *
丁茂震: "云环境中密文搜索技术的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
方黎明: "带关键字搜索公钥加密的研究", 《中国博士学位论文全文数据库 信息科技辑》 *

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553660A (zh) * 2016-01-25 2016-05-04 华中科技大学 一种动态可搜索公钥加密方法
CN105553660B (zh) * 2016-01-25 2018-11-02 华中科技大学 一种动态可搜索公钥加密方法
CN105871543A (zh) * 2016-03-29 2016-08-17 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法
CN105871543B (zh) * 2016-03-29 2019-02-15 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法
CN105897419A (zh) * 2016-03-31 2016-08-24 浙江工业大学 一种多用户动态关键词可搜索加密方法
CN105897419B (zh) * 2016-03-31 2018-12-18 浙江工业大学 一种多用户动态关键词可搜索加密方法
WO2017181911A1 (zh) * 2016-04-18 2017-10-26 深圳大学 基于公钥可搜索加密的文件存储、搜索方法及存储系统
US10769107B2 (en) 2016-04-18 2020-09-08 Shenzhen University File storage method, file search method and file storage system based on public-key encryption with keyword search
CN105915520A (zh) * 2016-04-18 2016-08-31 深圳大学 基于公钥可搜索加密的文件存储、搜索方法及存储系统
CN105915520B (zh) * 2016-04-18 2019-02-12 深圳大学 基于公钥可搜索加密的文件存储、搜索方法及存储系统
CN106161437A (zh) * 2016-06-28 2016-11-23 电子科技大学 一种基于ElGamal的高效的可搜索公钥加密方案
CN106161437B (zh) * 2016-06-28 2019-08-20 电子科技大学 一种基于ElGamal的高效的可搜索公钥加密方案
CN106559422A (zh) * 2016-11-10 2017-04-05 西安电子科技大学 基于密钥协商的多维密文区间查询方法
CN106559422B (zh) * 2016-11-10 2019-04-23 西安电子科技大学 基于密钥协商的多维密文区间查询方法
CN106789044A (zh) * 2017-02-20 2017-05-31 西南石油大学 标准模型下格上云存储密文数据公钥可搜索加密方法
CN106789044B (zh) * 2017-02-20 2019-12-27 西南石油大学 标准模型下格上云存储密文数据公钥可搜索加密方法
CN107086917B (zh) * 2017-06-06 2019-11-12 华中科技大学 一种并行化和结构化公钥可搜索的加密方法
CN107086917A (zh) * 2017-06-06 2017-08-22 华中科技大学 一种并行化和结构化公钥可搜索的加密方法
CN107734054A (zh) * 2017-11-06 2018-02-23 福州大学 安全云存储中的加密数据检索系统
CN108243000A (zh) * 2018-01-12 2018-07-03 哈尔滨工业大学深圳研究生院 云存储系统中的密文搜索方法
CN108390760B (zh) * 2018-01-12 2020-10-23 电子科技大学 一种云数据传输中端到端的公钥关键字可搜索加密方法
CN108259172A (zh) * 2018-01-12 2018-07-06 哈尔滨工业大学深圳研究生院 云存储系统中的密文搜索方法
CN108390760A (zh) * 2018-01-12 2018-08-10 电子科技大学 一种云数据传输中端到端的公钥关键字可搜索加密方法
CN108243000B (zh) * 2018-01-12 2021-07-09 哈尔滨工业大学深圳研究生院 云存储系统中的密文搜索方法
CN108881152A (zh) * 2018-04-20 2018-11-23 南京搜文信息技术有限公司 一种同时支持析取与合取关键词查询的公钥加密方法
CN108777623A (zh) * 2018-05-03 2018-11-09 上海海事大学 一种基于模糊关键字搜索的可撤销公钥加密方法
CN109672525A (zh) * 2018-12-14 2019-04-23 华中科技大学 一种具有高效前向索引的可搜索公钥加密方法及系统
CN111049646A (zh) * 2019-11-21 2020-04-21 南京信息工程大学 一种基于量子委托计算的多方量子可搜索加密方法
CN111934875A (zh) * 2020-07-06 2020-11-13 河海大学 一种支持密文模糊搜索功能的公钥加密方法和系统
CN112000985A (zh) * 2020-08-25 2020-11-27 福建师范大学 具有指定条件关键字搜索功能的代理重加密方法和系统
CN112000985B (zh) * 2020-08-25 2023-06-13 福建师范大学 具有指定条件关键字搜索功能的代理重加密方法和系统
CN112152803A (zh) * 2020-09-15 2020-12-29 河海大学 一种多接收者密文可搜索的基于身份加密方法和系统
CN112152803B (zh) * 2020-09-15 2021-12-21 河海大学 一种多接收者密文可搜索的基于身份加密方法
CN112636902A (zh) * 2020-12-28 2021-04-09 杭州趣链科技有限公司 基于离散对数的加密邮件过滤方法

Also Published As

Publication number Publication date
CN104852801B (zh) 2018-02-13

Similar Documents

Publication Publication Date Title
CN104852801A (zh) 一种可搜索的公钥加密方法
Wang et al. A ciphertext-policy attribute-based encryption scheme supporting keyword search function
CN105610793B (zh) 一种外包数据加密存储与密文查询系统及其应用方法
CN103944711B (zh) 一种云存储密文检索方法及其系统
Xu et al. Verifiable public key encryption scheme with equality test in 5G networks
Guan et al. Toward privacy-preserving cybertwin-based spatiotemporal keyword query for ITS in 6G era
CN105024802B (zh) 云存储中基于双线性对的多用户多关键词可搜索加密方法
CN105915520A (zh) 基于公钥可搜索加密的文件存储、搜索方法及存储系统
CN105743888A (zh) 一种基于关键字搜索的代理重加密方案
Hwang et al. A new public key encryption with conjunctive field keyword search scheme
CN105049196B (zh) 云存储中指定位置的多个关键词可搜索的加密方法
CN105320896A (zh) 一种云存储加密以及其密文检索方法与系统
CN103873236B (zh) 一种可搜索加密方法及设备
Xi et al. Privacy preserving shortest path routing with an application to navigation
CN105610910A (zh) 面向云存储并基于全同态密码的密文全文检索方法及系统
CN104022866A (zh) 云存储中多用户密文关键词可搜索的加密方法
CN105282167A (zh) 一种可搜索的无证书公钥加密方法
Tuo et al. An effective fuzzy keyword search scheme in cloud computing
CN104993931A (zh) 一种云存储中多用户的加密搜索方法
Ma et al. Adaptable key-policy attribute-based encryption with time interval
Liang et al. Efficient and fully CCA secure conditional proxy re-encryption from hierarchical identity-based encryption
CN107181596B (zh) 一种基于双线性对的可搜索加密方法
CN105007258B (zh) 一种快速关键字可搜索公钥加密方法
Wu et al. Novel multi-keyword search on encrypted data in the cloud
Huang et al. Adaptive secure cross-cloud data collaboration with identity-based cryptography and conditional proxy re-encryption

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate 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: 20180213

Termination date: 20210213

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