CN106326360B - A kind of fuzzy keywords-based retrieval method of ciphertext data in cloud environment - Google Patents

A kind of fuzzy keywords-based retrieval method of ciphertext data in cloud environment Download PDF

Info

Publication number
CN106326360B
CN106326360B CN201610651676.6A CN201610651676A CN106326360B CN 106326360 B CN106326360 B CN 106326360B CN 201610651676 A CN201610651676 A CN 201610651676A CN 106326360 B CN106326360 B CN 106326360B
Authority
CN
China
Prior art keywords
data
keyword
vector
index
file
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.)
Active
Application number
CN201610651676.6A
Other languages
Chinese (zh)
Other versions
CN106326360A (en
Inventor
何亨
夏薇
王振宇
张继
金瑜
李鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University of Science and Engineering WUSE
Original Assignee
Wuhan University of Science and Engineering WUSE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University of Science and Engineering WUSE filed Critical Wuhan University of Science and Engineering WUSE
Priority to CN201610651676.6A priority Critical patent/CN106326360B/en
Publication of CN106326360A publication Critical patent/CN106326360A/en
Application granted granted Critical
Publication of CN106326360B publication Critical patent/CN106326360B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

The invention discloses a kind of fuzzy keywords-based retrieval methods of ciphertext data in cloud environment, data owner encrypts file set and generates cryptograph files, and to each file extracting keywords, binary vector group is obtained to keyword binary participle and vectorization, attribute Bloom filter will be inserted into after its dimensionality reduction, index vector is generated, each index vector is encrypted to obtain Security Index, sends Cloud Server for cryptograph files and Security Index;Authorized data consumer or data owner generate query vector, encryption obtains trapdoor, sends it to Cloud Server to inquiry data pick-up keyword, binary participle and vectorization in advance;Cloud Server is inquired to obtain the highest certain amount file of the degree of correlation according to trapdoor and Security Index, returns to data consumer after sequence.The present invention supports the ciphertext of big data quantity to obscure keywords-based retrieval, compares existing method, and index construct and query process are more efficient, ranking results are more acurrate, and effective protection data-privacy.

Description

A kind of fuzzy keywords-based retrieval method of ciphertext data in cloud environment
Technical field
The invention belongs to cloud computings and technical field of information retrieval, more particularly, to ciphertext data in a kind of cloud environment Fuzzy keywords-based retrieval method.
Background technique
Cloud computing can provide the services such as more efficient and cheap calculating, storage and application in internet for user. More and more enterprises and individuals are ready to store data into Cloud Server, and can fetch number again when needed According to.But user stores data into after cloud environment just to lose and directly control to data, and may cause user privacy information Leakage and abuse, such as Google cloud service commercial city there is a phenomenon where leaking data or lose user data.It is stored in cloud Data in environment are faced with bigger safety problem, it will not only prevent network hacker from also to prevent the illegal acquisition of data The only behavior of the snooping sensitive data of cloud service provider or Outsourced database service provider.
It is to ensure number using data encryption since data are stored in half credible or insecure environment in cloud storage According to the basic and effective method of safety.But while to data encryption, difficulty also is brought to the access of data.Due to cloud service Device is half believable, and the encryption and decryption of data can only be completed in user terminal, and data retrieval will consume a large amount of time for counting According in transmission and decryption.Therefore, the ciphertext storage and retrieval method of research efficiently, safe has important practical significance.
The searching ciphertext technology for carrying out keyword search for encryption file is proposed that the program does not have by Song et al. first Any index is constructed, needs to carry out whole ciphertexts linear scan, efficiency is more low (document 1).Song et al. is put forward for the first time It symmetrically can search for encipherment scheme, i.e., the searching ciphertext scheme under DSE arithmetic.The program only considered single keyword Searching ciphertext, efficiency is lower.When user wishes search key, keyword and ciphertext data are linearly subjected to exclusive or behaviour Make.Operating result is compared with verification condition, if meeting verification condition, corresponding ciphertext data are sent to user, If not meeting verification condition, stopping is retrieved.
Boneh et al. propose first it is asymmetric can search for encipherment scheme PEKS, solve when ciphertext is stored in third Keyword searching ciphertext problem when square untrusted server.The program introduces this Cryptography Principles of Bilinear map, user It requires to encrypt operation all keyword uses when upper transmitting file every time, efficiency is not still high (document 2).Then, Boneh et al. introduces the concept based on encryption attribute, and the encryption data with keyword retrieval is established using PEKS, thus with Thinner granularity can be used to control the intensity (document 3) of public key encryption in family.
However, above scheme does not refer to the similarity of keyword and file, the pass that the file that user obtains is inquired with it Keyword may and mismatch.In this regard, Wang et al. considers the information of keyword word frequency, the searching ciphertext side of single keyword is proposed Case.However, the program is not comprehensive the considerations of calculating with file similarity keyword, need to scan all files, while rope The update drawn is more troublesome (document 4).
In the application of reality, the inquiry of accurate keyword is insufficient for the Search Requirement of user.Li et al. people proposes The searching ciphertext scheme of fuzzy keyword, the program are given the possible misspelling of each keyword, are made using editing distance For measurement.The program tentatively realizes the searching ciphertext of fuzzy keyword, but does not support multi-key word to operate, and needs to pre-define Dictionary, space expense is big, and search efficiency is low (document 5).
Wang et al. proposes the searching ciphertext scheme of fuzzy multi-key word, and the program uses local sensitivity Hash and Bu Long Filter method is operated, and does not need dictionary predetermined, search efficiency is high, and the result of return is accurate, but with data The increase of amount, space expense become larger (document 6).
In conclusion can realize the close of the fuzzy multi-key word of safe and efficient support in cloud environment there is no a kind of at present Literary search method, existing relevant programme, which exists, does not support fuzzy query or multi-key word to inquire, and search efficiency is lower, space expense The problems such as larger.
Document 1:Song D X, Wagner D, Perrig A.Practical techniques for searches on encrypted data.Proceedings of IEEE Symposium on Security&Privacy,IEEE Computer Society,Washington,DC,USA,2000.44-55。
Document 2:Boneh D, Crescenzo G D, Ostrovsky R, etal.Public key encryption with keyword search.Proceedings of EUROCRYPT’04,Springer-Verlag,Berlin, Heidelberg,Gemany,2004.506-522。
Document 3:Boneh D, WatersB.Conjunctive, subset, and range queries on encrypted data.Proceedings ofTheory of CryptographyConference,Springer- Verlag,Berlin,Heidelberg,Gemany,2007.535-554。
Document 4:WangC, CaoN, LiJ, etal.Secure ranked keyword search over encrypted cloud data.Proceedings ofIEEE 30thInternational Conference on Distributed Computing Systems(ICDCS),IEEE Computer Society,Washington,DC,USA,2010.253- 262。
Document 5:LiJ, WangQ, WangC, etal.Fuzzy keyword search over encrypted data in cloud computing.Proceedings of IEEE29th International Conference on Computer Communications(INFOCOM),IEEE Computer Society,Washington,DC,USA, 2010.441-445。
Document 6:Wang B, Yu S, Lou W, etal.Privacy-preserving multi-keyword fuzzysearch over encrypted data in the cloud.Proceedings of IEEE33rd International Conference on Computer Communications(INFOCOM),IEEE Computer Society,Washington,DC,USA,2014.2112-2120。
Summary of the invention
Aiming at the above defects or improvement requirements of the prior art, the present invention provides under big data quantity in a kind of cloud environment The fuzzy keywords-based retrieval method of ciphertext data.
The technical scheme adopted by the invention is that: a kind of fuzzy keywords-based retrieval method of ciphertext data in cloud environment, Characterized by comprising the following steps:
Step 1: initialization;
Data owner generates a security key using random security parameter;
Step 2: generating index;
Data owner formulates file set according to self-demand, generates to file extracting keywords each in set crucial Set of words carries out binary participle and vectorization to each keyword, obtains binary vector group, and construct attribute for each file Index of the Bloom filter as file to binary vector group dimensionality reduction and is inserted into Bloom filter using MinHash algorithm, generates The index vector of each file;
Step 3: file encryption;
Data owner encrypts file set using AES or DES algorithm, generates cryptograph files, and uploaded To Cloud Server;
Step 4: generating Security Index;
Data owner is encrypted using index vector of the security key generated in step 1 to file in step 2, raw At Security Index, and it is uploaded to Cloud Server;
Step 5: generating trapdoor;
If data consumer is unauthorized user, the data of inquiry are sent to data owner, data possess Person obtains binary vector group, is inserted into attribute to inquiry data pick-up keyword to keyword binary participle and vectorization Bloom filter generates query vector, and is encrypted according to the security key generated in step 1 to query vector, generates and falls into Door returns to data consumer;
If data consumer is authorized user, the security key generated in the step 1 that then be used directly generates trapdoor;
Step 6: inquiry;
Trapdoor is sent Cloud Server by data consumer, and Cloud Server is the request of user according to trapdoor and Security Index It is inquired, the result of preceding k highest scoring is returned into data consumer, k >=1.
Preferably, the specific implementation of step 1 includes following sub-step:
Step 1.1: data owner generates a random security parameter;
Step 1.2: two invertible matrix being generated according to the security parameter of generation, as cipher key matrix;
Step 1.3: generating security key.
Preferably, the specific implementation of step 2 includes following sub-step:
Step 2.1: data owner formulates file set according to self-demand;
Step 2.2: data owner carries out syntactic analysis and morphological analysis to each file in file set, extracts and closes Keyword obtains the set of keyword;
Step 2.3: data owner carries out binary participle to each keyword;
Step 2.4: the binary participle of keyword is carried out vectorization by data owner, obtains binary vector group;
Step 2.5: data owner is that file constructs index of the attribute Bloom filter as file;
Step 2.6: data owner carries out dimensionality reduction to the corresponding binary vector group of each file using MinHash algorithm, Using Jaccard distance as measuring similarity, the binary vector group of similarity within a preset range is hashing onto the grand mistake of attribute cloth It in the same address sequence of filter and counts, the value of obtained Bloom filter is the index vector of each file.
Preferably, the specific implementation of step 3 includes following sub-step:
Step 3.1: data owner encrypts file set using AES or DES algorithm, generates cryptograph files;
Step 3.2: cryptograph files are uploaded to Cloud Server by data owner.
Preferably, the specific implementation of step 4 includes following sub-step:
Step 4.1: the index vector of each file is followed default rule and is decomposed into two vectors by data owner;
Step 4.2: data owner encrypts file index vector using the security key generated in step 1;Institute Stating security key includes two invertible matrix, and the vector after being decomposed respectively multiplied by two using the transposition of two invertible matrix is obtained To the Security Index vector of each file, all Security Index vectors constitute Security Index;
Step 4.3: Security Index is uploaded to Cloud Server by data owner.
Preferably, the specific implementation of step 5 includes following sub-step:
Step 5.1: judging whether data consumer is authorized in advance;
If so, executing following step 5.11;
If it is not, then executing following step 5.2;
Step 5.2: the data of inquiry are sent to data owner by data consumer;
Step 5.3: data owner obtains keyword set to inquiry data pick-up keyword;
Step 5.4: data owner carries out binary participle to each keyword in keyword set;
Step 5.5: data owner is to each keyword vectorization after participle;
Step 5.6: data owner is that inquiry data generate an attribute Bloom filter;
Step 5.7: data owner use with MinHash function identical in step 2 to the vector of each keyword into Row calculates, and is inserted into Bloom filter, generates the query vector of inquiry data;
Step 5.8: query vector is followed default rule and is decomposed into two vectors by data owner;
Step 5.9: data owner encrypts query vector using cipher key matrix, using inverse of a matrix respectively multiplied by Vector after two decomposition, obtains the trapdoor of inquiry data;
Step 5.10: the trapdoor of generation is returned to data consumer by data owner, this process terminates;
Step 5.11: data consumer obtains keyword set to inquiry data pick-up keyword;Data consumer is to pass Each keyword in keyword set carries out binary participle;Data consumer is to each keyword vectorization after participle;Data User is that inquiry data generate an attribute Bloom filter;Data consumer's use and MinHash identical in step 2 Function calculates the vector of each keyword, is inserted into Bloom filter, generates the query vector of inquiry data;Number Query vector is followed into default rule according to user and is decomposed into two vectors;Data consumer using cipher key matrix to inquiry to Amount is encrypted, and the vector after being decomposed respectively multiplied by two using inverse of a matrix obtains the trapdoor of inquiry data.
Preferably, the specific implementation of step 6 includes following sub-step:
Step 6.1: trapdoor is sent Cloud Server by data consumer;
Step 6.2: the inner product of Cloud Server calculating trapdoor and Security Index;
Step 6.3: Cloud Server is ranked up the inner product of calculating, the highest result of k inner product before finding;
Step 6.4: the result found is returned to data consumer by Cloud Server.
Preferably, the method also includes:
Step 7: data set updates;
When needing to carry out data set update, data owner according to actual needs increases data set, delete or New cryptograph files and Security Index are sent to Cloud Server according to index operation change index is generated by modification operation.
Compared with prior art, the present invention has the following beneficial effects: realizing the fuzzy of ciphertext data in cloud environment Keywords-based retrieval, Cloud Server can be according to user demands, and inquiring includes the ciphertext for specifying multiple keywords, support mould Keyword query is pasted, and any information relevant to data and inquiry will not be revealed to Cloud Server and other attackers;Make Index vector and query vector are constructed with attribute Bloom filter and MinHash algorithm, so that index construct and query process More efficiently, and ranking results are more accurate;The storage and retrieval of this method ciphertext data suitable for cloud environment have height Safety, reliability, recall precision and accuracy rate.
Detailed description of the invention
Fig. 1 is the overall flow figure of the embodiment of the present invention;
Fig. 2 is the refined flow chart that the index stage is generated in the embodiment of the present invention;
Fig. 3 is to generate in the index stage file keyword set being mapped to the grand filtering of attribute cloth in the embodiment of the present invention The exemplary diagram of device;
Fig. 4 is the refined flow chart that the Security Index stage is generated in the embodiment of the present invention;
Fig. 5 is the refined flow chart that the trapdoor stage is generated in the embodiment of the present invention;
Fig. 6 is in the generation query vector stage that searching keyword compound mapping is grand to attribute cloth in the embodiment of the present invention The exemplary diagram of filter;
Fig. 7 is the refined flow chart of inquiry phase in the embodiment of the present invention.
Specific embodiment
In order to make the objectives, technical solutions, and advantages of the present invention clearer, with reference to the accompanying drawings and embodiments, right The present invention is further elaborated.It should be appreciated that described herein, specific examples are only used to explain the present invention, not For limiting the present invention.
Just technical term of the invention is explained and illustrated first below:
Data owner: the producer of data needs to be stored in Cloud Server after owned data encryption, will Data sharing gives other people, and formulates the sharing object of certain access strategy determination data;
Key: the parameter inputted in converting plaintext into ciphertext or the algorithm for converting ciphertext into plaintext;
File set: data owner needs to be uploaded to the data acquisition system of Cloud Server;
Index: the data of the set and these values of physical label in corresponding Compass of a column or several train values in some table The logical pointer inventory of page;
Security Index: encrypted index;
Cloud Server: the file set of storing data owner loyal can execute data owner and data consumer's hair Operation requests out, but file content can be peeped in conditions permit;
Data consumer: the data being stored in Cloud Server to data owner are needed to retrieve;
Jaccard distance: for measuring the otherness between two set, it is the supplementary set of Jaccard similarity factor, quilt It is defined as 1 and subtracts Jaccard similarity factor;And Jaccard similarity factor is used to measure the similitude between two set, its quilt The element number of two set intersections is defined as divided by the element number of union;
MinHash algorithm: being measurement with Jaccard distance for quickly estimating the similarity of set;
Attribute Bloom filter: be used to efficiently judge whether some element belongs to certain under the premise of low error rate A set is made of one group of hash function and a vector data structure, each is a small counter to vector, basic Principle is: calculating an address sequence to data object each in the set S comprising j data object with k hash function {hj1,hj2,…,hjk, the Counter Value in vector corresponding address sequence is then added 1, so that all data in S be mapped Into Bloom filter.
The present invention will be further described with attached drawing with reference to embodiments.
Fig. 1 is the overall flow figure of the fuzzy keywords-based retrieval method of ciphertext data in cloud environment of the present invention.Such as Fig. 1 institute Show, the fuzzy keywords-based retrieval method of ciphertext data is the data retrieval situation applied in cloud storage in cloud environment of the present invention In, which includes three data owner, data consumer and Cloud Server entities.Firstly, data owner is file set It builds jointly and founds searchable Security Index, and the file set of encryption and Security Index are uploaded to Cloud Server;Then, data make When user carries out data retrieval, if uncommitted, contact data owner in advance, data owner is that legitimate user generates it The trapdoor of query statement then voluntarily generates trapdoor if authorized user;Finally, trapdoor is sent to cloud service by data consumer Device, Cloud Server are inquired according to the request that trapdoor and Security Index are user, and the file that will match to, which returns to data, to be made User.In other embodiments, the work for establishing Security Index can also give trusted third party's server to complete, together When, Mahout distributed data processing platform also can be used in the construction work of index, is opened with mitigating the calculating of data owner Pin improves index construct efficiency.
In the present embodiment, data owner is terminal (PC, PDA, smart phone etc.) user X, he stores in a device Data include document, photo, recording or speech message, video recording etc..Existing data owner needs to reach what Cloud Server was shared Data are file set F;Data consumer has 3 users, respectively A, B, C, needs to access set F.
In cloud environment of the present invention ciphertext data fuzzy keywords-based retrieval method the following steps are included:
Step 1: initial phase;Data owner generates a security key SK=(M using random security parameter n1, M2,S);Step 1 specifically includes following sub-step:
Step 1.1: data owner generates random security parameter a n, n and is used to ensure the safety of retrieval;Due to adopting It is retrieved with the method based on inner product of vectors, n should be consistent with vector dimension;
Step 1.2: two n rank invertible matrix M are generated according to n1, M2, as cipher key matrix;
Step 1.3: generating private key SK=(M1,M2, S), wherein { 0,1 } S=nIt is one n vectors.
Step 2: generating the index stage;Data owner formulates file set according to self-demand, to text each in set Part extracting keywords generate keyword set, carry out binary participle and vectorization to each keyword, obtain binary vector group, and Index of the attribute Bloom filter as file is constructed for each file, using MinHash algorithm to binary vector group dimensionality reduction And it is inserted into Bloom filter, generate the index vector of each file;As shown in Fig. 2, step 2 specifically includes following sub-step:
Step 2.1: data owner formulates file set F according to self-demand;
In the present embodiment, data owner X possesses a series of files, needs to reach the shared file of Cloud Server for text Part set F, including 5 files, Fi∈ F, i ∈ { 1 ..., 5 }, the content of F is as shown in table 1 below:
The content of 1 file set F of table
In order to more clearly describe committed step of the invention, the present embodiment is carried out by prime example of English file content Explanation;It is as shown in table 2 below for Chinese file set F ', such as content:
The content of 2 file set F ' of table
File Content
F1 Basketball is round.
F2 What football was also round.
F3 We like playing basketball.
F4 We also like playing soccer.
F5 Football and basketball are all balls.
It is processed similarly, difference will be described in sub-step 2.2;
Step 2.2: data owner carries out syntactic analysis and morphological analysis to each file in file set F, extracts Keyword obtains the set W={ w comprising j keyword1,w2,…,wj};
In the present embodiment, the keyword set of file set F is as shown in table 3 below:
The keyword set of 3 file set F of table
For Chinese file set F ', after obtaining keyword set, the full cutting of all keywords is converted into its correspondence Five-stroke form code, it is as shown in table 4 below:
The keyword set of 4 file set F ' of table
File Keyword Five-stroke form code
F1 Basketball tjtl,gfiy
F2 Football khu,gfiy
F3 We, like, basketball trnt,wun,fkuk,cqwy,tjtl,gfiy
F4 We, like, football trnt,wun,fkuk,cqwy,khu,gfiy
F5 Football, basketball, ball khu,gfiy,tjtl,gfiy,gfiy
Next operation carries out the five-stroke form code of keyword, and specific steps and the operation to English keyword are complete Identical, so it will not be repeated;
Step 2.3: data owner is to each keyword wjCarry out binary participle;
In the present embodiment, to each keyword wjBinary participle is carried out, such as keyword network is segmented by binary It is afterwards set { ne, et, tw, wo, or, rk };
Step 2.4: the binary participle of keyword is carried out vectorization by data owner, obtains binary vector group;
In the present embodiment, using 262The vector of position indicates the binary vector group of keyword, each element generation in vector One kind of 26 letters of table permutation and combination two-by-two, initial value are all set as 0, if corresponding element is present in the binary point of given keyword In word, then this element value is set as 1, obtains binary vector group, such as to the binary participle set of keyword network ne, Et, tw, wo, or, rk } it can be expressed as binary vector { 1 ..., 1 ..., 1,1 ..., 1,1,0 }, the netword's of misspelling Binary participle collection is combined into { ne, et, tw, wo, or, rd }, can be expressed as binary vector { 1 ..., 1 ..., 1,1 ..., 1,0,1 }, This binary vector can indicate any word, and have high tolerance to misspelling, and the misspellings of a keyword are all It can be mapped as a binary vector, and keep lower difference with original vector;
Step 2.5: data owner is file FiThe attribute Bloom filter for constructing one n, the rope as file Draw;
Step 2.6: data owner carries out dimensionality reduction to the corresponding binary vector group of each file using MinHash algorithm, Using Jaccard distance as measuring similarity, the binary vector group of similarity in a certain range is hashing onto the grand mistake of attribute cloth It in the same address sequence of filter and counts, the value of obtained Bloom filter is the index vector of each file indexi
In the present embodiment, with the similarity between Jaccard distance metric vector;For two 0-1 vectors, they it Between Jaccard distance calculation formula are as follows: D=1-f11/(f11+f00+f10+f01), wherein f11Indicate two vector same positions It is all the number of 1 appearance, f00Indicate that two vector same positions are all the number of 0 appearance, f10Indicate one vector of same position It is 1, another vector is 0 number occurred, f01It is then on the contrary;D is smaller, indicates that the similarity between two vectors is higher;When two When D between a vector is less than specified threshold value, they will be hashing onto the same address sequence of attribute Bloom filter;
As shown in figure 3, with k=2 hash function respectively to j=4 keyword computer, network, data, Network } binary vector calculated, obtain their address sequence { h in attribute Bloom filter vector11, h12, { h21,h22, { h31,h32, { h41,h42, wherein network occurs twice, therefore they are hashing onto same address sequence In, i.e. { h21,h22}={ h41,h42};
Each due to attribute Bloom filter by standard Bloom filter vector is extended to a small counter, All counter initial values are all set as 0, therefore when element to be inserted, the value of k counter in corresponding address sequence is distinguished Add 1, when deleting element, corresponding k Counter Value is subtracted 1 respectively, so that the compound mapping of file keyword has been arrived meter Value in number type Bloom filter to get the Bloom filter arrived is the index vector of this document.Using this property, can incite somebody to action Weight of the counting of keyword as keyword.
Step 3: the file encryption stage;Data owner encrypts file set using AES or DES algorithm, generates Cryptograph files, and it is uploaded to Cloud Server, step 3 specifically includes following sub-step:
Step 3.1: data owner encrypts file set F using AES or DES algorithm, generates cryptograph files collection Close E;
Step 3.2: cryptograph files set E is uploaded to Cloud Server by data owner.
Step 4: generating the Security Index stage;Data owner is using the security key generated in step 1 to step 2 Chinese The index vector of part is encrypted, and generates Security Index, and be uploaded to Cloud Server, as shown in figure 4, step 4 is specifically wrapped Include following sub-step:
Step 4.1: data owner uses the key SK=(M generated1,M2, S) and by the index vector of each file indexiFollowing following regular break is two vector indexi' and indexi":
Successively traverse vector S={ 0,1 }nEach, be denoted as S [t], and indexi[t], indexi' [t], indexi″ [t] respectively indicates each of corresponding vector, and t ∈ { 1 ..., n } then has
Rule 1: as S [t]=1, indexi' [t]=indexi" [t]=indexi[t];
Rule 2: as S [t]=0, indexi' [t]=indexi[t]/2+r, indexi" [t]=indexi[t]/2-r, R is a random number;
Step 4.2: data owner uses cipher key matrix M1,M2The index vector of each file is encrypted, is used M1 T, M2 TRespectively multiplied by the vector index after decompositioni', indexi", obtain the Security Index vector I of filei= {M1 Tindexi',M2 Tindexi", all Security Index vectors constitute Security Index I;
Step 4.3: Security Index I is uploaded to Cloud Server by data owner.
Step 5: generating the trapdoor stage;If data consumer is unauthorized user, the data of inquiry are sent to Data owner, data owner to inquiry data pick-up keyword, to keyword binary participle and vectorization, obtain binary to Amount group is inserted into attribute Bloom filter, generates query vector, and according to the security key generated in step 1 to inquiry Vector is encrypted, and is generated trapdoor and is returned to data consumer;If data consumer is authorized user, then be used directly step The security key generated in 1 generates trapdoor;As shown in figure 5, step 5 specifically includes following sub-step:
Step 5.1: judging whether data consumer is authorized in advance;
If so, executing following step 5.11;
If it is not, then executing following step 5.2;
Step 5.2: the data q of inquiry is sent to data owner by data consumer;
In the present embodiment, the data q={ conputer netword } that will be inquired by user A is sent to data and possesses Person X;
Step 5.3: data owner obtains keyword set W to inquiry data q extracting keywordsq
In the present embodiment, the keyword set W that data owner X obtains inquiry data q extracting keywordsq= {conputer,netword};
Step 5.4: data owner is to keyword set WqIn each keyword carry out binary participle;
In the present embodiment, data consumer X is to keyword set WqIn each keyword carry out binary participle, wherein wq1It is set { co, on, np, pu, ut, te, er }, w after participle for conputerq2For netword, after participle for set ne, et,tw,wo,or,rd};
Step 5.5: data owner is to each keyword vectorization after participle;
In the present embodiment, method identical with step 2.4, uses 262The vector of position indicates the binary vector of keyword Group, by wq1Vector turns to { 1 ..., 1 ..., 1,1 ..., 1 ..., 1,0,1 }, wq2Vector turn to 1 ..., 1 ..., 1,1 ..., 1, 0,1};
Step 5.6: data owner is the attribute Bloom filter inquired data q and generate one n;
Step 5.7: data owner use with MinHash function identical in step 2 to the vector of each keyword into Row calculates, and is inserted into Bloom filter, generates the query vector Q of inquiry data q;
In the present embodiment, when two keywords, which correspond to the distance of the Jaccard between vector, is less than specified threshold value, i.e., Crucial Word similarity is high, they are hashing onto the same address sequence of Bloom filter.As shown in fig. 6, keyword wq1With pass Jaccard distance between keyword computer vector is D1=0.01, i.e., their similarities are 0.99, therefore wq1With computer quilt It is hashing onto same address sequence;Keyword wq2Jaccard distance between keyword network vector is D2=0.009, i.e., Their similarities are 0.991, therefore wq2Same address sequence is hashing into network.Method identical with step 2.6, will close Keyword set WqIn each keyword be mapped in attribute Bloom filter, the value of obtained Bloom filter is to inquire The query vector Q of data q;
Step 5.8: data owner uses the key SK=(M generated1,M2, S) by query vector Q follow it is following rule point Solution is two vectors Q' and Q ":
Successively traverse vector S={ 0,1 }nEach, be denoted as S [t], and Q [t], Q'[t], Q " [t] respectively indicates correspondence Each of vector, t ∈ { 1 ..., n }, then have
Rule 3: as S [t]=0, Q'[t]=Q " [t]=Q [t];
Rule 4: as S [t]=1, Q'[t]=Q [t]/2+r ', Q " [t]=Q [t]/2-r ', r ' is a random number;
Step 5.9: data owner uses cipher key matrix M1,M2Query vector is encrypted, M is used1 -1, M2 -1Respectively Multiplied by the vector Q', Q " after decomposition, the trapdoor T={ M of inquiry data q is obtained1 -1Q',M2 -1Q″};
Step 5.10: the trapdoor T of generation is returned to data consumer by data owner, this process terminates;
Step 5.11: data consumer obtains keyword set to inquiry data pick-up keyword;Data consumer is to pass Each keyword in keyword set carries out binary participle;Data consumer is to each keyword vectorization after participle;Data User is that inquiry data generate an attribute Bloom filter;Data consumer's use and MinHash identical in step 2 Function calculates the vector of each keyword, is inserted into Bloom filter, generates the query vector of inquiry data;Number Query vector is followed into default rule according to user and is decomposed into two vectors;Data consumer using cipher key matrix to inquiry to Amount is encrypted, and the vector after being decomposed respectively multiplied by two using inverse of a matrix obtains the trapdoor T of inquiry data.
Step 6: inquiry phase;Trapdoor T is sent Cloud Server by data consumer, and Cloud Server is according to T and safety cable Draw the request that I is user to inquire, the result of preceding k highest scoring is returned into data consumer, as shown in fig. 7, step 6 Specifically include following sub-step:
Step 6.1: trapdoor T is sent Cloud Server by data consumer;
Step 6.2: the inner product P of Cloud Server calculating T and Security Index I;
In the present embodiment, file F1Middle keyword computer occurs 2 times, i.e. the weight of computer is 2, crucial Word network occurs 3 times, i.e. the weight of network is 3, then file F1Index vector index1Are as follows:
2 3 2 1 3 1
Cloud Server calculates trapdoor T and file F1Security Index vector I1Inner product are as follows:
(M1 Tindex1′)T·M1 -1Q′+(M2 Tindex1″)T·M2 -1Q "=index1T·Q′+index1TQ "= index1 T·Q
Similarly, the inner product of the Security Index vector of trapdoor T and alternative document can be calculated;
Step 6.3: Cloud Server is ranked up the inner product of calculating, and k inner product is highest as a result, k >=1 before finding;
In the present embodiment, k=3 is enabled, is ranked up according to inner product P, there is P1=P2>P3>P4>P5, therefore preceding 3 inner product highests Result be file F1、F2、F3
Step 6.4: the result found is returned to data consumer by Cloud Server;
In the present embodiment, Cloud Server is by file F1、F2、F3Return to data consumer.
Step 7: the data set more new stage;When needing to carry out data set update, data owner is right according to actual needs Data set is increased, operation is deleted or modified, since this method does not need dictionary predetermined, it is only necessary to according to generation rope Draw operation change index, new cryptograph files and Security Index are sent to Cloud Server;
In the present embodiment, Cloud Server is to file F1After being increased, operation being deleted or modified, to updated F1Weight It is new to execute step 2, step 3, step 4, and new cryptograph files and Security Index are sent to Cloud Server.
The present invention carries out dimensionality reduction to keyword set by introducing MinHash algorithm, reduces space expense and similarity meter Calculation amount improves search efficiency, while using attribute Bloom filter as index structure, being counted using it indicates that keyword is weighed Weight, so that result ranking is more accurate.
As it will be easily appreciated by one skilled in the art that the foregoing is merely illustrative of the preferred embodiments of the present invention, not to The limitation present invention, any modifications, equivalent replacements and improvementsmade within the spirit and principles of the invention, etc. should all include Within protection scope of the present invention.

Claims (7)

1. a kind of fuzzy keywords-based retrieval method of ciphertext data in cloud environment, which comprises the following steps:
Step 1: initialization;
Data owner generates a security key;
Step 2: generating index;
Data owner formulates file set according to self-demand, generates keyword set to file extracting keywords each in set It closes, binary participle and vectorization is carried out to each keyword, obtain binary vector group, and grand for each file building attribute cloth Index of the filter as file to binary vector group dimensionality reduction and is inserted into Bloom filter, generates the index vector of each file;
Specific implementation includes following sub-step:
Step 2.1: data owner formulates file set according to self-demand;
Step 2.2: data owner carries out syntactic analysis and morphological analysis to each file in file set, extracts crucial Word obtains the set of keyword;
Step 2.3: data owner carries out binary participle to each keyword;
Step 2.4: the binary participle of keyword is carried out vectorization by data owner, obtains binary vector group;
Step 2.5: data owner is that file constructs index of the attribute Bloom filter as file;
Step 2.6: data owner carries out dimensionality reduction to the corresponding binary vector group of each file using MinHash algorithm, with Jaccard distance is measuring similarity, and the binary vector group of similarity within a preset range is hashing onto the grand filtering of attribute cloth It in the same address sequence of device and counts, the value of obtained Bloom filter is the index vector of each file;
Step 3: file encryption;
Data owner encrypts file set, generates cryptograph files, and be uploaded to Cloud Server;
Step 4: generating Security Index;
Data owner is encrypted using index vector of the security key generated in step 1 to file in step 2, generates peace Full index, and it is uploaded to Cloud Server;
Step 5: generating trapdoor;
If data consumer is unauthorized user, the data of inquiry are sent to data owner, data owner couple Data pick-up keyword is inquired, to keyword binary participle and vectorization, binary vector group is obtained, it is grand to be inserted into attribute cloth Filter generates query vector, and is encrypted according to the security key generated in step 1 to query vector, generates trapdoor and returns Back to data consumer;
If data consumer is authorized user, the security key generated in the step 1 that then be used directly generates trapdoor;
Step 6: inquiry;
Trapdoor is sent Cloud Server by data consumer, and Cloud Server is carried out according to the request that trapdoor and Security Index are user Inquiry, will beforekThe result of a highest scoring returns to data consumer,k ≥ 1。
2. the fuzzy keywords-based retrieval method of ciphertext data in cloud environment according to claim 1, which is characterized in that step Rapid 1 specific implementation includes following sub-step:
Step 1.1: data owner generates a random security parameter;
Step 1.2: two invertible matrix being generated according to the security parameter of generation, as cipher key matrix;
Step 1.3: generating security key.
3. the fuzzy keywords-based retrieval method of ciphertext data in cloud environment according to claim 1, which is characterized in that step Rapid 3 specific implementation includes following sub-step:
Step 3.1: data owner encrypts file set using AES or DES algorithm, generates cryptograph files;
Step 3.2: cryptograph files are uploaded to Cloud Server by data owner.
4. the fuzzy keywords-based retrieval method of ciphertext data in cloud environment according to claim 1, which is characterized in that step Rapid 4 specific implementation includes following sub-step:
Step 4.1: the index vector of each file is followed default rule and is decomposed into two vectors by data owner;
Step 4.2: data owner encrypts file index vector using the security key generated in step 1;The peace Full key includes two invertible matrix, and the vector after being decomposed respectively multiplied by two using the transposition of two invertible matrix is obtained every The Security Index vector of a file, all Security Index vectors constitute Security Index;
Step 4.3: Security Index is uploaded to Cloud Server by data owner.
5. the fuzzy keywords-based retrieval method of ciphertext data in cloud environment according to claim 1, which is characterized in that step Rapid 5 specific implementation includes following sub-step:
Step 5.1: judging whether data consumer is authorized in advance;
If so, executing following step 5.11;
If it is not, then executing following step 5.2;
Step 5.2: the data of inquiry are sent to data owner by data consumer;
Step 5.3: data owner obtains keyword set to inquiry data pick-up keyword;
Step 5.4: data owner carries out binary participle to each keyword in keyword set;
Step 5.5: data owner is to each keyword vectorization after participle;
Step 5.6: data owner is that inquiry data generate an attribute Bloom filter;
Step 5.7: data owner uses and counts with MinHash function identical in step 2 to the vector of each keyword It calculates, is inserted into Bloom filter, generate the query vector of inquiry data;
Step 5.8: query vector is followed default rule and is decomposed into two vectors by data owner;
Step 5.9: data owner encrypts query vector using cipher key matrix, using inverse of a matrix respectively multiplied by two Vector after decomposition obtains the trapdoor of inquiry data;
Step 5.10: the trapdoor of generation is returned to data consumer by data owner, this process terminates;
Step 5.11: data consumer obtains keyword set to inquiry data pick-up keyword;Data consumer is to keyword Each keyword in set carries out binary participle;Data consumer is to each keyword vectorization after participle;Data use Person is that inquiry data generate an attribute Bloom filter;Data consumer's use and MinHash function identical in step 2 The vector of each keyword is calculated, is inserted into Bloom filter, the query vector of inquiry data is generated;Data make Query vector is followed default rule and is decomposed into two vectors by user;Data consumer using cipher key matrix to query vector into Row encryption, the vector after being decomposed respectively multiplied by two using inverse of a matrix, obtains the trapdoor of inquiry data.
6. the fuzzy keywords-based retrieval method of ciphertext data in cloud environment according to claim 1, which is characterized in that step Rapid 6 specific implementation includes following sub-step:
Step 6.1: trapdoor is sent Cloud Server by data consumer;
Step 6.2: the inner product of Cloud Server calculating trapdoor and Security Index;
Step 6.3: Cloud Server is ranked up the inner product of calculating, before findingkA highest result of inner product;
Step 6.4: the result found is returned to data consumer by Cloud Server.
7. according to claim 1 in cloud environment described in -6 any one ciphertext data fuzzy keywords-based retrieval method, It is characterized in that, the method also includes:
Step 7: data set updates;
When needing to carry out data set update, data owner according to actual needs increases data set, is deleted or modified New cryptograph files and Security Index are sent to Cloud Server according to index operation change index is generated by operation.
CN201610651676.6A 2016-08-10 2016-08-10 A kind of fuzzy keywords-based retrieval method of ciphertext data in cloud environment Active CN106326360B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610651676.6A CN106326360B (en) 2016-08-10 2016-08-10 A kind of fuzzy keywords-based retrieval method of ciphertext data in cloud environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610651676.6A CN106326360B (en) 2016-08-10 2016-08-10 A kind of fuzzy keywords-based retrieval method of ciphertext data in cloud environment

Publications (2)

Publication Number Publication Date
CN106326360A CN106326360A (en) 2017-01-11
CN106326360B true CN106326360B (en) 2019-04-09

Family

ID=57740807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610651676.6A Active CN106326360B (en) 2016-08-10 2016-08-10 A kind of fuzzy keywords-based retrieval method of ciphertext data in cloud environment

Country Status (1)

Country Link
CN (1) CN106326360B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622212A (en) * 2017-10-13 2018-01-23 上海海事大学 A kind of mixing cipher text retrieval method based on double trapdoors

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815350B (en) * 2017-01-19 2020-02-14 安徽大学 Dynamic ciphertext multi-keyword fuzzy search method in cloud environment
CN107341177B (en) * 2017-05-24 2019-12-06 福建网龙计算机网络信息技术有限公司 fuzzy search method and device for contact
CN107480163B (en) * 2017-06-19 2020-03-24 西安电子科技大学 Efficient ciphertext image retrieval method supporting privacy protection in cloud environment
US20210081562A1 (en) * 2017-09-12 2021-03-18 Mitsubishi Electric Corporation Data processing apparatus, data processing method, and computer readable medium
CN107885705B (en) * 2017-10-09 2020-12-15 中国科学院信息工程研究所 Efficient and extensible safe document similarity calculation method and device
CN108062485A (en) * 2017-12-15 2018-05-22 北京工业大学 A kind of fuzzy keyword searching method of multi-service oriented device multi-user
CN108388807B (en) * 2018-02-28 2020-05-22 华南理工大学 Efficient and verifiable multi-keyword sequencing searchable encryption method supporting preference search and logic search
CN108512840A (en) * 2018-03-21 2018-09-07 杭州弗兰科信息安全科技有限公司 One kind is based on letting out the encrypted cipher text retrieval method of sequence
CN108632248B (en) * 2018-03-22 2019-10-29 平安科技(深圳)有限公司 Data ciphering method, data query method, apparatus, equipment and storage medium
CN108595554B (en) * 2018-04-11 2020-06-30 湖南大学 Multi-attribute range query method based on cloud environment
CN108710698B (en) * 2018-05-23 2021-10-15 湖南大学 Multi-keyword fuzzy query method based on ciphertext under cloud environment
CN109255244B (en) * 2018-07-16 2020-08-11 哈尔滨工业大学(深圳) Data encryption method and device and data encryption retrieval system
CN109582818B (en) * 2018-11-07 2020-03-27 南京邮电大学 Music library cloud retrieval method based on searchable encryption
CN110138561B (en) * 2019-03-22 2021-09-17 西安电子科技大学 Efficient ciphertext retrieval method based on CP-ABE automatic correction and cloud computing service system
CN110390203B (en) * 2019-07-25 2023-03-24 西南交通大学 Strategy hidden attribute-based encryption method capable of verifying decryption authority
CN110727951B (en) * 2019-10-14 2021-08-27 桂林电子科技大学 Lightweight outsourcing file multi-keyword retrieval method and system with privacy protection function
CN111026788B (en) * 2019-11-04 2023-04-21 武汉科技大学 Homomorphic encryption-based multi-keyword ciphertext ordering and retrieving method in hybrid cloud
CN111930688B (en) * 2020-09-23 2021-01-08 西南石油大学 Method and device for searching secret data of multi-keyword query in cloud server
CN112257455B (en) * 2020-10-21 2024-04-30 西安电子科技大学 Semantic understanding ciphertext space keyword retrieval method and system
CN112233666A (en) * 2020-10-22 2021-01-15 中国科学院信息工程研究所 Method and system for storing and retrieving Chinese voice ciphertext in cloud storage environment
CN112632598B (en) * 2020-12-09 2022-10-18 西安电子科技大学 Encrypted data retrieval and sharing method, system, medium, equipment and application
CN112528064B (en) * 2020-12-10 2022-12-13 西安电子科技大学 Privacy-protecting encrypted image retrieval method and system
CN112966018B (en) * 2021-03-03 2022-04-01 北京邮电大学 Fuzzy retrieval method based on mixed cloud
CN113132345B (en) * 2021-03-04 2022-07-26 北京航空航天大学 Agent privacy set intersection method with searchable function
CN112966086A (en) * 2021-03-12 2021-06-15 湖南大学 Verifiable fuzzy search method based on position sensitive hash function
CN114201532A (en) * 2021-12-09 2022-03-18 富途网络科技(深圳)有限公司 Data query method, device, medium and equipment based on ESOP system
CN115048432B (en) * 2022-08-02 2024-04-26 西南石油大学 Fuzzy keyword public auditing method based on bloom filter
CN116701493B (en) * 2023-08-07 2023-10-31 中电信量子科技有限公司 Database operation method supporting fuzzy query and user side
CN117932684B (en) * 2024-03-18 2024-06-14 南方电网科学研究院有限责任公司 Smart grid data encryption method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938767A (en) * 2012-11-13 2013-02-20 西安电子科技大学 Efficient verified fuzzy key word searching method based on cloud data subcontract system
CN103995900A (en) * 2014-06-10 2014-08-20 福建师范大学 Ciphertext cloud data inquiring method
US9031229B1 (en) * 2012-03-26 2015-05-12 Newline Software, Inc. Computer-implemented system and method for providing data privacy in a cloud using discrete homomorphic encryption
CN105681280A (en) * 2015-12-29 2016-06-15 西安电子科技大学 Searchable encryption method based on Chinese in cloud environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9031229B1 (en) * 2012-03-26 2015-05-12 Newline Software, Inc. Computer-implemented system and method for providing data privacy in a cloud using discrete homomorphic encryption
CN102938767A (en) * 2012-11-13 2013-02-20 西安电子科技大学 Efficient verified fuzzy key word searching method based on cloud data subcontract system
CN103995900A (en) * 2014-06-10 2014-08-20 福建师范大学 Ciphertext cloud data inquiring method
CN105681280A (en) * 2015-12-29 2016-06-15 西安电子科技大学 Searchable encryption method based on Chinese in cloud environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于二元中文分词的高效检索算法研究;宗乾进;《图书情报工作》;20091120;正文第68-70页

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622212A (en) * 2017-10-13 2018-01-23 上海海事大学 A kind of mixing cipher text retrieval method based on double trapdoors

Also Published As

Publication number Publication date
CN106326360A (en) 2017-01-11

Similar Documents

Publication Publication Date Title
CN106326360B (en) A kind of fuzzy keywords-based retrieval method of ciphertext data in cloud environment
Fu et al. Enabling central keyword-based semantic extension search over encrypted outsourced data
Xia et al. Secure semantic expansion based search over encrypted cloud data supporting similarity ranking
Guan et al. Cross-lingual multi-keyword rank search with semantic extension over encrypted data
Xia et al. A secure and dynamic multi-keyword ranked search scheme over encrypted cloud data
Fu et al. Achieving effective cloud search services: multi-keyword ranked search over encrypted cloud data supporting synonym query
Fu et al. Achieving efficient cloud search services: multi-keyword ranked search over encrypted cloud data supporting parallel computing
Swaminathan et al. Confidentiality-preserving rank-ordered search
Zhang et al. SE-PPFM: A searchable encryption scheme supporting privacy-preserving fuzzy multikeyword in cloud systems
CN104765848B (en) What support result efficiently sorted in mixing cloud storage symmetrically can search for encryption method
Pham et al. Survey on secure search over encrypted data on the cloud
Awad et al. Chaotic searchable encryption for mobile cloud storage
Sun et al. Privacy-preserving keyword search over encrypted data in cloud computing
Guo et al. Dynamic multi-keyword ranked search based on bloom filter over encrypted cloud data
Gong et al. A privacy-preserving image retrieval method based on improved bovw model in cloud environment
Wang et al. An efficient and privacy-preserving range query over encrypted cloud data
Yang et al. Cloud information retrieval: Model description and scheme design
Zhang et al. A verifiable and dynamic multi-keyword ranked search scheme over encrypted cloud data with accuracy improvement
Xia et al. A multi-keyword ranked search over encrypted cloud data supporting semantic extension
Raghavendra et al. Split keyword fuzzy and synonym search over encrypted cloud data
Guo et al. Privacy preserving weighted similarity search scheme for encrypted data
Aritomo et al. A privacy-preserving similarity search scheme over encrypted word embeddings
Cheruku et al. Ranked search over encrypted cloud data in Azure using secure K-NN
Gampala et al. A study on privacy preserving searching approaches on encrypted data and open challenging issues in cloud computing
US11308233B2 (en) Method for information retrieval in an encrypted corpus stored on a server

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant