Patent ID: 8751506

Claim:
A method comprising: identifying, by a client device, an index of database data to be protected, the database data comprising sensitive data elements and the index comprising positional information identifying relative placement of the sensitive data elements of the database data in relation to other sensitive data elements of the database data, wherein the index does not reveal the sensitive data elements of the database data, and wherein one or more entries in the index comprise a row number of a cell in the database data and a pre-generated hash or encryption of a sensitive data element in the cell in the database data; determining, by the client device, whether at least a portion of the database data is possibly contained within information content; and in response to determining that a portion of the database data is possibly contained within the information content, performing, by the client device, a search of the information content for at least a portion of the database data using the index, wherein performing the search of the information content comprises: searching the index to identify entries in the index that comprise pre-generated hashes or encryptions of the sensitive data elements that correspond to hashes or encryptions of content fragments from the information content; determining one or more groups of content fragments, wherein at least one group comprises content fragments associated with hashes or encryptions that correspond to pre-generated hashes or encryptions of entries in the index comprising a same row number; and determining that the received information content contains at least a portion of the database data if any group satisfies at least one criterion.