BACKGROUND

Improving the accuracy of search queries submitted to databases (e.g., databases residing in the cloud) while minimizing the chance of identifying the records contained in the databases is a difficult task. One goal of homomorphic encryption is to enable search for or through confidential documents without disclosing any clues regarding the contents or meanings of the documents. For example, without appropriate use of cryptographic systems, it may be possible for an attacker to learn information about confidential documents by analyzing intercepted search queries or their answers. Providing useful semantic search capabilities over encrypted documents is key to creating secure information retrieval systems, natural language processing systems, and machine learning systems which are also practical.

SUMMARY

This summary is provided to introduce a selection of concepts that are further described below in the detailed description. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in limiting the scope of the claimed subject matter.

In general, in one aspect, one or more embodiments relate to a method including generating word string vectors for word strings in a document, obtaining encrypted word string vectors by encrypting the word string vectors, generating a search vector for a search query, obtaining an encrypted search vector by encrypting the search vector, calculating encrypted distances between the encrypted word string vectors and the encrypted search vector, obtaining a decrypted distance by decrypting an encrypted distance, and using the decrypted distance, determining a semantic match between the search query and the document.

In general, in one aspect, one or more embodiments relate to a system including a computer processor, a repository including a search query and documents including word strings, and a vector manager executing on the computer processor configured to generate word string vectors for word strings of a document, generate a search vector for the search query, and using a decrypted distance, determine a semantic match between the search query and the document. The system further includes a cryptography manager executing on the computer processor configured to obtain encrypted word string vectors by encrypting the word string vectors, obtain an encrypted search vector by encrypting the search vector, calculate encrypted distances between the encrypted word string vectors and the encrypted search vector, and obtain the decrypted distance by decrypting an encrypted distance.

In general, in one aspect, one or more embodiments relate to a non-transitory computer readable medium including instructions that, when executed by a computer processor, perform generating word string vectors for word strings in a document, obtaining encrypted word string vectors by encrypting the word string vectors, generating a search vector for a search query, obtaining an encrypted search vector by encrypting the search vector, calculating encrypted distances between the encrypted word string vectors and the encrypted search vector, obtaining a decrypted distance by decrypting an encrypted distance, and, using the decrypted distance, determining a semantic match between the search query and the document.

Other aspects of the invention will be apparent from the following description and the appended claims.

