CN114531220A - Efficient fault-tolerant dynamic phrase searching method based on forward privacy and backward privacy - Google Patents
Efficient fault-tolerant dynamic phrase searching method based on forward privacy and backward privacy Download PDFInfo
- Publication number
- CN114531220A CN114531220A CN202210030502.3A CN202210030502A CN114531220A CN 114531220 A CN114531220 A CN 114531220A CN 202210030502 A CN202210030502 A CN 202210030502A CN 114531220 A CN114531220 A CN 114531220A
- Authority
- CN
- China
- Prior art keywords
- document
- cloud server
- user
- index
- hash
- 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 47
- 238000013507 mapping Methods 0.000 claims abstract description 22
- 230000000739 chaotic effect Effects 0.000 claims abstract description 19
- 239000011159 matrix material Substances 0.000 claims abstract description 7
- 238000010276 construction Methods 0.000 claims abstract description 6
- 230000004044 response Effects 0.000 claims abstract description 6
- 238000003491 array Methods 0.000 claims description 9
- 238000006467 substitution reaction Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012946 outsourcing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
Images
Classifications
-
- 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/001—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- 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
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention discloses a forward and backward privacy-based efficient fault-tolerant dynamic phrase searching method, which comprises a data owner, a cloud server and a user. The method comprises the following steps: and a key generation stage for generating a key and a public parameter. In the index construction stage, a data owner designs an index structure by using piecewise linear chaotic mapping, an AND-OR structure cascaded minhash function, a bloom filter, an inverted index AND a matrix. And a trapdoor generation stage, wherein the user generates the trapdoor by using the phrase. And in the phrase searching stage, the cloud server checks the stored encryption indexes and returns an intermediate encryption result. And after receiving the file identifier, the user decrypts the file identifier and returns the acquired file identifier to the cloud server. The cloud server returns the encrypted file of the response, and the user decrypts the file. And in the updating token generation stage, the user generates a token and sends the token to the cloud server. And in the index updating stage, the cloud server updates the index and the document according to the token. The invention realizes forward privacy, backward privacy, high-efficiency search and dynamic update.
Description
Technical Field
The invention belongs to the technical field of information security technology and cloud-based Internet of things, and relates to a forward and backward privacy-based efficient fault-tolerant dynamic phrase searching method which can be used for intelligently processing data services in a cloud.
Background
In recent years, cloud computing has gained great popularity because it can greatly reduce storage costs, and some stored data needs appropriate protection due to the inclusion of sensitive information, such as corporate financial information, corporate tax information, personal email, personal health and medical records, and the like. However, the data owner and the cloud server are not always in the same trusted domain, possibly resulting in data leakage risk references. Since the user cannot control the data, internal attacks from the cloud storage server provider or external attacks from hackers may be suffered. In recent years, many companies have had serious data leakage incidents. To prevent sensitive data from leaking out when outsourcing storage, one possible solution is to encrypt the data before outsourcing. This will conflict with the availability of data because one cannot perform common operations such as retrieving encrypted data.
In order to securely search for encrypted data, searchable encryption techniques have been developed in recent years. In addition, slight spelling errors and format inconsistencies occasionally occur when the user enters. However, most of the existing searchable encryption methods only support precise searching, and cannot solve the situation. A straightforward approach to solving this problem is to use a spell-checking mechanism. However, this approach is not suitable for some reasons. For example, it may require additional interaction, which may increase the computational cost of the user. Thus, to meet these needs, fuzzy searches have been developed that not only increase flexibility, but also tolerate less spelling and format inconsistencies.
The application provides a high-efficiency fault-tolerant dynamic phrase searching method based on forward and backward privacy. The chaotic encryption algorithm piecewise linear chaotic mapping and the minhash function are adopted to carry out fuzzy processing on information, and a bloom filter index is constructed to realize efficient search and dynamic update. The safety certificate based on formalization shows that the application has higher safety and better performance.
The invention combines the variant, the inverted index and the matrix of the bloom filter, and designs an index structure. And encrypting the position information of each keyword in each document by using a lightweight encryption algorithm so as to realize phrase search. Safety analysis and performance analysis show that the invention has more ideal performance.
Disclosure of Invention
The present invention is directed to solving the above problems of the prior art. An efficient fault-tolerant dynamic phrase search method based on forward and backward privacy is proposed. The technical method of the invention is as follows:
an efficient fault-tolerant dynamic phrase search method based on forward and backward privacy comprises the following steps:
a key generation stage, generating a key and a public parameter;
in the index construction stage, a data owner designs an index structure by using a piecewise linear chaotic map, an AND-OR structure cascaded minhash function, a bloom filter, an inverted index AND a matrix;
a trapdoor generation stage, wherein a user generates a trapdoor by using a phrase;
in the phrase searching stage, the cloud server checks the stored encryption indexes and returns an intermediate encryption result; after receiving the file identifier, the user decrypts the file identifier and returns the acquired file identifier to the cloud server; the cloud server returns the encrypted file of the response, and the user decrypts the file;
in the updating token generation stage, a user generates a token and sends the token to a cloud server;
and in the index updating stage, the cloud server updates the index and the document according to the token.
Further, in the key generation stage, generating a key and a public parameter specifically includes:
(1) giving a security parameter beta, and randomly selecting kxlambda minhash functions H from the same locality sensitive hash function family1Selecting a secret key generation algorithm SKGen (), and selecting two single hash functions H2And H3;
(2)sk1←SKGen(1β),sk2←SKGen(1β),sk3←SKGen(1β) After authenticating the user, the sk is transmitted through the secure channel2Respectively transmitted to the cloud server and the user to send the sk1,sk3Transmitting to the user through a secure channel; the secret key is { sk1,sk2,sk3H, common parameters are { k, λ, H }1,H2,H3}。
Further, the piece of thread Linear audio Map specifically includes:
the Piecewise Linear Chaotic Map (PWLCM) is described as:
wherein x isn∈(0,1),p∈(0,0.5)。xnFor the function value obtained at the nth time, xn-1The function value obtained for the (n-1) th time, F [ x ]n-1]Representing the input value as xn-1P represents a decimal number, F (1-x)n-1) For input values of 1-xn-1The function value of (1).
Further, the minhash function of the AND-OR structure specifically includes:
minhash is a LSH function family, which is used for Jaccard distance, Minhash uses a random hash function for each element in the set, and selects the minimum value of all hash values;
the hash function satisfying the following two conditions is called (d1, d2, p1, p2) -sensory:
(1) if d (x, y) ≦ d1, the probability of h (x) ≦ h (y) is at least p 1;
(2) if d (x, y) ≧ d2, the probability of h (x) ≧ h (y) is at most p 2;
wherein d (x, y) represents a distance measure between x and y; d1 represents the distance of case (1), d2 represents the distance of case (2), p1 represents the probability of case (1), and p2 represents the probability of case (2).
The cascade of AND AND OR operations can generate more hash tables, so that p1 is closer to 1, AND p2 is closer to 0;
using kAfter the random function implements the AND structure, the structure is expressed as g ═ h1,h2,...,hk);h1,h2,...,hkRespectively representing hash values calculated by k different hash functions. In this case, if g (x) is g (y), and only ifg (x), g (y) represent k hash values obtained when the input values are x and y, respectively. The OR structure is then implemented using λ different AND structures, whose structure is denoted as f ═ g1∨g2∨...∨gλ) (ii) a If f (x) is f (y), and only if f (x) is f (y)Thus, the family of (d1, d2, p1, p2) -sensory functions can be changed to the family of (d1, d2, p1 ', p 2') -sensory functions, whereinp1 ', p 2' represent different probabilities obtained through a cascade of AND AND OR operations, respectively.
Further, the bloom filter is composed of an m-bit binary vector and a plurality of random mapping functions, and is mainly used for searching whether an element exists in a certain set or not, and the element is mapped into the binary vector by the random mapping function to operate.
Further, the index building stage specifically includes:
for each wi∈WD,i∈[1,Λ],WDThe number of the keywords in the keyword set is lambda; (1) will wiEach letter ψaIs mapped to [0, 1 ] using a one-way hash function]Inner decimal fraction, a ∈ [1, Y ]]Y is wiThe number of the letters is mapped to an interval [0, s ] by using a piecewise linear chaotic mapping algorithm]S is a secret parameter of minhash, and the obtained group of integers is a keyword wiThe code of (2), the code is used as the input of minhash;
(2) using AND-OR structure AND from the same officeRandomly selecting k x lambda minhash functions from the partially sensitive hash function family, and respectively pairing wiPerforming operation to obtain k x lambda value xi,j∈[1,m],i∈[1,Λ],j∈[1,λ]The k x λ values form k hash tables, each of which x is assumed to not collidei,jMapping to an array of size m gamma, m > | WDI x k x λ, m represents the size of the array γ, WDIs a set of keywords.
(3) Will be provided withBecomes 1 in the array gammaAnd random gamma xi,υ]The corresponding bucket points to an array f of size | D | ><f1,...,fi,...,f|D|>,i∈[1,Λ],υ∈[1,k×λ]Λ ν ≠ a × λ +1), where each element is a linked list, the first element of which contains the document identifier id (d)k) And a pointer to the next element if the identifier is id (d)k) Contains the keyword wiThen list fi=<id(dk),fk,1,...,fk,j,...,fk,t>,i∈[1,|D|],k∈[1,|D|],j∈[1,t]Where t is a keyword wiThe identifier is id (d)k) The number of locations in the document of (a),poskjrepresenting a keyword wiWhen the identifier is id (d)k) If the identifier is id (d)k) Does not contain the keyword wiThen in the linked list fiIn the table, v random invalid characters are filled, v belongs to [1, theta ]](ii) a θ represents the maximum number of values of v.
(4) Using sk1Symmetric encryption of document set D ζ ← EncDoc (sk)1,D);
(5) The data owner sends the index γ and the encrypted document set ζ to the cloud server.
Further, the phrase searching stage specifically includes:
(1) for the cloud server, after receiving the trapdoor T sent by the user,
firstly, a list CT is generated, and user names and counter values CT are storedserverLet ctserverIs 0, ct each time a search query is received from the userserverAdding 1 to the value of (c);
② judging H2(ctserver,sk2)==H2(ctuser,sk2) If not, returning the 'query failure' of the user, and if so, calculating the position loc of each bucket in the indexloc represents the location of each bucket in the index,representing a hash value obtained using loc.
For each wiSelecting lambda value in the first hash table according to y and QIs equal, it is mapped to the value in the array gamma, and judgedWhether the result is true or not; if the hash tables are not established, sequentially judging k hash tables, and if only one hash table can be established, performing the fourth step;
if one of the hash tables is true, then forxi,a*λ+1The ith keyword is represented by the a x lambda +1 hash value obtained by using a hash function, namely the hash value is the position of a corresponding bucket in the array gamma, and a belongs to [0, k-1 ]]Taking out the array f pointed by the pointer;
fifthly, sending all the taken arrays to the user according to the query sequence;
(2) after the user receives the arrays sent by the cloud server, each element f of each received array is subjected tokj:
Firstly, a keyword w is calculated by using a formula (1)iThe position in the document or a random number,
obtaining an array before encryption;
secondly, the user calculates all the obtained arrays, judges whether the positions of the keywords to be inquired in the same document are connected or not, and calculates to obtain a document identifier set R which is { id (d) }i),i∈[1,N]}; the user sends the R to a cloud server;
(3) after receiving the response, the cloud server sends the ciphertext of the corresponding document to the user;
(4) user usage Key sk1And decrypting the received ciphertext to obtain the document plaintext to be inquired.
Further, the update token generation stage specifically includes:
(1) adding a document: the data owner generates a sub-index gamma for the document to be added by the same method as the second step of establishing the index*Will be gamma*And encrypted document xi*As update tokenSending the data to a cloud server; operation type up or add;
(2) deleting the document: data owner for document d to be deletedi,i∈[1,N]A document diId (d) ofi) As update tokensAnd sending the data to the cloud server. Operation type up ═ delete;
(3) and (3) modifying the document: operation type up ═ modify ";
adding keywords of a certain document: data owner for document d to be modifiedi,i∈[1,N]Extracting diCorresponding one | WDA line vector of dimension | x k, f corresponding to a keyword to be addedi(i∈[1,N]) The random number in (1) is changed into the position of the keyword, and the random number is usedEncrypting; in addition, selectSelecting v (v is equal to [1, theta ]) from corresponding linked list containing random numbers]) Replacing the original chain table elements with random numbers, wherein the number of the selected v and the original chain table may be different; the newly generated sub-index gamma is*And encrypted document xi*As update tokensSending the data to a cloud server; multiple keywords in the same document can be added once in the operation;
deleting the keywords of a certain document: data owner for document d to be modifiedi,i∈[1,N]Extracting d to obtainiCorresponding one | WDA row vector of dimension | × k, f corresponding to the keyword to be deletedi(i∈[1,N]) In the method, the encrypted data of the original key word position is used as v (v is belonged to [1, theta ]]) A random number substitution; in addition, selectSelecting v (v is equal to [1, theta ]) from corresponding linked list containing random numbers]) Replacing the original chain table elements with random numbers, wherein the number of the selected v and the original chain table may be different; the newly generated sub-index gamma*And diIdentifier id (d) ofi) As update tokensSending the information to a cloud server; this operation can delete multiple keywords in the same document at a time.
Further, the index updating stage specifically includes:
(1) adding a document: cloud server receivingThen, respectively adding gamma*And xi*Added to γ and ξ;
(2) deleting the document: cloud server receivingThen, deleting the corresponding linked list in gamma and according to id (d)i) Corresponding document d in encrypted document set zetaiDeleting;
(3) and (3) modifying the document: cloud server receivingThen, respectively adding gamma*And xi*Replacing the corresponding positions in γ and ξ.
The invention has the following advantages and beneficial effects:
the invention provides a high-efficiency fault-tolerant dynamic phrase searching method based on forward and backward privacy. It has both forward and backward privacy and supports ambiguous phrase searches and dynamic updates. Specifically, the innovation herein is: the fuzzy search is realized by utilizing a chaotic encryption algorithm piecewise linear chaotic mapping AND a minhash function with cascade connection of an AND structure AND an OR structure; the phrase search and dynamic update are realized by using the variants and matrix construction indexes of the bloom filter. The innovation herein mainly lies in the construction of the index, the search phase and the implementation of the dynamic update phase. In the existing methods, a method for realizing fuzzy search by using a chaotic encryption algorithm piecewise linear chaotic mapping rarely occurs. Meanwhile, it is not common in the existing phrase search method to use a matrix to store location information. The technology of 2-9 is characterized in that the chaos encryption algorithm is combined with linear chaotic mapping in a segmented mode, a minhash function with an AND structure AND an OR structure in a cascade mode, a bloom filter AND a matrix, AND forward privacy, backward privacy, phrase search AND dynamic updating are achieved. When the functions are realized, the efficiency of the method is ensured to be higher than that of the general fuzzy search method.
The invention relates to a high-efficiency fault-tolerant dynamic phrase searching method based on forward and backward privacy, which encrypts the position information of each keyword in each document by using a lightweight encryption algorithm so as to realize phrase searching. And the FTPS can quickly find the corresponding position during searching, thereby ensuring that the searching efficiency is more efficient. Meanwhile, forward privacy and backward privacy are realized, and the method has better safety.
Drawings
FIG. 1 is a keyword encoding of the preferred embodiment provided by the present invention;
FIG. 2 is an index structure diagram of the present invention;
FIG. 3 is a CT table of the present invention;
FIG. 4 is a schematic diagram of an efficient fault-tolerant dynamic phrase search method based on forward and backward privacy.
Detailed Description
The technical method in the embodiment of the invention will be described in detail in the following with reference to the accompanying drawings in the embodiment of the invention. The described embodiments are only some of the embodiments of the present invention.
The technical method for solving the technical problems comprises the following steps:
the bitcoin transaction model of the present invention is described in further detail below with reference to fig. 1, 2, and 3. The method specifically comprises the following modules and steps:
1) piecewise Linear chaos mapping of Piecewise Linear Chaotic Map:
piecewise Linear Chaotic Map (PWLCM): chaos has many interesting properties, such as good pseudo-randomness and sensitivity to its control parameters, which can be directly linked to the confusing and spreading properties of cryptography. And these systems are deterministic, that is, their future behavior is not subject to random elements, determined entirely by their parameters. However, since the chaotic signal is pseudo-random, an unauthorized user may recognize it as noise.
The chaotic encryption algorithm utilizes the characteristics of chaos such as certainty, mixing, internal randomness and the like, and is simple to realize and rapid in encryption on the premise of ensuring safety.
PWLCM, one of the simplest chaotic encryption algorithms, also possesses these characteristics. It can be described as:
wherein x isn∈(0,1),p∈(0,0.5)。xnFor the function value obtained at the nth time, xn-1The function value obtained at the n-1 th time, F [ x ]n-1]Representing the input value as xn-1P represents a decimal number, F (1-x)n-1) For input values of 1-xn-1The function value of (1).
2) Minhash function of AND-OR structure:
minhash is a family of LSH functions that is used for the Jaccard distance. The Minhash uses a random hash function on each element in the set and selects the minimum of all hash values.
localization reactive hashing (LSH) is a technique used to solve the problem of finding similar nodes in a high dimensional space. If a linear search is performed directly in a high-dimensional space, it is faced with a dimensional disaster and is very inefficient, and the LSH is used to map points in the high-dimensional space to one or more different hashtables, which are called buckets (buckets) in terms of location. It maps two points in high dimensional space that are close with a high probability to the same bucket, that is, points in the same bucket are likely to be close in high dimensional space. Therefore, the searching can be carried out according to the characteristic, and the searching efficiency is improved.
The hash function satisfying the following two conditions is called (d1, d2, p1, p2) -sensory:
(1) if d (x, y) ≦ d1, the probability of h (x) ≦ h (y) is at least p 1;
(2) if d (x, y) ≧ d2, the probability of h (x) ≧ h (y) is at most p 2.
Where d (x, y) represents a distance measure between x and y. d1 represents the distance of case (1), d2 represents the distance of case (2), p1 represents the probability of case (1), and p2 represents the probability of case (2).
AND the concatenation of AND OR operations can generate more hash tables, bringing p1 closer to 1 AND p2 closer to 0.
After the AND structure is implemented using k random functions, the structure is expressed as g ═ h1,h2,...,hk)。h1,h2,...,hkRespectively representing hash values calculated by k different hash functions. If and only if g (x) g (y)g (x), g (y) represent k hash values obtained when the input values are x and y, respectively. The OR structure is then implemented using λ different AND structures, whose structure is denoted as f ═ g1∨g2∨...∨gλ). If f (x) is f (y), and only if f (x) is f (y)Thus, the family of (d1, d2, p1, p2) -sensory functions can be changed to the family of (d1, d2, p1 ', p 2') -sensory functions, whereinThe p1 ', p 2' sub-tables represent different probabilities obtained through a cascade of AND AND OR operations.
3) A bloom filter:
the bloom filter consists of an m-bit binary vector and a number of random mapping functions. It is mainly used to find out if an element exists in a certain set, and it is operated by mapping the element into binary vector by using random mapping function. The method has the advantages of fast search time, small required storage space, certain error recognition rate and difficulty in executing deletion operation.
The method is divided into six stages, as shown in fig. 4, which are a key generation stage, an index establishment stage, a trapdoor generation stage, a phrase search stage, an update token generation stage, and an index update stage. The details are as follows.
And a key generation stage:
(1) giving a security parameter beta, and randomly selecting kxlambda minhash functions H from the same locality sensitive hash function family1Selecting a secret key generation algorithm SKGen (), and selecting two single hash functions H2And H3。
(2)sk1←SKGen(1β),sk2←SKGen(1β),sk3←SKGen(1β). After authenticating the user, the sk is transmitted through a secure channel2Respectively transmitted to the cloud server and the user to send the sk1,sk3Transmitted to the user over a secure channel. The secret key is { sk1,sk2,sk3H, common parameters are { k, λ, H }1,H2,H3}。
An index establishing stage: for each wi∈WD,i∈[1,Λ](WDIs a keyword set, lambda is the number of keywords in the keyword set),
(1) will wiEach letter ψa(a∈[1,Y]Y is wiNumber of letters of) is mapped to [0, 1 ] using a one-way hash function]Inner decimal, and then the value is mapped to the interval [0, s ] using the Piecewise Linear conditional Map (PWLCM) algorithm]Is used (s is the secret parameter of minhash). The obtained group of integers is the key word wiAs input to the minhash, as shown in fig. 1.
(2) Using AND-OR structure AND randomly selecting k x lambda minhash functions from the same locality sensitive hash function family, respectively for wiPerforming operation to obtain k x lambda value xi,j∈[1,m],i∈[1,Λ],j∈[1,λ]These k x λ values form k hash tables. Each value x thereof is divided intoi,jMapping to an array gamma of size m (m > W)DI x k x λ, assuming the hash does not collide). m represents the size of the array gamma, WDIs a set of keywords.
(3) Will be provided withBecomes 1 in the array gammaAnd at randomThe corresponding bucket points to an array f of size | D | ><f1,...,fi,...,f|D|>Where each element is a linked list. The first element of the linked list contains the document identifier id (d)k) And a pointer to the next element. If the identifier is id (d)k) The document of (a) contains a keyword wiThen list fi=<id(dk),fk,1,...,fk,j,...,fk,t>,i∈[1,|D|],k∈[1,|D|],j∈[1,t]Where t is a keyword wiWhen the identifier is id (d)k) The number of positions in the document of (a),poskjrepresenting a keyword wiThe identifier is id (d)k) The position of the j-th occurrence in the document of (1). If the identifier is id (d)k) Does not contain the keyword wiThen in the linked list fiIn the table, v random invalid characters are filled, v belongs to [1, theta ]]. θ represents the maximum number of values of v. The index structure is as in figure 2.
(4) Using sk1Symmetrically encrypting document set D ζ ← EncDoc (sk)1,D)。
(5) The data owner sends the index γ and the encrypted document set ζ to the cloud server.
A trapdoor generation stage: query Q ═ w1,...,wbAnd b is the number of keywords in the query Q.
(1) A counter table CT is generated which has two columns: username and ctuserWherein ct isuserIs 0, and each time the same user sends a search query to the CS, to ctuserAnd adding 1. And setting the initial value to be 0, and adding 1 to the value of the search query every time the same user sends the search query to the cloud server.
(2) For each wiBelongs to Q, and k is calculated as lambdaHash table of1=H2(xi,1,ctuser,sk2),...,yk×λ=H2(xi,k×λ,ctuser,sk2) Wherein x isi,1=h1(wi),...,xi,k×λ=hk×λ(wi)。
(3) Trapdoor T ═ y1,1,...,yb,k×λ,H2(ctuser,sk2)}。
Phrase search phase:
(1) for the cloud server, after receiving the trapdoor T sent by the user,
generating a list CT (as in FIG. 3), storing the user name and the counter value CTserverLet ctserverIs 0, ct each time a search query is received from the userserverPlus 1.
② judging H2(ctserver,sk2)==H2(ctuser,sk2) If not, returning the 'query failure' of the user, and if so, calculating the position loc of each bucket in the indexloc represents the location of each bucket in the index,representing a hash value obtained using loc.
③ for each wiSelecting lambda value in the first hash table according to y and QIs equal, it is mapped to the value in the array gamma, and judgedWhether or not this is true. If not, sequentially judging k hash tables, and if only one hash table can be established, performing the fourth step.
If one of the hash tables is true, then forxi,a*λ+1The ith keyword is represented by the a x lambda +1 hash value obtained by using a hash function, namely the hash value is the position of a corresponding bucket in the array gamma, and a belongs to [0, k-1 ]]The array f to which it points is fetched.
And fifthly, sending all the taken arrays to the user according to the query sequence.
(2) After the user receives the arrays sent by the cloud server, each element f of each received array is subjected tokj:
Firstly, a keyword w is calculated by using a formula (1)iThe position in the document or a random number,
resulting in the array before encryption.
Secondly, the user operates all the obtained arrays and judges whether the positions of the keywords to be inquired in the same document are connected or not. Calculating to obtain a document identifier set R ═ { id (d)i),i∈[1,N]}. The user sends R to the cloud server.
(3) And after receiving the response, the cloud server sends the ciphertext of the corresponding document to the user.
(4) User usage Key sk1And decrypting the received ciphertext to obtain the document plaintext to be inquired.
And an update token generation stage:
(1) adding a document: the data owner generates a sub-index gamma for the document to be added by the same method as the second step of establishing the index*Will be gamma*And encrypted document xi*As update tokensAnd sending the data to the cloud server. The operation type up is "add".
(2) Deleting textGear: data owner for document d to be deletedi,i∈[1,N]A document diIdentifier id (d) ofi) As update tokensAnd sending the data to the cloud server. The operation type up is "delete".
(3) And (3) modifying the document: the operation type up is "modify".
Adding keywords of a certain document: data owner for document d to be modifiedi,i∈[1,N]Extracting d to obtainiCorresponding one | WDA line vector of dimension | x k, f corresponding to a keyword to be addedi(i∈[1,N]) The random number in (1) is changed into the position of the keyword, and the random number is usedAnd (4) encrypting. In addition, selectSelecting v (v is epsilon [1, theta ]) from corresponding linked list containing random numbers]) And replacing the original chain table elements with random numbers, wherein the number of the selected v and the original chain table may be different. The newly generated sub-index gamma*And encrypted document xi*As update tokensAnd sending the data to the cloud server. This operation can add multiple keywords in the same document at a time.
Deleting the keywords of a certain document: data owner for document d to be modifiedi,i∈[1,N]Extracting diCorresponding one | WDA row vector of dimension | x k, f corresponding to a keyword to be deletedi(i∈[1,N]) In the method, the encrypted data of the original key word position is used as v (v is belonged to [1, theta ]]) And replacing the random numbers. In addition, selectSelecting v (v is equal to [1, theta ]) from corresponding linked list containing random numbers]) Random number, replacing original chain tableThe number of elements, v selected at this time, and the original chain table may not be the same. The newly generated sub-indexes gamma and diIdentifier id (d) ofi) As update tokensAnd sending the data to the cloud server. This operation can delete multiple keywords in the same document at a time.
And an index updating stage:
(1) adding a document: cloud server receivingThen, respectively adding gamma*And xi*Added to γ and ξ.
(2) Deleting the document: cloud server receivingThen, deleting the corresponding linked list in gamma and according to id (d)i) Corresponding document d in encrypted document set zetaiAnd (5) deleting.
(3) And (3) modifying the document: cloud server receivingThen, respectively adding gamma*And xi*Replacing the corresponding positions in γ and ξ.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The above examples are to be construed as merely illustrative and not limitative of the remainder of the disclosure. After reading the description of the invention, the skilled person can make various changes or modifications to the invention, and these equivalent changes and modifications also fall into the scope of the invention defined by the claims.
Claims (9)
1. A high-efficiency fault-tolerant dynamic phrase searching method based on forward and backward privacy is characterized by comprising the following steps:
a key generation stage, generating a key and a public parameter;
in the index construction stage, a data owner designs an index structure by using piecewise linear chaotic mapping, an AND-OR structure cascaded minhash function, a bloom filter, an inverted index AND a matrix;
a trapdoor generation stage, wherein a user generates a trapdoor by using a phrase;
in the phrase searching stage, the cloud server checks the stored encryption indexes and returns an intermediate encryption result; after receiving the file identifier, the user decrypts the file identifier and returns the acquired file identifier to the cloud server; the cloud server returns the encrypted file of the response, and the user decrypts the file;
in the updating token generation stage, a user generates a token and sends the token to a cloud server;
and in the index updating stage, the cloud server updates the index and the document according to the token.
2. The efficient fault-tolerant dynamic phrase search method based on forward and backward privacy as claimed in claim 1, wherein the key generation phase generates a key and a public parameter, specifically comprising:
(1) giving a security parameter beta, and randomly selecting kxlambda minhash functions H from the same locality sensitive hash function family1Selecting a secret key generation algorithm SKGen (), and selecting two single hash functions H2And H3;
(2)sk1←SKGen(1β),sk2←SKGen(1β),sk3←SKGen(1β) After authenticating the user, the sk is transmitted through the secure channel2Respectively transmitted to the cloud server and the user to send the sk1,sk3Transmitting to the user through a secure channel; the secret key is { sk1,sk2,sk3H, common parameters are k, λ, H1,H2,H3}。
3. The efficient fault-tolerant dynamic phrase searching method based on forward and backward privacy as claimed in claim 2, wherein the piecewise linear chaotic mapping specifically comprises:
the Piecewise Linear Chaotic Map (PWLCM) is described as:
wherein x isn∈(0,1),p∈(0,0.5)。xnFor the value of the function obtained at the nth time, xn-1The function value obtained at the n-1 th time, F [ x ]n-1]Representing the input value as xn-1P represents a decimal number, F (1-x)n-1) For input values of 1-xn-1The function value of (1).
4. The efficient fault-tolerant dynamic phrase searching method based on forward AND backward privacy as claimed in claim 3, wherein the minhash function of the AND-OR structure specifically comprises:
minhash is a LSH function family, which is used for Jaccard distance, Minhash uses a random hash function for each element in the set, and selects the minimum value of all hash values;
the hash function satisfying the following two conditions is called (d1, d2, p1, p2) -sensory:
(1) if d (x, y) ≦ d1, the probability of h (x) ≦ h (y) is at least p 1;
(2) if d (x, y) ≧ d2, the probability of h (x) ≧ h (y) is at most p 2;
wherein d (x, y) represents a distance measure between x and y; d1 represents the distance of case (1), d2 represents the distance of case (2), p1 represents the probability of case (1), and p2 represents the probability of case (2);
the cascade of AND AND OR operations can generate more hash tables, so that p1 is closer to 1, AND p2 is closer to 0;
after the AND structure is implemented using k random functions, the structure is expressed as g ═ h1,h2,...,hk);h1,h2,...,hkRespectively representing hash values calculated by k different hash functions. In this case, if g (x) is g (y), and only ifg (x), g (y) respectively represent k hash values obtained when the input values are x and y; then, λ different AND structures are used to realize an OR structure, the structure of which is expressed asIf and only if f (x) and f (y) are presentThus, the family of (d1, d2, p1, p2) -sensory functions can be changed to the family of (d1, d2, p1 ', p 2') -sensory functions, whereinThe p1 ', p 2' sub-tables represent different probabilities obtained through a cascade of AND AND OR operations.
5. The efficient fault-tolerant forward and backward privacy-based dynamic phrase search method as claimed in claim 4, wherein the bloom filter is composed of an m-bit binary vector and a plurality of random mapping functions, and is mainly used to find out whether an element exists in a certain set, and it is operated by mapping the element into the binary vector by the random mapping function.
6. The efficient fault-tolerant dynamic phrase searching method based on forward and backward privacy of claim 5, wherein the index construction stage specifically comprises:
for each wi∈WD,i∈[1,Λ],WDThe number of the keywords in the keyword set is lambda;
(1) will wiEach letter ψaIs mapped to [0, 1 ] using a one-way hash function]Inner decimal fraction, a ∈ [1, Y ]]Y is wiThe value is mapped to the interval [0, s ] by using a piece wise Linear mapping (PIECWISE Linear mapping) algorithm]S is a secret parameter of minhash, and the obtained group of integers is a keyword wiThe code of (2), using the code as the input of minhash;
(2) using AND-OR structure AND randomly selecting k x lambda minhash functions from the same locality sensitive hash function family, respectively for wiPerforming operation to obtain k x lambda value xi,j∈[1,m],i∈[1,Λ],j∈[1,λ]The k x λ values form k hash tables, each of which x is assumed to not collidei,jMapping to an array of size m gamma, m > | WDI x k x λ, m represents the size of the array γ, WDIs a set of keywords.
(3) Will be provided withBecomes 1 in the array gammaAnd random gamma xi,υ]The corresponding bucket points to an array f of size | D | ><f1,...,fi,...,f|D|>,i∈[1,Λ],υ∈[1,k×λ]Λ ν ≠ a × λ +1), where each element is a linked list, the first element of which contains the document identifier id (d)k) And a pointer to the next element if the identifier is id (d)k) The document of (a) contains a keyword wiThen list fi=<id(dk),fk,1,...,fk,j,...,fk,t>,i∈[1,|D|],k∈[1,|D|],j∈[1,t]Where t is a keyword wiWhen the identifier is id (d)k) The number of locations in the document of (a),poskjrepresenting a keyword wiWhen the identifier is id (d)k) If the identifier is id (d)k) Does not contain the keyword wiThen in the linked list fiIn the table, v random invalid characters are filled, v belongs to [1, theta ]](ii) a θ represents the maximum number of values of v;
(4) using sk1Symmetric encryption of document set D ζ ← EncDoc (sk)1,D);
(5) The data owner sends the index γ and the encrypted document set ζ to the cloud server.
7. The efficient fault-tolerant dynamic phrase searching method based on forward and backward privacy as claimed in claim 6, wherein the phrase searching stage specifically comprises:
(1) for the cloud server, after receiving the trapdoor T sent by the user,
firstly, a list CT is generated, and user names and counter values CT are storedserverLet ctserverIs 0, ct each time a search query is received for the userserverAdding 1 to the value of (c);
② judging H2(ctserver,sk2)==H2(ctuser,sk2) If not, returning the 'query failure' of the user, and if so, calculating the position loc of each bucket in the indexloc represents the location of each bucket in the index,represents a hash value obtained using loc;
③ for each wiSelecting lambda value in the first hash table according to y and QIs equal, it is mapped to the value in the array gamma, and judgedWhether the result is true or not; if the hash tables are not established, sequentially judging k hash tables, and if only one hash table can be established, performing the fourth step;
if one of the hash tables is true, then forxi,a*λ+1The ith keyword is represented by the a x lambda +1 hash value obtained by using a hash function, namely the hash value is the position of a corresponding bucket in the array gamma, and a belongs to [0, k-1 ]]Taking out the array f pointed by the pointer;
fifthly, sending all the taken arrays to the user according to the query sequence;
(2) after the user receives the arrays sent by the cloud server, each element f of each received array is subjected tokj:
Firstly, a keyword w is calculated by using a formula (1)iThe position in the document or a random number,
obtaining an array before encryption;
secondly, the user calculates all the obtained arrays, judges whether the positions of the keywords to be inquired in the same document are connected or not, and calculates to obtain a document identifier set R which is { id (d) }i),i∈[1,N]}; the user sends the R to the cloud server;
(3) after receiving the response, the cloud server sends the ciphertext of the corresponding document to the user;
(4) user usage Key sk1And decrypting the received ciphertext to obtain the document plaintext to be inquired.
8. The efficient fault-tolerant dynamic phrase searching method based on forward and backward privacy as claimed in claim 7, wherein the update token generation stage specifically comprises:
(1) adding a document: the data owner generates a sub-index gamma for the document to be added by the same method as the second step of establishing the index*Will be gamma*And encrypted document xi*As update tokensSending the data to a cloud server; operation type up or add;
(2) deleting the document: data owner for document d to be deletedi,i∈[1,N]A document diIdentifier id (d) ofi) As update tokensAnd sending the data to the cloud server. Operation type up ═ delete;
(3) and (3) modifying the document: operation type up ═ modify ";
adding a keyword of a certain document: data owner for document d to be modifiedi,i∈[1,N]Extracting diCorresponding one | WDA line vector of dimension | x k, f corresponding to a keyword to be addedi(i∈[1,N]) The random number in (1) is changed into the position of the keyword, and the random number is usedEncrypting; in addition, selectSelecting v (v is epsilon [1, theta ]) from corresponding linked list containing random numbers]) Replacing the original chain table elements with random numbers, wherein the number of the selected v and the original chain table may be different; the newly generated sub-index gamma is*And encrypted document xi*As update tokensSending the data to a cloud server; multiple keywords in the same document can be added once in the operation;
deleting the keywords of a certain document: data owner for document d to be modifiedi,i∈[1,N]Extracting diCorresponding one | WDA row vector of dimension | x k, f corresponding to a keyword to be deletedi(i∈[1,N]) In the method, the encrypted data of the original key word position is used as v (v is belonged to [1, theta ]]) A random number substitution; in addition, selectSelecting v (v is equal to [1, theta ]) from corresponding linked list containing random numbers]) Replacing the original chain table elements with random numbers, wherein the number of the selected v and the original chain table may be different; the newly generated sub-index gamma is*And diIdentifier id (d) ofi) As update tokenSending the data to a cloud server; this operation can delete multiple keywords in the same document at a time.
9. The efficient fault-tolerant dynamic phrase searching method based on forward and backward privacy as claimed in claim 8, wherein the index updating stage specifically comprises:
(1) adding a document: cloud server receivingThen, respectively adding gamma*And xi*Added to γ and ξ;
(2) deleting the document: cloud server receivingThen, deleting the corresponding linked list in gamma and according to id (d)i) Corresponding document d in encrypted document set zetaiDeleting;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210030502.3A CN114531220A (en) | 2022-01-12 | 2022-01-12 | Efficient fault-tolerant dynamic phrase searching method based on forward privacy and backward privacy |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210030502.3A CN114531220A (en) | 2022-01-12 | 2022-01-12 | Efficient fault-tolerant dynamic phrase searching method based on forward privacy and backward privacy |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114531220A true CN114531220A (en) | 2022-05-24 |
Family
ID=81621687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210030502.3A Pending CN114531220A (en) | 2022-01-12 | 2022-01-12 | Efficient fault-tolerant dynamic phrase searching method based on forward privacy and backward privacy |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114531220A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115268799A (en) * | 2022-09-27 | 2022-11-01 | 武汉烜旭软件科技有限公司 | Storage method and device based on cloud service |
CN115292737A (en) * | 2022-10-08 | 2022-11-04 | 成都泛联智存科技有限公司 | Multi-keyword fuzzy search encryption method and system and electronic equipment |
CN116894272A (en) * | 2023-09-08 | 2023-10-17 | 北京数盾信息科技有限公司 | Cloud computing system data processing method based on high-speed encryption technology |
CN117131209A (en) * | 2023-10-26 | 2023-11-28 | 中国传媒大学 | Phrase searching and verifying method and system for encrypted data based on blockchain |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210191990A1 (en) * | 2019-12-20 | 2021-06-24 | Rakuten, Inc. | Efficient cross-modal retrieval via deep binary hashing and quantization |
CN113762077A (en) * | 2021-07-19 | 2021-12-07 | 沈阳工业大学 | Multi-biological-characteristic iris template protection method based on double-hierarchical mapping |
-
2022
- 2022-01-12 CN CN202210030502.3A patent/CN114531220A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210191990A1 (en) * | 2019-12-20 | 2021-06-24 | Rakuten, Inc. | Efficient cross-modal retrieval via deep binary hashing and quantization |
CN113762077A (en) * | 2021-07-19 | 2021-12-07 | 沈阳工业大学 | Multi-biological-characteristic iris template protection method based on double-hierarchical mapping |
Non-Patent Citations (3)
Title |
---|
CHAUDHARI P.等: "Privacy preserving searchable encryption with fine-grained access control", IEEE TRANSACTIONS ON CLOUD COMPUTING, 31 December 2019 (2019-12-31) * |
WANG B 等: "Privacy-preserving Multikeyword Fuzzy Search over Encrypted Data in the Cloud", PROCEEDINGS OF IEEE INFOCOM.TORONTO:INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, 31 December 2014 (2014-12-31) * |
姚寒冰;邢娜娜;周俊伟;李勇华;: "支持结果排序的安全密文检索方法研究", 计算机科学, no. 05, 15 May 2018 (2018-05-15) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115268799A (en) * | 2022-09-27 | 2022-11-01 | 武汉烜旭软件科技有限公司 | Storage method and device based on cloud service |
CN115268799B (en) * | 2022-09-27 | 2022-12-06 | 武汉烜旭软件科技有限公司 | Storage method and device based on cloud service |
CN115292737A (en) * | 2022-10-08 | 2022-11-04 | 成都泛联智存科技有限公司 | Multi-keyword fuzzy search encryption method and system and electronic equipment |
CN115292737B (en) * | 2022-10-08 | 2022-12-09 | 成都泛联智存科技有限公司 | Multi-keyword fuzzy search encryption method and system and electronic equipment |
CN116894272A (en) * | 2023-09-08 | 2023-10-17 | 北京数盾信息科技有限公司 | Cloud computing system data processing method based on high-speed encryption technology |
CN116894272B (en) * | 2023-09-08 | 2023-11-28 | 北京数盾信息科技有限公司 | Cloud computing system data processing method based on high-speed encryption technology |
CN117131209A (en) * | 2023-10-26 | 2023-11-28 | 中国传媒大学 | Phrase searching and verifying method and system for encrypted data based on blockchain |
CN117131209B (en) * | 2023-10-26 | 2024-02-13 | 中国传媒大学 | Phrase searching and verifying method and system for encrypted data based on blockchain |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pasupuleti et al. | An efficient and secure privacy-preserving approach for outsourced data of resource constrained mobile devices in cloud computing | |
Du et al. | Privacy-preserving indexing and query processing for secure dynamic cloud storage | |
CN106815350B (en) | Dynamic ciphertext multi-keyword fuzzy search method in cloud environment | |
Raman et al. | Distributed storage meets secret sharing on the blockchain | |
Wang et al. | Symmetric private information retrieval for MDS coded distributed storage | |
CN114531220A (en) | Efficient fault-tolerant dynamic phrase searching method based on forward privacy and backward privacy | |
US10965448B1 (en) | Dynamic distributed storage for scaling blockchain | |
CN112270006A (en) | Searchable encryption method for hiding search mode and access mode in e-commerce platform | |
US20090113213A1 (en) | System and method for searching encrypted numerical data | |
Persiano et al. | Lower bounds for differentially private RAMs | |
Zhu et al. | A novel verifiable and dynamic fuzzy keyword search scheme over encrypted data in cloud computing | |
Awad et al. | Chaotic searchable encryption for mobile cloud storage | |
Miao et al. | Ranked keyword search over encrypted cloud data through machine learning method | |
Chen et al. | Verifiable dynamic ranked search with forward privacy over encrypted cloud data | |
Jiang et al. | An Efficient Symmetric Searchable Encryption Scheme for Cloud Storage. | |
Rasina Begum et al. | SEEDDUP: a three-tier SEcurE data DedUPlication architecture-based storage and retrieval for cross-domains over cloud | |
Li et al. | Multi-keyword fuzzy search over encrypted cloud storage data | |
Fu et al. | A privacy-preserving fuzzy search scheme supporting logic query over encrypted cloud data | |
Wang et al. | Improved file-injection attacks on searchable encryption using finite set theory | |
Muhammad et al. | A secure data outsourcing scheme based on Asmuth–Bloom secret sharing | |
Tian et al. | A Privacy-Preserving Hybrid Range Search Scheme Over Encrypted Electronic Medical Data in IoT Systems | |
Wang et al. | Secure and efficient similarity retrieval in cloud computing based on homomorphic encryption | |
Zhou et al. | Integrity preserving multi-keyword searchable encryption for cloud computing | |
Xiong et al. | An efficient searchable symmetric encryption scheme for smart grid data | |
CN112328626B (en) | Searchable encryption method facing cloud environment and supporting fuzzy keyword sequencing |
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 |