CN110602064A - 一种支持多关键字搜索的基于身份加密方法与系统 - Google Patents

一种支持多关键字搜索的基于身份加密方法与系统 Download PDF

Info

Publication number
CN110602064A
CN110602064A CN201910806236.7A CN201910806236A CN110602064A CN 110602064 A CN110602064 A CN 110602064A CN 201910806236 A CN201910806236 A CN 201910806236A CN 110602064 A CN110602064 A CN 110602064A
Authority
CN
China
Prior art keywords
key
keyword
ciphertext
identity
storage server
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.)
Pending
Application number
CN201910806236.7A
Other languages
English (en)
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.)
Hohai University HHU
Original Assignee
Hohai University HHU
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 Hohai University HHU filed Critical Hohai University HHU
Priority to CN201910806236.7A priority Critical patent/CN110602064A/zh
Publication of CN110602064A publication Critical patent/CN110602064A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种支持多关键字搜索的基于身份加密方法及系统,所述方法包括生成系统的公开参数和主密钥、生成服务器的秘密密钥、生成服务器的公钥和私钥对、生成用户的私钥、生成关键字密文、生成关键字陷门和测试的步骤。本发明还提供了一种支持多关键字搜索的基于身份加密系统,包括系统参数生成模块、服务器密钥生成模块、服务器初始化模块、用户密钥生成模块、关键字密文生成模块、陷门生成模块和测试模块。本发明所述技术方案不仅提高了系统的运行效率,而且避免了利用单关键字搜索的基于身份加密方法进行多词搜索可能导致的密文信息泄露的问题。

Description

一种支持多关键字搜索的基于身份加密方法与系统
技术领域
本发明涉及信息安全中的数据加密技术领域,特别涉及一种支持多关键字搜索的基于身份加密方法与系统。
背景技术
关键字搜索加密技术允许用户在搜索加密数据的同时不会泄露相关的明文和关键字信息。Boneh等人在2003年最先提出了带关键字搜索的公钥加密(public keyencryption with keyword search)方法。带关键字搜索的公钥加密主要包含三个实体,即发送者,接收者以及存储服务器。发送者首先使用传统公钥加密技术来加密需要分享的数据,并附上使用带关键字搜索的公钥加密技术生成的关键字密文形成可搜索的数据密文,然后将可搜索的数据密文发送给存储服务器。为了检索存储服务器中数据密文,接收者首先生成一个包含需要搜索的关键字的陷门,然后将之发送给服务器。服务器接收到关键字陷门后,通过执行一种测试算法来查找包含陷门中关键字的密文。最后服务器将所有匹配的数据密文返回给接收者。在上述过程中,服务器对数据密文的内容以及搜索关键词的信息一无所知。因此,带关键字搜索的公钥加密为公钥密码系统中密文检索问题的解决提供了一种非常理想的方法。
带关键字搜索的基于身份加密方法由Abdalla等人在2008年首先提出,该方法有机结合了关键字搜索加密和基于身份密码体制,并有效克服了带关键字搜索的公钥加密方法中复杂的证书管理问题。在带关键字搜索的基于身份加密中,每一位用户的公钥就是他唯一的身份信息(如用户的身份证号、手机号或者邮箱地址),而私钥则由一个称为私钥生成中心的可信第三方来生成。由于用户的公钥就是能唯一确定用户身份的信息,很自然地解决了用户公钥与其身份的绑定问题,因此带关键字搜索的基于身份加密方法不需要使用公钥证书,从而避免了证书管理带来的一系列问题。
2014年,Wu等人首次提出了指定服务器的带关键字搜索的基于身份加密方法,实现了关键词陷门的公开传输,该方法是基于双线性对(Bilinear Pairing)实现的。
下面首先简要地介绍双线性对的基本定义和性质。
设G1和G2是两个素数q阶循环群,其中P是群G1的生成元。假设群G1和G2上的离散对数问题都是困难的。如果群G1和G2上的一个映射e:G1×G1→G2满足下面的三个性质,则称该映射为有效的双线性对。其中,双线性对e:G1×G1→G2是笛卡尔积G1×G1到群G2的映射,即双线性对e:G1×G1→G2代表函数z=e(x,y),其中x,y∈G1为自变量,z∈G2为因变量。
双线性对应满足以下三条性质:
(1)双线性.对任意的都有e(aP,bP)=e(P,P)ab
(2)非退化性.其中是群G2的单位元。
(3)可计算性.对于任意的存在一个有效的算法来计算e(aP,bP)。
其中,循环群的概念为:设G为群,如果存在一个元素P∈G使得G={kP|k∈Z},则称G为循环群,称P是G的生成元。若生成元P的阶为q(即q是使得P的幂等于群G的单位元的最小正整数),则称G为q阶循环群。此外,其中Zq是指整数模q的剩余类,即Zq={0,1,...,q-1}。
根据以上双线性对的描述,下面进一步说明现有的指定服务器的带关键字搜索的基于身份加密方法。
现有的指定服务器的带关键字搜索的基于身份加密系统主要包括系统参数生成模块、服务器密钥生成模块、用户密钥生成模块、关键字密文生成模块、陷门生成模块和测试模块。
1.系统参数生成模块
设G1和G2是两个素数q阶循环群,其中q为大素数,P是群G1的生成元。定义双线性对e:G1×G1→G2;e:G1×G1→G2是笛卡尔积G1×G1到群G2上的映射,即双线性对e:G1×G1→G2指函数z=e(u,v),其中u,v∈G1为自变量,z∈G2为因变量。给定一个安全参数k,私钥生成中心执行如下:随机选择计算系统公钥Ppub=sP;选择四个哈希函数H1:{0,1}*→G1,H2:{0,1}*→G1,H3:{0,1}*→G1和H4:H1,H2和H3是{0,1}*到G1的哈希函数,{0,1}*指不确定长度的二进制串的集合,G1表示加法循环群G1中的群元素集合。H4是G2的密码学哈希函数,G2表示乘法循环群G2中的群元素。最终,私钥生成中心将系统的主私钥msk=s保密,且将系统参数的集合params={e,G1,G2,q,P,Ppub,H1,H2,H3,H4}公开。
2.服务器密钥生成模块
通过服务器的身份信息IDs∈{0,1}*,私钥生成中心利用系统参数params生成服务器私钥DIDs=sQIDs,其中QIDs=H1(IDs)。服务器选择一个随机数将Sser作为服务器的秘密密钥,并计算服务器公钥Pser=SserP。
3.用户密钥生成模块
给定用户身份信息IDu∈{0,1}*,私钥生成中心利用系统参数params生成用户私钥DIDu=sQIDu,其中QIDs=H2(IDu)。
4.关键字密文生成模块
给定接收用户的身份信息IDr,服务器身份信息IDs和一个关键字集合W={w1,w2,…,wn},发送者选择一个随机数计算关键字密文C=(C1,C21,C22,…,C2n,C3)=(rP,rH3(IDs,w1),rH3(IDs,w2),…,rH3(IDs,wn),H4(e(r[H1(IDs)+H2(IDr)],Ppub)))。
5.陷门生成模块
给定服务器的身份信息IDs∈{0,1}*,服务器的公钥Pser,接收用户的私钥DIDr,以及一个关键字w,接收者选择一个随机数计算关键字陷门T=(T1,T2)=(kPser,DIDc-kH3(IDs,w))。
6.测试模块
给定服务器的私钥DIDs,服务器的秘密密钥Sser,一个关键字密文C=(C1,C21,C22,…,C2n,C3)和一个陷门T=(T1,T2),服务器依次检测等式C3=H4(e(C1,Tw2+DIDs)·e(Sser -1·C2i,Tw1))是否成立,其中i=1,2,…,n。如果上述任一等式成立,则服务器返回相应的密文给接收用户;否则,测试失败。
根据上述的6个模块,即实现了现有的指定服务器的带关键字搜索的基于身份加密方法。在该方法中,用户的身份信息直接与用户的公钥相关联,发送者不需要了解接收者的证书状态,解决了传统的公钥密码系统中第三方询问的问题,削减了繁重地证书管理任务。但是,该方法存在如下显著的缺点:(1)该方法仅支持单关键字搜索。由于单词搜索仅允许用户每次发送一个关键词的搜索请求,这极不符合现实生活中多词搜索的应用需求,特别是当单关键词无法精确定位到用户所想要的数据密文时,单词搜索的限制可能需要用户使用不同关键词进行多轮搜索,或者是经过一轮密文搜索后,对返回结果解密,通过在明文上进行搜索来寻找目标文件。这不仅增加了通信的代价,降低点了搜索的效率,同时也会给用户带来极差的操作体验。(2)已有研究表明:利用单关键词搜索加密方案进行多词搜索可能会使得服务器推断出用户密文的相关信息,从而导致用户数据信息的泄露。
发明内容
本发明所要解决的技术问题是针对现有指定服务器的带关键字搜索的基于身份加密方法中存在的问题,本发明提供了一种支持多关键字搜索的基于身份加密方法与系统。
本发明为解决上述技术问题采用以下技术方案:
一种支持多关键字搜索的基于身份加密方法,所述方法包含以下步骤:
步骤A),生成系统的公开参数和主密钥;
步骤B),根据所述系统的公开参数、系统的主密钥和系统指定的密文存储服务器的身份信息生成该密文存储服务器的秘密密钥;
步骤C),根据所述系统的公开参数和密文存储服务器的秘密密钥,生成密文存储服务器的公钥和私钥对;
步骤D),根据所述系统的公开参数、系统的主密钥和用户的身份信息生成用户的私钥;
步骤E),根据所述系统的公开参数、密文存储服务器的身份信息、密文存储服务器的公钥、接收用户的身份信息和关键字集合,生成关键字密文;
步骤F),根据所述系统的公开参数、密文存储服务器的身份信息、密文存储服务器的公钥、接收用户的身份信息、接收用户的私钥和关键字集合,生成关键字陷门;
步骤G),根据所述系统的公开参数、密文存储服务器的公钥、关键字密文和关键字陷门,测试关键字陷门中的关键字集合是否为关键字密文中关键字集合的子集。
作为本发明一种支持多关键字搜索的基于身份加密方法进一步的优化方案,所述步骤A)的详细步骤如下:
步骤A.1),根据选定的安全参数k∈Z+确定一个k比特的大素数q,生成两个q阶循环群G1和G2,以及定义在群G1和群G2上的双线性对e:G1×G1→G2,其中,Z+是正整数集合;双线性对e:G1×G1→G2是笛卡尔积G1×G1到群G2的映射,即双线性对e:G1×G1→G2是指函数z=e(x,y),其中x,y∈G1为自变量,z∈G2为因变量;
步骤A.2),从群G1中选择一个随机生成元P并选择一个随机数集合计算Ppub=sP;
步骤A.3),定义4个哈希函数H1:{0,1}*→G1、H2:{0,1}*→G1、H3:{0,1}*→G1、H4:H1、H2、H3均为{0,1}*到群G1的密码学哈希函数,H4是群G2的密码学哈希函数,{0,1}*是长度不确定的二进制串的集合;
步骤A.4),生成系统的公开参数params:
params={e,G1,G2,q,P,Ppub,H1,H2,H3,H4},私钥生成中心秘密保存系统的主密钥msk=s。
作为本发明一种支持多关键字搜索的基于身份加密方法进一步的优化方案,所述步骤B)的详细步骤如下:
获得密文存储服务器的身份IDs,根据系统的公开参数params和主密钥s生成密文存储服务器的秘密密钥ds=sQs,其中Qs=H1(IDs)。
作为本发明一种支持多关键字搜索的基于身份加密方法进一步的优化方案,所述步骤C)的详细步骤如下:
身份为IDs的密文存储服务器接收到秘密密钥ds后,首先随机选择设置SKs=(SKs1,SKs2)=(ds,x)为自己的私钥;然后利用系统的公开参数params生成自己的公钥PKs=xP。
作为本发明一种支持多关键字搜索的基于身份加密方法进一步的优化方案,所述步骤D)的详细步骤如下:
获得用户的身份IDu,利用系统的公开参数params和主密钥s生成用户的私钥SKu=sQu,其中Qu=H2(IDu)。
作为本发明一种支持多关键字搜索的基于身份加密方法进一步的优化方案,所述步骤E)的详细步骤如下:
步骤E.1),发送者使用密文存储服务器的身份IDs和公钥PKs接收用户的身份IDu加密关键字集合W={w1,w2,...,wn};
步骤E.2),发送者选择两个随机数依次计算A=r1r2H1(IDs)、Bi=r1H3(wi)(i=1,2,...,n)、C=r2PKs、D=r1r2P和E=H4(e(H1(IDs)+H2(IDu),r1r2Ppub));然后将CTw=(A,B1,B2,...,Bn,C,D,E)作为关键字密文附加在数据密文上发送给密文存储服务器IDs
作为本发明一种支持多关键字搜索的基于身份加密方法进一步的优化方案,所述步骤F)的详细步骤如下:
步骤F.1),身份为IDu的接收用户使用密文存储服务器的身份IDs、公钥PKs、自己的身份IDu和私钥SKu生成待搜索的关键字集合的陷门,其中Ii∈{1,2,...,n};
步骤F.2),身份为IDu的接收用户选择一个随机数依次计算T1=tPKs、T2=H4(e(tH1(IDs),Ppub))、然后将作为关键字陷门发送给密文存储服务器。
作为本发明一种支持多关键字搜索的基于身份加密方法进一步的优化方案,所述步骤G)的详细步骤如下:
步骤G.1),密文存储服务器收到关键字陷门后,利用自己的私钥SKs对发送给接收用户IDu的关键字密文CTw=(A,B1,B2,...,Bn,C,D,E)进行测试;
步骤G.2),密文存储服务器计算
步骤G.3),密文存储服务器验证等式是否成立;如果该等式成立,搜索关键词集合WT是密文CTw中关键字集合W的子集后、将相应数据密文发送给接收者;否则,测试失败。
本发明还公开了一种基于该支持多关键字搜索的基于身份加密方法的系统,包含以下模块:
系统参数生成模块,用于根据输入的安全参数生成系统的公开参数和主密钥;
服务器密钥生成模块,用于根据所述系统的公开参数、系统的主密钥和系统指定的密文存储服务器的身份信息生成该密文存储服务器的秘密密钥;
服务器初始化模块,用于根据系统的公开参数和密文存储服务器的秘密密钥,生成密文存储服务器的公钥和私钥对;
用户密钥生成模块,用于根据系统的公开参数、系统的主密钥和用户的身份信息,生成用户的私钥;
关键字密文生成模块,用于根据系统的公开参数、密文存储服务器的身份信息、密文存储服务器的公钥、接收用户的身份信息和关键字集合生成关键字密文;
陷门生成模块,用于根据系统的公开参数、密文存储服务器的身份信息、密文存储服务器的公钥、接收用户的身份信息、接收用户的私钥和关键字集合生成关键字陷门;
测试模块,用于根据所述系统的公开参数、密文存储服务器的公钥、关键字密文和关键字陷门,测试关键字陷门中的关键字集合是否为关键字密文中关键字集合的子集。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
首先,由于本发明提供的方法基于身份密码体制,因此消除了基于传统公钥密码体制的带关键字搜索加密方法中的繁重的证书管理问题。
其次,由于同时支持多关键字密文和多关键字陷门的产生,因此具有比现有指定服务器的带关键字搜索的基于身份加密方法更加高效的效率。
此外,由于支持多关键字搜索,因此使得服务器难以从用户的搜索过程中推断出用户密文的相关信息,更加有效地保护了用户数据的隐私性。
附图说明
图1是本发明所述的支持多关键字搜索的基于身份加密方法的流程图;
图2依照本发明的密码系统执行的操作流程图;
图3是本发明所述的支持多关键字搜索的基于身份加密系统的示意图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
本发明所述支持多关键字搜索的基于身份加密方法可基于双线性对来实现,下面首先简要介绍双线性对的基本定义和它满足的性质。
设G1和G2是两个素数q阶循环群,其中P是群G1的生成元。假设群G1和G2上的离散对数问题都是困难的。如果群G1和G2上的一个映射e:G1×G1→G2满足下面的三个性质,则称该映射为有效的双线性对。其中,双线性对e:G1×G1→G2是笛卡尔积G1×G1到群G2的映射,即双线性对e:G1×G1→G2代表函数z=e(x,y),其中x,y∈G1为自变量,z∈G2为因变量。
双线性对应满足以下三条性质:
(1)双线性.对任意的都有e(aP,bP)=e(P,P)ab
(2)非退化性.其中是群G2的单位元。
(3)可计算性.对于任意的存在一个有效的算法来计算e(aP,bP)。
其中,循环群的概念为:设G为群,如果存在一个元素P∈G使得G={kP|k∈Z},则称G为循环群,称P是G的生成元。若生成元P的阶为q(即q是使得P的幂等于群G的单位元的最小正整数),则称G为q阶循环群。此外,其中Zq是指整数模q的剩余类,即Zq={0,1,...,q-1}。
根据以上双线性对的描述,下面结合附图和实现例对本发明提出的支持多关键字搜索的基于身份加密方法作进一步说明,但并不作为对本发明的限定。
本发明所述方法涉及的实体如下:
(1)私钥生成中心:负责生成系统的公开参数和主密钥,指定存储服务器的秘密密钥以及每个用户的私钥;
(2)服务器:负责存储系统中用户的数据密文,并负责使用用户提交的关键字陷门对密文数据进行检索;
(4)发送者:密文的发送实体,负责产生数据密文和关键字密文;
(5)接收者:密文的接收实体,通过向服务器发送关键字陷门授权服务器检索其密文。
参照图附图1和附图2,本发明所述方法的步骤具体描述如下:
步骤A,生成系统的公开参数和主密钥;具体步骤如下:
步骤1,根据选定的安全参数k∈Z+,确定一个k比特的大素数q,且生成两个q阶循环群G1和G2,以及定义在群G1和群G2上的双线性对e:G1×G1→G2,其中双线性对e:G1×G1→G2是笛卡尔积G1×G1到群G2的映射;
步骤2,从群G1中选择一个随机生成元P并选择一个随机数集合计算Ppub=sP;
步骤3,定义4个哈希函数H1:{0,1}*→G1,H2:{0,1}*→G1,H3:{0,1}*→G1和H4:H1,H2和H3是{0,1}*到群G1的密码学哈希函数,H4是群G2的密码学哈希函数,{0,1}*是长度不确定的二进制串的集合;
根据步骤1、步骤2及步骤3的执行结果,从而获得系统的公开参数params={e,G1,G2,q,P,Ppub,H1,H2,H3,H4},秘密保存系统的主密钥msk=s。
步骤B,根据所述系统的公开参数、系统的主密钥和服务器的身份信息生成服务器的秘密密钥,所述服务器是指系统指定的密文存储服务器;具体步骤如下:
步骤4,对于服务器身份IDs,计算并获得服务器IDs的秘密密钥ds=sH1(IDs)。
步骤C,根据所述系统的公开参数和服务器的秘密密钥,生成服务器的公钥和私钥对;具体步骤如下:
步骤5,对于服务器IDs的秘密密钥ds,选择一个随机数置服务器IDs的私钥SKs=(SKs1,SKs2)=(ds,x),计算服务器IDs的公钥PKs=xP。
步骤D,根据所述系统的公开参数、系统的主密钥和用户的身份信息生成用户的私钥;具体步骤如下:
步骤6,对于用户身份IDu,计算并获得用户IDu的私钥SKu=sH2(IDu)。
步骤E,根据所述系统的公开参数、服务器的身份信息、服务器的公钥、接收用户的身份信息和关键字集合,生成关键字密文;具体步骤如下:
步骤7,根据服务器的身份IDs和公钥PKs,接收者的身份IDu以及待加密的关键字集合W={w1,w2,...,wn},首先选择两个随机数依次计算A=r1r2H1(IDs),Bi=r1H3(wi)(i=1,2,...,n),C=r2PKs,D=r1r2P和E=H4(e(H1(IDs)+H2(IDu),r1r2Ppub)),从而获得关键字密文CTw=(A,B1,B2,...,Bn,C,D,E)。
步骤F,根据所述系统的公开参数、服务器的身份信息、服务器的公钥、接收者的身份信息、接收者的私钥和关键字集合,生成关键字陷门;具体步骤如下:
步骤8,根据服务器的身份IDs和公钥PKs,接收者的身份IDu和私钥SKu以及待待搜索的关键字集合其中Ii∈{1,2,...,n},首先选择一个随机数依次计算T1=tPKs,T2=H4(e(tH1(IDs),Ppub))和从而获得关键字陷门
步骤G,根据所述系统的公开参数、服务器的公钥、关键字密文和关键字陷门,测试关键字陷门中的关键字集合是否为关键字密文中关键字集合的子集;具体步骤如下:
步骤9,根据服务器IDs的私钥SKs,待检测的关键字密文CTw=(A,B1,B2,...,Bn,C,D,E)以及接收者IDu的关键字陷门计算并验证是否成立。如果上述等式成立,则搜索关键词集合WT是密文CTw中关键字集合W的子集,服务器IDs将相应数据密文发送给接收者IDu;否则,测试失败。
参见附图3,本发明还提供了一种支持多关键字搜索的基于身份加密系统,所述系统包括:系统参数生成模块、服务器密钥生成模块、服务器初始化模块、用户密钥生成模块、关键字密文生成模块、陷门生成模块以及测试模块;
所述系统参数生成模块用于根据输入的安全参数生成系统的公开参数和主密钥;
所述服务器密钥生成模块用于根据所述系统的公开参数、系统的主密钥和服务器的身份信息生成服务器的秘密密钥;
所述服务器初始化模块用于根据系统的公开参数和服务器的秘密密钥,生成服务器的公钥和私钥对;
所述用户密钥生成模块用于根据系统的公开参数、系统的主密钥和用户的身份信息,生成用户的私钥;
所述关键字密文生成模块用于根据系统的公开参数、服务器的身份信息、服务器的公钥、接收用户的身份信息和关键字集合,生成关键字密文;
所述陷门生成模块用于根据系统的公开参数、服务器的身份信息、服务器的公钥、接收用户的身份信息、接收用户的私钥和关键字集合,生成关键字陷门;
所述测试模块用于根据所述系统的公开参数、服务器的公钥、关键字密文和关键字陷门,测试关键字陷门中的关键字集合是否为关键字密文中关键字集合的子集。
本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种支持多关键字搜索的基于身份加密方法,其特征在于,所述方法包含以下步骤:
步骤A),生成系统的公开参数和主密钥;
步骤B),根据所述系统的公开参数、系统的主密钥和系统指定的密文存储服务器的身份信息生成该密文存储服务器的秘密密钥;
步骤C),根据所述系统的公开参数和密文存储服务器的秘密密钥,生成密文存储服务器的公钥和私钥对;
步骤D),根据所述系统的公开参数、系统的主密钥和用户的身份信息生成用户的私钥;
步骤E),根据所述系统的公开参数、密文存储服务器的身份信息、密文存储服务器的公钥、接收用户的身份信息和关键字集合,生成关键字密文;
步骤F),根据所述系统的公开参数、密文存储服务器的身份信息、密文存储服务器的公钥、接收用户的身份信息、接收用户的私钥和关键字集合,生成关键字陷门;
步骤G),根据所述系统的公开参数、密文存储服务器的公钥、关键字密文和关键字陷门,测试关键字陷门中的关键字集合是否为关键字密文中关键字集合的子集。
2.根据权利要求1所述的支持多关键字搜索的基于身份加密方法,其特征在于,所述步骤A)的详细步骤如下:
步骤A.1),根据选定的安全参数k∈Z+确定一个k比特的大素数q,生成两个q阶循环群G1和G2,以及定义在群G1和群G2上的双线性对e:G1×G1→G2,其中,Z+是正整数集合;双线性对e:G1×G1→G2是笛卡尔积G1×G1到群G2的映射,即双线性对e:G1×G1→G2是指函数z=e(x,y),其中x,y∈G1为自变量,z∈G2为因变量;
步骤A.2),从群G1中选择一个随机生成元P并选择一个随机数集合计算Ppub=sP;
步骤A.3),定义4个哈希函数H1:{0,1}*→G1、H2:{0,1}*→G1、H3:{0,1}*→G1H1、H2、H3均为{0,1}*到群G1的密码学哈希函数,H4是群G2的密码学哈希函数,{0,1}*是长度不确定的二进制串的集合;
步骤A.4),生成系统的公开参数params:
params={e,G1,G2,q,P,Ppub,H1,H2,H3,H4},私钥生成中心秘密保存系统的主密钥msk=s。
3.根据权利要求2所述的支持多关键字搜索的基于身份加密方法,其特征在于,所述步骤B)的详细步骤如下:
获得密文存储服务器的身份IDs,根据系统的公开参数params和主密钥s生成密文存储服务器的秘密密钥ds=sQs,其中Qs=H1(IDs)。
4.根据权利要求3所述的支持多关键字搜索的基于身份加密方法,其特征在于,所述步骤C)的详细步骤如下:
身份为IDs的密文存储服务器接收到秘密密钥ds后,首先随机选择设置SKs=(SKs1,SKs2)=(ds,x)为自己的私钥;然后利用系统的公开参数params生成自己的公钥PKs=xP。
5.根据权利要求4所述的支持多关键字搜索的基于身份加密方法,其特征在于,所述步骤D)的详细步骤如下:
获得用户的身份IDu,利用系统的公开参数params和主密钥s生成用户的私钥SKu=sQu,其中Qu=H2(IDu)。
6.根据权利要5所述的支持多关键字搜索的基于身份加密方法,其特征在于,所述步骤E)的详细步骤如下:
步骤E.1),发送者使用密文存储服务器的身份IDs和公钥PKs接收用户的身份IDu加密关键字集合W={w1,w2,...,wn};
步骤E.2),发送者选择两个随机数依次计算A=r1r2H1(IDs)、Bi=r1H3(wi)(i=1,2,...,n)、C=r2PKs、D=r1r2P和E=H4(e(H1(IDs)+H2(IDu),r1r2Ppub));然后将CTw=(A,B1,B2,...,Bn,C,D,E)作为关键字密文附加在数据密文上发送给密文存储服务器IDs
7.根据权利要求6所述的支持多关键字搜索的基于身份加密方法,其特征在于,所述步骤F)的详细步骤如下:
步骤F.1),身份为IDu的接收用户使用密文存储服务器的身份IDs、公钥PKs、自己的身份IDu和私钥SKu生成待搜索的关键字集合的陷门,其中Ii∈{1,2,...,n};
步骤F.2),身份为IDu的接收用户选择一个随机数依次计算T1=tPKs、T2=H4(e(tH1(IDs),Ppub))、然后将作为关键字陷门发送给密文存储服务器。
8.根据权利要求7所述的支持多关键字搜索的基于身份加密方法,其特征在于,所述步骤G)的详细步骤如下:
步骤G.1),密文存储服务器收到关键字陷门后,利用自己的私钥SKs对发送给接收用户IDu的关键字密文CTw=(A,B1,B2,...,Bn,C,D,E)进行测试;
步骤G.2),密文存储服务器计算
步骤G.3),密文存储服务器验证等式是否成立;如果该等式成立,搜索关键词集合WT是密文CTw中关键字集合W的子集、将相应数据密文发送给接收者;否则,测试失败。
9.基于权利要求1所述的支持多关键字搜索的基于身份加密方法的系统,其特征在于,包含以下模块:
系统参数生成模块,用于根据输入的安全参数生成系统的公开参数和主密钥;
服务器密钥生成模块,用于根据所述系统的公开参数、系统的主密钥和系统指定的密文存储服务器的身份信息生成该密文存储服务器的秘密密钥;
服务器初始化模块,用于根据系统的公开参数和密文存储服务器的秘密密钥,生成密文存储服务器的公钥和私钥对;
用户密钥生成模块,用于根据系统的公开参数、系统的主密钥和用户的身份信息,生成用户的私钥;
关键字密文生成模块,用于根据系统的公开参数、密文存储服务器的身份信息、密文存储服务器的公钥、接收用户的身份信息和关键字集合生成关键字密文;
陷门生成模块,用于根据系统的公开参数、密文存储服务器的身份信息、密文存储服务器的公钥、接收用户的身份信息、接收用户的私钥和关键字集合生成关键字陷门;
测试模块,用于根据所述系统的公开参数、密文存储服务器的公钥、关键字密文和关键字陷门,测试关键字陷门中的关键字集合是否为关键字密文中关键字集合的子集。
CN201910806236.7A 2019-08-29 2019-08-29 一种支持多关键字搜索的基于身份加密方法与系统 Pending CN110602064A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910806236.7A CN110602064A (zh) 2019-08-29 2019-08-29 一种支持多关键字搜索的基于身份加密方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910806236.7A CN110602064A (zh) 2019-08-29 2019-08-29 一种支持多关键字搜索的基于身份加密方法与系统

Publications (1)

Publication Number Publication Date
CN110602064A true CN110602064A (zh) 2019-12-20

Family

ID=68856158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910806236.7A Pending CN110602064A (zh) 2019-08-29 2019-08-29 一种支持多关键字搜索的基于身份加密方法与系统

Country Status (1)

Country Link
CN (1) CN110602064A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111416710A (zh) * 2020-03-24 2020-07-14 国网山东省电力公司 一种应用于多接收端的无证书可搜索加密方法和系统
CN111786790A (zh) * 2020-06-09 2020-10-16 河海大学 一种隐私保护的带关键词搜索的基于身份加密方法和系统
CN111934875A (zh) * 2020-07-06 2020-11-13 河海大学 一种支持密文模糊搜索功能的公钥加密方法和系统
CN112152803A (zh) * 2020-09-15 2020-12-29 河海大学 一种多接收者密文可搜索的基于身份加密方法和系统
CN113761229A (zh) * 2021-08-25 2021-12-07 浪潮电子信息产业股份有限公司 一种加密邮件的搜索方法、搜索系统及相关组件
CN114422114A (zh) * 2021-12-08 2022-04-29 河南大学 基于多时间服务器的时控性加密方法和系统
CN115333845A (zh) * 2022-08-19 2022-11-11 南京理工大学 基于子集的隐私数据验证方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859090A (zh) * 2005-12-30 2006-11-08 上海交通大学 一种基于身份的密码方法和系统
US20110145594A1 (en) * 2009-12-16 2011-06-16 Electronics And Telecommunications Research Institute Method for performing searchable symmetric encryption
CN104168113A (zh) * 2014-08-07 2014-11-26 河海大学 一种n层CA结构的基于证书加密的方法及系统
CN104363215A (zh) * 2014-11-04 2015-02-18 河海大学 一种基于属性的加密方法和系统
CN104868993A (zh) * 2015-05-15 2015-08-26 河海大学 一种基于证书的两方认证密钥协商方法及系统
CN106407822A (zh) * 2016-09-14 2017-02-15 华南理工大学 一种关键词、多关键词可搜索加密方法和系统
CN107437993A (zh) * 2016-05-26 2017-12-05 中兴通讯股份有限公司 一种基于无证书两方认证密钥协商方法和装置
CN108062485A (zh) * 2017-12-15 2018-05-22 北京工业大学 一种面向多服务器多用户的模糊关键字搜索方法
CN108259517A (zh) * 2018-04-24 2018-07-06 上海海事大学 一种实现密文策略的密钥隔离属性的加密方法
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索系统
CN109286491A (zh) * 2018-10-18 2019-01-29 上海海事大学 一种基于代理撤销的密钥策略属性基加密方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859090A (zh) * 2005-12-30 2006-11-08 上海交通大学 一种基于身份的密码方法和系统
US20110145594A1 (en) * 2009-12-16 2011-06-16 Electronics And Telecommunications Research Institute Method for performing searchable symmetric encryption
CN104168113A (zh) * 2014-08-07 2014-11-26 河海大学 一种n层CA结构的基于证书加密的方法及系统
CN104363215A (zh) * 2014-11-04 2015-02-18 河海大学 一种基于属性的加密方法和系统
CN104868993A (zh) * 2015-05-15 2015-08-26 河海大学 一种基于证书的两方认证密钥协商方法及系统
CN107437993A (zh) * 2016-05-26 2017-12-05 中兴通讯股份有限公司 一种基于无证书两方认证密钥协商方法和装置
CN106407822A (zh) * 2016-09-14 2017-02-15 华南理工大学 一种关键词、多关键词可搜索加密方法和系统
CN108062485A (zh) * 2017-12-15 2018-05-22 北京工业大学 一种面向多服务器多用户的模糊关键字搜索方法
CN108632032A (zh) * 2018-02-22 2018-10-09 福州大学 无密钥托管的安全多关键词排序检索系统
CN108259517A (zh) * 2018-04-24 2018-07-06 上海海事大学 一种实现密文策略的密钥隔离属性的加密方法
CN109286491A (zh) * 2018-10-18 2019-01-29 上海海事大学 一种基于代理撤销的密钥策略属性基加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王刚: "指定服务器的基于身份加密连接关键字搜索方案", 《计算机与现代化》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111416710A (zh) * 2020-03-24 2020-07-14 国网山东省电力公司 一种应用于多接收端的无证书可搜索加密方法和系统
CN111786790A (zh) * 2020-06-09 2020-10-16 河海大学 一种隐私保护的带关键词搜索的基于身份加密方法和系统
CN111934875A (zh) * 2020-07-06 2020-11-13 河海大学 一种支持密文模糊搜索功能的公钥加密方法和系统
CN112152803A (zh) * 2020-09-15 2020-12-29 河海大学 一种多接收者密文可搜索的基于身份加密方法和系统
CN112152803B (zh) * 2020-09-15 2021-12-21 河海大学 一种多接收者密文可搜索的基于身份加密方法
CN113761229A (zh) * 2021-08-25 2021-12-07 浪潮电子信息产业股份有限公司 一种加密邮件的搜索方法、搜索系统及相关组件
CN114422114A (zh) * 2021-12-08 2022-04-29 河南大学 基于多时间服务器的时控性加密方法和系统
CN114422114B (zh) * 2021-12-08 2023-08-11 河南大学 基于多时间服务器的时控性加密方法和系统
CN115333845A (zh) * 2022-08-19 2022-11-11 南京理工大学 基于子集的隐私数据验证方法
CN115333845B (zh) * 2022-08-19 2024-04-12 南京理工大学 基于子集的隐私数据验证方法

Similar Documents

Publication Publication Date Title
Liu et al. An efficient privacy-preserving outsourced calculation toolkit with multiple keys
Liu et al. Efficient and privacy-preserving outsourced calculation of rational numbers
CN110602064A (zh) 一种支持多关键字搜索的基于身份加密方法与系统
Sun et al. An efficient non-interactive multi-client searchable encryption with support for boolean queries
Baek et al. Public key encryption with keyword search revisited
Wang et al. Inverted index based multi-keyword public-key searchable encryption with strong privacy guarantee
Lu et al. Pairing-free certificate-based searchable encryption supporting privacy-preserving keyword search function for IIoTs
Wu et al. Verifiable public key encryption with keyword search based on homomorphic encryption in multi-user setting
Hsu et al. A Study of Public Key Encryption with Keyword Search.
CN112152803B (zh) 一种多接收者密文可搜索的基于身份加密方法
Hwang et al. A new public key encryption with conjunctive field keyword search scheme
CN111786790A (zh) 一种隐私保护的带关键词搜索的基于身份加密方法和系统
CN109714157B (zh) 一种抗密钥暴露属性加密的sdn跨域访问控制方法
Liu et al. A privacy-preserving outsourced functional computation framework across large-scale multiple encrypted domains
Lu et al. Constructing pairing-free certificateless public key encryption with keyword search
Tuo et al. An effective fuzzy keyword search scheme in cloud computing
Gao et al. Efficient certificateless anonymous multi‐receiver encryption scheme without bilinear parings
CN111934875B (zh) 一种支持密文模糊搜索功能的公钥加密方法和系统
Lu et al. Constructing certificateless encryption with keyword search against outside and inside keyword guessing attacks
Ma et al. An Efficient Pairing‐Free Certificateless Searchable Public Key Encryption for Cloud‐Based IIoT
Zhang et al. Secure and efficient searchable public key encryption for resource constrained environment based on pairings under prime order group
Kim et al. Forward secure public key encryption with keyword search for cloud-assisted IoT
Chen et al. Multi-user boolean searchable encryption supporting fast ranking in mobile clouds
CN113407966A (zh) 具有密钥更新与密文分享功能的可搜索公钥加密方法和系统
Ali et al. Searchable encryption with conjunctive field free keyword search scheme

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191220

RJ01 Rejection of invention patent application after publication