CN114741711A - Multi-keyword searchable encryption method based on block chain - Google Patents
Multi-keyword searchable encryption method based on block chain Download PDFInfo
- Publication number
- CN114741711A CN114741711A CN202210355792.9A CN202210355792A CN114741711A CN 114741711 A CN114741711 A CN 114741711A CN 202210355792 A CN202210355792 A CN 202210355792A CN 114741711 A CN114741711 A CN 114741711A
- Authority
- CN
- China
- Prior art keywords
- retrieval
- search
- result
- user
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012795 verification Methods 0.000 claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 5
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000010200 validation analysis Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 claims 1
- 230000006399 behavior Effects 0.000 abstract description 8
- 230000007246 mechanism Effects 0.000 abstract description 8
- 238000004458 analytical method Methods 0.000 abstract description 4
- 238000002474 experimental method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- ZOXJGFHDIHLPTG-UHFFFAOYSA-N Boron Chemical compound [B] ZOXJGFHDIHLPTG-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Library & Information Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention discloses a block chain-based multi-keyword searchable encryption method, which comprises the following steps: initializing; constructing an index; generating a trap door; distributing; retrieving; verifying; decrypting; and (6) arbitration. According to the method, the retrieval tasks are decomposed by using a distribution algorithm and then run by using a plurality of search servers, so that the dependence on a single cloud server is reduced, and the decentralization degree is higher. In the method, the arbitration algorithm and the verification algorithm are used for detecting the malicious behaviors of the cloud server, and the retrieval result is verified, so that fair transaction between the user and the cloud server is ensured. A keyword weight mechanism is designed in a retrieval algorithm, and fuzzy results can be provided based on weights when retrieval results are empty. Experimental analysis and comparison show that the method has high execution efficiency.
Description
Technical Field
The invention relates to the technical field of block chains, in particular to a multi-keyword searchable encryption method based on a block chain.
Background
Cloud computing has been vigorously developed in recent years, and a large number of companies have started providing cloud services to society. The cloud service category includes platform as a service, infrastructure as a service, and software as a service. The user can choose to purchase or rent different cloud services according to the needs of the user. More and more organizations are also beginning to move data and applications into cloud servers.
While cloud services bring more convenience, the security and privacy exposure risks of the cloud services cannot be ignored. The most common use of an individual user is to rent a cloud storage server to store personal data. Such as iCloud from apple inc. The user can store photos, videos, and other types of files in the cell phone in the iCloud cloud server. This saves local storage space while the user can view the files in iCloud anywhere and anytime without the device being restricted.
However, since the information is stored in the cloud server in clear text, once the data is leaked, the privacy of the user is seriously damaged. Data security can be protected by uploading encrypted data to the cloud server, but inconvenience is brought to management and use of the data, and particularly, frequent retrieval operation is performed by a user.
In order to implement keyword search on a ciphertext, researchers have proposed searchable encryption. In the existing research of searchable encryption schemes, the improvement of the expression capability of the algorithm is an important research direction. The multi-keyword retrieval is a research hotspot, and scholars explore keyword retrieval schemes supporting logical connection, or calculate and evaluate the similarity between keywords and ciphertext documents by using technologies such as kNN (K-nearest neighbor) and Word2vec, so as to realize the multi-keyword retrieval. Scholars have also proposed more convenient fuzzy search schemes.
However, besides fuzzy retrieval, the existing multi-key searchable encryption scheme can only provide accurate results and realize the ranking of the retrieval results on the basis of the accurate results. When the plurality of keywords searched by the user do not have corresponding documents, the search result is empty, and the user experience is poor.
In a large number of searchable encryption schemes, the cloud server is assumed to be honest, and in practical application, the cloud server may be dishonest or malicious, and the retrieval result provided by the cloud server is unreliable. Therefore, introducing a verification mechanism for the retrieval result so as to prevent malicious behaviors of the cloud server is an important research direction of the searchable encryption scheme, wherein the searchable encryption scheme based on the block chain is a hot point of research. However, the cloud server in these searchable encryption schemes is a logically single node, the centralization degree is high, and the malicious behavior of the cloud server cannot be avoided. For example, when a cloud server maliciously returns a null result, the final retrieval result may be null.
At present, a server is supposed to be honest in a large number of searchable encryption schemes, but in practical application, a cloud server may have dishonest behaviors in the operation process of the scheme due to cost consideration. For example, incomplete search results may be returned to reduce traffic consumption, and random or null results may be returned to conserve computing resources. This is a great detriment to the fairness of transactions between users and cloud servers, and it is necessary to introduce a verification mechanism for the search results.
The application of the block chain technology can effectively solve the problem. Data in the blockchain is not tamperable and can be verified for traceability. The block chain can be used as a trusted party to verify the retrieval result, so that the transaction fairness is guaranteed.
In the existing schemes, transaction fairness is guaranteed to a certain extent through a verification mechanism established by a block chain, but in the schemes, a cloud server is still a single logical node, and the decentralization degree is not high enough. When the cloud server has malicious behaviors, punishment can be carried out only by deducting the deposit, and the cloud server with the malicious behaviors still needs to be relied on in the operation of the scheme.
Disclosure of Invention
The invention aims to solve the technical problem of how to provide a multi-keyword searchable encryption method based on a block chain, which can improve the retrieval efficiency, ensure the fair transaction and has higher flexibility.
In order to solve the technical problems, the technical scheme adopted by the invention is as follows: a multi-keyword searchable encryption method based on a block chain is characterized in that:
initialization: a data owner generates public parameters and a secret key, creates an intelligent contract, discloses the public parameters and the public key and keeps the private key secret;
index construction: a data owner generates a ciphertext file, an index, a shared key and other parameters, sends the generated ciphertext file to a storage server, sends the index to a search server, sends the shared key to other users, and keeps the generated other parameters secret;
and (3) trap door generation: a user generates a retrieval trapdoor by a plurality of keywords to be retrieved and initiates a retrieval request;
distributing: the intelligent contract decomposes the retrieval request of the user and then sends the decomposed retrieval request to each search server;
and (3) retrieval: the search server processes the search request and sends the obtained search result to the user and the intelligent contract;
and (3) verification: the intelligent contract verifies the retrieval result and initiates an arbitration request to the result of verification failure;
and (3) decryption: the user calculates according to the retrieval result, requests a corresponding ciphertext file from the storage server according to the calculation result, decrypts the ciphertext file to obtain a corresponding plaintext file, and initiates an arbitration request if the calculation or decryption fails;
arbitration: the data owner processes the arbitration request and verifies the retrieval result.
Adopt the produced beneficial effect of above-mentioned technical scheme to lie in: 1) the method uses a decentralized multi-server architecture to deliver data storage and data retrieval to a plurality of cloud servers respectively. On the basis, a distribution algorithm is designed, retrieval tasks containing multiple keywords can be distributed to a plurality of search servers for execution after being decomposed, retrieval efficiency is improved, and load balance is achieved.
2) According to the method, the verification algorithm and the arbitration algorithm are designed, the retrieval result can be verified, the malicious behavior of the cloud server is prevented, and the fair transaction is guaranteed. A keyword weight mechanism is introduced into the retrieval algorithm, the fuzzy result with the highest weight can be returned to the user when the retrieval result is empty, and the flexibility is stronger.
3) A comparison experiment is carried out on a real data set, and the application is proved to have higher efficiency.
Drawings
The invention is described in further detail below with reference to the drawings and the detailed description.
FIG. 1 is a diagram of a model of a method according to an embodiment of the invention;
FIG. 2 is a flow chart of a method according to an embodiment of the invention;
FIG. 3 is a comparison graph of the time consumption of the index building phase in the embodiment of the present invention;
FIG. 4 is a comparison graph of the time consumption of the trapdoor generation phase in the embodiment of the invention;
FIG. 5 is a comparison of the time consumption of the keyword retrieval phase in an embodiment of the present invention;
FIG. 6 is a graph of the impact of the number of search servers on the overall time consumed by the method in an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention are clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention, but the present invention may be practiced in other ways than those specifically described and will be readily apparent to those of ordinary skill in the art without departing from the spirit of the present invention, and therefore the present invention is not limited to the specific embodiments disclosed below.
The embodiment of the application discloses a multi-keyword searchable encryption method based on a block chain, as shown in fig. 1:
the participants of the embodiment of the present application include a Data Owner (DO), a storage server (S _ Store), a Search server (S _ Search), and a user (DU), which are all used as a block link node. And the data owner is responsible for encrypting the document to generate ciphertext data and establishing an index. The storage server is responsible for storing the ciphertext data generated by the data owner. The search server is responsible for storing the index data and calculating and retrieving the corresponding index data according to the retrieval trapdoor uploaded by the user. And the user calculates and generates a retrieval trapdoor according to the retrieval requirement of the user, and sends the retrieval trapdoor to the search server through the block chain to acquire corresponding index data. And the user requests the corresponding ciphertext data from the storage server according to the index data.
The present application includes the following 8 polynomial time algorithms:
1) initialization algorithm Setup (λ) → (pub, P)DO,SDO,Pu,Su). The algorithm takes a security parameter lambda as input, a data owner generates a public parameter pub, and an intelligent contract is deployed on a block chain. The data owner and other users generate a public and private key pair, and the private key S is usedDOAnd SuKeeping secret, using public key PDOAnd PuIs disclosed;
2) index construction algorithm Buildindex (pub, W, M, S)DO) → (C, I, Key, VC, VRs, VRu). The algorithm uses a public parameter pub, a plaintext keyword set W, a plaintext file set M and a data owner private key SDOAnd outputting a ciphertext file set C, a ciphertext index I, a shared Key Key and sets VC, VRs and VRu for result verification for input. The algorithm is executed by a data owner, the set C and the index I are respectively sent to the storage server and the search server, the search Key Key is sent to other users, the generated set VC is disclosed on the block chain, and the sets VRs and VRu are kept secret.
3) Trapdoor generation algorithm GenTrapdoor (Key, W', S)u,PDO) → Tw. The algorithm searches a Key Key, a Key set W' to be retrieved and a user private Key SuAnd a data owner public key PDOFor input, the trap door set Tw is generated and sent to the smart contract. The algorithm is executed by the user and, when executed, may assign a weight to each keyword.
4) Distribution algorithm distribute (Tw) → ({ TS)1,TS2,TS3… }). The algorithm takes a trapdoor set Tw sent by a user as input, and an intelligent contract executes the algorithm to output a decomposed trapdoor set { TS }1,TS2,TS3… }, wherein
5) Search algorithm Search (TS)i,I,Pu)→(RSi,R_TSi). Algorithm to trap gate set TSiCiphertext index I, user public key PuFor input, each search server executes the algorithm to output a retrieval result RSiAnd R _ TSi。
6) Verification algorithm Verify (RS)i) → 0, 1. The algorithm is executed by intelligent contract and the algorithm is based on the search result RS sent by each search serveriAnd outputting a verification result for inputting, and sending deposit and service fee according to the verification result.
7) Decryption algorithm Dec (R _ TS)i,PDOKey) → M. The algorithm is executed by the user to retrieve the result R _ TSiData owner public key PDOAnd inputting the search Key Key to obtain a plaintext file M corresponding to the retrieval result.
8) The arbitration algorithm Arbitrate (w ", Nw", x) → {0,1 }. The algorithm is executed by the data owner, and takes the retrieval result Nw 'to be arbitrated, the keyword w' (optional) to be arbitrated and the secret information x as input to output the verification result.
As shown in fig. 2, an embodiment of the present invention discloses a block chain-based multi-key searchable encryption method, and specific contents and execution flows of 8 polynomial time algorithms included in the method are as follows:
an initialization algorithm: setup (λ) → (pub, P)DO,SDo,Pu,Su)。
The present application first needs to execute an initialization algorithm Setup (), which corresponds to step (r) in fig. 2. The algorithm is executed as follows:
1) the data owner generates two multiplicative cyclic groups G of prime order p1And G2G is G1The generator of (1). Generating a bilinear map e G1×G1→G2. Choosing a pseudorandom function F: {0,1}*→{0,1}k. Selecting two cryptographic hash functions H1:{0,1}*→G1And H2:G2→{0,1}kAnd k is an integer. Selecting an anti-collision hash function H3:{0,1}*→{0,1}k,H4:{0,1}*→{0,1}k. A symmetric encryption algorithm (Enc, Dec) is selected. Data owner publishes system public parameter pub ═ { p, G1,G2,e,F,H1,H2,H3,H4(Enc, Dec) }, and issues it to the blockchain.
Randomly selecting s to be Z by a data ownerpCalculating SDO=gsAs a private key and computing a public keyUser randomly selects u e to ZpCalculatingAs private key, the user public key P is calculatedu=gu. The data owner and the user store the private key and issue the public key as public information to the blockchain.
2) The data owner creates an intelligent contract and issues it to the blockchain. The user and the search server need to call the intelligent contract in the scheme execution process to complete the whole retrieval process. The functions of the intelligent contract comprise: temporarily storing the service fee of the user and the deposit of the search server; decomposing and sending a retrieval task; and verifying the retrieval result. After each retrieval, the user can extract the deposit withheld in the intelligent contract.
An index construction algorithm: buildindex (pub, W, M, S)DO)→(C,I,Key,VC,VRs,VRu)。
After the initialization is completed, the data owner needs to execute the Buildindex () algorithm, corresponding to step two in fig. 2. The algorithm performs the following:
1) the data owner splits the plaintext file into keywords to obtain a keyword set W ═ W1,w2,w3… }. And the data owner encrypts the plaintext file by using a symmetric algorithm to obtain a ciphertext file. Randomly selecting x epsilon ZpFor plaintext file MiIts ciphertext file Ci=Enc(MiK), k is a symmetric key, k ═ H2(e(g,gx)). The ciphertext file set is C ═ C1,C2,C3… } for file CiAfter the ciphertext files are sorted, the file numbers FN are distributed according to the sequence numbers ii=2i-1And calculate H4(Ci) Obtaining a set VC { [ FN ]1,H4(C1)],[FN2,H4(C2)],…,[FNi,H4(Ci)]}. And the data owner sends all the ciphertext files C and the serial numbers thereof to the storage server and issues the VC to the block chain. At this time, the hash values of the ciphertext files are all anchored on the block chain and can be used for checking the retrieval result.
2) The data owner constructs a keyword-document number file index I by using the cipher text file number and the corresponding keyword thereof, and the calculation process is as follows:
set the number set of the ciphertext file containing the keyword w as { FN1,FN2,FN3,…}。
2-1) calculating y ═ H using the keyword w3(w)。
2-2) calculation of Cw=e(gx,gy)=e(g,g)xy。
2-3) let Key be gsxAnd b ═ f (key) is calculated.
2-4) calculating verify _ bit ═ e (H)1(w),Key)mod 2。
2-5) calculating the aggregated file number Nw ═ FN1&FN2&FN3&…, and inserts verify _ bit into the b-th bit of Nw,&representing an and operation.
The index corresponding to the keyword w is Iw ═ Cw, Nw]. The data owner performs the above operation on each keyword in the keyword set W, and generates an index I ═ Iw1,Iw2…, and then uploading the index to the respective search server. At the same time, the data owner calculates VN ═ H4(Nw||x),Vw=H4(w | | Nw | | x) the generation set VRs ═ VN1,VN2,VN3… and VRu ═ Vw1,Vw2,Vw3… for arbitrating the disputed search results.
3) The data owner sets the shared Key Key gsxTo each user, the user must use this key to construct a legitimate retrieval trapdoor. Data owner will x, VRs, VRu, SDOStored as secret information.
Trap door generation algorithm: GenTrapdoor (Key, W', S)u,PDO)→Tw。
The user needs to execute the GenTrapdoor () algorithm to generate a search trapdoor for the keyword needing to be searched, which corresponds to the step three in FIG. 2. The algorithm is executed as follows:
1) setting the set of keywords to be searched as W ═ W1,w2,w3…, the user needs to assign a weight p to each keyword at the same time to obtain a set Wp={[w1,p1],[w2,p2],[w3,p3]… }. The weights represent the retrieval priority of each keyword, and are mainly used for calculating fuzzy results when the retrieval results are empty, and the keywords with higher weights are more likely to be contained in the retrieval results. If the user does not specify a weight, then the order is assigned by default, pi=2iAnd i is the key sequence number.
For the keyword W ∈ W', the calculation procedure of the trapdoor is as follows:
1-1) calculating y ═ H3(w)。
2) After the operations are executed on each keyword to be retrieved, a trapdoor set Tw { [ Tw ] is obtained1,p1],[tw2,p2],[tw3,p3]…, after which the user sends the trapdoor set Tw and the service charge to the smart contract. Since the intelligent contract may require arbitration by the data owner when verifying the retrieval result, the service fee sent by the user may include a portion of the arbitration fee. When the arbitration cost is insufficient, the contract authentication function is affected to some extent.
A distribution algorithm: distributute (Tw) → ({ TS)1,TS2,TS3,…})。
The user sends the trapdoor and the service fee to the intelligent contract, the intelligent contract executes a Distribute () algorithm to decompose the retrieval task, and sends the subtasks to each search server node, which corresponds to the step (iv) in fig. 2. The algorithm is executed as follows:
1) and the search server participating in the retrieval sends the deposit to the contract account within the time t after the contract account receives the trapdoor set and the service fee sent by the user. After the contract account receives the deposit, the search servers which successfully pay the deposit within the time t are sorted according to the payment sequence, the user trapdoors are distributed to the servers, and the transaction of the overtime payment deposit is returned to the original account. And finally obtaining a search server set S participating in retrieval.
2) In order to ensure the reliability of the retrieval result, each trapdoor is retrieved by 2 or more than 2 search servers; using 2 search servers as an example, the intelligent contract utilizes the set S of search servers and the receivedSearching the trapdoors Tw executes the following Algorithm Algorithm 1, wherein n represents the number of cloud servers, m represents the number of trapdoors in Tw, and TSiRepresenting cloud Server SiThe set of trapdoors received is then,
after the intelligent contract is executed, TS is addediAnd distributed to the corresponding search server.
And (3) a retrieval algorithm: search (TS)i,I,Pu)→(RSi,R_TSi)。
The Search server executes the Search () algorithm after receiving the retrieval task sent by the intelligent contract, and sends the result of the algorithm execution to the intelligent contract and the user, corresponding to the fifth step in fig. 2. The algorithm is executed as follows:
1) each search server receives the trap door set TS sent by the intelligent contractiThen, local retrieval is carried out on each trapdoor in the set to obtain a retrieval result set RSi={Nw1,Nw2,…,NwjJ ∈ (1, m) }, j represents the trapdoor number, NwjRepresenting the search result for the trapdoor numbered j.
2) For each trapdoor when the search server performs local retrievalUtilizing locally stored index Iw ' ═ Cw ', Nw ']If the equation t1 ', Cw', t2 'holds true, 1 is output, and the corresponding Nw' is added to the set RSiIn (1). If not, 0 is output and 0 is added into the set RSiAnd (5) indicating that the retrieval result corresponding to the trapdoor is empty.
3) The search server will search the result set RSiAnd sending to the intelligent contract for verification. If set RSiIf the search result is 0, the search result is empty, and the search process is ended. If set RSiIf the non-0 result exists in the middle search result, the calculation is continued.
4) For trapdoor set TSiThe search result corresponding to all the keywords in the set is R _ TSi=Nw1&Nw2&…&Nwj. The server participating in the retrieval first calculates R _ TSiIf R _ TSi>0, indicating that the retrieval result is not null, and then the retrieval result R _ TS is carried outiAnd sending the data to the user. If R _ TSiIf 0, then calculate trapdoor TS according to keyword weightiThe result R _ SubTS with the largest weightiReturned to the user as a fuzzy result. R _ SubTSiThe calculation procedure of (c) is as follows as shown in Algorithm 2 and Algorithm 3.
And (3) verification algorithm: verify (RS)i)→{0,1}。
The intelligent contract executes the retrieval result RS sent by the Verify () algorithm to the search serveriCross validation was performed, corresponding to step (c) in fig. 2. The algorithm is executed as follows:
1) suppose that the search result of 2 search servers for a certain keyword is NwiAnd Nwi', Smart contract validation Nwi=NwiIf' is true, namely, if the search results corresponding to the trapdoors with the same number are the same, 1 is output. If not, 0 is output, and an arbitration request is sent to the data owner, wherein the request comprises NwiAnd Nwi'. After all results are verified, the intelligent contract is returnedAnd the deposit of each search server distributes service fees to the search servers according to the number of the retrieved trapdoors. If the verification fails, the intelligent contract reserves a deposit and refuses to pay the service fee of the corresponding search server.
2) And after the intelligent contract is verified, sending a verification result to the user, and simultaneously initiating a transaction to return the deposit to the search server. And after the time t, sending the service fee to the search server. If the user suspects that the retrieval result is possible to initiate an arbitration request to the data owner, the transaction for paying the service fee is suspended during the time t.
And (3) decryption algorithm: dec (R _ TS)i,PDO,Key)→M。
After receiving the search result sent by the search server, the user needs to execute the Dec () algorithm to obtain a corresponding plaintext file, which corresponds to step (c) in fig. 2. The algorithm is executed as follows:
1) when the number of the search servers participating in the search is n, the user receives n search results { R _ TS1,R_TS2,R_TS3,…,R_TSnAnd the retrieval result represents a ciphertext file number set containing the corresponding key word. Obtaining R _ Tw' by intersection of search results, R _ Tw ═ R _ TS1&R_TS2&R_TS3&…&R_TSn。
The user calculates b ═ f (key), and then deletes the b-th bit of R _ Tw', resulting in the final result R _ Tw. And the user sends the result R _ Tw to the storage server to request the corresponding file. And the storage server splits the file number according to the bit from the R _ Tw, finds the corresponding file and sends the file to the user.
2) After obtaining the ciphertext file C, the user firstly calculates to obtain a symmetric keyAnd then, executing a symmetric decryption algorithm to obtain the corresponding plaintext file M ═ Dec (C, k). H can also be calculated according to the ciphertext file C4(C) ' and associate it with H stored in blockchain4(C) And comparing to judge whether the ciphertext file is tampered.
The above is the normal decryption flow. In addition, the user can perform further logic operation on the retrieval result. For example, when the search key is { a, b, c, d }, and the search result r ═ ra & rb & rc & rd, the result r' ═ (r) & (| rc) can be calculated which includes the key a, b, d and does not include the key c. These logical operation conditions may also be included in the retrieval request.
If the condition that R _ Tw is 0 occurs when calculating the search result R _ Tw, this time indicates that no file containing all keywords at the same time exists, the result with the maximum weight in n search results can be used as a fuzzy result, and the single keyword search result RS in the block chain can be further used as requirediAnd performing logic operation to calculate a corresponding retrieval result.
The arbitration algorithm: arbitrate (w ", Nw", x) → {0,1 }.
The data owner executes the Arbitrate () algorithm to process the arbitration request initiated by the smart contract or the user, corresponding to step # in fig. 2. The algorithm is executed as follows:
1) for arbitration requests from intelligent contracts, the data owner calculates H using the search result Nw ″ to be arbitrated4(Nw "| | x) ∈ VRs. If yes, 1 is output, and the retrieval result is legal. Otherwise, 0 is output, which indicates that the retrieval result is illegal, and at the moment, the intelligent contract reserves a deposit and refuses to pay the service fee to the search server.
2) For arbitration requests from users, the data owner calculates H using the search result Nw 'to be arbitrated and the original keyword w' submitted by the user4(w "| | Nw" | | | x) ∈ VRu whether or not. If yes, outputting 1, and indicating that the retrieval result is accurate. Otherwise, 0 is output, which indicates that the retrieval result is not accurate. The data owner broadcasts information corresponding to the search server into the blockchain, and the intelligent contract no longer pays a service fee to the server.
The application introduces a block chain technology in searchable encryption and provides a multi-keyword searchable encryption method based on a block chain. By the aid of the distribution algorithm and the retrieval algorithm designed in the method, a plurality of search servers participate in the retrieval process at the same time, multi-keyword retrieval is achieved, and dependence on a single cloud server node is reduced.
The present application is compared with the scheme of document 1[ Xu P, Tang S, Xu P, et al. practical multi-key and boron search over encrypted e-mail in closed server [ J ]. IEEE Transactions on Services Computing,2019,14(6): 1877-.
The application, the document [1] and the document [2] construct an asymmetric searchable encryption scheme based on bilinear pairing, and realize multi-keyword retrieval. The scheme of the application and the scheme of the document [2] introduces a block chain, meanwhile, the verification of the retrieval result is realized by using an intelligent contract, and the fair transaction is ensured. The two schemes can ensure the indistinguishable security of the trapdoor and resist keyword guessing attacks of internal and external users. The solution of document [2] stores the index in the blockchain, and since the data in the blockchain is transparent, the index presents a certain security risk. This application only needs to disclose the trapdoor in the block chain at the operation in-process, and the security is stronger.
While the solution of document [1] is based on a traditional cloud server architecture, the solution only includes an interaction process between a user and a cloud server. The scheme is constructed based on an honest cloud server model, lacks of verification of a credible party on a retrieval result, cannot guarantee fair transaction, and cannot resist guess attack of internal keywords.
TABLE 1 comparison of safety
Comparing the scheme of the document [1] [2] with the scheme of the document in terms of calculation amount, and analyzing the calculation amount of each algorithm in the index building stage, the trapdoor generation stage and the retrieval stage, as shown in table 2.
n represents the number of plaintext files, m represents the number of keywords, k represents the number of keywords in the query, and r represents the number of files corresponding to the query result (r < < n).
TMRepresenting the amount of computation of a multiplication, THRepresenting the amount of computation of a hash operation, TERepresenting the amount of computation of a single exponentiation, TPRepresenting the amount of computation of a bilinear pairing operation, where TH<TM<TE<TP。
In the index building stage, the calculation amount of the scheme of document [1] is mainly affected by the number of files due to the difference of the index structure. The scheme of the application and the scheme of the document [2] are greatly influenced by the number of keywords, and the calculated amount is similar.
In the trap door generation stage, the scheme of the application and the scheme of the document [1] [2] are related to the number of the searched keywords, and the document [2] uses power operation to the minimum and has the minimum calculation amount. The application at this stage involves bilinear pairing operations, which are the most computationally intensive.
In the retrieval phase, the scheme of document [1] is affected by the number of keywords and the number of files, and the calculation amount is the highest. The document [2] is not affected by other parameters, and the calculation amount is minimum. The calculation amount of the application is moderate.
In conclusion, the total calculation amount of the application in the three stages is moderate, but the application has stronger flexibility while ensuring safety.
TABLE 2 comparison of calculated amounts
Experimental analysis:
the execution efficiency of the application is analyzed by building an experimental environment. The experimental environment is 64-bit Windows10 operating system, the CPU is AMD Ryzen 74800H 2.90.90 GHz, and the memory is 16 GB. The experiment is carried out in a local virtual machine VMware Ubuntu16.04 virtual machine, the programming language is python, and the version is python 3.5.
The SHA256 algorithm is used as the hash function in the present application, and the AES symmetric encryption algorithm is used to encrypt the plaintext file. The data set used herein is the open acron Email data set, 3000 files of which were selected as original plaintext documents in the experiment, and 1200 keywords of which were extracted for experimental analysis. The time consumption of the method is compared with that of the scheme in the document [1] [2] in three stages of index construction, trapdoor generation and searching. The number of keywords was increased from 200 to 1200 in 200 steps during the experiment. Each experiment was repeated 50 times and the average was taken as the experimental result.
The time consumed in the index build phase is shown in FIG. 3 below. The abscissa is the number of keywords, and the ordinate represents the time taken to compute an index for 3000 plaintext documents based on the corresponding number of keywords. The scheme of document [1] is mainly affected by the number of files in the index building stage, and is hardly affected by the number of keywords. The application is similar in time consumption to the solution of document [2] at this stage, as shown in fig. 3.
The time consumed in the trapdoor generation phase is shown in fig. 4. The abscissa is the number of keys and the ordinate represents the time it takes to compute the search trapdoor for a corresponding number of keys. All three schemes are affected by the number of keywords. Document [2] involves the least amount of computation and takes the least time. The time consumption of the scheme is similar to that of the scheme in the document [1] at this stage, but the time consumption is slightly higher than that of the scheme in the document [1] when the number of the keywords is large because the scheme relates to bilinear pairings.
The time consumed in the search phase is shown in fig. 5, where the abscissa is the number of keywords included in the search request, and the ordinate is the time consumed in completing the corresponding search request. Since the present application supports the use of multiple Search servers to perform the retrieval process, the time consumption of the present application in the case of S _ Search ═ 1 and S _ Search ═ 4 is given in fig. 5, respectively. Wherein S _ Search represents a cloud server. The time consumption of this scheme is linearly related to the number of keywords with the scheme of document [1 ]. The time consumption of document [1] is hardly affected by the number of keywords. The solution is time consuming at this stage, which is moderate compared to the solution of document [1] [2 ].
Finally, the impact of the number of search servers on the overall time consumption of the scheme was tested, as shown in FIG. 6 below. The total time consumption is counted under the condition that 200 keywords and 3000 plaintext documents are in number, and the total time of the index building stage, the trapdoor generating stage and the retrieval stage is counted. And randomly selecting 20 keywords for each retrieval to construct a retrieval trapdoor and distributing the retrieval trapdoor to the search servers participating in the retrieval. It can be seen that the operating efficiency of the present application can be improved by increasing the number of search servers.
The application provides a multi-keyword searchable encryption method based on a block chain, ciphertext data are stored in a storage server, and indexes are stored in a search server. On the basis, a multi-keyword task distribution algorithm and a multi-keyword task retrieval algorithm are designed, so that a plurality of search servers simultaneously participate in the method operation, and the decentralization degree of the method is improved. An arbitration mechanism and an authentication mechanism based on an intelligent contract are designed, malicious behaviors of the cloud server can be prevented, and fair transaction between a user and the cloud server is guaranteed. Meanwhile, a keyword weight mechanism is designed, fuzzy results can be returned to a user when the multi-keyword search results are empty, and the method has higher flexibility. Experimental analysis proves that the method has higher efficiency.
Claims (9)
1. A multi-keyword searchable encryption method based on a block chain is characterized in that:
initialization: a data owner generates public parameters and a secret key, creates an intelligent contract, discloses the public parameters and the public key and keeps the private key secret;
index construction: a data owner generates a ciphertext file, an index, a shared key and other parameters, sends the generated ciphertext file to a storage server, sends the index to a search server, sends the shared key to other users, and keeps the generated other parameters secret;
and (3) trapdoor generation: a user generates a retrieval trapdoor by a plurality of keywords to be retrieved and initiates a retrieval request;
distributing: the intelligent contract decomposes the retrieval request of the user and then sends the decomposed retrieval request to each search server;
and (3) retrieval: the search server processes the search request and sends the obtained search result to the user and the intelligent contract;
and (3) verification: the intelligent contract verifies the retrieval result and initiates an arbitration request to the result of verification failure;
and (3) decryption: the user calculates according to the retrieval result, requests a corresponding ciphertext file from the storage server according to the calculation result, decrypts the ciphertext file to obtain a corresponding plaintext file, and initiates an arbitration request if the calculation or decryption fails;
arbitration: the data owner processes the arbitration request and verifies the retrieval result.
2. The blockchain-based multi-key searchable encryption method of claim 1, wherein said initializing comprises the steps of:
1) the data owner generates two multiplicative cyclic groups G of prime order p1And G2G is G1A generator of (2); generating a bilinear map e: g1×G1→G2(ii) a Selecting a pseudo-random function F: {0,1}*→{0,1}k(ii) a Selecting two cryptographic hash functions H1:{0,1}*→G1And H2:G2→{0,1}kK is an integer; selecting an anti-collision hash function H3:{0,1}*→{0,1}k,H4:{0,1}*→{0,1}k(ii) a Selecting a symmetric encryption algorithm (Enc, Dec); data owner publishes system public parameter pub ═ { p, G1,G2,e,F,H1,H2,H3,H4(Enc, Dec) }, and issues it to the blockchain;
randomly selecting s to be Z by a data ownerpCalculating SDO=gsAs a private key and computing a public keyUser randomly selects u E ZpCalculatingAs private key, the user public key P is calculatedu=gu(ii) a The data owner and the user store the private key and release the public key as public information to the block chain;
2) the data owner creates an intelligent contract and issues the intelligent contract to the blockchain; the user and the search server need to call an intelligent contract in the scheme execution process to complete the whole retrieval process; after each retrieval, the user can extract the deposit withheld in the intelligent contract; the functions of the intelligent contract comprise: temporarily storing the service fee of the user and the deposit of the search server, decomposing and sending the search task, and verifying the search result.
3. The blockchain-based multi-key searchable encryption method of claim 1, wherein said index building comprises the steps of:
1) the data owner splits the plaintext file into keywords to obtain a keyword set W ═ W1,w2,w3,.. }; the data owner encrypts a plaintext file by using a symmetric algorithm to obtain a ciphertext file, and randomly selects x e to ZpFor plaintext file MiIts corresponding ciphertext file Ci=Enc(MiK), k is a symmetric key, k ═ H2(e(g,gx) ); the ciphertext file set is C ═ C1,C2,C3,. for file CiAfter ordering the ciphertext files, distributing file numbers FN according to sequence number ii=2i-1And calculate H4(Ci) Obtaining VC { [ FN ]1,H4(C1)],[FN2,H4(C2)],...,[FNi,H4(Ci)]}; and the data owner sends all the ciphertext files C and the serial numbers thereof to the storage server and releases the VC to the block chain.
2) The data owner constructs a keyword-document number file index I by using the cipher text file number and the corresponding keyword thereof, and the calculation process is as follows:
let the ciphertext file number set containing the key w be { FN1,FN2,FN3,...};
2-1) using the keyword w,calculating y as H3(w);
2-2) calculation of Cw=e(gx,gy)=e(g,g)xy;
2-3) let Key be gsxCalculating b ═ f (key);
2-4) calculating verify _ bit ═ e (H)1(w),Key)mod 2;
2-5) calculating the aggregated file number Nw ═ FN1&FN2&FN3&.., and inserts verify _ bit into the b-th bit of Nw,&represents an and operation;
the index corresponding to the keyword w is Iw ═ Cw, Nw]The data owner performs the above operation on each keyword in the keyword set W to generate an index I ═ Iw1,Iw2,., then uploading the index to each search server; at the same time, the data owner calculates VN ═ H4(Nw||x),Vw=H4(w | | Nw | | x) the generation set VRs ═ VN1,VN2,VN3,.. } and VRu ═ Vw1,Vw2,Vw3,., arbitrating disputed search results;
3) the data owner sets the shared Key Key gsxThe key is sent to each user, and the user can construct a legal retrieval trapdoor by using the key; data owner will x, VRs, VRu, SDOStored as secret information.
4. The blockchain-based multi-key searchable encryption method of claim 1, wherein the trapdoor generation comprises the steps of:
1) setting the set of keywords to be searched as W ═ W1,w2,w3,., the user needs to assign a weight p to each keyword at the same time to obtain a set Wp={[w1,p1],[w2,p2],[w3,p3],.. }; the weight represents the retrieval priority of each keyword, and is mainly used for calculating a fuzzy result when the retrieval result is empty, and the higher the weight is, the higher the possibility that the keyword is contained in the retrieval result is; if the user does not point toWeighted, then assigned in order by default, pi=2iI is the serial number of the keyword;
for the keyword W ∈ W', the calculation procedure of the trapdoor is as follows:
1-1) calculating y ═ H3(w);
2) After the operations are executed on each keyword to be retrieved, a trapdoor set Tw { [ Tw ]) is obtained1,p1],[tw2,p2],[tw3,p3],., then the user sends the trap door set Tw and the service fee to an intelligent contract; since the intelligent contract may require arbitration by the data owner when verifying the retrieval result, the service fee sent by the user may include a portion of the arbitration fee.
5. The blockchain-based multi-key searchable encryption method of claim 1, wherein said distributing comprises the steps of:
1) within the time t after the contract account receives the trapdoor set and the service fee sent by the user, the search server participating in retrieval sends the deposit to the contract account; after the contract account receives the deposit, the search servers which successfully pay the deposit within the time t are sorted according to the payment sequence, the search trapdoors are distributed to the servers, and the transaction of the overtime payment deposit is returned to the original account; finally, a search server set S participating in retrieval is obtained;
2) in order to ensure the reliability of the retrieval result, each trapdoor is retrieved by 2 or more than 2 search servers; to be received by intelligent contractDecomposing a trapdoor set Tw into a plurality of subsets, and then distributing the obtained subsets to a search server, wherein each trapdoor in the Tw is at least contained in 2 subsets; search server SiThe received subset is TSi。
6. The blockchain-based multi-key searchable encryption method of claim 1, wherein said retrieving comprises the steps of:
1) all the search servers receive the trapdoor set TS sent by the intelligent contractiThen, local retrieval is carried out on each trapdoor in the set to obtain a retrieval result set RSi={Nw1,Nw2,...,NwjJ ∈ (1, m) }, j represents a trapdoor number, NwjRepresenting the retrieval result of the trapdoor with the number j;
2) for each trapdoor when the search server performs local retrievalUtilizing locally stored index Iw ' ═ Cw ', Nw ']Calculating whether equation t1 '· Cw' ═ t2 'holds, and if yes, outputting 1, and adding corresponding Nw' to set RSiPerforming the following steps; if not, 0 is output and 0 is added into the set RSiThe detection result indicates that the corresponding retrieval result of the trapdoor is empty;
3) search server sets RS of search resultiSending the information to an intelligent contract for verification; if set RSiIf the middle retrieval result is 0, the retrieval result is empty, and the retrieval process is ended; if set RSiIf the non-0 result exists in the medium retrieval result, continuing to calculate;
4) for trapdoor set TSiThe search result corresponding to all the keywords in the set is R _ TSi=Nw1&Nw2&...&NwjThe server participating in the search first calculates R _ TSiIf R _ TSiIf the result is more than 0, the result is not null, and the result R _ TS is searchediSending the data to a user; if R _ TSiIf 0, then calculate trapdoor TS according to keyword weightiIs prepared byWeight of search result of set, result R _ SubTS with maximum weightiReturned to the user as a fuzzy result.
7. The blockchain-based multi-key searchable encryption method of claim 1, wherein said verifying comprises the steps of:
1) suppose that the search result of 2 search servers for a certain keyword is NwiAnd Nwi', Smart contract validation Nwi=NwiWhether the information is true or not is judged, namely whether the retrieval results corresponding to the trapdoors with the same number are the same or not is judged, and if yes, 1 is output; if not, 0 is output, and an arbitration request is sent to the data owner, wherein the request comprises NwiAnd Nwi'; after all results are verified, returning the deposit of each search server by the intelligent contract, and distributing service fees to the search servers according to the number of the retrieved trapdoors; if the verification fails, the intelligent contract reserves a deposit and refuses to pay the service fee of the corresponding search server;
2) after the intelligent contract is verified, the verification result is sent to the user, and meanwhile, a transaction is initiated to return the deposit to the search server; after the time t, sending the service charge to the search server; if the user suspects that the retrieval result can initiate an arbitration request to the data owner, the transaction for paying the service fee is suspended during the time t.
8. The blockchain-based multi-key searchable encryption method of claim 1, wherein said decrypting comprises the steps of:
1) when the number of the search servers participating in the search is n, the user receives n search results { R _ TS }1,R_TS2,R_TS3,...,R_TSnA retrieval result represents a ciphertext file number set containing corresponding keywords; obtaining R _ Tw' by intersection of search results, R _ Tw ═ R _ TS1&R_TS2&R_TS3&...&R_TSn;
Calculating b ═ F (Key) by a user, and deleting the b-th bit of the R _ Tw' to obtain a final result R _ Tw; the user sends the result R _ Tw to a storage server to request a corresponding file; the storage server splits the file number according to the bit from the R _ Tw, and sends the file number to the user after finding out the corresponding file;
2) after obtaining the ciphertext file C, the user firstly calculates to obtain a symmetric keyThen, executing a symmetric decryption algorithm to obtain a corresponding plaintext file M ═ Dec (C, k); h can also be calculated according to the ciphertext file C4(C) ' and associate it with H stored in blockchain4(C) And comparing to judge whether the ciphertext file is tampered.
9. The blockchain-based multi-key searchable encryption method of claim 1, wherein said arbitrating comprises the steps of:
1) for arbitration requests from intelligent contracts, the data owner calculates H using the search result Nw' to be arbitrated4(Nw "| | x) whether to belong to VRs or not; if yes, outputting 1 to indicate that the retrieval result is legal; otherwise, outputting 0, indicating that the retrieval result is illegal, and at the moment, deducting a deposit by the intelligent contract and refusing to pay the service fee to the search server;
2) for arbitration requests from users, the data owner calculates H using the search results Nw 'to be arbitrated and the original keywords w' submitted by the users4(w "| | Nw" | | x) ∈ whether VRu is true; if yes, outputting 1 to indicate that the retrieval result is accurate; otherwise, outputting 0, which indicates that the retrieval result is inaccurate; the data owner broadcasts information corresponding to the search server into the blockchain, and the intelligent contract no longer pays a service fee to the server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210355792.9A CN114741711B (en) | 2022-04-06 | 2022-04-06 | Multi-keyword searchable encryption method based on block chain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210355792.9A CN114741711B (en) | 2022-04-06 | 2022-04-06 | Multi-keyword searchable encryption method based on block chain |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114741711A true CN114741711A (en) | 2022-07-12 |
CN114741711B CN114741711B (en) | 2024-07-16 |
Family
ID=82280044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210355792.9A Active CN114741711B (en) | 2022-04-06 | 2022-04-06 | Multi-keyword searchable encryption method based on block chain |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741711B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001715A (en) * | 2022-08-02 | 2022-09-02 | 药融云数字科技(成都)有限公司 | Encrypted intelligent contract detection method based on block chain and terminal |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110599147A (en) * | 2019-09-17 | 2019-12-20 | 福州大学 | Ciphertext retrieval fair payment method and system based on block chain |
WO2020133032A1 (en) * | 2018-12-27 | 2020-07-02 | 深圳技术大学(筹) | Multi-user ciphertext search method capable of preventing forgery |
CN112861172A (en) * | 2021-01-26 | 2021-05-28 | 石家庄铁道大学 | Symmetric searchable encryption method based on PBFT (public domain representation) consensus mechanism |
CN114021196A (en) * | 2021-11-18 | 2022-02-08 | 贵州大学 | Fair searchable encryption method and system |
-
2022
- 2022-04-06 CN CN202210355792.9A patent/CN114741711B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
CN112861172A (en) * | 2021-01-26 | 2021-05-28 | 石家庄铁道大学 | Symmetric searchable encryption method based on PBFT (public domain representation) consensus mechanism |
CN114021196A (en) * | 2021-11-18 | 2022-02-08 | 贵州大学 | Fair searchable encryption method and system |
Non-Patent Citations (1)
Title |
---|
闫玺玺;原笑含;汤永利;陈艳丽;: "基于区块链且支持验证的属性基搜索加密方案", 通信学报, no. 02, 29 February 2020 (2020-02-29) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001715A (en) * | 2022-08-02 | 2022-09-02 | 药融云数字科技(成都)有限公司 | Encrypted intelligent contract detection method based on block chain and terminal |
CN115001715B (en) * | 2022-08-02 | 2022-10-21 | 药融云数字科技(成都)有限公司 | Intelligent encryption contract detection method based on block chain and terminal |
Also Published As
Publication number | Publication date |
---|---|
CN114741711B (en) | 2024-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110599147B (en) | Ciphertext retrieval fair payment method and system based on block chain | |
US20220368545A1 (en) | Searchable encrypted data sharing method and system based on blockchain and homomorphic encryption | |
Lin et al. | OBFP: Optimized blockchain-based fair payment for outsourcing computations in cloud computing | |
Yang et al. | Blockchain-based verifiable multi-keyword ranked search on encrypted cloud with fair payment | |
Asfia et al. | Energy trading of electric vehicles using blockchain and smart contracts | |
CN112417006A (en) | Ciphertext keyword searching method, system, device and medium based on block chain | |
Cui et al. | Ciphertext-policy attribute-based encrypted data equality test and classification | |
CN115834200A (en) | Attribute-based searchable encryption data sharing method based on block chain | |
CN114021164B (en) | Credit system privacy protection method based on block chain | |
Li et al. | Blockchain-based searchable encryption with efficient result verification and fair payment | |
Li et al. | A blockchain-based credible and secure education experience data management scheme supporting for searchable encryption | |
Liu et al. | EMK-ABSE: Efficient multikeyword attribute-based searchable encryption scheme through cloud-edge coordination | |
Yan et al. | Blockchain-based verifiable and dynamic multi-keyword ranked searchable encryption scheme in cloud computing | |
Zhang et al. | Towards Privacy-Preserving Cloud Storage: A Blockchain Approach. | |
Lamriji et al. | A comparative study of consensus algorithms for blockchain | |
Ambika | A reliable blockchain-based image encryption scheme for IIoT networks | |
Gao et al. | BFR‐SE: A Blockchain‐Based Fair and Reliable Searchable Encryption Scheme for IoT with Fine‐Grained Access Control in Cloud Environment | |
CN114741711B (en) | Multi-keyword searchable encryption method based on block chain | |
CN114021196A (en) | Fair searchable encryption method and system | |
Lashkami et al. | A blockchain based framework for complete secure data outsourcing with malicious behavior prevention | |
Hou et al. | Blockchain-based efficient verifiable outsourced attribute-based encryption in cloud | |
CN114710357A (en) | Dynamic searchable encryption method supporting block verification in editable block chain | |
Tang et al. | A Blockchain-Based Framework for Secure Storage and Sharing of Resumes. | |
Panduro-Ramirez et al. | Blockchain approach for implementing access control in IOT | |
Li et al. | Post‐Quantum Privacy‐Preserving Provable Data Possession Scheme Based on Smart Contracts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |