CN109086615A - 一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法 - Google Patents

一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法 Download PDF

Info

Publication number
CN109086615A
CN109086615A CN201810876801.2A CN201810876801A CN109086615A CN 109086615 A CN109086615 A CN 109086615A CN 201810876801 A CN201810876801 A CN 201810876801A CN 109086615 A CN109086615 A CN 109086615A
Authority
CN
China
Prior art keywords
keyword
authorization data
key
recipient
public key
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
CN201810876801.2A
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.)
Shanghai Maritime University
Original Assignee
Shanghai Maritime 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 Shanghai Maritime University filed Critical Shanghai Maritime University
Priority to CN201810876801.2A priority Critical patent/CN109086615A/zh
Publication of CN109086615A publication Critical patent/CN109086615A/zh
Pending legal-status Critical Current

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/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/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

本发明公开一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法,该方法包含:数据拥有者、数据接收者在可信第三方注册成为合法授权用户;可信第三方运行全局参数产生算法,输出全局参数集并发送给云服务器、授权数据拥有者和授权数据接收者;数据拥有者接收全局参数集,发送加密文档集和关键词密文给云服务器;数据接收者接收全局参数集,根据查询语句构建关键词陷门,将关键词陷门发送给云服务器;云服务器接收全局参数集、加密密文文档、关键词密文和关键词陷门,通过运行测试算法验证,将满足条件的密文文档返回给授权数据接收者。本发明有效解决了关键字猜测攻击的问题,实现了关键字的搜索,在计算效率和通信代价上具有明显的优势。

Description

一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法
技术领域
本发明涉及云计算安全技术,具体涉及一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法。
背景技术
随着云存储技术迅猛发展,越来越多的企业和个人选择在云端存储和共享数据,但由于云端数据使用权和管理权的分离,数据拥有者通常会加密敏感数据以确保其在云端的安全性,这造成了数据可供检索的语义和统计特性丢失,导致云服务提供商无法为用户提供数据搜索服务,极大地降低了云端数据的共享效率。
公钥可搜索加密技术(PEKS,public key encryption with keyword search)的出现为解决上述问题提供了解决方案,该技术使得存储服务器在不解密数据密文的前提使用用户提供的关键词陷门来搜索该用户数据密文中是否包含某个或某些加密后的关键词。在此过程中,由于存储服务器对用户的数据及其所搜索的信息一无所知,因此用户的隐私性得到了保护。
在可搜索公钥加密的时机应用中,用户通常会使用一些熟知的关键词来产生关键词密文,这很容易导致关键词猜测攻击(KGA,keyword guessing attack)的问题。当截获一个关键词陷门后,一个内部攻击者(即恶意的存储服务器)或外部攻击者可以猜测出所有可能的关键词并且以离线或在线的方式验证其猜测。通过这种攻击,一个攻击者能够揭露关键词陷门中的关键词信息,从而导致用户数据信息的泄露。根据攻击方式,关键词猜测攻击可分为离线关键词猜测攻击(offline Keyword Guessing Attack)和在线关键词猜测攻击(online Keyword Guessing Attack)两种类型。
近年来,许多抗外部攻击者的离线关键词猜测攻击方案被相继提出。然而,缺少针对无安全信道的带关键词搜索的公钥加密(SCF-PEKS,secure channel free public keyencryption with keyword search)方案的在线关键词猜测攻击的方法。在这样的攻击中,一个外部攻击者首先截获公开传输的关键词陷门,然后将服务器作为预言机对关键词陷门进行攻击,即外部攻击者使用接收方的公钥产生其猜测关键词的密文并将之发送给服务器,然后以在线的方式监听服务器返回给接收方的检索结果从而确定关键词陷门中的关键词。
发明内容
本发明的目的是提供一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法,由于发送方的私钥不为攻击者(包括外部攻击者和恶意服务器)所知,发送方通过在关键词密文中嵌入发送方的私钥使得关键词密文不可伪造,因此攻击者无法产生其所猜测关键词的密文,进而无法对方案实施有效的关键词猜测攻击,有效解决了针对可搜索公钥加密方案的关键词猜测攻击问题。
为了达到上述目的,本发明提供了一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法,该方法包含以下步骤:
S1、数据拥有者和数据接收者在可信第三方进行注册,成为合法授权用户,分别为授权数据拥有者和授权数据接收者;
S2、所述可信第三方运行全局参数产生算法,输出全局参数集,并将该全局参数集发送给云服务器、授权数据拥有者和授权数据使用者;
S3、所述授权数据拥有者运行发送方密钥产生算法,产生发送方的私钥和公钥;
S4、所述授权数据接收者运行接收方密钥产生算法,产生接收方的私钥和公钥;
S5、所述授权数据拥有者对待上传的明文文档集提取关键字,运行关键词加密算法,加密所提取的关键字集合,将加密后的关键字集合上传到云服务器;
S6、所述授权数据拥有者运行数据加密算法,产生密钥对,利用该密钥对中的加密公钥对待上传的明文文档集进行加密,将加密文档集上传到云服务器,对该密钥对中的加密私钥进行加密得到加密结果,并保存该加密结果;
S7、所述授权数据接收者在输入查询需求时运行陷门产生算法,构建查询关键字陷门,并将关键词陷门上传到云服务器;
S8、所述云服务器运行测试算法,通过验证后将对应的加密文档集发送给授权数据接收者,授权数据拥有者将所述步骤S6中的加密结果发送给授权数据接收者,授权数据接收者解密加密文档集,得到明文文档集。
优选地,所述步骤S2中进一步包含以下步骤:
S21、输入给定的安全参数k,可信第三方运行全局参数产生算法;
S21、可信第三方执行所述全局参数产生算法后,生成两个大素数M阶循环群G1和G2以及双线性映射e:G1×G1→G2,其中双线性对e要满足以下三个性质:
(1)双线性:对于任意的有e(gx,gy)=e(g,g)xy;其中,为模N乘群,是对于模N乘法运算的一个交换群;
(2)非退化性:其中是群G2的单位元;
(3)可计算性:对于任意的存在高效的算法e(gx,gy);
S23、随机选择群G1的生成元g和两个群元素g1,g2∈G1;选择3个哈希函数H1:G1→{0,1}l和H3:G2→{0,1}l;其中l为哈希函数H1和H3输出哈希值的二进制长度,哈希函数h表示为:
S24、可信第三方输出全局参数集gN,并将该全局参数集gN发送给云服务器、授权数据拥有者和授权数据使用者;其中gN={M,G1,G2,e,g,g1,g2,H1,H2,H3}。
优选地,所述步骤S3中进一步包含以下步骤:
S31、所述云服务器接收到来自所述可信第三方发来的全局参数集gN,所述授权数据拥有者运行发送方密钥产生算法;
S32、所述发送方密钥产生算法随机选择发送方S的私钥 并计算发送方S的公钥其中是ZN的字集,ZN是一个集合,xS是模N乘法运算的一个交换群的组成元素,ZN={0,1,2,3…N-1},gcd(xS,N)表示xS和N的最大公因数,g是大素数M阶循环群G1的生成元,是g的xS次方;
S33、所述发送方密钥产生算法输出得到的发送方S的私钥skS和公钥pkS
优选地,所述步骤S4中进一步包含以下步骤:
S41、输入可信第三方发来的全局参数集gN,授权数据接收者运行接收方密钥产生算法;
S42、所述接收方密钥产生算法随机选择xR1,令接收方R的私钥并计算接收方R的公钥其中,skR1,skR2表示skR的两个组成部分,skR1=xR1,skR2=xR2,xR1,xR2则是模N乘群的集合组成元素,pkR1,pkR2表示pkR的组成部分,
S43、所述接收方密钥产生算法输出接收方R的私钥skR和公钥pkR
优选地,所述步骤S5中进一步包含以下步骤:
S51、所述授权数据拥有者从明文文档集F={f1,f2,…,fn}中抽取关键词,得到关键词集合w={w1,w2,…wn},w1,w2,…wn分别为对应的f1,f2,…,fn的关键词,其中n∈(0,+∞);
S52、所述授权数据拥有者运行关键词加密算法,输入参数有:可信第三方发来的全局参数集gN={M,G1,G2,e,g,g1,g2,H1,H2,H3}、关键词集合w={w1,w2,…wn}、发送方S的私钥skS和接收方R的公钥pkR=(pkR1,pkR2);
S53、所述关键词加密算法随机选择计算并输出关键词集合w的密文Cw,其中
其中,U和V分别是Cw的组成部分,ss是授权数据拥有者使用私钥skS和授权数据接收者的公钥pkS通过Diffie-Hellman密钥协商协议产生的一个与授权数据拥有者共享的秘密值;
S54、所述授权数据拥有者将密文Cw上传到云服务器。
优选地,所述步骤S6中进一步包含以下步骤:
S61、所述授权数据拥有者运行RSA数据加密算法,采用随机递增搜索法来实现大素数的搜索;
S62、通过使用预处理的方法对数的素性进行简单检验,使用较少的时间排除掉一部分伪素数,再利用基于概率的素数测试算法进行检验:
S63、在多次检测检测过的数据中随机抽取两个大素数p,q;
S64、计算n和其中n=p×q,表示n的欧拉函数,表示比n小但是与n互素的正整数的个数;
S65、生成一个随机数a作为加密密钥,令a作为加密公钥,对可信第三方、云服务器、授权数据使用者是公开的,其中加密公钥a满足且加密公钥a和欧拉函数互质,其中gcd表示为最大公约数;
S66、求解b作为加密私钥,用来解密所述授权数据拥有者上传的加密文件;加密公钥a和互质,加密私钥b有解,其中b满足mod是求余函数;
S67、所述授权数据拥有者用ss对加密私钥b进行加密得到加密结果b',其中保存加密结果b';
S68、对上传的明文文档集F={f1,f2,…,fn}进行加密,则密文文档C满足C≡Famodn;
S69、所述授权数据拥有者将密文文档C上传到云服务器。
优选地,所述步骤S62中,基于概率的素数测试算法进行检验的方法包含以下过程:
(1)通过小素数筛值法来生成伪素数;
(2)通过一个高位和低位都设置为1的随机二进制数d来滤除掉伪素数中的偶数;
(3)使用小素数整除法进一步排除伪素数;
(4)使用所述基于概率的素数测试算法对伪素数的素性进行多次检测。
优选地,所述步骤S7中进一步包含以下步骤:
S71、所述授权数据接受者输入查询需求,提取查询关键字集合w'={w1',w2',…wm'},其中m∈(0,+∞);
S72、所述授权数据接收者在输入查询需求时运行陷门产生算法,输入可信第三方发来的全局参数集gN={M,G1,G2,e,g,g1,g2,H1,H2,H3}、发送方S的公钥pkS和接收方R的私钥skR=(skR1,skR2),该陷门产生算法计算并输出关键词集合w'的陷门Tw',其中
S73、所述授权数据接收者将构建的陷门Tw'上传到云服务器。
优选地,所述步骤S8中进一步包含以下步骤:
S81、所述云服务器接收到关键词密文集合Cw=(U,V)、关键词陷门Tw'和可信第三方发来的全局参数集gN={M,G1,G2,e,g,g1,g2,H1,H2,H3},所述云服务器运行测试算法;
S82、测试算法通过验证w'=w,若相等,则等式H3(e(U,Tw'))=V成立,其中
则云服务器返回与关键词相对应的加密文档给授权数据接收者,若不相等,则没有通过验证,不返回结果;
S83、通过验证后,授权数据拥有者将加密结果b'发送给授权数据接收者;
S84、授权数据接收者对加密结果b'进行解密,得到加密私钥b;
S85、授权数据接收者用加密私钥b解密加密文档集,得到明文文档集。
本发明还提供了一种采用如上文所述的抗关键字猜测攻击的支持多关键字搜索公钥加密方法的云计算系统,该云计算系统包含:云服务器、数据拥有者、数据接收者和可信第三方;其中,所述数据拥有者和所述数据接收者在所述可信第三方进行注册,成为合法授权用户,分别为授权数据拥有者和授权数据接收者;所述可信第三方负责用户的注册与登录,运行全局参数产生算法,输出全局参数集并发送给所述云服务器、所述授权数据拥有者和所述授权数据接收者;所述数据拥有者在可信第三方注册成为授权数据拥有者后,接收到来自所述可信第三方的全局参数集,发送加密文档集和关键词密文给所述云服务器;所述数据接收者在可信第三方注册成为所述授权数据接受者后,接收到来自所述可信第三方的全局参数集,根据查询语句构建关键词陷门,将关键词陷门发送给云服务器;所述云服务器接收到来自可信第三方的全局参数集、上传的加密密文文档、关键词密文和关键词陷门,通过运行测试算法验证,将满足验证条件的密文文档返回给所述授权数据接收者。
与现有技术相比,本发明的有益效果为:
(1)本发明考虑了已有的公钥可搜索加密技术(PEKS)方案和带关键词搜索的公钥加密(SCF-PEKS)方案,这两种方案使用接收方的公钥或者使用接收方和指定服务器的公钥加密关键词产生关键词密文。攻击者一旦截获接收方发送给存储服务器的关键词陷门,就可以针对该接收方产生其所猜测的关键词的密文,进而对截获的关键词陷门实施关键词猜测攻击。而现有的PEKS方案和SCF-PEKS方案无法抵抗关键字猜测攻击,根本原因是因为攻击者能够产生其所猜测关键词的密文。因此,解决关键词猜测攻击问题的关键在于如何使得关键词密文对攻击者(包括外部攻击者和存储服务器)具有不可伪造性,使得攻击者无法产生其猜测关键字的密文。针对此,提出了新框架,本框架具有无安全信道的优点,可以公开传输关键词陷门,无需在存储服务器和接收方之间建立安全信道。
(2)在SCF-PEKS中,一个存储服务器被指定为测试者,发送方需要同时使用接收方和指定存储服务器的公钥加密关键词产生关键词密文,而关键词密文与关键词陷门的匹配则需要使用指定存储服务器的私钥。由于私钥不为外部攻击者所知,SCF-PEKS有效克服了外部攻击者的离线关键词猜测攻击的问题,但是必须指定由于只有指定存储服务器才能够执行密文检索任务。本发明方案框架则无需指定存储服务器作为测试者,密文检索任务可以由任意的存储服务器执行,方案部署更加灵活。
(3)本发明使用发送方的私钥和接收方的公钥产生关键词密文,在关键词密文和关键词陷门中嵌入了授权数据拥有者和授权数据接收者共享的秘密值。由于关键词密文的产生使用了外部攻击者和恶意存储服务器未知的秘密值,因此关键词密文对于外部攻击者和恶意存储服务器都是不可伪造的。这样一来,即使攻击者(外部攻击者或恶意存储服务器)获得了授权数据接收方的关键词陷门,也无法产生实施关键词猜测攻击所需要的关键词密文。因此,所提出方案不仅能够有效抵御外部攻击者的关键词猜测攻击,而且对于恶意存储服务器的关键词猜测攻击也是免疫的。
综上所述,本发明的抗关键字猜测攻击的支持多关键字公钥加密搜索方法,在保护用户隐私的同时,也降低了时间开销。
附图说明
图1为本发明的整体流程图;
图2为本发明所应用的系统功能模块示意图;
图3为本发明的步骤(5)的具体流程图;
图4为本发明的步骤(6)的具体流程图。
具体实施方式
本发明公开了一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法,为了使本发明更加明显易懂,以下结合附图和具体实施方式对本发明做进一步说明。
如图1和图2结合所示,本发明的一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法可应用于云计算系统,该云计算系统包括云服务器、可信第三方、数据拥有者和数据接收者。
如图1所示,本发明的一种抗关键字猜测攻击的支持多关键字搜索公钥加密方案,包含以下步骤:
S1、数据拥有者和数据接收者在可信第三方进行注册,成为合法授权用户。
其中,数据拥有者:未经可信第三方授权的数据拥有者;数据接收者:未经可信第三方授权的数据接收者。可信第三方:负责用户的注册与登录,运行全局参数产生算法,输出全局参数集并发送给云服务器、授权数据拥有者和授权数据接收者。
S2、可信第三方运行全局参数产生算法,输出全局参数集gp,并将该全局参数集gp发送给云服务器、授权数据拥有者和授权数据使用者。
其中,授权数据拥有者:经可信第三方授权的数据拥有者,接收到来自可信第三方的全局参数集,发送加密文档集和关键词密文给云服务器。授权数据接收者:经可信第三方授权的数据接收者,接收到来自可信第三方的全局参数集,根据查询语句构建关键词陷门,将关键词陷门发送给云服务器。云服务器:接收到来自可信第三方的全局参数集、上传的加密密文文档、关键词密文和关键词陷门;通过运行测试算法验证,将满足验证条件的加密文档集返回给授权数据接收者。
S3、授权数据拥有者运行发送方密钥产生算法,产生发送方S的私钥skS和公钥pkS
S4、授权数据接收者运行接收方密钥产生算法,产生接收方R的私钥skR和公钥pkR
S5、授权数据拥有者对要上传的明文文档集提取关键字,运行关键词加密算法,加密提取出的关键字集合,将加密后的关键字集合上传到云服务器。
S6、授权数据拥有者运行RSA(一种非对称加密算法,由Rivest,Shamir,Adlema提出)数据加密算法,产生密钥对(a,b),用加密公钥a对要上传的明文文档集进行加密,将加密文档集上传到云服务器,对加密私钥b加密后得到加密结果b',并保存该加密结果b'。
其中,加密公钥a:授权数据拥有者生成用来加密上传的加密文档的密钥。加密私钥b:授权数据拥有者生成用来解密上传的加密文档的密钥。
S7、授权数据接收者在输入查询需求时运行陷门产生算法,构建查询关键字陷门,并将关键词陷门上传到云服务器。
S8、云服务器运行测试算法,通过验证后,将相对应的加密文档集发送给授权数据接收者,授权数据拥有者将b'发送给授权数据接收者,授权数据接收者解密加密文档集,得到明文文档集。
如图1和图2结合所示,所述步骤S1的具体实施过程如下:
S11、数据拥有者在可信第三方注册成为合法授权用户,成为授权数据拥有者。
S12、数据接收者在可信第三方注册成为合法授权用户,成为授权数据接收者。
示例地,所述步骤S2的具体实施过程如下:
S21、输入给定的安全参数k,可信第三方运行全局参数产生算法GlobalSetup。
S21、可信第三方执行全局参数产生算法GlobalSetup后,生成两个大素数M阶循环群G1和G2以及双线性映射e:G1×G1→G2,其中双线性对e要满足以下三个性质:
①双线性:对于任意的有e(gx,gy)=e(g,g)xy
②非退化性:其中是群G2的单位元;
③可计算性:对于任意的存在高效的算法e(gx,gy);其中,为模N乘群,是对于模N乘法运算的一个交换群。
S23、随机选择群G1的生成元g和两个群元素g1,g2∈G1;选择3个哈希函数H1:G1→{0,1}l和H3:G2→{0,1}l;其中l为哈希函数H1和H3输出哈希值的二进制长度,哈希函数h表示为:
S24、可信第三方输出全局参数集gN,并将全局参数集gN发送给云服务器、授权数据拥有者和授权数据使用者;其中gN={M,G1,G2,e,g,g1,g2,H1,H2,H3}。
示例地,所述步骤S3的具体实施过程如下:
S31、云服务器接收到来自可信第三方发来的全局参数集gN={M,G1,G2,e,g,g1,g2,H1,H2,H3},授权数据拥有者运行发送方密钥产生算法KenGens。
S32、发送方密钥产生算法KenGens算法随机选择发送方S的私钥
并计算其公钥其中,是ZN的字集,为模N乘群,是对于模N乘法运算的一个交换群,ZN是一个集合,ZN={0,1,2,3…N-1},xS是模N乘法运算的一个交换群的组成元素,本质上是个自然数,gcd(xS,N)表示xS和N的最大公因数,g是大素数M阶循环群G1的生成元,xS本质上是个自然数,所以是g的xS次方。
S33、发送方密钥产生算法KenGens算法输出得到的发送方S的私钥skS和公钥pkS
示例地,所述步骤S4的具体实施过程如下:
S41、输入可信第三方发来的全局参数集gN={M,G1,G2,e,g,g1,g2,H1,H2,H3},授权数据接收者运行接收方密钥产生算法KenGenR
S42、接收方密钥产生算法KenGenR随机选择令接收方R的私钥skR=(skR1,skR2),并计算其公钥pkR=(pkR1,pkR2)。其中,skR1,skR2表示skR的两个组成部分,在数值上等于xR1,xR2,即skR1=xR1,skR2=xR2,而xR1,xR2则是模N乘群的集合组成元素;pkR1,pkR2表示pkR的组成部分,在数值上分别等于
S43、接收方密钥产生算法KenGenR算法输出接收方R的私钥skR和公钥pkR
如图3所示,所述步骤S5的具体实施过程如下:
S51、授权数据拥有者从明文文档集F={f1,f2,…,fn}中抽取关键词,得到关键词集合w={w1,w2,…wn},w1,w2,…wn分别为对应的f1,f2,…,fn文件的关键词,其中n∈(0,+∞)。
S52、授权数据拥有者运行关键词加密算法Encrypt,输入参数有:可信第三方发来的全局参数集gN={M,G1,G2,e,g,g1,g2,H1,H2,H3}、关键词集合w={w1,w2,…wn}、发送方S的私钥skS和接收方R的公钥pkR=(pkR1,pkR2)。
S53、关键词加密算法Encrypt随机选择计算并输出关键词集合w的密文Cw,Cw=(U,V),U=(pkR2)r,其中,U和V分别是Cw的组成部分,ss是授权数据拥有者使用私钥skS和授权数据接收者的公钥pkS通过Diffie-Hellman密钥协商协议产生的一个与授权数据拥有者共享的秘密值,skS为发送方S的私钥,
S54、授权数据拥有者将密文Cw(即加密后的关键字集合)上传到云服务器。
如图4所示,所述步骤S6的具体实施过程如下:
S61、授权数据拥有者运行RSA数据加密算法,采用随机递增搜索法来实现大素数的搜索,随机递增搜索法需要对所得到的数进行素数验证,直接进行素数验证需要耗费大量的时间。
S62、为此,首先通过使用预处理的方法对数的素性进行简单检验,使用较少的时间排除掉一部分伪素数,然后再利用Miller-Rabin(基于概率的素数测试)算法进行检验:
①通过小素数筛值法来生成伪素数;
②采用传统的方法将偶数排除掉,即通过一个高位和低位都设置为1的随机二进制数d来滤除掉伪素数中的偶数;
③使用小素数整除法进一步排除伪素数;
④使用Miller-Rabin算法对伪素数的素性进行多次检测(检测的次数取决于用户设置)。
S63、在多次检测检测过的数据中随机抽取两个大素数,两个大素数即为p,q。
S64、计算n和其中n=p×q,表示n的欧拉函数,表示比n小但是与n互素的正整数的个数。
S65、生成一个随机数a作为加密密钥,令a作为加密公钥,对可信第三方、云服务器、授权数据使用者是公开的,其中加密公钥a满足且加密公钥a和欧拉函数互质,其中gcd(greatest common divisor)表示为最大公约数。
S66、求解b作为加密私钥,用来解密授权数据拥有者上传的加密文件;因为加密公钥a和互质,所以加密私钥b一定有解,其中b满足mod是求余函数。
S67、授权数据拥有者用ss对加密私钥b进行加密,得到b',其中保存加密私钥b'。
S68、对上传的明文文档集F={f1,f2,…,fn}进行加密,则密文文档C满足C≡Famodn。
S69、授权数据拥有者将密文文档C上传到云服务器。
示例地,所述步骤S7的具体实施过程如下:
S71、授权数据接受者输入查询需求,提取查询关键字集合w'={w1',w2',…wm'},其中m∈(0,+∞)。
S72、授权数据接收者在输入查询需求时运行陷门产生算法Trapdoor,输入可信第三方发来的全局参数集gN={M,G1,G2,e,g,g1,g2,H1,H2,H3}、发送方S的公钥pkS和接收方R的私钥skR=(skR1,skR2),该算法计算并输出关键词集合w'的陷门Tw',其中
S73、授权数据接收者将构建的陷门Tw'上传到云服务器。
示例地,所述步骤S8的具体实施过程如下:
S81、云服务器接收到关键词密文集合Cw=(U,V)、关键词陷门Tw'和可信第三方发来的全局参数集gN={M,G1,G2,e,g,g1,g2,H1,H2,H3},云服务器运行测试算法Test。
S82、测试算法Test通过验证w'=w,如果相等,则等式H3(e(U,Tw'))=V成立,其中
则云服务器返回与关键词相对应的加密文档给授权数据接收者,若不相等,则没有通过验证,不返回结果。
S83、通过验证后,授权数据拥有者将b'发送给授权数据接收者。
S84、授权数据接收者对b'进行解密,得到加密私钥b。
S85、授权数据接收者用加密私钥b解密加密文档集,得到明文文档集。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (10)

1.一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法,其特征在于,该方法包含以下步骤:
S1、数据拥有者和数据接收者在可信第三方进行注册,成为合法授权用户,分别为授权数据拥有者和授权数据接收者;
S2、所述可信第三方运行全局参数产生算法,输出全局参数集,并将该全局参数集发送给云服务器、授权数据拥有者和授权数据使用者;
S3、所述授权数据拥有者运行发送方密钥产生算法,产生发送方的私钥和公钥;
S4、所述授权数据接收者运行接收方密钥产生算法,产生接收方的私钥和公钥;
S5、所述授权数据拥有者对待上传的明文文档集提取关键字,运行关键词加密算法,加密所提取的关键字集合,将加密后的关键字集合上传到云服务器;
S6、所述授权数据拥有者运行数据加密算法,产生密钥对,利用该密钥对中的加密公钥对待上传的明文文档集进行加密,将加密文档集上传到云服务器,对该密钥对中的加密私钥进行加密得到加密结果,并保存该加密结果;
S7、所述授权数据接收者在输入查询需求时运行陷门产生算法,构建查询关键词陷门,并将关键词陷门上传到云服务器;
S8、所述云服务器运行测试算法,通过验证后将对应的加密文档集发送给授权数据接收者,授权数据拥有者将所述步骤S6中的加密结果发送给授权数据接收者,授权数据接收者解密加密文档集,得到明文文档集。
2.如权利要求1所述的抗关键字猜测攻击的支持多关键字搜索公钥加密方法,其特征在于,
所述步骤S2中进一步包含以下步骤:
S21、输入给定的安全参数k,可信第三方运行全局参数产生算法;
S21、可信第三方执行所述全局参数产生算法后,生成两个大素数M阶循环群G1和G2以及双线性映射e:G1×G1→G2,其中双线性对e要满足以下三个性质:
(1)双线性:对于任意的有e(gx,gy)=e(g,g)xy;其中,为模N乘群,是对于模N乘法运算的一个交换群;
(2)非退化性:其中是群G2的单位元;
(3)可计算性:对于任意的存在高效的算法e(gx,gy);
S23、随机选择群G1的生成元g和两个群元素g1,g2∈G1;选择3个哈希函数H1:G1→{0,1}l,H2:和H3:G2→{0,1}l;其中l为哈希函数H1和H3输出哈希值的二进制长度,哈希函数h表示为:h:
S24、可信第三方输出全局参数集gN,并将该全局参数集gN发送给云服务器、授权数据拥有者和授权数据使用者;其中gN={M,G1,G2,e,g,g1,g2,H1,H2,H3}。
3.如权利要求2所述的抗关键字猜测攻击的支持多关键字搜索公钥加密方法,其特征在于,
所述步骤S3中进一步包含以下步骤:
S31、所述云服务器接收到来自所述可信第三方发来的全局参数集gN,所述授权数据拥有者运行发送方密钥产生算法;
S32、所述发送方密钥产生算法随机选择发送方S的私钥
并计算发送方S的公钥其中,是ZN的字集,ZN是一个集合,xS是模N乘法运算的一个交换群的组成元素,ZN={0,1,2,3…N-1},gcd(xS,N)表示xS和N的最大公因数,g是大素数M阶循环群G1的生成元,是g的xS次方;
S33、所述发送方密钥产生算法输出得到的发送方S的私钥skS和公钥pkS
4.如权利要求3所述的抗关键字猜测攻击的支持多关键字搜索公钥加密方法,其特征在于,
所述步骤S4中进一步包含以下步骤:
S41、输入可信第三方发来的全局参数集gN,授权数据接收者运行接收方密钥产生算法;
S42、所述接收方密钥产生算法随机选择令接收方R的私钥skR=(skR1,skR2)=(xR1,xR2)并计算接收方R的公钥其中,skR1,skR2表示skR的两个组成部分,skR1=xR1,skR2=xR2,xR1,xR2是模N乘群的集合组成元素,pkR1,pkR2表示pkR的组成部分,
S43、所述接收方密钥产生算法输出接收方R的私钥skR和公钥pkR
5.如权利要求4所述的抗关键字猜测攻击的支持多关键字搜索公钥加密方法,其特征在于,
所述步骤S5中进一步包含以下步骤:
S51、所述授权数据拥有者从明文文档集F={f1,f2,…,fn}中抽取关键词,得到关键词集合w={w1,w2,…wn},w1,w2,…wn分别为对应的f1,f2,…,fn的关键词,其中n∈(0,+∞);
S52、所述授权数据拥有者运行关键词加密算法,输入参数有:可信第三方发来的全局参数集gN={M,G1,G2,e,g,g1,g2,H1,H2,H3}、关键词集合w={w1,w2,…wn}、发送方S的私钥skS和接收方R的公钥pkR=(pkR1,pkR2);
S53、所述关键词加密算法随机选择计算并输出关键词集合w的密文Cw,其中其中,U和V分别是Cw的组成部分,ss是授权数据拥有者使用私钥skS和授权数据接收者的公钥pkS通过Diffie-Hellman密钥协商协议产生的一个与授权数据拥有者共享的秘密值;
S54、所述授权数据拥有者将密文Cw上传到云服务器。
6.如权利要求5所述的抗关键字猜测攻击的支持多关键字搜索公钥加密方法,其特征在于,
所述步骤S6中进一步包含以下步骤:
S61、所述授权数据拥有者运行RSA数据加密算法,采用随机递增搜索法来实现大素数的搜索;
S62、通过使用预处理的方法对数的素性进行简单检验,使用较少的时间排除掉一部分伪素数,再利用基于概率的素数测试算法进行检验:
S63、在多次检测检测过的数据中随机抽取两个大素数p,q;
S64、计算n和其中n=p×q, 表示n的欧拉函数,表示比n小但是与n互素的正整数的个数;
S65、生成一个随机数a作为加密密钥,令a作为加密公钥,对可信第三方、云服务器、授权数据使用者是公开的,其中加密公钥a满足且加密公钥a和欧拉函数互质,其中gcd表示为最大公约数;
S66、求解b作为加密私钥,用来解密所述授权数据拥有者上传的加密文件;加密公钥a和互质,加密私钥b有解,其中b满足mod是求余函数;
S67、所述授权数据拥有者用ss对加密私钥b进行加密得到加密结果b',其中保存加密结果b';
S68、对上传的明文文档集F={f1,f2,…,fn}进行加密,则密文文档C满足C≡Famodn;
S69、所述授权数据拥有者将密文文档C上传到云服务器。
7.如权利要求6所述的抗关键字猜测攻击的支持多关键字搜索公钥加密方法,其特征在于,
所述步骤S62中,基于概率的素数测试算法进行检验的方法包含以下过程:
(1)通过小素数筛值法来生成伪素数;
(2)通过一个高位和低位都设置为1的随机二进制数d来滤除掉伪素数中的偶数;
(3)使用小素数整除法进一步排除伪素数;
(4)使用所述基于概率的素数测试算法对伪素数的素性进行多次检测。
8.如权利要求7所述的抗关键字猜测攻击的支持多关键字搜索公钥加密方法,其特征在于,
所述步骤S7中进一步包含以下步骤:
S71、所述授权数据接受者输入查询需求,提取查询关键字集合w'={w1',w2',…wm'},其中m∈(0,+∞);
S72、所述授权数据接收者在输入查询需求时运行陷门产生算法,输入可信第三方发来的全局参数集gN={M,G1,G2,e,g,g1,g2,H1,H2,H3}、发送方S的公钥pkS和接收方R的私钥skR=(skR1,skR2),该陷门产生算法计算并输出关键词集合w'的陷门Tw',其中
S73、所述授权数据接收者将构建的陷门Tw'上传到云服务器。
9.如权利要求8所述的抗关键字猜测攻击的支持多关键字搜索公钥加密方法,其特征在于,
所述步骤S8中进一步包含以下步骤:
S81、所述云服务器接收到关键词密文集合Cw=(U,V)、关键词陷门Tw'和可信第三方发来的全局参数集gN={M,G1,G2,e,g,g1,g2,H1,H2,H3},所述云服务器运行测试算法;
S82、测试算法通过验证w'=w,若相等,则等式H3(e(U,Tw'))=V成立,其中
则云服务器返回与关键词相对应的加密文档给授权数据接收者,若不相等,则没有通过验证,不返回结果;
S83、通过验证后,授权数据拥有者将加密结果b'发送给授权数据接收者;
S84、授权数据接收者对加密结果b'进行解密,得到加密私钥b;
S85、授权数据接收者用加密私钥b解密加密文档集,得到明文文档集。
10.一种采用如权利要求1-9任意一项所述的抗关键字猜测攻击的支持多关键字搜索公钥加密方法的云计算系统,其特征在于,该云计算系统包含:云服务器、数据拥有者、数据接收者和可信第三方;
其中,所述数据拥有者和所述数据接收者在所述可信第三方进行注册,成为合法授权用户,分别为授权数据拥有者和授权数据接收者;
所述可信第三方负责用户的注册与登录,运行全局参数产生算法,输出全局参数集并发送给所述云服务器、所述授权数据拥有者和所述授权数据接收者;
所述数据拥有者在可信第三方注册成为授权数据拥有者后,接收到来自所述可信第三方的全局参数集,发送加密文档集和关键词密文给所述云服务器;
所述数据接收者在可信第三方注册成为所述授权数据接受者后,接收到来自所述可信第三方的全局参数集,根据查询语句构建关键词陷门,将关键词陷门发送给云服务器;
所述云服务器接收到来自可信第三方的全局参数集、上传的加密密文文档、关键词密文和关键词陷门,通过运行测试算法验证,将满足验证条件的密文文档返回给所述授权数据接收者。
CN201810876801.2A 2018-08-03 2018-08-03 一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法 Pending CN109086615A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810876801.2A CN109086615A (zh) 2018-08-03 2018-08-03 一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810876801.2A CN109086615A (zh) 2018-08-03 2018-08-03 一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法

Publications (1)

Publication Number Publication Date
CN109086615A true CN109086615A (zh) 2018-12-25

Family

ID=64833442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810876801.2A Pending CN109086615A (zh) 2018-08-03 2018-08-03 一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法

Country Status (1)

Country Link
CN (1) CN109086615A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110138859A (zh) * 2019-05-16 2019-08-16 广州温芯云科技有限公司 一种基于物联网体温贴的人体体温实时监测系统
CN110851845A (zh) * 2019-10-18 2020-02-28 华东师范大学 一种轻量级单用户多数据的全同态数据封装方法
CN111147508A (zh) * 2019-12-30 2020-05-12 福建师范大学 一种抗关键词猜测攻击的可搜索属性基加密方法
CN111556009A (zh) * 2020-03-19 2020-08-18 河南大学 一种支持任意指定时间解密的时间控制加密系统及方法
CN111800424A (zh) * 2020-07-07 2020-10-20 中电万维信息技术有限责任公司 一种基于身份认证的电子文档自毁系统
CN112118257A (zh) * 2020-09-17 2020-12-22 中国人民解放军31008部队 一种安全增强的基于公钥加密的关键词搜索方法
CN112118104A (zh) * 2020-09-17 2020-12-22 中国人民解放军31008部队 一种安全增强的基于公钥加密的连接关键词搜索方法
CN112804052A (zh) * 2020-12-14 2021-05-14 重庆电子工程职业学院 一种基于合数阶群的用户身份加密方法
CN113810416A (zh) * 2021-09-17 2021-12-17 福建师范大学 基于sm2公钥加密算法的公钥可搜索加密方法
CN113992397A (zh) * 2021-10-26 2022-01-28 电子科技大学 一种高效的支持差异化等式测试的公钥加密方法
CN114244498A (zh) * 2021-12-06 2022-03-25 国网河南省电力公司电力科学研究院 一种具有前向安全的动态可搜索公钥加密方法
CN114666050A (zh) * 2022-03-30 2022-06-24 浙江科技学院 一种抵抗在线和离线关键字猜测攻击的数据传输方法
CN114745160A (zh) * 2022-03-22 2022-07-12 广东工业大学 抗关键词猜测攻击的双服务器多用户可搜索加密方法与装置
CN115021993A (zh) * 2022-05-27 2022-09-06 山东大学 一种可验证的公钥可搜索加密系统及方法
CN115314284A (zh) * 2022-08-05 2022-11-08 山东大学 一种基于可信执行环境的公钥认证可搜索加密方法及系统
CN115333845A (zh) * 2022-08-19 2022-11-11 南京理工大学 基于子集的隐私数据验证方法
CN115333811A (zh) * 2022-08-01 2022-11-11 华南农业大学 一种多关键词搜索功能的安全无信道公钥认证可搜索加密方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038349A (zh) * 2014-07-03 2014-09-10 西安电子科技大学 一种基于kp-abe的有效可验证的公钥可搜索加密方法
CN105262843A (zh) * 2015-11-12 2016-01-20 武汉理工大学 一种针对云存储环境的数据防泄漏保护方法
CN105681280A (zh) * 2015-12-29 2016-06-15 西安电子科技大学 一种云环境中基于中文的可搜索加密方法
CN105871543A (zh) * 2016-03-29 2016-08-17 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法
CN107395568A (zh) * 2017-06-21 2017-11-24 西安电子科技大学 一种多数据拥有者认证的密文检索方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038349A (zh) * 2014-07-03 2014-09-10 西安电子科技大学 一种基于kp-abe的有效可验证的公钥可搜索加密方法
CN105262843A (zh) * 2015-11-12 2016-01-20 武汉理工大学 一种针对云存储环境的数据防泄漏保护方法
CN105681280A (zh) * 2015-12-29 2016-06-15 西安电子科技大学 一种云环境中基于中文的可搜索加密方法
CN105871543A (zh) * 2016-03-29 2016-08-17 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法
CN107395568A (zh) * 2017-06-21 2017-11-24 西安电子科技大学 一种多数据拥有者认证的密文检索方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐海琳等: "抗关键词猜测攻击的可搜索公钥加密方案", 《计算机工程与应用》 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110138859A (zh) * 2019-05-16 2019-08-16 广州温芯云科技有限公司 一种基于物联网体温贴的人体体温实时监测系统
CN110851845A (zh) * 2019-10-18 2020-02-28 华东师范大学 一种轻量级单用户多数据的全同态数据封装方法
CN110851845B (zh) * 2019-10-18 2023-05-12 华东师范大学 一种轻量级单用户多数据的全同态数据封装方法
CN111147508B (zh) * 2019-12-30 2022-05-24 福建师范大学 一种抗关键词猜测攻击的可搜索属性基加密方法
CN111147508A (zh) * 2019-12-30 2020-05-12 福建师范大学 一种抗关键词猜测攻击的可搜索属性基加密方法
CN111556009A (zh) * 2020-03-19 2020-08-18 河南大学 一种支持任意指定时间解密的时间控制加密系统及方法
CN111800424A (zh) * 2020-07-07 2020-10-20 中电万维信息技术有限责任公司 一种基于身份认证的电子文档自毁系统
CN112118104A (zh) * 2020-09-17 2020-12-22 中国人民解放军31008部队 一种安全增强的基于公钥加密的连接关键词搜索方法
CN112118257A (zh) * 2020-09-17 2020-12-22 中国人民解放军31008部队 一种安全增强的基于公钥加密的关键词搜索方法
CN112118257B (zh) * 2020-09-17 2023-04-07 中国人民解放军31008部队 一种安全增强的基于公钥加密的关键词搜索方法
CN112804052A (zh) * 2020-12-14 2021-05-14 重庆电子工程职业学院 一种基于合数阶群的用户身份加密方法
CN113810416A (zh) * 2021-09-17 2021-12-17 福建师范大学 基于sm2公钥加密算法的公钥可搜索加密方法
CN113992397A (zh) * 2021-10-26 2022-01-28 电子科技大学 一种高效的支持差异化等式测试的公钥加密方法
CN113992397B (zh) * 2021-10-26 2022-10-21 电子科技大学 一种高效的支持差异化等式测试的公钥加密方法
CN114244498A (zh) * 2021-12-06 2022-03-25 国网河南省电力公司电力科学研究院 一种具有前向安全的动态可搜索公钥加密方法
CN114745160A (zh) * 2022-03-22 2022-07-12 广东工业大学 抗关键词猜测攻击的双服务器多用户可搜索加密方法与装置
CN114745160B (zh) * 2022-03-22 2023-05-30 广东工业大学 抗关键词猜测攻击的双服务器多用户可搜索加密方法与装置
CN114666050A (zh) * 2022-03-30 2022-06-24 浙江科技学院 一种抵抗在线和离线关键字猜测攻击的数据传输方法
CN114666050B (zh) * 2022-03-30 2024-03-12 浙江科技学院 一种抵抗在线和离线关键字猜测攻击的数据传输方法
CN115021993A (zh) * 2022-05-27 2022-09-06 山东大学 一种可验证的公钥可搜索加密系统及方法
CN115333811A (zh) * 2022-08-01 2022-11-11 华南农业大学 一种多关键词搜索功能的安全无信道公钥认证可搜索加密方法及相关装置
CN115333811B (zh) * 2022-08-01 2024-03-12 华南农业大学 一种多关键词搜索功能的安全无信道公钥认证可搜索加密方法及相关装置
CN115314284A (zh) * 2022-08-05 2022-11-08 山东大学 一种基于可信执行环境的公钥认证可搜索加密方法及系统
CN115314284B (zh) * 2022-08-05 2024-03-29 山东大学 一种基于可信执行环境的公钥认证可搜索加密方法及系统
CN115333845A (zh) * 2022-08-19 2022-11-11 南京理工大学 基于子集的隐私数据验证方法
CN115333845B (zh) * 2022-08-19 2024-04-12 南京理工大学 基于子集的隐私数据验证方法

Similar Documents

Publication Publication Date Title
CN109086615A (zh) 一种抗关键字猜测攻击的支持多关键字搜索公钥加密方法
US9571268B2 (en) Method and system for homomorphicly randomizing an input
Chandu et al. Design and implementation of hybrid encryption for security of IOT data
EP3091690A1 (en) Rsa decryption using multiplicative secret sharing
Kerschbaum Collusion-resistant outsourcing of private set intersection
Patidar et al. Modified RSA cryptosystem based on offline storage and prime number
CN101977112A (zh) 一种基于神经网络混沌吸引子的公钥密码加密和解密方法
CN103780393A (zh) 一种面向多安全等级的虚拟桌面安全认证系统及方法
CN105635135A (zh) 一种基于属性集及关系谓词的加密系统及访问控制方法
Huang et al. Secure and privacy-preserving DRM scheme using homomorphic encryption in cloud computing
CN111786790A (zh) 一种隐私保护的带关键词搜索的基于身份加密方法和系统
Khatarkar et al. A survey and performance analysis of various RSA based encryption techniques
Sekar et al. Comparative study of encryption algorithm over big data in cloud systems
KR101217491B1 (ko) 공개키 기반의 키워드 검색 방법
Berlin et al. An overview of cryptanalysis of RSA public key system
Thangavel et al. Secure file storage and retrieval in cloud
Lakshmi et al. Medical image encryption using enhanced Rivest Shamir Adleman algorithm
Hu et al. Public-key encryption for protecting data in cloud system with intelligent agents against side-channel attacks
Zhan et al. Improved proxy re-encryption with delegatable verifiability
Kavin et al. A Novel M-Commerce Data Security Mechanism using Elliptic Curve Cryptography
Zhao et al. Dual-server certificateless public key encryption with authorized equality test for outsourced IoT data
Hlaing et al. Secure One Time Password OTP Generation for user Authentication in Cloud Environment
Yamuna et al. Efficient and Secure Data Storage in Cloud Computing RSA and DSE Function
Nagaty A public key cryptosystem and signature scheme based on numerical series
Asri et al. Modification of chipertext Elgamal algorithm using split merge

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

Application publication date: 20181225