CN112417006A - 基于区块链的密文关键字搜索方法、***、装置及介质 - Google Patents

基于区块链的密文关键字搜索方法、***、装置及介质 Download PDF

Info

Publication number
CN112417006A
CN112417006A CN202011368488.5A CN202011368488A CN112417006A CN 112417006 A CN112417006 A CN 112417006A CN 202011368488 A CN202011368488 A CN 202011368488A CN 112417006 A CN112417006 A CN 112417006A
Authority
CN
China
Prior art keywords
data
user
cloud server
ciphertext
data user
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
CN202011368488.5A
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.)
Qilu University of Technology
Original Assignee
Qilu University of Technology
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 Qilu University of Technology filed Critical Qilu University of Technology
Priority to CN202011368488.5A priority Critical patent/CN112417006A/zh
Publication of CN112417006A publication Critical patent/CN112417006A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了基于区块链的密文关键字搜索方法、***、装置及介质,属于关键字搜索技术领域,要解决的技术问题为如何实现安全、多用户、可验证且公平支付的密文搜索。方法包括:数据拥有者生成***参数、主公钥和主密钥,并公开***参数和主公钥;基于主密钥对关键字进行加密生成支持多个关键字检索的索引,并对明文加密生成密文,将上述索引和密文上传云服务器;数据拥有者对数据用户进行认证并将认证通过的数据用户加入用户列表;数据用户基于搜索请求生成陷门,云服务器基于陷门进行搜索,并将搜索结果返回数据用户;数据用户基于智能合约验证搜索结果的正确性,并向云服务器和数据所有者支付费用;数据用户基于搜索结果解密密文,得到明文。

Description

基于区块链的密文关键字搜索方法、***、装置及介质
技术领域
本发明涉及关键字搜索技术领域,具体地说是基于区块链的密文关键字搜索方法、***、装置及介质。
背景技术
云存储是一种无限的存储资源,给我们带来了极大的方便。无论是个人还是企业都倾向于将大量数据分享于网络,然而,在享受低成本和方便的协作的同时,用户也关注数据隐私问题。当个人用户通过社交网络分享照片和视频,公司用户将敏感数据外包给云存储时,数据隐私问题就存在了。
为了保护用户数据的隐私,数据在上传到云服务器之前需要进行加密,加密之后用户只能依据密文进行搜索,这就是可搜索加密。按照如何根据密文搜索关键字,可搜索加密分为私钥可搜索加密和公钥可搜索加密。最初提出的无记忆关键字搜索是基于单关键字的,首先,数据所有者加密数据和关键字,然后将它们提交给用户。当用户想要搜索的时候,用户产生令牌并将其发送给数据所有者,数据所有者将陷门返回给用户。
目前,云服务器不诚实地执行搜索操作,并返回不正确或者不完整地结果,这是可搜索加密和无记忆关键字搜索面临一个的问题。在先支付后使用的模型中,即使云服务器是不诚实的,用户也需要提前支付服务费用。在先使用后支付的模型中,用户可能会欺骗云服务器为其服务。因此,迫切需要一个解决公平支付问题的方案。
如何实现安全、多用户、可验证且公平支付的密文搜索,是需要解决的技术问题。
发明内容
本发明的技术任务是针对以上不足,提供基于区块链的密文关键字搜索方法、***、装置及介质,来解决如何实现安全、多用户、可验证且公平支付的密文搜索的问题。
第一方面,本发明提供一种基于区块链的密文关键字搜索方法,应用于包括区块链以及加入区块链的数据拥有者、数据用户和云服务器的***,所述区块链上部署有智能合约,所述智能合约部署有用户列表和公平支付规则,所述方法包括如下步骤:
数据所有者生成***参数、主公钥和主密钥,并向***公开所述***参数和主公钥;
数据拥有者从明文中提取关键字,基于主密钥对关键字加密生成支持多个关键字搜索的索引,并对明文明文加密生成密文,将上述索引和密文上传云服务器;
数据用户发起搜索请求,基于搜索请求生成陷门并将陷门上传智能合约和云服务器;
智能合约基于用户列表对数据用户进行认证,如果认证不通过,通过数据拥有者对数据用户进行认证并将认证通过的数据用户加入用户列表,如果认证通过,云服务器基于陷门进行搜索并将搜索结果返回数据用户;
数据用户调用智能合约,智能合约基于公平支付规则验证搜索结果的内容是否正确,验证通过后,数据用户根据公平支付规则分别向云服务器和数据所有者支付费用,并解密搜索结果。
作为优选,所述智能合约包括用户管理合约和公平支付合约,所述用户管理合约部署有用户列表,每个数据所有者对应有一个用户列表,每个用户列表用于存储相关数据所有者与其验证通过的数据用户之间的映射关系;
公平支付合约部署有公平支付规则,用于基于陷门调用用户管理合约对数据用户进行认证,用于在数据用户认证通过后触发云服务器基于陷门进行搜索,用于基于公平支付规则验证搜索结果的内容是否正确,并根据验证结果限定数据用户分别向云服务器和数据所有者支付费用。
作为优选,所述***参数表示为:
pp=(PG,H,g,h,f)
PG=(p,G1,G2,e)
其中,α∈Zp,为数据所有者随机选择的参数;
G1和G2均表示群,g和h均表示群的生成元,g,h∈G1
e表示双线性映射;
H表示哈希函数,H:ZM→Zp,ZM和Zp分别表示阶为M和p的集合;
f表示一个伪随机函数;
主公钥表示为:
mpk=(hα,N,e')
其中,N和e'均为非对称加密算法RSA的公钥;
主密钥表示为:
msk=(α,d)
其中,α为Zp中的任意一个数,d是为非对称加密算法RSA的私钥。
作为优选,数据拥有者从明文中提取关键字,基于主密钥对关键字加密生成支持多个关键字检索的索引,包括如下步骤:
数据所有者拥有m个文档,表示为D=(D1,D2,...,Dm),关键字空间表示为KS,数据所有者与数据用户协定关键字集
Figure BDA0002805788500000031
文档Di包含关键字集
Figure BDA0002805788500000032
数据所有者随机选择ri',基于关键字集Wi和主密钥α,数据所有者执行以下操作产生用于支持多个关键字检索的索引:
OCSIij=f(wij)dri'mod N
Figure BDA0002805788500000033
其中,i=1,2,...,m,j=1,2,...,n',n'表示文档所包含的关键字个数。
作为优选,数据拥有者对数据用户进行认证并将认证通过的数据用户加入用户列表,包括如下步骤:
数据用户选择其私钥s以及关键字集W',s∈R Zp,基于***参数、主公钥mpk、用户私钥s、关键字集W'以及数据用户与数据拥有者协定的关键字集W,数据用户执行如下计算生成认证信息:
Figure BDA0002805788500000041
Figure BDA0002805788500000042
Figure BDA0002805788500000043
∑=(∑1,∑2,∑3)
数据用户将上述认证信息∑发送至数据拥有者;
基于认证信息∑、关键字集W以及主公钥mpk,数据所有者进行如下操作验证上述认证信息∑:
e(∑3,hα)=e(∑2,h)
Figure BDA0002805788500000044
如果验证通过,数据所有者通过智能合约将所述数据用户添加至对应的用户列表。
作为优选,数据用户发起搜索请求,基于搜索请求生成陷门,包括如下步骤:
数据用户选择关键字集W'=(w1,w2,...,wt),并随机选择r∈ZN,基于关键字集W'和r,数据用户执行如下计算:
Y=re'×f(w1)×f(w2)×...×f(wt)
数据用户将Y返回数据所有者,数据所有者执行如下操作:
Tr'=Ydmod N
数据所有者将Tr'发送至数据用户,数据用户执行如下操作计算陷门:
Tr=Tr'/r
数据用户将Tr上传智能合约和云服务器。
所述云服务器基于陷门进行搜索并将搜索结果返回数据用户,包括如下步骤:
云服务器定义一个结果集result,并初始化为空;
云服务器进行如下计算:
Figure BDA0002805788500000051
Figure BDA0002805788500000052
其中,i=1,2,...,m;
云服务器基于如下等式进行判断;
Figure BDA0002805788500000053
如果等式成立,密文Ci包含关键字集W'=(w1,w2,...,wt),将相应的密文Ci加入到结果集result;
云服务器将上述结果集result返回数据用户。
作为优选,数据用户发起搜索请求,基于搜索请求生成陷门,包括如下步骤:
数据用户选择关键字集W'=(w1,w2,...,wt),并随机选择r∈ZN,基于关键字集W'和r,数据用户执行如下计算:
Y=re'×f(w1)×f(w2)×...×f(wt)
数据用户将Y返回数据所有者,数据所有者执行如下操作:
Tr'=Ydmod N
数据所有者将Tr'发送至数据用户,数据用户执行如下操作计算陷门:
Tr=Tr'/r
数据用户将Tr上传智能合约和云服务器;
所述云服务器选择m个秘密值p1,p2,......,pm,每个秘密值对应一个密文Ci
对于每个密文Ci,云服务器基于对应的秘密值pi进行加密,得到加密后密文,计算公式为:
Figure BDA0002805788500000054
所述云服务器将上述加密后密文E=(E1,E2,......,Em)返回所述数据拥有者认证通过的数据用户;
所述云服务器基于陷门进行搜索并将搜索结果返回数据用户,包括如下步骤:
云服务器定义一个结果集result,并初始化为空;
云服务器进行如下计算:
Figure BDA0002805788500000061
Figure BDA0002805788500000062
其中,i=1,2,...,m;
云服务器基于如下等式进行判断;
Figure BDA0002805788500000063
如果等式成立,密文Ci包含关键字集W'=(w1,w2,...,wt),将相应的密文Ci加入到结果集result,并找到密文Ci对应的秘密值pi
云服务器将上述秘密值返回数据用户。
第二方面,本发明提供一种基于区块链的密文关键字搜索***,应用如第一方面任一项所述的基于区块链的密文关键字搜索方法进行密文关键字搜索以及费用支付,所述***包括数据拥有者、数据用户、云服务器以及区块链,所述区块链上部署有智能合约,智能合约存储有用户列表和支付规则;
所述数据拥有者用于生成***参数、主公钥和主密钥,并向***公开所述***参数和主公钥;用于从明文中提取关键字,基于主密钥对关键字加密生成支持多个关键字检索的索引,并对明文加密生成密文,将上述索引和密文上传云服务器;
所述数据用户用于发起搜索请求,用于基于搜索请求生成陷门并将陷门上传智能合约和云服务器
所述智能合约用于基于用户列表对数据用户进行认证,如果认证不通过,用于调用数据拥有者对数据用户进行认证并将认证通过的数据用户加入用户列表,如果认证通过,所述云服务器用于基于陷门进行搜索并将搜索结果返回数据用户;
数据用户用于调用智能合约,智能合约用于基于公平支付规则验证搜索结果的内容是否正确,验证通过后,数据用户用于根据公平支付规则分别向云服务器和数据所有者支付费用,并解密搜索结果。
第三方面,本发明提供一种装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行第一方面任一所述的方法。
第四方面,本发明提供一种介质,为计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面任一所述的方法。
本发明的基于区块链的密文关键字搜索方法、***、装置及介质具有以下优点:
1、基于智能合约,验证云服务器返回的密文的正确性,并限定数据用户向数据拥有者和云服务器分别支付费用,实现了公平支付;
2、数据拥有者从明文中提取关键字,基于主密钥对关键字加密生成支持多关键字检索的索引,数据用户搜索时不受关键字个数的限制;
3、智能合约基于用户列表对数据用户进行认证,如果认证通过,数据用户发出搜索请求,如果认证不通过,则通过数据拥有者进行认证并将认证后的数据用户加入用户列表,对于首次提出认证请求的数据用户,需要数据拥有者进行认证,后续提出认证请求的数据用户,只需智能合约通过用户列表进行认证,确保了数据用户的权限,并简化了认证过程。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
下面结合附图对本发明进一步说明。
图1为实施例1基于区块链的密文关键字搜索方法的流程框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
本发明实施例提供基于区块链的密文关键字搜索方法、***、装置及介质,用于解决如何实现安全、多用户、可验证且公平支付的密文搜索的技术问题。
实施例1:
本发明的基于区块链的密文关键字搜索方法,应用于包括区块链以及加入区块链的数据拥有者、数据用户和云服务器的***,上述区块链上部署有智能合约,智能合约部署有用户列表和公平支付规则。
如图1所示,该方法包括如下步骤:
S100、数据所有者生成***参数、主公钥和主密钥,并向***公开所述***参数和主公钥;
S200、数据拥有者从明文中提取关键字,基于主密钥对关键字加密生成支持多个关键字搜索的索引,并对明文明文加密生成密文,将上述索引和密文上传云服务器;
S300、数据用户发起搜索请求,基于搜索请求生成陷门并将陷门上传智能合约和云服务器;
S400、智能合约基于用户列表对数据用户进行认证,如果认证不通过,通过数据拥有者对数据用户进行认证并将认证通过的数据用户加入用户列表,如果认证通过,云服务器基于陷门进行搜索并将搜索结果返回数据用户;
S500、数据用户调用智能合约,智能合约基于公平支付规则验证搜索结果的内容是否正确,验证通过后,数据用户根据公平支付规则分别向云服务器和数据所有者支付费用,并解密搜索结果。
其中,***参数表示为:
pp=(PG,H,g,h,f)
PG=(p,G1,G2,e)
其中,α∈Zp,为数据所有者随机选择的参数;
G1和G2均表示群,g和h均表示群的生成元,g,h∈G1
e表示双线性映射;
H表示哈希函数,H:ZM→Zp,ZM和Zp分别表示阶为M和p的集合;
f表示一个伪随机函数;
主公钥表示为:
mpk=(hα,N,e')
其中,N和e'均为非对称加密算法RSA的公钥;
主密钥表示为:
msk=(α,d)
其中,α为Zp中的任意一个数,d是为非对称加密算法RSA的私钥。
***参数和主公钥对该***所有成员公开,主密钥只有数据拥有者持有。
步骤S200中,数据拥有者从明文中提取关键字,基于主密钥对关键字加密生成支持多个关键字检索的索引,包括如下步骤:
数据所有者拥有m个文档,表示为D=(D1,D2,...,Dm),关键字空间表示为KS,数据所有者与数据用户协定关键字集
Figure BDA0002805788500000091
文档Di包含关键字集
Figure BDA0002805788500000092
数据所有者随机选择选择ri',基于关键字集Wi和主密钥α,数据所有者
执行以下操作产生用于支持多个关键字检索的索引:
OCSIij=f(wij)dri'mod N
Figure BDA0002805788500000093
其中,i=1,2,...,m,j=1,2,...,n',m表示文档的个数;n'表示某个文档所包含的关键字个数。
数据拥有者基于对称加密算法对上述m个文档D=(D1,D2,...,Dm)加密,生成密文,密文表示为:
Ci=Enc(Di)
其中,Di表示为数据拥有者拥有的第i个明文文档。
数据拥有者对明文加密后,将密钥通过信道传送给对应的数据用户。
智能合约中部署有用户列表和公平支付规则,数据用户发起搜索请求并基于搜索请求生成陷门,将陷门上传云服务器以及区块链中,在区块链中,智能合约基于用户列表对数据用户进行认证,判断数据用户是否存在于用户列表中,如果存在,则认证通过,智能合约调用云服务器,云服务器基于陷门进行搜索,并将搜索结果返回数据用户,数据用户接受返回结果后,调用智能合约,智能合约基于公平支付规则验证搜索结果的内容是否正确,如果正确,则根据搜索结果中文档的个数,数据用户分别向云服务器和数据所有者支付费用。
在本实施例中,智能合约包括两个合约,分别为用户管理合约和公平支付合约。用户管理合约部署有用户列表,每个数据所有者对应有一个用户列表,每个用户列表用于存储相关数据所有者与其验证通过的数据用户之间的映射关系;公平支付合约部署有公平支付规则,用于基于陷门调用用户管理合约对数据用户进行认证,用于在数据用户认证通过后触发云服务器基于陷门进行搜索,用于基于公平支付规则验证搜索结果的内容是否正确,并根据验证结果限定数据用户分别向云服务器和数据所有者支付费用。
具体的,用户管理合约用于验证数据用户的认证信息,用于建立数据用户与数据拥有者的地址映射,用于将数据用户添加至用户列表,并用于从用户列表删除数据用户;本实施例中,用户管理合约部署有变量DO、变量userList和函数addUser、函数delUser及函数verUser,变量DO用于部署智能用户管理合约,映射userList用于将数据用户地址映射到一个布尔值,函数addUser用于将数据用户添加至用户列表,函数delUser用于从用户列表删除用户,函数verUser用于验证数据用户的合法性。
公平支付合约用于建立数据拥有者、云服务器以及数据用户的地址映射,用于验证数据用户发出的搜索请求,用于验证云服务器返回密文的正确性,并用于限定数据用户根据密文个数向数据拥有者和云服务器支付费用。本实施例中,公平支付合约部署有变量DU、变量DO、变量CS、变量du、变量number以及函数requestsearch、函数verFile以及函数fairpayment,变量DU为结构体,包含数据用户的余额和陷门属性;变量DO用于表示数据所有者的地址,变量CS用于表示云服务器的地址,变量du为一个映射,用于将一个地址映射到一个结构体;变量number为验证通过的明文的个数,函数requestsearch用于验证数据用户发出额搜索请求,函数verFile用于验证文件的正确性,函数fairpayment用于限定数据用户基于文件个数向数据所有者和云服务器支付费用。
数据用户提出搜索请求,并根据上述搜索请求生成陷门,将上述陷门上传区块链和云服务器中。区块链接收陷门后,公平支付合约调用用户管理合约,用户管理合约基于用户列表对数据用户进行认证,如果认证通过,则公平支付合约中函数发起搜索请求,调用云服务器,云服务器基于陷门进行搜索并将搜索结果返回数据用户,如果认证不通过,则公平支付合约调用数据所有者,数据所有者对数据用户进行认证并将认证通过的数据用户加入用户列表中。
上述流程中,数据拥有者对数据用户进行认证并将认证通过的数据用户加入用户列表,包括如下步骤:
(1)数据用户选择其私钥s以及关键字集W',s∈RZp,基于***参数、主公钥mpk、用户私钥s、关键字集W'以及数据用户与数据拥有者协定的关键字集W,数据用户执行如下计算生成认证信息:
Figure BDA0002805788500000111
Figure BDA0002805788500000112
Figure BDA0002805788500000113
∑=(∑1,∑2,∑3)
数据用户将上述认证信息∑发送至数据拥有者;
(2)基于认证信息∑、关键字集W以及主公钥mpk,数据所有者进行如下操作验证上述认证信息∑:
e(∑3,hα)=e(∑2,h)
Figure BDA0002805788500000114
如果验证通过,数据所有者通过智能合约将所述数据用户添加至对应的用户列表。
数据用户发起搜索请求,基于搜索请求生成陷门,包括如下步骤:
(1)数据用户选择关键字集W'=(w1,w2,...,wt),并随机选择r∈ZN,基于关键字集W'和r,数据用户执行如下计算:
Y=re'×f(w1)×f(w2)×...×f(wt)
(2)数据用户将Y返回数据所有者,数据所有者执行如下操作:
Tr'=Ydmod N
(3)数据所有者将Tr'发送至数据用户,数据用户执行如下操作计算陷门:
Tr=Tr'/r
(4)数据用户将Tr上传智能合约和云服务器。
上述云服务器基于陷门进行搜索并将搜索结果返回数据用户,包括如下步骤:
(1)云服务器定义一个结果集result,并初始化为空;
(2)云服务器进行如下计算:
Figure BDA0002805788500000121
Figure BDA0002805788500000122
其中,i=1,2,...,m;
(3)云服务器基于如下等式进行判断;
Figure BDA0002805788500000123
如果等式成立,密文Ci包含关键字集W'=(w1,w2,...,wt),将相应的密文Ci加入到结果集result;
(4)云服务器将上述结果集result返回数据用户。
数据用户接受到结果集result后,调用公平支付合约,验证结果集result内容的正确性,如果验证通过,则基于公平支付合约,根据文档数分别向云服务器和数据拥有者支付费用。并通过接收的密钥对结果集result中密文进行解密,得到相关明文文档。
上述实施方式中,数据所有者将密文和索引上传云服务器,云服务器基于索引进行搜索,当云服务器搜索次数过多时,容易得知部分密文消息,为进一步加强安全性,云服务器对密文进一步进行加密。
在上述改进的实施例中,数据用户发起搜索请求,基于搜索请求生成陷门,包括如下步骤:
(1)数据用户选择关键字集W'=(w1,w2,...,wt),并随机选择r∈ZN,基于关键字集W'和r,数据用户执行如下计算:
Y=re'×f(w1)×f(w2)×...×f(wt)
(2)数据用户将Y返回数据所有者,数据所有者执行如下操作:
Tr'=Ydmod N
(3)数据所有者将Tr'发送至数据用户,数据用户执行如下操作计算陷门:
Tr=Tr'/r
(4)数据用户将Tr上传智能合约和云服务器;
(5)云服务器选择m个秘密值p1,p2,......,pm,每个秘密值对应一个密文Ci
(6)对于每个密文Ci,云服务器基于对应的秘密值pi进行加密,得到加密后密文,计算公式为:
Figure BDA0002805788500000131
(7)云服务器将上述加密后密文E=(E1,E2,......,Em)返回所述数据拥有者认证通过的数据用户
云服务器基于陷门进行搜索并将搜索结果返回数据用户,包括如下步骤:
(1)云服务器定义一个结果集result,并初始化为空;
(2)云服务器进行如下计算:
Figure BDA0002805788500000141
Figure BDA0002805788500000142
其中,i=1,2,...,m;
(3)云服务器基于如下等式进行判断;
Figure BDA0002805788500000143
如果等式成立,密文Ci包含关键字集W'=(w1,w2,...,wt),将相应的密文Ci加入到结果集result,并找到密文Ci对应的秘密值pi
(4)云服务器将上述秘密值返回数据用户。。
数据用户收到pi之后,进行对加密后密文进行解密,得到明文,操作如下:
Figure BDA0002805788500000144
然后数据用户进一步对密文进行解密,得到明文。
实施例2:
本发明的基于区块链的密文关键字搜索***,应用如实施例1公开的基于区块链的密文关键字搜索方法进行密文关键字搜索以及费用支付,***包括数据拥有者、数据用户、云服务器以及区块链,区块链上部署有智能合约,智能合约存储有用户列表和支付规则。
数据拥有者用于生成***参数、主公钥和主密钥,并公开***参数和主公钥;用于从明文中提取关键字,基于主密钥对关键字进行加密生成支持多个关键检索的索引,并对明文加密生成密文,将上述索引和密文上传云服务器;智能合约用于基于用户列表对发起索引请求的数据用户进行认证,如果认证不通过,所述数据拥有者用于对数据用户进行认证并将认证通过的数据用户加入用户列表;用于验证搜索结果的正确性,并向云服务器和数据所有者支付费用;数据用户用于基于搜索请求生成陷门,云服务器用于基于陷门见你个搜索,并将搜索结果返回数据用户;数据用户用于基于智能合约验证搜索结果的正确性,并基于智能合约中支付规则分别向云服务器和数据所有者支付费用,并用于解密搜索结果得到明文。
其中,其中,***参数表示为:
pp=(PG,H,g,h,f)
PG=(p,G1,G2,e)
其中,α∈Zp,为数据所有者随机选择的参数;
G1和G2均表示群,g和h均表示群的生成元,g,h∈G1
e表示双线性映射;
H表示哈希函数,H:ZM→Zp,ZM和Zp分别表示阶为M和p的集合;
f表示一个伪随机函数;
主公钥表示为:
mpk=(hα,N,e')
其中,N和e'均为非对称加密算法RSA的公钥;
主密钥表示为:
msk=(α,d)
其中,α为Zp中的任意一个数,d是为非对称加密算法RSA的私钥。
智能合约中部署有用户列表和公平支付规则,智能合约用于基于用户列表对数据用户进行认证,判断数据用户是否存在于用户列表中,如果存在,则认证通过,智能合约调用云服务器,云服务器基于陷门进行搜索,并将搜索结果返回数据用户,数据用户接受返回结果后,调用智能合约,智能合约用于基于公平支付规则验证搜索结果的内容是否正确,如果正确,则根据搜索结果中文档的个数,数据用户分别向云服务器和数据所有者支付费用。
在本实施例中智能合约包括两个合约,分别为用户管理合约和公平支付合约。用户管理合约部署有用户列表,每个数据所有者对应有一个用户列表,每个用户列表用于存储相关数据所有者与其验证通过的数据用户之间的映射关系;公平支付合约部署有公平支付规则,用于基于陷门调用用户管理合约对数据用户进行认证,用于在数据用户认证通过后触发云服务器基于陷门进行搜索,用于基于公平支付规则验证搜索结果的内容是否正确,并根据验证结果限定数据用户分别向云服务器和数据所有者支付费用。
具体的,用户管理合约用于验证数据用户的认证信息,用于建立数据用户与数据拥有者的地址映射,用于将数据用户添加至用户列表,并用于从用户列表删除数据用户;本实施例中,用户管理合约部署有变量DO、变量userList和函数addUser、函数delUser及函数verUser,变量DO用于部署智能用户管理合约,映射userList用于将数据用户地址映射到一个布尔值,函数addUser用于将数据用户添加至用户列表,函数delUser用于从用户列表删除用户,函数verUser用于验证数据用户的合法性。
公平支付合约用于建立数据拥有者、云服务器以及数据用户的地址映射,用于验证数据用户发出的搜索请求,用于验证云服务器返回密文的正确性,并用于限定数据用户根据密文个数向数据拥有者和云服务器支付费用。本实施例中,公平支付合约部署有变量DU、变量DO、变量CS、变量du、变量number以及函数requestsearch、函数verFile以及函数fairpayment,变量DU为结构体,包含数据用户的余额和陷门属性;变量DO用于表示数据所有者的地址,变量CS用于表示云服务器的地址,变量du为一个映射,用于将一个地址映射到一个结构体;变量number为验证通过的明文的个数,函数requestsearch用于验证数据用户发出额搜索请求,函数verFile用于验证文件的正确性,函数fairpayment用于限定数据用户基于文件个数向数据所有者和云服务器支付费用。
数据用户提出搜索请求,并根据上述搜索请求生成陷门,将上述陷门上传区块链和云服务器中。区块链接收陷门后,公平支付合约调用用户管理合约,用户管理合约基于用户列表对数据用户进行认证,如果认证通过,则公平支付合约中函数发起搜索请求,调用云服务器,云服务器基于陷门进行搜索并将搜索结果返回数据用户,如果认证不通过,则公平支付合约调用数据所有者,数据所有者对数据用户进行认证并将认证通过的数据用户加入用户列表中。
数据拥有者用于对数据用户进行认证并将认证通过的数据用户加入用户列表,包括如下步骤:
(1)数据用户选择其私钥s以及关键字集W',s∈R Zp,基于***参数、主公钥mpk、用户私钥s、关键字集W'以及数据用户与数据拥有者协定的关键字集W,数据用户执行如下计算生成认证信息:
Figure BDA0002805788500000171
Figure BDA0002805788500000172
Figure BDA0002805788500000173
∑=(∑1,∑2,∑3)
数据用户将上述认证信息∑发送至数据拥有者;
(2)基于认证信息∑、关键字集W以及主公钥mpk,数据所有者进行如下操作验证上述认证信息∑:
e(∑3,hα)=e(∑2,h)
Figure BDA0002805788500000174
如果验证通过,数据所有者通过智能合约将所述数据用户添加至对应的用户列表。
数据用户用于发起搜索请求,基于搜索请求生成陷门,云服务器基于陷门进行搜索并将搜索结果返回数据用户,包括如下两种模式:
模式一:
(1)数据用户选择关键字集W'=(w1,w2,...,wt),并随机选择r∈ZN,基于关键字集W'和r,数据用户执行如下计算:
Y=re'×f(w1)×f(w2)×...×f(wt)
(2)数据用户将Y返回数据所有者,数据所有者执行如下操作:
Tr'=Ydmod N
(3)数据所有者将Tr'发送至数据用户,数据用户执行如下操作计算陷门:
Tr=Tr'/r
(4)数据用户将Tr上传智能合约和云服务器;
(5)云服务器定义一个结果集result,并初始化为空;
(6)云服务器进行如下计算:
Figure BDA0002805788500000181
Figure BDA0002805788500000182
其中,i=1,2,...,m;
(7)云服务器基于如下等式进行判断;
Figure BDA0002805788500000183
如果等式成立,密文Ci包含关键字集W'=(w1,w2,...,wt),将相应的密文Ci加入到结果集result;
(8)云服务器将上述结果集result返回数据用户。
数据用户接受到结果集result后,通过接收的密钥对结果集result中密文进行解密,得到相关明文文档。
模式二:
(1)数据用户选择关键字集W'=(w1,w2,...,wt),并随机选择r∈ZN,基于关键字集W'和r,数据用户执行如下计算:
Y=re'×f(w1)×f(w2)×...×f(wt)
(2)数据用户将Y返回数据所有者,数据所有者执行如下操作:
Tr'=Ydmod N
(3)数据所有者将Tr'发送至数据用户,数据用户执行如下操作计算陷门:
Tr=Tr'/r
(4)数据用户将Tr上传智能合约和云服务器;
(5)云服务器选择m个秘密值p1,p2,......,pm,每个秘密值对应一个密文Ci
(6)对于每个密文Ci,云服务器基于对应的秘密值pi进行加密,得到加密后密文,计算公式为:
Figure BDA0002805788500000184
(7)云服务器将上述加密后密文E=(E1,E2,......,Em)返回所述数据拥有者认证通过的数据用户
(8)云服务器定义一个结果集result,并初始化为空;
(9)云服务器进行如下计算:
Figure BDA0002805788500000191
Figure BDA0002805788500000192
其中,i=1,2,...,m;
(10)云服务器基于如下等式进行判断;
Figure BDA0002805788500000193
如果等式成立,密文Ci包含关键字集W'=(w1,w2,...,wt),将相应的密文Ci加入到结果集result,并找到密文Ci对应的秘密值pi
(11)云服务器将上述秘密值返回数据用户。
数据用户收到pi之后,对加密密文进行解密,得到密文,操作如下:
Figure BDA0002805788500000194
数据用户通过公平支付合约验证搜索结果的正确性,如果验证通过,并基于公平支付合约,根据文档的个数分别支付给云服务器和数据搜索者费用。杜密文进行进一步解密。
实施例3:
本发明实施例还提供了一种装置,包括:至少一个存储器和至少一个处理器;上述至少一个存储器,用于存储机器可读程序;上述至少一个处理器,用于调用所述机器可读程序,执行实施例1公开的方法。
实施例4:
本发明实施例还提供了一种计算机可读介质,上述计算机可读介质上存储有计算机指令,上述计算机指令在被处理器执行时,使上述处理器执行实施例1公开的方法。具体地,可以提供配有存储介质的***或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作***等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到***计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

Claims (10)

1.基于区块链的密文关键字搜索方法,其特征在于应用于包括区块链以及加入区块链的数据拥有者、数据用户和云服务器的***,所述区块链上部署有智能合约,所述智能合约部署有用户列表和公平支付规则,所述方法包括如下步骤:
数据所有者生成***参数、主公钥和主密钥,并向***公开所述***参数和主公钥;
数据拥有者从明文中提取关键字,基于主密钥对关键字加密生成支持多个关键字搜索的索引,并对明文明文加密生成密文,将上述索引和密文上传云服务器;
数据用户发起搜索请求,基于搜索请求生成陷门并将陷门上传智能合约和云服务器;
智能合约基于用户列表对数据用户进行认证,如果认证不通过,通过数据拥有者对数据用户进行认证并将认证通过的数据用户加入用户列表,如果认证通过,云服务器基于陷门进行搜索并将搜索结果返回数据用户;
数据用户调用智能合约,智能合约基于公平支付规则验证搜索结果的内容是否正确,验证通过后,数据用户根据公平支付规则分别向云服务器和数据所有者支付费用,并解密搜索结果。
2.根据权利要求1所述的基于区块链的密文关键字搜索方法,其特征在于所述智能合约包括用户管理合约和公平支付合约,所述用户管理合约部署有用户列表,每个数据所有者对应有一个用户列表,每个用户列表用于存储相关数据所有者与其验证通过的数据用户之间的映射关系;
公平支付合约部署有公平支付规则,用于基于陷门调用用户管理合约对数据用户进行认证,用于在数据用户认证通过后触发云服务器基于陷门进行搜索,用于基于公平支付规则验证搜索结果的内容是否正确,并根据验证结果限定数据用户分别向云服务器和数据所有者支付费用。
3.根据权利要求1所述的基于区块链的密文关键字搜索方法,其特征在于所述***参数表示为:
pp=(PG,H,g,h,f)
PG=(p,G1,G2,e)
其中,α∈Zp,为数据所有者随机选择的参数;
G1和G2均表示群,g和h均表示群的生成元,g,h∈G1
e表示双线性映射;
H表示哈希函数,H:ZM→Zp,ZM和Zp分别表示阶为M和p的集合;
f表示一个伪随机函数;
主公钥表示为:
mpk=(hα,N,e')
其中,N和e'均为非对称加密算法RSA的公钥;
主密钥表示为:
msk=(α,d)
其中,α为Zp中的任意一个数,d是为非对称加密算法RSA的私钥。
4.根据权利要求1所述的基于区块链的密文关键字搜索方法,其特征在于数据拥有者从明文中提取关键字,基于主密钥对关键字加密生成支持多个关键字检索的索引,包括如下步骤:
数据所有者拥有m个文档,表示为D=(D1,D2,...,Dm),关键字空间表示为KS,数据所有者与数据用户协定关键字集
Figure FDA0002805788490000021
文档Di包含关键字集
Figure FDA0002805788490000022
数据所有者随机选择ri',基于关键字集Wi和主密钥α,数据所有者执行以下操作产生用于支持多个关键字检索的索引:
OCSIij=f(wij)dri'mod N
Figure FDA0002805788490000023
其中,i=1,2,...,m,j=1,2,...,n',n'表示文档所包含的关键字个数。
5.根据权利要求1所述的基于区块链的密文关键字搜索方法,其特征在于数据拥有者对数据用户进行认证并将认证通过的数据用户加入用户列表,包括如下步骤:
数据用户选择其私钥s以及关键字集W',s∈RZp,基于***参数、主公钥mpk、用户私钥s、关键字集W'以及数据用户与数据拥有者协定的关键字集W,数据用户执行如下计算生成认证信息:
Figure FDA0002805788490000031
Figure FDA0002805788490000032
Figure FDA0002805788490000033
∑=(∑1,∑2,∑3)
数据用户将上述认证信息∑发送至数据拥有者;
基于认证信息∑、关键字集W以及主公钥mpk,数据所有者进行如下操作验证上述认证信息∑:
e(∑3,hα)=e(∑2,h)
Figure FDA0002805788490000034
如果验证通过,数据所有者通过智能合约将所述数据用户添加至对应的用户列表。
6.根据权利要求1所述的基于区块链的密文关键字搜索方法,其特征在于数据用户发起搜索请求,基于搜索请求生成陷门,包括如下步骤:
数据用户选择关键字集W'=(w1,w2,...,wt),并随机选择r∈ZN,基于关键字集W'和r,数据用户执行如下计算:
Y=re'×f(w1)×f(w2)×...×f(wt)
数据用户将Y返回数据所有者,数据所有者执行如下操作:
Tr'=Ydmod N
数据所有者将Tr'发送至数据用户,数据用户执行如下操作计算陷门:
Tr=Tr'/r
数据用户将Tr上传智能合约和云服务器。
所述云服务器基于陷门进行搜索并将搜索结果返回数据用户,包括如下步骤:
云服务器定义一个结果集result,并初始化为空;
云服务器进行如下计算:
Figure FDA0002805788490000041
Figure FDA0002805788490000042
其中,i=1,2,...,m;
云服务器基于如下等式进行判断;
Figure FDA0002805788490000043
如果等式成立,密文Ci包含关键字集W'=(w1,w2,...,wt),将相应的密文Ci加入到结果集result;
云服务器将上述结果集result返回数据用户。
7.根据权利要求1所述的基于区块链的密文关键字搜索方法,其特征在于数据用户发起搜索请求,基于搜索请求生成陷门,包括如下步骤:
数据用户选择关键字集W'=(w1,w2,...,wt),并随机选择r∈ZN,基于关键字集W'和r,数据用户执行如下计算:
Y=re'×f(w1)×f(w2)×...×f(wt)
数据用户将Y返回数据所有者,数据所有者执行如下操作:
Tr'=Ydmod N
数据所有者将Tr'发送至数据用户,数据用户执行如下操作计算陷门:
Tr=Tr'/r
数据用户将Tr上传智能合约和云服务器;
所述云服务器选择m个秘密值p1,p2,......,pm,每个秘密值对应一个密文Ci
对于每个密文Ci,云服务器基于对应的秘密值pi进行加密,得到加密后密文,计算公式为:
Figure FDA0002805788490000044
所述云服务器将上述加密后密文E=(E1,E2,......,Em)返回所述数据拥有者认证通过的数据用户;
所述云服务器基于陷门进行搜索并将搜索结果返回数据用户,包括如下步骤:
云服务器定义一个结果集result,并初始化为空;
云服务器进行如下计算:
Figure FDA0002805788490000051
Figure FDA0002805788490000052
其中,i=1,2,...,m;
云服务器基于如下等式进行判断;
Figure FDA0002805788490000053
如果等式成立,密文Ci包含关键字集W'=(w1,w2,...,wt),将相应的密文Ci加入到结果集result,并找到密文Ci对应的秘密值pi
云服务器将上述秘密值返回数据用户。
8.基于区块链的密文关键字搜索***,其特征在于应用如权利要求1-7任一项所述的基于区块链的密文关键字搜索方法进行密文关键字搜索以及费用支付,所述***包括数据拥有者、数据用户、云服务器以及区块链,所述区块链上部署有智能合约,智能合约存储有用户列表和支付规则;
所述数据拥有者用于生成***参数、主公钥和主密钥,并向***公开所述***参数和主公钥;用于从明文中提取关键字,基于主密钥对关键字加密生成支持多个关键字检索的索引,并对明文加密生成密文,将上述索引和密文上传云服务器;
所述数据用户用于发起搜索请求,用于基于搜索请求生成陷门并将陷门上传智能合约和云服务器
所述智能合约用于基于用户列表对数据用户进行认证,如果认证不通过,用于调用数据拥有者对数据用户进行认证并将认证通过的数据用户加入用户列表,如果认证通过,所述云服务器用于基于陷门进行搜索并将搜索结果返回数据用户;
数据用户用于调用智能合约,智能合约用于基于公平支付规则验证搜索结果的内容是否正确,验证通过后,数据用户用于根据公平支付规则分别向云服务器和数据所有者支付费用,并解密搜索结果。
9.装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至7中任一所述的方法。
10.介质,为计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至7任一所述的方法。
CN202011368488.5A 2020-11-30 2020-11-30 基于区块链的密文关键字搜索方法、***、装置及介质 Pending CN112417006A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011368488.5A CN112417006A (zh) 2020-11-30 2020-11-30 基于区块链的密文关键字搜索方法、***、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011368488.5A CN112417006A (zh) 2020-11-30 2020-11-30 基于区块链的密文关键字搜索方法、***、装置及介质

Publications (1)

Publication Number Publication Date
CN112417006A true CN112417006A (zh) 2021-02-26

Family

ID=74828804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011368488.5A Pending CN112417006A (zh) 2020-11-30 2020-11-30 基于区块链的密文关键字搜索方法、***、装置及介质

Country Status (1)

Country Link
CN (1) CN112417006A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567465A (zh) * 2022-02-17 2022-05-31 安徽师范大学 基于区块链的分类医疗数据可搜索加密方法
CN114710357A (zh) * 2022-04-12 2022-07-05 河北大学 一种可编辑区块链中支持分块验证的动态可搜索加密方法
CN114827212A (zh) * 2022-06-27 2022-07-29 浙江省邮电工程建设有限公司 智慧交通的车辆通信管理方法
CN114884677A (zh) * 2022-05-09 2022-08-09 重庆大学 一种基于区块链的多用户众包任务匹配方法及***
CN114900318A (zh) * 2022-06-02 2022-08-12 浙江工商大学 基于密钥协商协议以及可验证的一轮通信可搜索加密方法
CN115314295A (zh) * 2022-08-08 2022-11-08 西安电子科技大学 一种基于区块链的可搜索加密技术方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309973A (zh) * 2013-06-08 2013-09-18 上海交通大学 可验证外包数据查询的方法及***
CN110599147A (zh) * 2019-09-17 2019-12-20 福州大学 一种基于区块链的密文检索公平支付方法及***
CN111147594A (zh) * 2019-12-30 2020-05-12 曲阜师范大学 物联网数据传输***及其密钥生成方法和数据传输方法
WO2020133032A1 (zh) * 2018-12-27 2020-07-02 深圳技术大学(筹) 一种可防伪造的多用户密文搜索方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309973A (zh) * 2013-06-08 2013-09-18 上海交通大学 可验证外包数据查询的方法及***
WO2020133032A1 (zh) * 2018-12-27 2020-07-02 深圳技术大学(筹) 一种可防伪造的多用户密文搜索方法
CN110599147A (zh) * 2019-09-17 2019-12-20 福州大学 一种基于区块链的密文检索公平支付方法及***
CN111147594A (zh) * 2019-12-30 2020-05-12 曲阜师范大学 物联网数据传输***及其密钥生成方法和数据传输方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HYUN SOOK RHEE, JIN WOOK BYUN,ET AT: "Oblivious Conjunctive Keyword Search", 《INTERNATIONAL WORKSHOP ON INFORMATION SECURITY APPLICATIONS, SPRINGER》 *
PENG JIANG,XIAOFEN WANG,ET AL: "Oblivious Keyword Search with Authorization", 《INTERNATIONAL CONFERENCE ON PROVABLE SECURITY,SPRINGER》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567465A (zh) * 2022-02-17 2022-05-31 安徽师范大学 基于区块链的分类医疗数据可搜索加密方法
CN114567465B (zh) * 2022-02-17 2024-05-24 安徽师范大学 基于区块链的分类医疗数据可搜索加密方法
CN114710357A (zh) * 2022-04-12 2022-07-05 河北大学 一种可编辑区块链中支持分块验证的动态可搜索加密方法
CN114884677A (zh) * 2022-05-09 2022-08-09 重庆大学 一种基于区块链的多用户众包任务匹配方法及***
CN114900318A (zh) * 2022-06-02 2022-08-12 浙江工商大学 基于密钥协商协议以及可验证的一轮通信可搜索加密方法
CN114900318B (zh) * 2022-06-02 2024-04-19 浙江工商大学 基于密钥协商协议以及可验证的一轮通信可搜索加密方法
CN114827212A (zh) * 2022-06-27 2022-07-29 浙江省邮电工程建设有限公司 智慧交通的车辆通信管理方法
CN114827212B (zh) * 2022-06-27 2022-09-16 浙江省邮电工程建设有限公司 智慧交通的车辆通信管理方法
CN115314295A (zh) * 2022-08-08 2022-11-08 西安电子科技大学 一种基于区块链的可搜索加密技术方法
CN115314295B (zh) * 2022-08-08 2024-04-16 西安电子科技大学 一种基于区块链的可搜索加密技术方法

Similar Documents

Publication Publication Date Title
CN110599147B (zh) 一种基于区块链的密文检索公平支付方法及***
CN112417006A (zh) 基于区块链的密文关键字搜索方法、***、装置及介质
CN109347878B (zh) 去中心化的数据验证及数据安全交易***及方法
US7640579B2 (en) Securely roaming digital identities
EP3547203A1 (fr) Méthode et système de gestion d'accès à des données personnelles au moyen d'un contrat intelligent
EP2345202B1 (fr) Procédé de signature numérique en deux étapes
US9698974B2 (en) Method for creating asymmetrical cryptographic key pairs
CN108876365A (zh) 一种生成区块发布机制的智能合约
CN106330865A (zh) 云环境下支持高效撤销的属性基关键字搜索方法
CN104967693B (zh) 面向云存储的基于全同态密码技术的文档相似度计算方法
CN108805574B (zh) 基于隐私保护的交易方法和***
CN110264207A (zh) 区块链分离处理方法及***
CN115021903A (zh) 一种基于区块链的电子病历共享方法及***
CN111680013A (zh) 基于区块链的数据共享方法、电子设备和装置
CN114785511A (zh) 证明生成方法及装置、电子设备、存储介质
KR20200061843A (ko) 책 보관함을 이용한 도서 공유 시스템
CN110414956A (zh) 数字资产的转让方法、装置及服务器
CN114021196A (zh) 公平可搜索加密方法、公平可搜索加密***
US8755521B2 (en) Security method and system for media playback devices
CN114741711B (zh) 基于区块链的多关键字可搜索加密方法
JP3791169B2 (ja) 認証装置および方法
CN114710357B (zh) 一种可编辑区块链中支持分块验证的动态可搜索加密方法
CN102833239B (zh) 基于网络身份标识实现客户端账户信息嵌套保护的方法
CN109816525A (zh) 一种数据处理方法及其装置、介质、终端
Madhusudan Applying Smart Contracts to Secure CarSharing Systems

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

RJ01 Rejection of invention patent application after publication