CN112417006A - Ciphertext keyword searching method, system, device and medium based on block chain - Google Patents

Ciphertext keyword searching method, system, device and medium based on block chain 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
Chinese (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.)
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/en
Publication of CN112417006A publication Critical patent/CN112417006A/en
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

The invention discloses a block chain-based ciphertext keyword search method, a block chain-based ciphertext keyword search system, a block chain-based ciphertext keyword search device and a block chain-based ciphertext keyword search medium, belongs to the technical field of keyword search, and aims to solve the technical problem of how to realize safe, multi-user, verifiable and fair payment ciphertext search. The method comprises the following steps: the data owner generates system parameters, a master public key and a master secret key and discloses the system parameters and the master public key; encrypting the keywords based on the master key to generate indexes supporting a plurality of keyword retrieval, encrypting the plaintext to generate a ciphertext, and uploading the indexes and the ciphertext to the cloud server; the data owner authenticates the data user and adds the authenticated data user into a user list; the data user generates a trap door based on the search request, the cloud server searches based on the trap door and returns the search result to the data user; the data user verifies the correctness of the search result based on the intelligent contract and pays the cost to the cloud server and the data owner; and the data user decrypts the ciphertext based on the search result to obtain the plaintext.

Description

Ciphertext keyword searching method, system, device and medium based on block chain
Technical Field
The invention relates to the technical field of keyword search, in particular to a ciphertext keyword search method, a system, a device and a medium based on a block chain.
Background
Cloud storage is an unlimited storage resource, and brings great convenience to people. Both individuals and businesses tend to share large amounts of data across networks, however, users are also concerned with data privacy issues while enjoying low cost and convenient collaboration. When individual users share photos and videos through a social network and company users outsource sensitive data to cloud storage, the data privacy problem exists.
In order to protect the privacy of user data, the data needs to be encrypted before being uploaded to a cloud server, and after encryption, a user can only search according to a ciphertext, namely, searchable encryption. Searchable encryption is classified into private key searchable encryption and public key searchable encryption according to how keywords are searched based on ciphertext. The memoryless keyword search originally proposed was based on a single keyword, first, the data owner encrypted the data and the keyword, and then presented them to the user. When the user wants to search, the user generates a token and sends it to the data owner, who returns the trapdoor to the user.
Currently, cloud servers perform search operations fraudulently and return incorrect or incomplete results, which is a problem faced by searchable encryption and memoryless keyword searches. In the model used after the previous payment, the user needs to pay the service fee in advance even if the cloud server is dishonest. In the prior use post-payment model, a user may cheat the cloud server to serve it. Therefore, a solution to the problem of fair payment is urgently needed.
How to realize safe, multi-user, verifiable and fair payment ciphertext search is a technical problem to be solved.
Disclosure of Invention
The technical task of the invention is to provide a ciphertext keyword search method, a system, a device and a medium based on a block chain aiming at the defects, so as to solve the problem of safe, multi-user, verifiable and fair payment ciphertext search.
In a first aspect, the present invention provides a ciphertext keyword search method based on a block chain, which is applied to a system including the block chain, a data owner joining the block chain, a data user, and a cloud server, wherein an intelligent contract is deployed on the block chain, and the intelligent contract is deployed with a user list and a fair payment rule, and the method includes the following steps:
a data owner generates system parameters, a master public key and a master secret key, and discloses the system parameters and the master public key to a system;
the data owner extracts keywords from the plaintext, encrypts the keywords based on the master key to generate indexes supporting a plurality of keyword searches, encrypts the plaintext to generate ciphertext, and uploads the indexes and the ciphertext to the cloud server;
a data user initiates a search request, generates a trap door based on the search request and uploads the trap door to an intelligent contract and a cloud server;
the intelligent contract authenticates the data user based on the user list, if the authentication is not passed, the data user is authenticated through the data owner and the authenticated data user is added into the user list, and if the authentication is passed, the cloud server searches based on the trap door and returns a search result to the data user;
and the data user calls an intelligent contract, the intelligent contract verifies whether the content of the search result is correct or not based on the fair payment rule, and after the verification is passed, the data user respectively pays the fees to the cloud server and the data owner according to the fair payment rule and decrypts the search result.
Preferably, the intelligent contract comprises a user management contract and a fair payment contract, the user management contract is provided with a user list, each data owner corresponds to one user list, and each user list is used for storing a mapping relation between the related data owner and a data user which passes verification;
the fair payment contract is deployed with a fair payment rule, is used for calling a user management contract based on a trap door to authenticate a data user, is used for triggering the cloud server to search based on the trap door after the data user passes authentication, is used for verifying whether the content of a search result is correct based on the fair payment rule, and limits the data user to pay the cost to the cloud server and a data owner respectively according to the verification result.
Preferably, the system parameter is expressed as:
pp=(PG,H,g,h,f)
PG=(p,G1,G2,e)
wherein α ∈ ZpRandomly selected parameters for the data owner;
G1and G2Both represent a group, G and h both represent a generator of the group, G, h ∈ G1
e represents a bilinear map;
h denotes a hash function, H: ZM→Zp,ZMAnd ZpRespectively representing sets of orders M and p;
f represents a pseudo-random function;
the master public key is represented as:
mpk=(hα,N,e')
wherein, N and e' are public keys of an asymmetric encryption algorithm RSA;
the master key is represented as:
msk=(α,d)
wherein alpha is ZpD is the private key of the asymmetric cryptographic algorithm RSA.
Preferably, the data owner extracts a key from the plaintext, encrypts the key based on the master key to generate an index supporting a plurality of key searches, comprising the steps of:
the data owner owns m documents, denoted D ═ (D)1,D2,...,Dm) The keyword space is represented as KS, numberKey set agreed upon by owner and data user
Figure BDA0002805788500000031
Document DiContaining a set of keywords
Figure BDA0002805788500000032
Random selection r by data owneri', based on the keyword set WiAnd a master key α, the data owner generating an index for supporting multiple key searches by performing the following operations:
OCSIij=f(wij)dri'mod N
Figure BDA0002805788500000033
where i 1, 2., m, j 1, 2., n ', n' represents the number of keywords included in a document.
Preferably, the data owner authenticates the data user and adds the authenticated data user into the user list, including the following steps:
the data user selects the private key s and the keyword set W', s ∈ thereofR ZpBased on the system parameters, the master public key mpk, the user private key s, the keyword set W', and the keyword set W agreed by the data user and the data owner, the data user performs the following calculation to generate authentication information:
Figure BDA0002805788500000041
Figure BDA0002805788500000042
Figure BDA0002805788500000043
∑=(∑1,∑2,∑3)
the data user sends the authentication information sigma to a data owner;
based on the authentication information Σ, the keyword set W, and the master public key mpk, the data owner verifies the authentication information Σ as follows:
e(∑3,hα)=e(∑2,h)
Figure BDA0002805788500000044
and if the verification is passed, the data owner adds the data user to the corresponding user list through the intelligent contract.
Preferably, the data user initiates a search request, and the trapdoor is generated based on the search request, and the method comprises the following steps:
data user selects keyword set W ═ (W)1,w2,...,wt) And randomly selecting r ∈ ZNBased on the keyword sets W' and r, the data user performs the following calculation:
Y=re'×f(w1)×f(w2)×...×f(wt)
the data user returns Y to the data owner, which performs the following operations:
Tr'=Ydmod N
the data owner sends Tr' to the data user, who performs the following operations to calculate the trapdoor:
Tr=Tr'/r
and the data user uploads the Tr to the intelligent contract and the cloud server.
The cloud server searches based on the trapdoors and returns the search results to the data users, and the method comprises the following steps:
the cloud server defines a result set result and initializes the result set result to be empty;
the cloud server performs the following calculations:
Figure BDA0002805788500000051
Figure BDA0002805788500000052
wherein, i is 1, 2.. times, m;
the cloud server makes a judgment based on the following equation;
Figure BDA0002805788500000053
if the equation holds, ciphertext CiContaining the set of keywords W ═ (W)1,w2,...,wt) The corresponding ciphertext CiAdding the result into a result set result;
and the cloud server returns the result set result to the data user.
Preferably, the data user initiates a search request, and the trapdoor is generated based on the search request, and the method comprises the following steps:
data user selects keyword set W ═ (W)1,w2,...,wt) And randomly selecting r ∈ ZNBased on the keyword sets W' and r, the data user performs the following calculation:
Y=re'×f(w1)×f(w2)×...×f(wt)
the data user returns Y to the data owner, which performs the following operations:
Tr'=Ydmod N
the data owner sends Tr' to the data user, who performs the following operations to calculate the trapdoor:
Tr=Tr'/r
the data user uploads the Tr to an intelligent contract and a cloud server;
the cloud server selecting m secret values p1,p2,......,pmEach secret value corresponds to a ciphertext Ci
For each ciphertext CiCloud serverBased on the corresponding secret value piEncrypting to obtain an encrypted ciphertext, wherein the calculation formula is as follows:
Figure BDA0002805788500000054
the cloud server converts the encrypted ciphertext E into (E)1,E2,......,Em) Returning the data user which passes the authentication of the data owner;
the cloud server searches based on the trapdoors and returns the search results to the data users, and the method comprises the following steps:
the cloud server defines a result set result and initializes the result set result to be empty;
the cloud server performs the following calculations:
Figure BDA0002805788500000061
Figure BDA0002805788500000062
wherein, i is 1, 2.. times, m;
the cloud server makes a judgment based on the following equation;
Figure BDA0002805788500000063
if the equation holds, ciphertext CiContaining the set of keywords W ═ (W)1,w2,...,wt) The corresponding ciphertext CiAdd to result set result and find ciphertext CiCorresponding secret value pi
And the cloud server returns the secret value to the data user.
In a second aspect, the invention provides a cipher text keyword search system based on a block chain, which is used for carrying out cipher text keyword search and fee payment by applying the cipher text keyword search method based on the block chain according to any one of the first aspect, and comprises a data owner, a data user, a cloud server and the block chain, wherein an intelligent contract is deployed on the block chain, and a contract user list and payment rules are intelligently stored in the block chain;
the data owner is used for generating system parameters, a master public key and a master secret key and disclosing the system parameters and the master public key to the system; the cloud server is used for extracting keywords from a plaintext, encrypting the keywords based on a master key to generate indexes supporting a plurality of keyword retrieval, encrypting the plaintext to generate a ciphertext, and uploading the indexes and the ciphertext to the cloud server;
the data user is used for initiating a search request, generating a trap door based on the search request and uploading the trap door to an intelligent contract and a cloud server
The intelligent contract is used for authenticating the data user based on the user list, if the authentication is not passed, the intelligent contract is used for calling a data owner to authenticate the data user and adding the authenticated data user into the user list, and if the authentication is passed, the cloud server is used for searching based on the trap door and returning a search result to the data user;
and the data user is used for calling an intelligent contract, the intelligent contract is used for verifying whether the content of the search result is correct based on the fair payment rule, and after the verification is passed, the data user is used for respectively paying the fees to the cloud server and the data owner according to the fair payment rule and decrypting the search result.
In a third aspect, the present invention provides an apparatus comprising: at least one memory and at least one processor;
the at least one memory to store a machine readable program;
the at least one processor is configured to invoke the machine-readable program to perform the method of any of the first aspects.
In a fourth aspect, the present invention provides a medium, being a computer readable medium, having stored thereon computer instructions, which, when executed by a processor, cause the processor to perform the method of any of the first aspects.
The ciphertext keyword searching method, the system, the device and the medium based on the block chain have the following advantages:
1. based on the intelligent contract, the correctness of the ciphertext returned by the cloud server is verified, and the data user is limited to pay the cost to the data owner and the cloud server respectively, so that fair payment is realized;
2. the data owner extracts keywords from the plaintext, encrypts the keywords based on the master key to generate an index supporting multi-keyword retrieval, and the data user is not limited by the number of the keywords during searching;
3. the intelligent contract authenticates the data user based on the user list, if the authentication is passed, the data user sends a search request, if the authentication is not passed, the data user is authenticated through the data owner and the authenticated data user is added into the user list, for the data user which firstly provides the authentication request, the data owner is required to authenticate, and for the data user which subsequently provides the authentication request, the intelligent contract only needs to authenticate through the user list, so that the authority of the data user is ensured, and the authentication process is simplified.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed for the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on the drawings without creative efforts.
The invention is further described below with reference to the accompanying drawings.
Fig. 1 is a block diagram illustrating a process of searching for ciphertext keywords based on a block chain in embodiment 1.
Detailed Description
The present invention is further described in the following with reference to the drawings and the specific embodiments so that those skilled in the art can better understand the present invention and can implement the present invention, but the embodiments are not to be construed as limiting the present invention, and the embodiments and the technical features of the embodiments can be combined with each other without conflict.
The embodiment of the invention provides a block chain-based ciphertext keyword search method, a block chain-based ciphertext keyword search system, a block chain-based ciphertext keyword search device and a block chain-based ciphertext keyword search medium, which are used for solving the technical problem of how to realize safe, multi-user, verifiable and fair payment ciphertext search.
Example 1:
the ciphertext keyword searching method based on the block chain is applied to a system comprising the block chain, a data owner, a data user and a cloud server, wherein the data owner, the data user and the cloud server are added into the block chain, an intelligent contract is deployed on the block chain, and the intelligent contract is deployed with a user list and a fair payment rule.
As shown in fig. 1, the method comprises the steps of:
s100, generating a system parameter, a master public key and a master secret key by a data owner, and disclosing the system parameter and the master public key to a system;
s200, a data owner extracts keywords from a plaintext, encrypts the keywords based on a master key to generate indexes supporting a plurality of keyword searches, encrypts the plaintext to generate a ciphertext, and uploads the indexes and the ciphertext to a cloud server;
s300, a data user initiates a search request, a trap door is generated based on the search request, and the trap door is uploaded to an intelligent contract and a cloud server;
s400, the intelligent contract authenticates the data user based on the user list, if the authentication is not passed, the data user is authenticated through the data owner and the authenticated data user is added into the user list, and if the authentication is passed, the cloud server searches based on the trap door and returns a search result to the data user;
and S500, the data user calls an intelligent contract, the intelligent contract verifies whether the content of the search result is correct or not based on the fair payment rule, and after the verification is passed, the data user pays the fees to the cloud server and the data owner respectively according to the fair payment rule and decrypts the search result.
Wherein the system parameters are expressed as:
pp=(PG,H,g,h,f)
PG=(p,G1,G2,e)
wherein α ∈ ZpRandomly selected parameters for the data owner;
G1and G2Both represent a group, G and h both represent a generator of the group, G, h ∈ G1
e represents a bilinear map;
h denotes a hash function, H: ZM→Zp,ZMAnd ZpRespectively representing sets of orders M and p;
f represents a pseudo-random function;
the master public key is represented as:
mpk=(hα,N,e')
wherein, N and e' are public keys of an asymmetric encryption algorithm RSA;
the master key is represented as:
msk=(α,d)
wherein alpha is ZpD is the private key of the asymmetric cryptographic algorithm RSA.
The system parameters and the master public key are public to all members of the system, and the master key is held only by the data owner.
In step S200, the data owner extracts keywords from the plaintext, encrypts the keywords based on the master key to generate an index supporting a plurality of keyword searches, and includes the following steps:
the data owner owns m documents, denoted D ═ (D)1,D2,...,Dm) The keyword space is represented as KS, the data owner and the data user agree on a set of keywords
Figure BDA0002805788500000091
Document DiContaining a set of keywords
Figure BDA0002805788500000092
Random selection r by data owneri', based on the keyword set WiAnd a master key alpha, data owner
Generating an index for supporting multiple keyword searches by performing the following operations:
OCSIij=f(wij)dri'mod N
Figure BDA0002805788500000093
wherein, i is 1,2,., m, j is 1,2,. and n', m represents the number of documents; n' represents the number of keywords contained in a certain document.
The data owner sets the m documents D as (D) based on a symmetric encryption algorithm1,D2,...,Dm) Encrypting to generate a ciphertext, the ciphertext represented as:
Ci=Enc(Di)
wherein D isiRepresented as the ith plaintext document owned by the owner of the data.
And after encrypting the plaintext, the data owner transmits the key to the corresponding data user through the channel.
The intelligent contract is deployed with a user list and a fair payment rule, a data user initiates a search request and generates a trap door based on the search request, the trap door is uploaded to a cloud server and a block chain, in the block chain, the intelligent contract authenticates the data user based on the user list, whether the data user exists in the user list is judged, if the data user exists in the user list, the authentication is passed, the intelligent contract calls the cloud server, the cloud server searches based on the trap door and returns a search result to the data user, the data user calls the intelligent contract after receiving the return result, the intelligent contract verifies whether the content of the search result is correct based on the fair payment rule, and if the content of the search result is correct, the data user pays fees to the cloud server and a data owner respectively according to the number of documents in the search result.
In this embodiment, the smart contract includes two contracts, a management contract and a fair payment contract, respectively, for the user. The user management contract is provided with user lists, each data owner corresponds to one user list, and each user list is used for storing the mapping relation between the related data owner and the data user which is verified by the related data owner; the fair payment contract is deployed with a fair payment rule, is used for calling a user management contract based on a trap door to authenticate a data user, is used for triggering the cloud server to search based on the trap door after the data user passes authentication, is used for verifying whether the content of a search result is correct based on the fair payment rule, and limits the data user to pay the cost to the cloud server and a data owner respectively according to the verification result.
Specifically, the user management contract is used for verifying authentication information of the data user, establishing address mapping between the data user and a data owner, adding the data user to a user list, and deleting the data user from the user list; in this embodiment, the user management contract is deployed with a variable DO, a variable userlst, a function addUser, a function delUser, and a function verUser, where the variable DO is used to deploy the intelligent user management contract, the mapping userlst is used to map a data user address to a boolean value, the function addUser is used to add a data user to the user list, the function delUser is used to delete a user from the user list, and the function verUser is used to verify the validity of the data user.
The fair payment contract is used for establishing address mapping of the data owner, the cloud server and the data user, verifying a search request sent by the data user, verifying the correctness of a ciphertext returned by the cloud server and limiting the data user to pay for the data owner and the cloud server according to the number of the ciphertexts. In this embodiment, a fair payment contract is deployed with a variable DU, a variable DO, a variable CS, a variable DU, a variable number, a function requestsearch, a function versible, and a function fairPayment, where the variable DU is a structural body and includes a balance and a trapdoor attribute of a data user; the variable DO is used for representing the address of a data owner, the variable CS is used for representing the address of a cloud server, and the variable du is a mapping and is used for mapping one address to one structure; the variable number is the number of plaintext which passes verification, the function requestsearch is used for verifying that a data user sends an amount search request, the function vertile is used for verifying the correctness of the file, and the function fairPayment is used for limiting the data user to pay for a data owner and a cloud server based on the number of the file.
And the data user puts forward a search request, generates a trapdoor according to the search request, and uploads the trapdoor to the block chain and the cloud server. After the block is linked with the trap gate, a fair payment contract calls a user management contract, the user management contract authenticates a data user based on a user list, if the authentication is passed, a function in the fair payment contract initiates a search request, a cloud server is called, the cloud server searches based on the trap gate and returns a search result to the data user, if the authentication is not passed, the fair payment contract calls a data owner, and the data owner authenticates the data user and adds the authenticated data user into the user list.
In the above process, the data owner authenticates the data user and adds the authenticated data user into the user list, including the following steps:
(1) the data user selects the private key s and the keyword set W', s ∈ thereofRZpBased on the system parameters, the master public key mpk, the user private key s, the keyword set W', and the keyword set W agreed by the data user and the data owner, the data user performs the following calculation to generate authentication information:
Figure BDA0002805788500000111
Figure BDA0002805788500000112
Figure BDA0002805788500000113
∑=(∑1,∑2,∑3)
the data user sends the authentication information sigma to a data owner;
(2) based on the authentication information Σ, the keyword set W, and the master public key mpk, the data owner verifies the authentication information Σ as follows:
e(∑3,hα)=e(∑2,h)
Figure BDA0002805788500000114
and if the verification is passed, the data owner adds the data user to the corresponding user list through the intelligent contract.
The data user initiates a search request, and the trapdoor is generated based on the search request, and the method comprises the following steps:
(1) data user selects keyword set W ═ (W)1,w2,...,wt) And randomly selecting r ∈ ZNBased on the keyword sets W' and r, the data user performs the following calculation:
Y=re'×f(w1)×f(w2)×...×f(wt)
(2) the data user returns Y to the data owner, which performs the following operations:
Tr'=Ydmod N
(3) the data owner sends Tr' to the data user, who performs the following operations to calculate the trapdoor:
Tr=Tr'/r
(4) and the data user uploads the Tr to the intelligent contract and the cloud server.
The cloud server searches based on the trapdoor and returns the search result to the data user, and the method comprises the following steps:
(1) the cloud server defines a result set result and initializes the result set result to be empty;
(2) the cloud server performs the following calculations:
Figure BDA0002805788500000121
Figure BDA0002805788500000122
wherein, i is 1, 2.. times, m;
(3) the cloud server makes a judgment based on the following equation;
Figure BDA0002805788500000123
if the equation holds, ciphertext CiContaining the set of keywords W ═ (W)1,w2,...,wt) The corresponding ciphertext CiAdding the result into a result set result;
(4) and the cloud server returns the result set result to the data user.
And after the data user receives the result set result, calling a fair payment contract, verifying the correctness of the content of the result set result, and if the result set result passes the verification, paying the cost to the cloud server and the data owner according to the document number based on the fair payment contract. And the ciphertext in the result set result is decrypted through the received key to obtain the related plaintext document.
In the above embodiment, the data owner uploads the ciphertext and the index to the cloud server, the cloud server performs searching based on the index, when the number of times of searching by the cloud server is too large, part of ciphertext messages are easy to know, and the cloud server further encrypts the ciphertext to further enhance the security.
In the improved embodiment, the data user initiates a search request, and generates the trapdoor based on the search request, including the following steps:
(1) data user selects keyword set W ═ (W)1,w2,...,wt) And randomly selecting r ∈ ZNBased on the keyword sets W' and r, the data user performs the following calculation:
Y=re'×f(w1)×f(w2)×...×f(wt)
(2) the data user returns Y to the data owner, which performs the following operations:
Tr'=Ydmod N
(3) the data owner sends Tr' to the data user, who performs the following operations to calculate the trapdoor:
Tr=Tr'/r
(4) the data user uploads the Tr to an intelligent contract and a cloud server;
(5) cloud server selects m secret values p1,p2,......,pmEach secret value corresponds to a ciphertext Ci
(6) For each ciphertext CiThe cloud server is based on the corresponding secret value piEncrypting to obtain an encrypted ciphertext, wherein the calculation formula is as follows:
Figure BDA0002805788500000131
(7) the cloud server converts the encrypted ciphertext E into (E)1,E2,......,Em) Returning the data user passing the data owner authentication
The cloud server searches based on the trapdoors and returns the search results to the data users, and the method comprises the following steps:
(1) the cloud server defines a result set result and initializes the result set result to be empty;
(2) the cloud server performs the following calculations:
Figure BDA0002805788500000141
Figure BDA0002805788500000142
wherein, i is 1, 2.. times, m;
(3) the cloud server makes a judgment based on the following equation;
Figure BDA0002805788500000143
if the equation holds, ciphertext CiContaining the set of keywords W ═ (W)1,w2,...,wt) The corresponding ciphertext CiAdded to the result set result, and finds the ciphertext CiCorresponding secret value pi
(4) And the cloud server returns the secret value to the data user. .
Data user receives piAnd then, decrypting the encrypted ciphertext to obtain a plaintext, wherein the operations are as follows:
Figure BDA0002805788500000144
and then the data user further decrypts the ciphertext to obtain the plaintext.
Example 2:
the ciphertext keyword search system based on the block chain disclosed by the embodiment 1 is applied to ciphertext keyword search and cost payment by using the ciphertext keyword search method based on the block chain, the system comprises a data owner, a data user, a cloud server and the block chain, an intelligent contract is deployed on the block chain, and a user list and payment rules are stored in the intelligent contract.
The data owner is used for generating system parameters, a master public key and a master secret key and disclosing the system parameters and the master public key; the cloud server is used for extracting keywords from a plaintext, encrypting the keywords based on a master key to generate indexes supporting a plurality of key retrieval, encrypting the plaintext to generate a ciphertext, and uploading the indexes and the ciphertext to the cloud server; the intelligent contract is used for authenticating the data user initiating the index request based on the user list, and if the data user does not pass the authentication, the data owner is used for authenticating the data user and adding the authenticated data user into the user list; the system is used for verifying the correctness of the search result and paying the cost to the cloud server and the data owner; the cloud server is used for searching for the trapdoors based on the trapdoors and returning a search result to the data user; and the data user is used for verifying the correctness of the search result based on the intelligent contract, paying fees to the cloud server and the data owner respectively based on the payment rule in the intelligent contract, and decrypting the search result to obtain a plaintext.
Wherein, the system parameter is expressed as:
pp=(PG,H,g,h,f)
PG=(p,G1,G2,e)
wherein α ∈ ZpRandomly selected parameters for the data owner;
G1and G2Both represent a group, G and h both represent a generator of the group, G, h ∈ G1
e represents a bilinear map;
h denotes a hash function, H: ZM→Zp,ZMAnd ZpRespectively representing sets of orders M and p;
f represents a pseudo-random function;
the master public key is represented as:
mpk=(hα,N,e')
wherein, N and e' are public keys of an asymmetric encryption algorithm RSA;
the master key is represented as:
msk=(α,d)
wherein alpha is ZpD is the private key of the asymmetric cryptographic algorithm RSA.
The intelligent contract is deployed with a user list and a fair payment rule, the intelligent contract is used for authenticating a data user based on the user list and judging whether the data user exists in the user list, if so, the authentication is passed, the intelligent contract calls a cloud server, the cloud server searches based on a trap door and returns a search result to the data user, the data user receives the returned result and calls the intelligent contract, the intelligent contract is used for verifying whether the content of the search result is correct based on the fair payment rule, and if so, the data user pays fees to the cloud server and a data owner respectively according to the number of documents in the search result.
The smart contract in this embodiment includes two contracts, a management contract and a fair payment contract, respectively, for the user. The user management contract is provided with user lists, each data owner corresponds to one user list, and each user list is used for storing the mapping relation between the related data owner and the data user which is verified by the related data owner; the fair payment contract is deployed with a fair payment rule, is used for calling a user management contract based on a trap door to authenticate a data user, is used for triggering the cloud server to search based on the trap door after the data user passes authentication, is used for verifying whether the content of a search result is correct based on the fair payment rule, and limits the data user to pay the cost to the cloud server and a data owner respectively according to the verification result.
Specifically, the user management contract is used for verifying authentication information of the data user, establishing address mapping between the data user and a data owner, adding the data user to a user list, and deleting the data user from the user list; in this embodiment, the user management contract is deployed with a variable DO, a variable userlst, a function addUser, a function delUser, and a function verUser, where the variable DO is used to deploy the intelligent user management contract, the mapping userlst is used to map a data user address to a boolean value, the function addUser is used to add a data user to the user list, the function delUser is used to delete a user from the user list, and the function verUser is used to verify the validity of the data user.
The fair payment contract is used for establishing address mapping of the data owner, the cloud server and the data user, verifying a search request sent by the data user, verifying the correctness of a ciphertext returned by the cloud server and limiting the data user to pay for the data owner and the cloud server according to the number of the ciphertexts. In this embodiment, a fair payment contract is deployed with a variable DU, a variable DO, a variable CS, a variable DU, a variable number, a function requestsearch, a function versible, and a function fairPayment, where the variable DU is a structural body and includes a balance and a trapdoor attribute of a data user; the variable DO is used for representing the address of a data owner, the variable CS is used for representing the address of a cloud server, and the variable du is a mapping and is used for mapping one address to one structure; the variable number is the number of plaintext which passes verification, the function requestsearch is used for verifying that a data user sends an amount search request, the function vertile is used for verifying the correctness of the file, and the function fairPayment is used for limiting the data user to pay for a data owner and a cloud server based on the number of the file.
And the data user puts forward a search request, generates a trapdoor according to the search request, and uploads the trapdoor to the block chain and the cloud server. After the block is linked with the trap gate, a fair payment contract calls a user management contract, the user management contract authenticates a data user based on a user list, if the authentication is passed, a function in the fair payment contract initiates a search request, a cloud server is called, the cloud server searches based on the trap gate and returns a search result to the data user, if the authentication is not passed, the fair payment contract calls a data owner, and the data owner authenticates the data user and adds the authenticated data user into the user list.
The data owner is used for authenticating the data user and adding the authenticated data user into the user list, and the method comprises the following steps:
(1) the data user selects the private key s and the keyword set W', s ∈ thereofR ZpBased on the system parameters, the master public key mpk, the user private key s, the keyword set W', and the keyword set W agreed by the data user and the data owner, the data user performs the following calculation to generate authentication information:
Figure BDA0002805788500000171
Figure BDA0002805788500000172
Figure BDA0002805788500000173
∑=(∑1,∑2,∑3)
the data user sends the authentication information sigma to a data owner;
(2) based on the authentication information Σ, the keyword set W, and the master public key mpk, the data owner verifies the authentication information Σ as follows:
e(∑3,hα)=e(∑2,h)
Figure BDA0002805788500000174
and if the verification is passed, the data owner adds the data user to the corresponding user list through the intelligent contract.
The data user is used for initiating a search request, generating a trapdoor based on the search request, and the cloud server searches based on the trapdoor and returns a search result to the data user, wherein the searching mode comprises the following two modes:
the first mode is as follows:
(1) data user selects keyword set W ═ (W)1,w2,...,wt) And randomly selecting r ∈ ZNBased on the keyword sets W' and r, the data user performs the following calculation:
Y=re'×f(w1)×f(w2)×...×f(wt)
(2) the data user returns Y to the data owner, which performs the following operations:
Tr'=Ydmod N
(3) the data owner sends Tr' to the data user, who performs the following operations to calculate the trapdoor:
Tr=Tr'/r
(4) the data user uploads the Tr to an intelligent contract and a cloud server;
(5) the cloud server defines a result set result and initializes the result set result to be empty;
(6) the cloud server performs the following calculations:
Figure BDA0002805788500000181
Figure BDA0002805788500000182
wherein, i is 1, 2.. times, m;
(7) the cloud server makes a judgment based on the following equation;
Figure BDA0002805788500000183
if the equation holds, ciphertext CiContaining the set of keywords W ═ (W)1,w2,...,wt) The corresponding ciphertext CiAdding the result into a result set result;
(8) and the cloud server returns the result set result to the data user.
And after the data user receives the result set result, decrypting the ciphertext in the result set result through the received key to obtain the related plaintext document.
And a second mode:
(1) data user selects keyword set W ═ (W)1,w2,...,wt) And randomly selecting r ∈ ZNBased on the keyword sets W' and r, the data user performs the following calculation:
Y=re'×f(w1)×f(w2)×...×f(wt)
(2) the data user returns Y to the data owner, which performs the following operations:
Tr'=Ydmod N
(3) the data owner sends Tr' to the data user, who performs the following operations to calculate the trapdoor:
Tr=Tr'/r
(4) the data user uploads the Tr to an intelligent contract and a cloud server;
(5) cloud server selects m secret values p1,p2,......,pmEach secret value corresponds to a ciphertext Ci
(6) For each ciphertext CiThe cloud server is based on the corresponding secret value piEncrypting to obtain an encrypted ciphertext, wherein the calculation formula is as follows:
Figure BDA0002805788500000184
(7) the cloud server converts the encrypted ciphertext E into (E)1,E2,......,Em) Returning the data user passing the data owner authentication
(8) The cloud server defines a result set result and initializes the result set result to be empty;
(9) the cloud server performs the following calculations:
Figure BDA0002805788500000191
Figure BDA0002805788500000192
wherein, i is 1, 2.. times, m;
(10) the cloud server makes a judgment based on the following equation;
Figure BDA0002805788500000193
if the equation holds, ciphertext CiContaining the set of keywords W ═ (W)1,w2,...,wt) The corresponding ciphertext CiAdd to result set result and find ciphertext CiCorresponding secret value pi
(11) And the cloud server returns the secret value to the data user.
Data user receives piAnd then, decrypting the encrypted ciphertext to obtain the ciphertext, wherein the operations are as follows:
Figure BDA0002805788500000194
and the data user verifies the correctness of the search result through a fair payment contract, and if the search result passes the verification, the fee is paid to the cloud server and the data searcher respectively according to the number of the documents based on the fair payment contract. The ciphertext is further decrypted.
Example 3:
an embodiment of the present invention further provides an apparatus, including: at least one memory and at least one processor; the at least one memory for storing a machine-readable program; the at least one processor is used for calling the machine readable program and executing the method disclosed by the embodiment 1.
Example 4:
an embodiment of the present invention further provides a computer-readable medium, where a computer instruction is stored on the computer-readable medium, and when the computer instruction is executed by a processor, the processor is enabled to execute the method disclosed in embodiment 1. Specifically, a system or an apparatus equipped with a storage medium on which software program codes that realize the functions of any of the above-described embodiments are stored may be provided, and a computer (or a CPU or MPU) of the system or the apparatus is caused to read out and execute the program codes stored in the storage medium.
In this case, the program code itself read from the storage medium can realize the functions of any of the above-described embodiments, and thus the program code and the storage medium storing the program code constitute a part of the present invention.
Examples of the storage medium for supplying the program code include a floppy disk, a hard disk, a magneto-optical disk, an optical disk (e.g., CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD + RW), a magnetic tape, a nonvolatile memory card, and a ROM. Alternatively, the program code may be downloaded from a server computer via a communications network.
Further, it should be clear that the functions of any one of the above-described embodiments may be implemented not only by executing the program code read out by the computer, but also by causing an operating system or the like operating on the computer to perform a part or all of the actual operations based on instructions of the program code.
Further, it is to be understood that the program code read out from the storage medium is written to a memory provided in an expansion board inserted into the computer or to a memory provided in an expansion unit connected to the computer, and then causes a CPU or the like mounted on the expansion board or the expansion unit to perform part or all of the actual operations based on instructions of the program code, thereby realizing the functions of any of the above-described embodiments.
While the invention has been shown and described in detail in the drawings and in the preferred embodiments, it is not intended to limit the invention to the embodiments disclosed, and it will be apparent to those skilled in the art that many more embodiments of the invention are possible that combine the features of the different embodiments described above and still fall within the scope of the invention.

Claims (10)

1. The ciphertext keyword searching method based on the block chain is characterized by being applied to a system comprising the block chain, a data owner joining the block chain, a data user and a cloud server, wherein an intelligent contract is deployed on the block chain, and the intelligent contract is deployed with a user list and a fair payment rule, and the method comprises the following steps:
a data owner generates system parameters, a master public key and a master secret key, and discloses the system parameters and the master public key to a system;
the data owner extracts keywords from the plaintext, encrypts the keywords based on the master key to generate indexes supporting a plurality of keyword searches, encrypts the plaintext to generate ciphertext, and uploads the indexes and the ciphertext to the cloud server;
a data user initiates a search request, generates a trap door based on the search request and uploads the trap door to an intelligent contract and a cloud server;
the intelligent contract authenticates the data user based on the user list, if the authentication is not passed, the data user is authenticated through the data owner and the authenticated data user is added into the user list, and if the authentication is passed, the cloud server searches based on the trap door and returns a search result to the data user;
and the data user calls an intelligent contract, the intelligent contract verifies whether the content of the search result is correct or not based on the fair payment rule, and after the verification is passed, the data user respectively pays the fees to the cloud server and the data owner according to the fair payment rule and decrypts the search result.
2. The ciphertext keyword search method based on the block chain according to claim 1, wherein the intelligent contract comprises a user management contract and a fair payment contract, the user management contract is provided with a user list, each data owner corresponds to one user list, and each user list is used for storing a mapping relationship between the relevant data owner and a data user which is verified by the relevant data owner;
the fair payment contract is deployed with a fair payment rule, is used for calling a user management contract based on a trap door to authenticate a data user, is used for triggering the cloud server to search based on the trap door after the data user passes authentication, is used for verifying whether the content of a search result is correct based on the fair payment rule, and limits the data user to pay the cost to the cloud server and a data owner respectively according to the verification result.
3. The ciphertext keyword search method based on the block chain according to claim 1, wherein the system parameter is represented as:
pp=(PG,H,g,h,f)
PG=(p,G1,G2,e)
wherein α ∈ ZpRandomly selected parameters for the data owner;
G1and G2Both represent a group, G and h both represent a generator of the group, G, h ∈ G1
e represents a bilinear map;
h denotes a hash function, H: ZM→Zp,ZMAnd ZpRespectively representing sets of orders M and p;
f represents a pseudo-random function;
the master public key is represented as:
mpk=(hα,N,e')
wherein, N and e' are public keys of an asymmetric encryption algorithm RSA;
the master key is represented as:
msk=(α,d)
wherein alpha is ZpD is the private key of the asymmetric cryptographic algorithm RSA.
4. The block chain-based ciphertext keyword search method of claim 1, wherein the data owner extracts keywords from the plaintext, encrypts the keywords based on the master key to generate an index supporting a plurality of keyword searches, comprising the steps of:
the data owner owns m documents, denoted D ═ (D)1,D2,...,Dm) The keyword space is represented as KS, the data owner and the data user agree on a set of keywords
Figure FDA0002805788490000021
Document DiContaining a set of keywords
Figure FDA0002805788490000022
Random selection r by data owneri', based on the keyword set WiAnd a master key α, the data owner generating an index for supporting multiple key searches by performing the following operations:
OCSIij=f(wij)dri'mod N
Figure FDA0002805788490000023
where i 1, 2., m, j 1, 2., n ', n' represents the number of keywords included in a document.
5. The ciphertext keyword search method based on the block chain as claimed in claim 1, wherein the data owner authenticates the data user and adds the authenticated data user to the user list, comprising the following steps:
the data user selects the private key s and the keyword set W', s ∈ thereofRZpBased on the system parameters, the master public key mpk, the user private key s, the keyword set W', and the keyword set W agreed by the data user and the data owner, the data user performs the following calculation to generate authentication information:
Figure FDA0002805788490000031
Figure FDA0002805788490000032
Figure FDA0002805788490000033
∑=(∑1,∑2,∑3)
the data user sends the authentication information sigma to a data owner;
based on the authentication information Σ, the keyword set W, and the master public key mpk, the data owner verifies the authentication information Σ as follows:
e(∑3,hα)=e(∑2,h)
Figure FDA0002805788490000034
and if the verification is passed, the data owner adds the data user to the corresponding user list through the intelligent contract.
6. The ciphertext keyword search method based on the block chain as claimed in claim 1, wherein the data user initiates a search request and generates the trapdoor based on the search request, comprising the following steps:
data user selects keyword set W ═ (W)1,w2,...,wt) And randomly selecting r ∈ ZNData user execution based on keyword sets W' and rThe following calculations were made:
Y=re'×f(w1)×f(w2)×...×f(wt)
the data user returns Y to the data owner, which performs the following operations:
Tr'=Ydmod N
the data owner sends Tr' to the data user, who performs the following operations to calculate the trapdoor:
Tr=Tr'/r
and the data user uploads the Tr to the intelligent contract and the cloud server.
The cloud server searches based on the trapdoors and returns the search results to the data users, and the method comprises the following steps:
the cloud server defines a result set result and initializes the result set result to be empty;
the cloud server performs the following calculations:
Figure FDA0002805788490000041
Figure FDA0002805788490000042
wherein, i is 1, 2.. times, m;
the cloud server makes a judgment based on the following equation;
Figure FDA0002805788490000043
if the equation holds, ciphertext CiContaining the set of keywords W ═ (W)1,w2,...,wt) The corresponding ciphertext CiAdding the result into a result set result;
and the cloud server returns the result set result to the data user.
7. The ciphertext keyword search method based on the block chain as claimed in claim 1, wherein the data user initiates a search request and generates the trapdoor based on the search request, comprising the following steps:
data user selects keyword set W ═ (W)1,w2,...,wt) And randomly selecting r ∈ ZNBased on the keyword sets W' and r, the data user performs the following calculation:
Y=re'×f(w1)×f(w2)×...×f(wt)
the data user returns Y to the data owner, which performs the following operations:
Tr'=Ydmod N
the data owner sends Tr' to the data user, who performs the following operations to calculate the trapdoor:
Tr=Tr'/r
the data user uploads the Tr to an intelligent contract and a cloud server;
the cloud server selecting m secret values p1,p2,......,pmEach secret value corresponds to a ciphertext Ci
For each ciphertext CiThe cloud server is based on the corresponding secret value piEncrypting to obtain an encrypted ciphertext, wherein the calculation formula is as follows:
Figure FDA0002805788490000044
the cloud server converts the encrypted ciphertext E into (E)1,E2,......,Em) Returning the data user which passes the authentication of the data owner;
the cloud server searches based on the trapdoors and returns the search results to the data users, and the method comprises the following steps:
the cloud server defines a result set result and initializes the result set result to be empty;
the cloud server performs the following calculations:
Figure FDA0002805788490000051
Figure FDA0002805788490000052
wherein, i is 1, 2.. times, m;
the cloud server makes a judgment based on the following equation;
Figure FDA0002805788490000053
if the equation holds, ciphertext CiContaining the set of keywords W ═ (W)1,w2,...,wt) The corresponding ciphertext CiAdd to result set result and find ciphertext CiCorresponding secret value pi
And the cloud server returns the secret value to the data user.
8. The ciphertext keyword search system based on the block chain is characterized in that the ciphertext keyword search and the fee payment are carried out by applying the ciphertext keyword search method based on the block chain as claimed in any one of claims 1 to 7, the system comprises a data owner, a data user, a cloud server and the block chain, an intelligent contract is deployed on the block chain, and a user list and payment rules are stored in the intelligent contract;
the data owner is used for generating system parameters, a master public key and a master secret key and disclosing the system parameters and the master public key to the system; the cloud server is used for extracting keywords from a plaintext, encrypting the keywords based on a master key to generate indexes supporting a plurality of keyword retrieval, encrypting the plaintext to generate a ciphertext, and uploading the indexes and the ciphertext to the cloud server;
the data user is used for initiating a search request, generating a trap door based on the search request and uploading the trap door to an intelligent contract and a cloud server
The intelligent contract is used for authenticating the data user based on the user list, if the authentication is not passed, the intelligent contract is used for calling a data owner to authenticate the data user and adding the authenticated data user into the user list, and if the authentication is passed, the cloud server is used for searching based on the trap door and returning a search result to the data user;
and the data user is used for calling an intelligent contract, the intelligent contract is used for verifying whether the content of the search result is correct based on the fair payment rule, and after the verification is passed, the data user is used for respectively paying the fees to the cloud server and the data owner according to the fair payment rule and decrypting the search result.
9. An apparatus, comprising: at least one memory and at least one processor;
the at least one memory to store a machine readable program;
the at least one processor, configured to invoke the machine readable program to perform the method of any of claims 1 to 7.
10. A medium being a computer readable medium having stored thereon computer instructions which, when executed by a processor, cause the processor to perform the method of any of claims 1 to 7.
CN202011368488.5A 2020-11-30 2020-11-30 Ciphertext keyword searching method, system, device and medium based on block chain Pending CN112417006A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011368488.5A CN112417006A (en) 2020-11-30 2020-11-30 Ciphertext keyword searching method, system, device and medium based on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011368488.5A CN112417006A (en) 2020-11-30 2020-11-30 Ciphertext keyword searching method, system, device and medium based on block chain

Publications (1)

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

Family

ID=74828804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011368488.5A Pending CN112417006A (en) 2020-11-30 2020-11-30 Ciphertext keyword searching method, system, device and medium based on block chain

Country Status (1)

Country Link
CN (1) CN112417006A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567465A (en) * 2022-02-17 2022-05-31 安徽师范大学 Searchable encryption method for classified medical data based on block chain
CN114710357A (en) * 2022-04-12 2022-07-05 河北大学 Dynamic searchable encryption method supporting block verification in editable block chain
CN114827212A (en) * 2022-06-27 2022-07-29 浙江省邮电工程建设有限公司 Vehicle communication management method for intelligent traffic
CN114884677A (en) * 2022-05-09 2022-08-09 重庆大学 Multi-user crowdsourcing task matching method and system based on block chain
CN114900318A (en) * 2022-06-02 2022-08-12 浙江工商大学 Key agreement protocol and verifiable round-of-communication searchable encryption method
CN115314295A (en) * 2022-08-08 2022-11-08 西安电子科技大学 Searchable encryption technical method based on block chain

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309973A (en) * 2013-06-08 2013-09-18 上海交通大学 Method and system for inquiring verifiable outsourced data
CN110599147A (en) * 2019-09-17 2019-12-20 福州大学 Ciphertext retrieval fair payment method and system based on block chain
CN111147594A (en) * 2019-12-30 2020-05-12 曲阜师范大学 Internet of things data transmission system, key generation method and data transmission method thereof
WO2020133032A1 (en) * 2018-12-27 2020-07-02 深圳技术大学(筹) Multi-user ciphertext search method capable of preventing forgery

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309973A (en) * 2013-06-08 2013-09-18 上海交通大学 Method and system for inquiring verifiable outsourced data
WO2020133032A1 (en) * 2018-12-27 2020-07-02 深圳技术大学(筹) Multi-user ciphertext search method capable of preventing forgery
CN110599147A (en) * 2019-09-17 2019-12-20 福州大学 Ciphertext retrieval fair payment method and system based on block chain
CN111147594A (en) * 2019-12-30 2020-05-12 曲阜师范大学 Internet of things data transmission system, key generation method and data transmission method thereof

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 (en) * 2022-02-17 2022-05-31 安徽师范大学 Searchable encryption method for classified medical data based on block chain
CN114567465B (en) * 2022-02-17 2024-05-24 安徽师范大学 Block chain-based classified medical data searchable encryption method
CN114710357A (en) * 2022-04-12 2022-07-05 河北大学 Dynamic searchable encryption method supporting block verification in editable block chain
CN114884677A (en) * 2022-05-09 2022-08-09 重庆大学 Multi-user crowdsourcing task matching method and system based on block chain
CN114900318A (en) * 2022-06-02 2022-08-12 浙江工商大学 Key agreement protocol and verifiable round-of-communication searchable encryption method
CN114900318B (en) * 2022-06-02 2024-04-19 浙江工商大学 One-round communication searchable encryption method based on key negotiation protocol and verifiable
CN114827212A (en) * 2022-06-27 2022-07-29 浙江省邮电工程建设有限公司 Vehicle communication management method for intelligent traffic
CN114827212B (en) * 2022-06-27 2022-09-16 浙江省邮电工程建设有限公司 Vehicle communication management method for intelligent traffic
CN115314295A (en) * 2022-08-08 2022-11-08 西安电子科技大学 Searchable encryption technical method based on block chain
CN115314295B (en) * 2022-08-08 2024-04-16 西安电子科技大学 Block chain-based searchable encryption technical method

Similar Documents

Publication Publication Date Title
CN110599147B (en) Ciphertext retrieval fair payment method and system based on block chain
CN112417006A (en) Ciphertext keyword searching method, system, device and medium based on block chain
CN109347878B (en) Decentralized data verification and data security transaction system and method
US7640579B2 (en) Securely roaming digital identities
EP3547203A1 (en) Method and system for managing access to personal data by means of an intelligent contract
EP2345202B1 (en) Digital signature method in two steps
US9698974B2 (en) Method for creating asymmetrical cryptographic key pairs
CN108876365A (en) A kind of intelligent contract generating block issue mechanism
CN106330865A (en) Attribute-Based Keyword Search Method Supporting Efficient Revocation in Cloud Environment
CN104967693B (en) Towards the Documents Similarity computational methods based on full homomorphism cryptographic technique of cloud storage
Sun et al. Non-repudiation storage and access control scheme of insurance data based on blockchain in IPFS
CN108805574B (en) Transaction method and system based on privacy protection
FR3041798A1 (en) IMPROVED AUTHENTICATION METHOD AND DEVICE
CN110264207A (en) Block chain separation processing method and system
CN111680013A (en) Data sharing method based on block chain, electronic equipment and device
CN114785511A (en) Certificate generation method and device, electronic device and storage medium
CN110414956A (en) Assignment method, device and the server of digital asset
KR20200061843A (en) Book sharing service using the bookbox
US8755521B2 (en) Security method and system for media playback devices
JP3791169B2 (en) Authentication apparatus and method
CN114741711A (en) Multi-keyword searchable encryption method based on block chain
CN109816525A (en) A kind of data processing method and its device, medium, terminal
CN114021196A (en) Fair searchable encryption method and system
Madhusudan Applying Smart Contracts to Secure CarSharing Systems
CN113032816B (en) Encrypted file searching method, device and computer readable medium

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