Patent ID: 9715546
Date: 2017-07-25
CPC Classifications: G06F

Claim:
1. A method, implemented on a machine having at least one processor, storage, and a communication platform connected to a network for searching encrypted data, the method comprising: receiving a search request for encrypted documents; generating an encrypted query based on the search request; sending the encrypted query to a server that stores a first encrypted index and a second encrypted index, wherein the first encrypted index maps encrypted keywords to full blocks each of which has a same size and is fully filled with encrypted document identities (IDs), and the second encrypted index maps encrypted keywords to partial blocks each of which has the same size and is partially filled with encrypted document IDs; searching, based on the encrypted query, against both the first encrypted index and the second encrypted index to determine one or more encrypted document IDs; searching against a non-encrypted index based on the search request to determine one or more non-encrypted document IDs; further comprising: receiving a new document; extracting keywords from the new document; updating a partial block in the non-encrypted index for each of the keywords; and when a full block is generated in the non-encrypted index for a keyword after the updating, encrypting and inserting the full block to the first encrypted index at the server, and generating a new partial block in the non-encrypted index for the keyword; generating a search result based on both the one or more encrypted document IDs and the one or more non-encrypted document IDs; and providing the search result in response to the search request.