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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000006870 function Effects 0.000 claims description 38
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000012795 verification Methods 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 14
- 239000000284 extract Substances 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment 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
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 userDocument DiContaining a set of keywords
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
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:
∑=(∑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)
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:
wherein, i is 1, 2.. times, m;
the cloud server makes a judgment based on the following equation;
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:
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:
wherein, i is 1, 2.. times, m;
the cloud server makes a judgment based on the following equation;
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 keywordsDocument DiContaining a set of keywords
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
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:
∑=(∑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)
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:
wherein, i is 1, 2.. times, m;
(3) the cloud server makes a judgment based on the following equation;
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:
(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:
wherein, i is 1, 2.. times, m;
(3) the cloud server makes a judgment based on the following equation;
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:
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:
∑=(∑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)
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:
wherein, i is 1, 2.. times, m;
(7) the cloud server makes a judgment based on the following equation;
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:
(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:
wherein, i is 1, 2.. times, m;
(10) the cloud server makes a judgment based on the following equation;
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:
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 keywordsDocument DiContaining a set of keywords
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
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:
∑=(∑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)
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:
wherein, i is 1, 2.. times, m;
the cloud server makes a judgment based on the following equation;
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:
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:
wherein, i is 1, 2.. times, m;
the cloud server makes a judgment based on the following equation;
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.
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)
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)
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 |
-
2020
- 2020-11-30 CN CN202011368488.5A patent/CN112417006A/en active Pending
Patent Citations (4)
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)
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)
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 |