CN111934875B - 一种支持密文模糊搜索功能的公钥加密方法和系统 - Google Patents

一种支持密文模糊搜索功能的公钥加密方法和系统 Download PDF

Info

Publication number
CN111934875B
CN111934875B CN202010641320.0A CN202010641320A CN111934875B CN 111934875 B CN111934875 B CN 111934875B CN 202010641320 A CN202010641320 A CN 202010641320A CN 111934875 B CN111934875 B CN 111934875B
Authority
CN
China
Prior art keywords
ciphertext
search
receiver
index
parameter set
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.)
Active
Application number
CN202010641320.0A
Other languages
English (en)
Other versions
CN111934875A (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.)
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 CN202010641320.0A priority Critical patent/CN111934875B/zh
Publication of CN111934875A publication Critical patent/CN111934875A/zh
Application granted granted Critical
Publication of CN111934875B publication Critical patent/CN111934875B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L9/3033Public 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 details relating to pseudo-prime or prime number generation, e.g. primality test
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Abstract

本发明公开了一种支持密文模糊搜索功能的公钥加密方法,所述方法包括生成系统的全局公共参数集、生成接收者的公钥和私钥、生成关键字的索引密文、生成待搜索关键字的搜索陷门和搜索测试的步骤。本发明还提供了一种支持密文模糊搜索功能的公钥加密系统,包括系统初始化模块、接收者密钥对生成模块、索引密文生成模块、搜索陷门生成模块和密文检索测试模块。本发明所述技术方案不仅支持模糊关键字搜索功能且不需要产生所有相似关键词的索引密文,而且支持由密文接收者设置关键字相似度阈值以控制密文检索的精确度,因此不仅提高了密文检索效率,而且也提升了系统的实用性。

Description

一种支持密文模糊搜索功能的公钥加密方法和系统
技术领域
本发明涉及信息安全中的数据加密技术领域,特别是一种支持密文模糊搜索功能的公钥加密方法和系统。
背景技术
关键字搜索加密技术允许用户在搜索加密数据的同时不会泄露相关的明文和关键字信息。Boneh等人在2004年最先提出了带关键字搜索的公钥加密方法。该方法使得用户可以授权不可信的密文服务器检索发送给他的且以其公钥加密的密文中是否包含有特定的关键词。带关键字搜索的公钥加密系统主要包含三个实体,即发送者,接收者以及密文服务器。发送者首先使用传统公钥加密技术来加密需要发送的数据,并附上使用带关键字搜索的公钥加密方法生成的索引密文形成可搜索的数据密文,然后将可搜索的数据密文发送给密文服务器。为了检索密文服务器中的密文,接收者首先生成一个包含需要搜索的关键字的搜索陷门,然后将之发送给密文服务器。密文服务器接收到搜索陷门后,通过执行测试算法来检索出所有包含搜索陷门中关键字的密文,并将匹配的密文返回给接收者。在上述密文检索过程中,密文服务器不知道密文的明文以及搜索陷门中的关键字。因此,带关键字搜索的公钥加密为公钥密码系统中密文检索问题的解决提供了一种非常理想的方法。
目前,绝大多数带关键字搜索的公钥加密方法仅支持精确的关键字匹配检索,即搜索陷门中的关键字与密文索引中的关键字完全相同时,才能匹配成功。这样的方法在检索密文时需要用户精确输入搜索关键字,不具备容错能力。一旦用户输入了错误的关键字,那么会导致检索失败或得到错误的检索结果。针对这一问题,一些密码学者提出了带模糊关键字搜索的公钥加密方法实现了密文的模糊搜索。这些方法大都采用了编辑距离来定义关键字之间的相似度,并使用了基于通配符的模糊关键字集(即所有相似度大于或等于一定阈值的关键字的集合)的构造方法。使用这些方法时,发送方需要首先产生与数据密文相关联的关键字的模糊关键字集,并产生模糊关键字集中所有关键字的索引密文并附加在数据密文上。密文检索时,密文服务器需要使用接收者提供的搜索陷门与附加在数据密文上多个索引密文逐一进行匹配测试,以找到可能包含搜索关键字的密文。已有的带模糊关键字搜索的公钥加密方法存在如下的不足。首先,发送者需要产生大量的索引密文。这不仅会增加发送者产生索引密文的计算代价和发送密文的通信代价,而且会增加服务器端密文的存储代价。其次,密文服务器在密文检索时需要逐一检查附加在数据密文多个索引密文,必然会导致检索效率低下。再次,由于模糊关键字搜索本质上是通过发送者产生的模糊关键字集合实现,因此接收者在密文检索时无法控制检索的精确度。
发明内容
本发明所要解决的技术问题是克服现有技术的不足而提供一种支持密文模糊搜索功能的公钥加密方法和系统,本发明所提出的方法不仅支持模糊关键字搜索功能且不需要产生所有相似关键词的索引密文,而且支持由密文接收者设置关键字相似度阈值以灵活控制密文检索的精确度,因此不仅提高了密文检索效率,而且也提升了系统的实用性。
本发明为解决上述技术问题采用以下技术方案:
根据本发明提出的一种支持密文模糊搜索功能的公钥加密方法,包括以下步骤:
步骤A、根据安全参数,系统参数生成中心生成系统的全局公共参数集;
步骤B、根据系统的全局公共参数集,接收者生成自己的公钥和私钥;
步骤C、根据系统的全局公共参数集、接收者的公钥和关键词,发送者生成索引密文;
步骤D、根据系统的全局公共参数集、接收者的私钥、待搜索关键词和相似度阈值,接收者生成搜索陷门;
步骤E、根据系统的全局公共参数集、索引密文和搜索陷门,密文服务器测试索引密文和搜索陷门是否匹配,即验证搜索陷门中的关键字与索引密文中的关键字的相似度是否大于或等于由接收者预先设定的相似度阈值;
所述步骤A的详细步骤如下:
步骤A.1、系统参数生成中心根据安全参数κ∈Z+生成三个不同的大素数p、q和r,计算合数N=pqr,其中Z+为正整数集合;
步骤A.2、生成两个合数N阶乘法循环群G1和G2,生成循环群G1的p阶子群Gp、q阶子群Gq和r阶子群Gr,并定义一个双线性映射
Figure GDA0003114579300000021
其中
Figure GDA0003114579300000022
是循环群G1和自身的笛卡尔积G1×G1到循环群G2的映射,即双线性映射
Figure GDA0003114579300000023
是指函数
Figure GDA0003114579300000024
其中u,v∈G1为自变量,w∈G2为因变量,
Figure GDA0003114579300000025
是以u和v作为输入的函数;
步骤A.3、生成并发布系统的全局公开参数集
Figure GDA0003114579300000026
所述步骤B的详细步骤如下:
根据系统的全局公开参数集
Figure GDA0003114579300000027
接收者分别从循环群G1的子群Gp、Gq和Gr中随机选取一个生成元gp、gq和gr,从子群Gp中随机选择2m+2个群元素{h1,i}i∈[1,m],{h2,i}i∈[1,m],h3和h4,从子群Gr中随机选择2m+3个群元素B,{B1,i}i∈[1,m],{B2,i}i∈[1,m],B3和B4,生成自己的公钥pk={gp,gr,J,{H1,i}i∈[1,m],{H2,i}i∈[1,m],H3,H4}和私钥sk={gq,{h1,i}i∈[1,m],{h2,i}i∈[1,m],h3,h4};公钥pk由2m+5个元素gp,gr,J,{H1,i}i∈[1,m],{H2,i}i∈[1,m],H3,H4构成,私钥sk由2m+3个元素gq,{h1,i}i∈[1,m],{h2,i}i∈[1,m],h3,h4构成,其中公钥pk的第3个元素J=gqB,第3+i个元素H1,i=h1,iB1,i,第m+3+i个元素H2,i=h2,iB2,i,第2m+4个元素H3=h3B3和第2m+5个元素H4=h4B4,m∈Z+表示关键字二进制表示的位数,[1,m]表示1到m的闭区间。
作为本发明所述的一种支持密文模糊搜索功能的公钥加密方法进一步优化方案,所述步骤C的详细步骤如下:
根据系统的全局公开参数集
Figure GDA0003114579300000031
接收者的公钥pk={gp,gr,J,{H1,i}i∈[1,m],{H2,i}i∈[1,m],H3,H4}和长度为m比特的关键字W=w1w2...wm∈{0,1}m,发送者随机选择3个整数α,β,θ∈ZN,从循环群G1的子群Gr中随机选择2m+2个群元素{B′1,i}i∈[1,m],{B′2,i}i∈[1,m],B′3和B′4,生成索引密文IC={C0,{C1,i}i∈[1,m],{C2,i}i∈[1,m],C3,C4}并附加在数据密文上发送给密文服务器,其中{0,1}m是长度为m比特的二进制符号串的集合,ZN表示整数集合{0,1,2,...,N-1};索引密文IC由2m+3个元素C0,{C1,i}i∈[1,m],{C2,i}i∈[1,m],C3,C4构成,其中第1个元素
Figure GDA0003114579300000032
第1+i个元素
Figure GDA0003114579300000033
第m+1+i个元素
Figure GDA0003114579300000034
第2m+2个元素
Figure GDA0003114579300000035
和第2m+3个元素
Figure GDA0003114579300000036
wi是关键字W=w1w2…wm的第i比特。
作为本发明所述的一种支持密文模糊搜索功能的公钥加密方法进一步优化方案,所述步骤D的详细步骤如下:
根据系统的全局公开参数集
Figure GDA0003114579300000037
接收者的私钥sk={gq,{h1,i}i∈[1,m],{h2,i}i∈[1,m],h3,h4},待搜索关键字D=d1d2...dm∈{0,1}m和相似度阈值t,1≤t≤m,接收者从ZN中随机选择2m+4个整数{b1,i}i∈[1,m],{b2,i}i∈[1,m],b3,b4,f1和f2,从循环群G1的子群Gq中随机选择1个群元素J′和子群Gr中随机选择1个群元素B′,生成搜索陷门ST={t,Γ0,{Γ1,i}i∈[1,m],{Γ2,i}i∈[1,m],{Γ3,j}j∈[t,m],{Γ4,j}j∈[t,m]}并将之发送给密文服务器;搜索陷门ST由4m-2t+4个元素t,Γ0,{Γ1,i}i∈[1,m],{Γ2,i}i∈[1,m],{Γ3,j}j∈[t,m],{Γ4,j}j∈[t,m]构成,其中第2个元素
Figure GDA0003114579300000041
第2+i个元素
Figure GDA0003114579300000042
第m+2+i个元素
Figure GDA0003114579300000043
第2m-t+3+j个元素
Figure GDA0003114579300000044
第3m-2t+4+j个元素
Figure GDA0003114579300000045
[t,m]表示t到m的闭区间,di是待搜索关键字D=d1d2...dm的第i比特。
作为本发明所述的一种支持密文模糊搜索功能的公钥加密方法进一步优化方案,所述步骤E的详细步骤如下:
根据系统的全局公开参数集
Figure GDA0003114579300000046
索引密文IC={C0,{C1,i}i∈[1,m],{C2,i}i∈[1,m],C3,C4}和搜索陷门ST={t,Γ0,{Γ1,i}i∈[1,m],{Γ2,i}i∈[1,m],{Γ3,j}j∈[t,m],{Γ4,j}j∈[t,m]},密文服务器对每个j∈[t,m]计算并验证等式
Figure GDA0003114579300000047
是否成立,其中
Figure GDA0003114579300000048
表示循环群G2的单位元;若存在j∈[t,m]使得
Figure GDA0003114579300000049
等式成立,则表示搜索陷门和索引密文相匹配,即搜索陷门中的关键字和索引密文中的关键字的相似度大于或等于相似度阈值t;否则,搜索陷门和索引密文不匹配;搜索测试结束后,密文服务器将所有相匹配的索引密文对应的数据密文发送给接收者。
基于上述的一种支持密文模糊搜索功能的公钥加密方法的系统,包括系统初始化模块、接收者密钥对生成模块、索引密文生成模块、搜索陷门生成模块和密文检索测试模块:
系统初始化模块,用于根据输入的安全参数生成系统的全局公共参数集;
接收者密钥对生成模块,用于根据所述系统的全局公共参数集生成接收者的公钥和私钥;
索引密文生成模块,用于根据所述系统的全局公共参数集、接收者的公钥和关键词生成索引密文;
搜索陷门生成模块,用于根据所述系统的全局公共参数集、接收者的私钥、待搜索关键词和相似度阈值生成搜索陷门;
密文检索测试模块,用于根据所述系统的全局公共参数集、索引密文和搜索陷门,测试搜索陷门中的关键字和索引密文中的关键字的相似度是否大于或等于相似度阈值。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
首先,由于本发明仅产生与数据密文相关联的精确关键字的索引密文,而无需产生所有相似关键词的索引密文,因此具有比现有方法更低的计算代价、通信代价和存储代价;
其次,由于本发明通过直接检测精确关键字的索引密文与接收者的搜索陷门是否匹配以实现密文的模糊搜索,因此具有比现有方法更高的检索效率;
再次,由于本发明支持由密文接收者设置关键字相似度阈值,因此可以由接收者控制密文检索的精确度,因此具有比现有方法更好的实用性。
附图说明
图1是本发明所述的支持密文模糊搜索功能的公钥加密方法的流程图。
图2是依照本发明的密码系统执行的操作流程图。
图3是本发明所述的支持密文模糊搜索功能的公钥加密系统的示意图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
本发明所述的支持密文模糊搜索功能的公钥加密方法可基于双线性映射来实现,下面首先简要介绍双线性映射的基本定义和它满足的性质。
令p、q和r为三个不同的大素数,合数N=pqr,G1和G2为两个合数N阶乘法循环群。若定义在循环群G1和G2上的一个映射
Figure GDA0003114579300000051
满足下面的三个性质,则称该映射为有效的双线性映射。其中,
Figure GDA0003114579300000052
是循环群G1和自身的笛卡尔积G1×G1到循环群G2的映射,即双线性映射
Figure GDA0003114579300000053
是指函数
Figure GDA0003114579300000054
其中u,v∈G1为自变量,w∈G2为因变量。
一个有效的双线性映射
Figure GDA0003114579300000055
需满足以下三条性质:
(1)双线性:对于任意的u,v∈G1和任意的x,y∈ZN,等式
Figure GDA0003114579300000056
均成立。
(2)非退化性:存在u,v∈G1使得
Figure GDA0003114579300000057
其中
Figure GDA0003114579300000058
是循环群G2的单位元。
(3)可计算性:对于任意的u,v∈G1,均存在有效的算法能够计算
Figure GDA0003114579300000059
其中,乘法循环群及子群的概念为:设G为群,如果存在一个群元素g∈G使得G={gn|n∈Z},则称G为乘法循环群,称g是群G的生成元。若生成元g的阶为N(即N是使得g的幂等于群G的单位元的最小正整数),则称G为N阶乘法循环群。设G为群,H是G的非空子集,如果H关于群G中的运算构成群,则称H是群G的子群。若G是合数N阶乘法循环群,则对合数N的每个正因子p,G恰好有一个p阶子群且是乘法循环群。此外,ZN是指整数模p的剩余类,即ZN={0,1,...,N-1}。
根据以上双线性对的描述,下面结合附图和实现例对本发明提出的支持密文模糊搜索功能的公钥加密方法作进一步说明,但并不作为对本发明的限定。
本发明所述方法涉及的实体如下:
(1)系统参数生成中心:负责系统初始化的实体,生成并发布系统的全局公开参数集;
(2)密文服务器:负责密文存储和检索的实体,在收到接收者的搜索陷门后,对其密文进行检索,并将所有匹配的密文发送给接收者;
(4)发送者:密文的发送实体,使用接收者的公钥将待发送的数据加密成数据密文,然后将与数据相关联的关键词加密成索引密文并附加在数据密文上发送给密文服务器;
(5)接收者:密文的接收实体,使用自己的私钥生成关键词的搜索陷门并发送给密文服务器以实现密文检索。
参照图附图1和附图2,本发明所述方法的步骤具体描述如下:
步骤A、根据安全参数,系统参数生成中心生成系统的全局公共参数集;具体步骤如下:
步骤1、根据安全参数κ∈Z+,系统参数生成中心生成三个不同的大素数p、q和r,计算合数N=pqr,其中Z+为正整数集合;
步骤2、生成两个合数N阶乘法循环群G1和G2,生成循环群G1的p阶子群Gp、q阶子群Gq和r阶子群Gr,并定义一个双线性映射
Figure GDA0003114579300000061
其中
Figure GDA0003114579300000062
是循环群G1和自身的笛卡尔积G1×G1到循环群G2的映射,即双线性映射
Figure GDA0003114579300000063
是指函数
Figure GDA0003114579300000064
其中u,v∈G1为自变量,w∈G2为因变量;
根据步骤1和步骤2的执行结果,系统参数生成中心生成并发布系统的全局公开参数集
Figure GDA0003114579300000065
步骤B、根据系统的全局公共参数集,接收者生成自己的公钥和私钥;具体步骤如下:
步骤3、根据系统的全局公开参数集
Figure GDA0003114579300000066
接收者分别从循环群G1的子群Gp、Gq和Gr中随机选取一个生成元gp、gq和gr,从子群Gp中随机选择2m+2个群元素{h1,i}i∈[1,m],{h2,i}i∈[1,m],h3和h4,从子群Gr中随机选择2m+3个群元素B,{B1,i}i∈[1,m],{B2,i}i∈[1,m],B3和B4,生成自己的公钥pk={gp,gr,J,{H1,i}i∈[1,m],{H2,i}i∈[1,m],H3,H4}和私钥sk={gq,{h1,i}i∈[1,m],{h2,i}i∈[1,m],h3,h4},其中J=gqB,H1,i=h1,iB1,i,H2,i=h2,iB2,i,H3=h3B3,H4=h4B4,m∈Z+表示关键字二进制表示的位数,[1,m]表示1到m的闭区间。
步骤C、根据系统的全局公共参数集、接收者的公钥和关键词,发送者生成索引密文;具体步骤如下:
步骤4、根据系统的全局公开参数集
Figure GDA0003114579300000071
接收者的公钥pk={gp,gr,J,{H1,i}i∈[1,m],{H2,i}i∈[1,m],H3,H4}和长度为m比特的关键字W=w1w2...wm={0,1}m,发送者随机选择3个整数α,β,θ∈ZN,从循环群G1的子群Gr中随机选择2m+2个群元素{B′1,i}i∈[1,m],{B′2,i}i∈[1,m],B′3和B′4,生成索引密文IC={C0,{C1,i}i∈[1,m],{C2,i}i∈[1,m],C3,C4}并附加在数据密文上发送给密文服务器,其中{0,1}m是长度为m比特的二进制符号串的集合,ZN表示整数集合{0,1,2,…,N-1},
Figure GDA0003114579300000072
Figure GDA0003114579300000073
wi是关键字W=w1w2…wm的第i比特。
步骤D、根据系统的全局公共参数集、接收者的私钥、待搜索关键词和相似度阈值,接收者生成搜索陷门;具体步骤如下:
步骤5、根据系统的全局公开参数集
Figure GDA0003114579300000074
接收者的私钥sk={gq,{h1,i}i∈[1,m],{h2,i}i∈[1,m],h3,h4},待搜索关键字D=d1d2…dm∈{0,1}m和相似度阈值t(1≤t≤m),接收者从ZN中随机选择2m+4个整数{b1,i}i∈[1,m],{b2,i}i∈[1,m],b3,b4,f1和f2,从循环群G1的子群Gq中随机选择1个群元素J′和子群Gr中随机选择1个群元素B′,生成搜索陷门ST={t,Γ0,{Γ1,i}i∈[1,m],{Γ2,i}i∈[1,m],{Γ3,j}j∈[t,m],{Γ4,j}j∈[t,m]}并将之发送给密文服务器,其中
Figure GDA0003114579300000075
Figure GDA0003114579300000076
di是待搜索关键字D=d1d2…dm的第i比特,[t,m]表示t到m的闭区间。
步骤E、根据系统的全局公共参数集、索引密文和搜索陷门,密文服务器测试索引密文和搜索陷门是否匹配,即验证搜索陷门中的关键字与索引密文中的关键字的相似度是否大于或等于由接收者预先设定的相似度阈值。具体步骤如下:
步骤6、根据系统的全局公开参数集
Figure GDA0003114579300000077
索引密文IC={C0,{C1,i}i∈[1,m],{C2,i}i∈[1,m],C3,C4}和搜索陷门ST={t,Γ0,{Γ1,i}i∈[1,m],{Γ2,i}i∈[1,m],{Γ3,j}j∈[t,m],{Γ4,j}j∈[t,m]},密文服务器对每个j∈[t,m]计算并验证等式
Figure GDA0003114579300000078
是否成立,其中
Figure GDA0003114579300000079
表示循环群G2的单位元。若存在j∈[t,m]使得
Figure GDA0003114579300000081
等式成立,则表示搜索陷门和索引密文相匹配,即搜索陷门中的关键字和索引密文中的关键字的相似度大于或等于相似度阈值t;否则,搜索陷门和索引密文不匹配。搜索测试结束后,密文服务器将所有相匹配的索引密文对应的数据密文发送给接收者。
参见附图3,本发明还提供了一种支持密文模糊搜索功能的公钥加密系统,所述系统包括系统初始化模块、接收者密钥对生成模块、索引密文生成模块、搜索陷门生成模块和密文检索测试模块;
所述系统初始化模块根据输入的安全参数生成系统的全局公共参数集;
所述接收者密钥对生成模块根据所述系统的全局公共参数集生成接收者的公钥和私钥;
所述索引密文生成模块根据所述系统的全局公共参数集、接收者的公钥和关键词生成索引密文;
所述搜索陷门生成模块根据所述系统的全局公共参数集、接收者的私钥、待搜索关键词和相似度阈值生成搜索陷门;
所述密文检索测试模块根据所述系统的全局公共参数集、索引密文和搜索陷门,测试搜索陷门中的关键字和索引密文中的关键字的相似度是否大于或等于相似度阈值。
本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种支持密文模糊搜索功能的公钥加密方法,其特征在于,包括以下步骤:
步骤A、根据安全参数,系统参数生成中心生成系统的全局公共参数集;
步骤B、根据系统的全局公共参数集,接收者生成自己的公钥和私钥;
步骤C、根据系统的全局公共参数集、接收者的公钥和关键词,发送者生成索引密文;
步骤D、根据系统的全局公共参数集、接收者的私钥、待搜索关键词和相似度阈值,接收者生成搜索陷门;
步骤E、根据系统的全局公共参数集、索引密文和搜索陷门,密文服务器测试索引密文和搜索陷门是否匹配,即验证搜索陷门中的关键字与索引密文中的关键字的相似度是否大于或等于由接收者预先设定的相似度阈值;
所述步骤A的详细步骤如下:
步骤A.1、系统参数生成中心根据安全参数κ∈Z+生成三个不同的大素数p、q和r,计算合数N=pqr,其中Z+为正整数集合;
步骤A.2、生成两个合数N阶乘法循环群G1和G2,生成循环群G1的p阶子群Gp、q阶子群Gq和r阶子群Gr,并定义一个双线性映射
Figure FDA0003114579290000011
G1×G1→G2,其中
Figure FDA0003114579290000012
G1×G1→G2是循环群G1和自身的笛卡尔积G1×G1到循环群G2的映射,即双线性映射
Figure FDA0003114579290000013
G1×G1→G2是指函数
Figure FDA0003114579290000014
其中u,v∈G1为自变量,w∈G2为因变量,
Figure FDA0003114579290000015
是以u和v作为输入的函数;
步骤A.3、生成并发布系统的全局公开参数集
Figure FDA0003114579290000016
所述步骤B的详细步骤如下:
根据系统的全局公开参数集
Figure FDA0003114579290000017
接收者分别从循环群G1的子群Gp、Gq和Gr中随机选取一个生成元gp、gq和gr,从子群Gp中随机选择2m+2个群元素{h1,i}i∈[1,m],{h2,i}i∈[1,m],h3和h4,从子群Gr中随机选择2m+3个群元素B,{B1,i}i∈[1,m],{B2,i}i∈[1,m],B3和B4,生成自己的公钥pk={gp,gr,J,{H1,i}i∈[1,m],{H2,i}i∈[1,m],H3,H4}和私钥sk={gq,{h1,i}i∈[1,m],{h2,i}i∈[1,m],h3,h4};公钥pk由2m+5个元素gp,gr,J,{H1,i}i∈[1,m],{H2,i}i∈[1,m],H3,H4构成,私钥sk由2m+3个元素gq,{h1,i}i∈[1,m],{h2,i}i∈[1,m],h3,h4构成,其中公钥pk的第3个元素J=gqB,第3+i个元素H1,i=h1,iB1,i,第m+3+i个元素H2,i=h2,iB2,i,第2m+4个元素H3=h3B3和第2m+5个元素H4=h4B4,m∈Z+表示关键字二进制表示的位数,[1,m]表示1到m的闭区间。
2.根据权利要求1所述的一种支持密文模糊搜索功能的公钥加密方法,其特征在于,所述步骤C的详细步骤如下:
根据系统的全局公开参数集
Figure FDA0003114579290000021
接收者的公钥pk={gp,gr,J,{H1,i}i∈[1,m],{H2,i}i∈[1,m],H3,H4}和长度为m比特的关键字W=w1 w2 ... wm∈{0,1}m,发送者随机选择3个整数α,β,θ∈ZN,从循环群G1的子群Gr中随机选择2m+2个群元素{B′1,i}i∈[1,m],{B′2,i}i∈[1,m],B′3和B′4,生成索引密文IC={C0,{C1,i}i∈[1,m],{C2,i}i∈[1,m],C3,C4}并附加在数据密文上发送给密文服务器,其中{0,1}m是长度为m比特的二进制符号串的集合,ZN表示整数集合{0,1,2,...,N-1};索引密文IC由2m+3个元素C0,{C1,i}i∈[1,m],{C2,i}i∈[1,m],C3,C4构成,其中第1个元素
Figure FDA0003114579290000022
第1+i个元素
Figure FDA0003114579290000023
第m+1+i个元素
Figure FDA0003114579290000024
第2m+2个元素
Figure FDA0003114579290000025
和第2m+3个元素
Figure FDA0003114579290000026
wi是关键字W=w1 w2 ... wm的第i比特。
3.根据权利要求2所述的一种支持密文模糊搜索功能的公钥加密方法,其特征在于,所述步骤D的详细步骤如下:
根据系统的全局公开参数集
Figure FDA0003114579290000027
接收者的私钥sk={gq,{h1,i}i∈[1,m],{h2,i}i∈[1,m],h3,h4},待搜索关键字D=d1 d2 ... dm∈{0,1}m和相似度阈值t,1≤t≤m,接收者从ZN中随机选择2m+4个整数{b1,i}i∈[1,m],{b2,i}i∈[1,m],b3,b4,f1和f2,从循环群G1的子群Gq中随机选择1个群元素J′和子群Gr中随机选择1个群元素B′,生成搜索陷门ST={t,Γ0,{Γ1,i}i∈[1,m],{Γ2,i}i∈[1,m],{Γ3,j}j∈[t,m],{Γ4,j}j∈[t,m]}并将之发送给密文服务器;搜索陷门ST由4m-2t+4个元素t,Γ0,{Γ1,i}i∈[1,m],{Г2,i}i∈[1,m],{Г3,j}j∈[t,m],{Γ4,j}j∈[t,m]构成,其中第2个元素
Figure FDA0003114579290000028
第2+i个元素
Figure FDA0003114579290000029
第m+2+i个元素
Figure FDA00031145792900000210
第2m-t+3+j个元素
Figure FDA00031145792900000211
第3m-2t+4+j个元素
Figure FDA00031145792900000212
[t,m]表示t到m的闭区间,di是待搜索关键字D=d1d2 ... dm的第i比特。
4.根据权利要求3所述的一种支持密文模糊搜索功能的公钥加密方法,其特征在于,所述步骤E的详细步骤如下:
根据系统的全局公开参数集
Figure FDA0003114579290000031
索引密文IC={C0,{C1,i}i∈[1,m],{C2,i}i∈[1,m],C3,C4}和搜索陷门ST={t,Γ0,{Γ1,i}i∈[1,m],{Γ2,i}i∈[1,m],{Γ3,j}j∈[t,m],{Γ4,j}j∈[t,m]},密文服务器对每个j∈[t,m]计算并验证等式
Figure FDA0003114579290000032
是否成立,其中
Figure FDA0003114579290000033
表示循环群G2的单位元;若存在j∈[t,m]使得
Figure FDA0003114579290000034
等式成立,则表示搜索陷门和索引密文相匹配,即搜索陷门中的关键字和索引密文中的关键字的相似度大于或等于相似度阈值t;否则,搜索陷门和索引密文不匹配;搜索测试结束后,密文服务器将所有相匹配的索引密文对应的数据密文发送给接收者。
5.基于权利要求1所述的一种支持密文模糊搜索功能的公钥加密方法的系统,其特征在于,包括系统初始化模块、接收者密钥对生成模块、索引密文生成模块、搜索陷门生成模块和密文检索测试模块:
系统初始化模块,用于根据输入的安全参数生成系统的全局公共参数集;
接收者密钥对生成模块,用于根据所述系统的全局公共参数集生成接收者的公钥和私钥;
索引密文生成模块,用于根据所述系统的全局公共参数集、接收者的公钥和关键词生成索引密文;
搜索陷门生成模块,用于根据所述系统的全局公共参数集、接收者的私钥、待搜索关键词和相似度阈值生成搜索陷门;
密文检索测试模块,用于根据所述系统的全局公共参数集、索引密文和搜索陷门,测试搜索陷门中的关键字和索引密文中的关键字的相似度是否大于或等于相似度阈值。
CN202010641320.0A 2020-07-06 2020-07-06 一种支持密文模糊搜索功能的公钥加密方法和系统 Active CN111934875B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010641320.0A CN111934875B (zh) 2020-07-06 2020-07-06 一种支持密文模糊搜索功能的公钥加密方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010641320.0A CN111934875B (zh) 2020-07-06 2020-07-06 一种支持密文模糊搜索功能的公钥加密方法和系统

Publications (2)

Publication Number Publication Date
CN111934875A CN111934875A (zh) 2020-11-13
CN111934875B true CN111934875B (zh) 2021-10-01

Family

ID=73314059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010641320.0A Active CN111934875B (zh) 2020-07-06 2020-07-06 一种支持密文模糊搜索功能的公钥加密方法和系统

Country Status (1)

Country Link
CN (1) CN111934875B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804052B (zh) * 2020-12-14 2022-06-10 重庆电子工程职业学院 一种基于合数阶群的用户身份加密方法
CN113407966A (zh) * 2021-06-25 2021-09-17 南京师范大学 具有密钥更新与密文分享功能的可搜索公钥加密方法和系统
CN114142996B (zh) * 2021-11-18 2023-09-05 贵州大学 一种基于sm9密码算法的可搜索加密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108599937A (zh) * 2018-04-20 2018-09-28 西安电子科技大学 一种多关键字可搜索的公钥加密方法
CN108777623A (zh) * 2018-05-03 2018-11-09 上海海事大学 一种基于模糊关键字搜索的可撤销公钥加密方法
CN110326253A (zh) * 2016-12-30 2019-10-11 罗伯特·博世有限公司 用于对加密数据进行模糊关键字搜索的方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104852801B (zh) * 2015-02-13 2018-02-13 陕西师范大学 一种可搜索的公钥加密方法
CN110602064A (zh) * 2019-08-29 2019-12-20 河海大学 一种支持多关键字搜索的基于身份加密方法与系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110326253A (zh) * 2016-12-30 2019-10-11 罗伯特·博世有限公司 用于对加密数据进行模糊关键字搜索的方法和系统
CN108599937A (zh) * 2018-04-20 2018-09-28 西安电子科技大学 一种多关键字可搜索的公钥加密方法
CN108777623A (zh) * 2018-05-03 2018-11-09 上海海事大学 一种基于模糊关键字搜索的可撤销公钥加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Efficient Multi-Keyword Fuzzy Search on Encrypted Data in Cloud Storage;Xiehua Li 等;《2017 4th International Conference on Information Science and Control Engineering》;20170723;全文 *
抗关键词猜测攻击的可搜索公钥加密方案;徐海琳 等;《计算机工程与应用》;20181231;正文第109-111页 *

Also Published As

Publication number Publication date
CN111934875A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN113194078B (zh) 一种云端支持隐私保护的排序多关键字搜索加密方法
CN108632032B (zh) 无密钥托管的安全多关键词排序检索系统
Jiang et al. Enabling efficient and verifiable multi-keyword ranked search over encrypted cloud data
CN111934875B (zh) 一种支持密文模糊搜索功能的公钥加密方法和系统
CN111930688B (zh) 云服务器中多关键词查询的密态数据可搜索方法及装置
CN112152803B (zh) 一种多接收者密文可搜索的基于身份加密方法
CN108111587B (zh) 一种基于时间释放的云存储搜索方法
CN115314295B (zh) 一种基于区块链的可搜索加密技术方法
CN110602064A (zh) 一种支持多关键字搜索的基于身份加密方法与系统
CN104052740A (zh) 云存储中可验证的基于词典的可搜索加密方法
CN111786790A (zh) 一种隐私保护的带关键词搜索的基于身份加密方法和系统
Tuo et al. An effective fuzzy keyword search scheme in cloud computing
CN114244498A (zh) 一种具有前向安全的动态可搜索公钥加密方法
Kissel et al. Verifiable phrase search over encrypted data secure against a semi-honest-but-curious adversary
CN107766739A (zh) 面向加密文本数据的短语检索方法及其装置
Liu et al. EMK-ABSE: Efficient multikeyword attribute-based searchable encryption scheme through cloud-edge coordination
Jiang et al. An Efficient Symmetric Searchable Encryption Scheme for Cloud Storage.
Li et al. Multi-keyword fuzzy search over encrypted cloud storage data
Gu et al. Public key encryption with keyword search from lattices
CN113407966A (zh) 具有密钥更新与密文分享功能的可搜索公钥加密方法和系统
CN114338025A (zh) 一种云环境下密文等值测试方法
Ibrahim et al. Approximate keyword-based search over encrypted cloud data
KR100951034B1 (ko) 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법
CN112118257B (zh) 一种安全增强的基于公钥加密的关键词搜索方法
CN111966802A (zh) 一种支持关键字布尔搜索的属性基加密方法与系统

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