IP Library › Granted Patent US 11,777,729
Granted Patent B2
US 11,777,729 · App. 17/478,789 · Granted Oct 3, 2023

Secure analytics using term generation and homomorphic encryption

Inventors: Ellison Anne Williams (Fulton, MD); Ryan Carr (Fulton, MD)
Assignee: Enveil, Inc.
H04L9/30G06F16/901G06F16/909H04L9/008H04L9/3236
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,777,729
App. No.
17/478,789
Granted
Oct 3, 2023
Kind
B2
Abstract

Provided are methods and systems for performing secure analytics using term generations and a homomorphic encryption. An example method includes receiving, by at least one server from a client, a term generation function, a hash function, a public key of a homomorphic encryption scheme, and a homomorphically encrypted list of indices, wherein the list of indices is generated using the term generation function and the hash function, applying, by the server, the term generation function, the hash function, and the public key to a data set to determine a further homomorphically encrypted list of indices, extracting, by the server and using the homomorphically encrypted list of indices and the further homomorphically encrypted list of indices, data from the encrypted data set to obtain an encrypted result, and sending the encrypted result to the client to decrypt the encrypted result using a private key of the homomorphic encryption scheme.

Claims (93)

1. A method for performing secure analytics using a homomorphic encryption, the method comprising:

receiving, by at least one server from a client, a term generation function, a hash function, a public key of a homomorphic encryption scheme, and a homomorphically encrypted list of indices, the term generation function configured to generate a term for searching data having geospatial attributes, wherein generating the homomorphically encrypted list of indices includes:

extracting, using the term generation function, a set of terms from a query;

mapping, using the hash function, the terms in the set of terms to indices in a list of indices; and

encrypting, using the public key, the indices in the list;

applying, by the at least one server, the term generation function and the hash function to a data set to determine a further homomorphically encrypted list of indices and a homomorphically encrypted data set;

extracting, by the at least one server and using the homomorphically encrypted list of indices and the further homomorphically encrypted list of indices, data from the homomorphically encrypted data set to obtain an encrypted result; and

sending, by the at least one server, the encrypted result to the client, wherein the client is configured to decrypt the encrypted result using a private key of the homomorphic encryption scheme.

2. The method of claim 1 , wherein the extracting includes matching indices from the further homomorphically encrypted list of indices to indices from the homomorphically encrypted list of indices.

3. The method of claim 1 , wherein the term generation function is configured to generate at least one search index for searching a document.

4. The method of claim 1 , wherein the term generation function is configured to generate at least one phonetic index for searching for a word.

5. The method of claim 1 , wherein the term generation function is configured to generate a feature vector for searching an image including biometrical data.

6. The method of claim 5 , wherein the term generation function is configured to generate a feature vector for searching for an image of a face.

7. The method of claim 1 , wherein the term generation function includes a Structured Query Language (SQL) processing engine.

8. The method of claim 1 , wherein the term generation function is dynamically specified by the client at a time of sending the query to the at least one server.

9. The method of claim 1 , wherein the term generation function includes a machine learning model trained to generate the set of terms based on the query.

10. A system for performing secure analytics using a homomorphic encryption, the system comprising:

at least one processor; and

a memory communicatively coupled with the at least one processor, the memory storing instructions, which when executed by the at least processor perform a method comprising:

receiving, by at least one server from a client, a term generation function, a hash function, a public key of a homomorphic encryption scheme, and a homomorphically encrypted list of indices, the term generation function configured to generate a term for searching data having geospatial attributes, wherein generating the homomorphically encrypted list of indices includes:

extracting, using the term generation function, a set of terms from a query;

mapping, using the hash function, the terms in the set of terms to indices in a list of indices; and

encrypting, using the public key, the indices in the list;

applying, by the at least one server, the term generation function, the hash function, and the public key to a data set to determine a further homomorphically encrypted list of indices and a homomorphically encrypted data set;

extracting, by the at least one server and using the homomorphically encrypted list of indices and the further homomorphically encrypted list of indices, data from the homomorphically encrypted data set to obtain an encrypted result; and

sending, by the at least one server, the encrypted result to the client, wherein the client is configured to decrypt the encrypted result using a private key of the homomorphic encryption scheme.

11. The system of claim 10 , wherein the extracting includes matching indices from the further homomorphically encrypted list of indices to indices from the homomorphically encrypted list of indices.

12. The system of claim 10 , wherein the term generation function is configured to generate at least one search index for searching a document.

13. The system of claim 10 , wherein the term generation function is configured to generate at least one phonetic index for searching for a word.

14. The system of claim 10 , wherein the term generation function is configured to generate a feature vector for searching an image including biometrical data.

15. The system of claim 14 , wherein the term generation function is configured to generate a feature vector for searching for an image of a face.

16. The system of claim 10 , wherein the term generation function includes a Structured Query Language (SQL) processing engine.

17. The system of claim 10 , wherein the term generation function is dynamically specified by the client at a time of sending the query to the at least one server.

18. A non-transitory computer-readable storage medium having embodied thereon instructions, which when executed by at least one processor, perform steps of a method, the method comprising:

receiving, by at least one server from a client, a term generation function, a hash function, a public key of a homomorphic encryption scheme, and a homomorphically encrypted list of indices, the term generation function configured to generate a term for searching data having geospatial attributes, wherein generating the homomorphically encrypted list of indices includes:

extracting, using the term generation function, a set of terms from a query;

mapping, using the hash function, the terms in the set of terms to indices in a list of indices; and

encrypting, using the public key, the indices in the list;

applying, by the at least one server, the term generation function, the hash function, and the public key to a data set to determine a further list of indices and a homomorphically encrypted data set;

extracting, by the at least one server and using the homomorphically encrypted list of indices and the further homomorphically encrypted list of indices, data from the homomorphically encrypted data set to obtain an encrypted result; and

sending, by the at least one server, the encrypted result to the client, wherein the client is configured to decrypt the encrypted result using a private key of the homomorphic encryption scheme.

19. A method for performing secure analytics using a homomorphic encryption, the method comprising:

receiving, by at least one server from a client, a term generation function, a hash function, a public key of a homomorphic encryption scheme, and a homomorphically encrypted list of indices, the term generation function including a Structured Query Language (SQL) processing engine, wherein generating the homomorphically encrypted list of indices includes:

extracting, using the term generation function, a set of terms from a query;

mapping, using the hash function, the terms in the set of terms to indices in a list of indices; and

encrypting, using the public key, the indices in the list;

applying, by the at least one server, the term generation function and the hash function to a data set to determine a further homomorphically encrypted list of indices and a homomorphically encrypted data set;

extracting, by the at least one server and using the homomorphically encrypted list of indices and the further homomorphically encrypted list of indices, data from the homomorphically encrypted data set to obtain an encrypted result; and

sending, by the at least one server, the encrypted result to the client, wherein the client is configured to decrypt the encrypted result using a private key of the homomorphic encryption scheme.

20. A method for performing secure analytics using a homomorphic encryption, the method comprising:

receiving, by at least one server from a client, a term generation function, a hash function, a public key of a homomorphic encryption scheme, and a homomorphically encrypted list of indices, the term generation function including a machine learning model trained to generate a set of terms based on a query, wherein generating the homomorphically encrypted list of indices includes:

extracting, using the term generation function, the set of terms from the query;

mapping, using the hash function, the terms in the set of terms to indices in a list of indices; and

encrypting, using the public key, the indices in the list;

applying, by the at least one server, the term generation function and the hash function to a data set to determine a further homomorphically encrypted list of indices and a homomorphically encrypted data set;

extracting, by the at least one server and using the homomorphically encrypted list of indices and the further homomorphically encrypted list of indices, data from the homomorphically encrypted data set to obtain an encrypted result; and

sending, by the at least one server, the encrypted result to the client, wherein the client is configured to decrypt the encrypted result using a private key of the homomorphic encryption scheme.

21. A system for performing secure analytics using a homomorphic encryption, the system comprising:

at least one processor; and

a memory communicatively coupled with the at least one processor, the memory storing instructions, which when executed by the at least processor perform a method comprising:

receiving, by at least one server from a client, a term generation function, a hash function, a public key of a homomorphic encryption scheme, and a homomorphically encrypted list of indices, the term generation function including a Structured Query Language (SQL) processing engine, wherein generating the homomorphically encrypted list of indices includes:

extracting, using the term generation function, a set of terms from a query;

mapping, using the hash function, the terms in the set of terms to indices in a list of indices; and

encrypting, using the public key, the indices in the list;

applying, by the at least one server, the term generation function, the hash function, and the public key to a data set to determine a further homomorphically encrypted list of indices and a homomorphically encrypted data set;

extracting, by the at least one server and using the homomorphically encrypted list of indices and the further homomorphically encrypted list of indices, data from the homomorphically encrypted data set to obtain an encrypted result; and

sending, by the at least one server, the encrypted result to the client, wherein the client is configured to decrypt the encrypted result using a private key of the homomorphic encryption scheme.

22. A system for performing secure analytics using a homomorphic encryption, the system comprising:

at least one processor; and

a memory communicatively coupled with the at least one processor, the memory storing instructions, which when executed by the at least processor perform a method comprising:

receiving, by at least one server from a client, a term generation function, a hash function, a public key of a homomorphic encryption scheme, and a homomorphically encrypted list of indices, the term generation function including a machine learning model trained to generate a set of terms based on a query, wherein generating the homomorphically encrypted list of indices includes:

extracting, using the term generation function, the set of terms from the query;

mapping, using the hash function, the terms in the set of terms to indices in a list of indices; and

encrypting, using the public key, the indices in the list;

applying, by the at least one server, the term generation function, the hash function, and the public key to a data set to determine a further homomorphically encrypted list of indices and a homomorphically encrypted data set;

extracting, by the at least one server and using the homomorphically encrypted list of indices and the further homomorphically encrypted list of indices, data from the homomorphically encrypted data set to obtain an encrypted result; and

sending, by the at least one server, the encrypted result to the client, wherein the client is configured to decrypt the encrypted result using a private key of the homomorphic encryption scheme.

23. A non-transitory computer-readable storage medium having embodied thereon instructions, which when executed by at least one processor, perform steps of a method, the method comprising:

receiving, by at least one server from a client, a term generation function, a hash function, a public key of a homomorphic encryption scheme, and a homomorphically encrypted list of indices, the term generation function including a Structured Query Language (SQL) processing engine, wherein generating the homomorphically encrypted list of indices includes:

extracting, using the term generation function, a set of terms from a query;

mapping, using the hash function, the terms in the set of terms to indices in a list of indices; and

encrypting, using the public key, the indices in the list;

applying, by the at least one server, the term generation function, the hash function, and the public key to a data set to determine a further list of indices and a homomorphically encrypted data set;

extracting, by the at least one server and using the homomorphically encrypted list of indices and the further homomorphically encrypted list of indices, data from the homomorphically encrypted data set to obtain an encrypted result; and

sending, by the at least one server, the encrypted result to the client, wherein the client is configured to decrypt the encrypted result using a private key of the homomorphic encryption scheme.

24. A non-transitory computer-readable storage medium having embodied thereon instructions, which when executed by at least one processor, perform steps of a method, the method comprising:

receiving, by at least one server from a client, a term generation function, a hash function, a public key of a homomorphic encryption scheme, and a homomorphically encrypted list of indices, the term generation function including a machine learning model trained to generate a set of terms based on a query, wherein generating the homomorphically encrypted list of indices includes:

extracting, using the term generation function, the set of terms from the query;

mapping, using the hash function, the terms in the set of terms to indices in a list of indices; and

encrypting, using the public key, the indices in the list;

applying, by the at least one server, the term generation function, the hash function, and the public key to a data set to determine a further list of indices and a homomorphically encrypted data set;

extracting, by the at least one server and using the homomorphically encrypted list of indices and the further homomorphically encrypted list of indices, data from the homomorphically encrypted data set to obtain an encrypted result; and

sending, by the at least one server, the encrypted result to the client, wherein the client is configured to decrypt the encrypted result using a private key of the homomorphic encryption scheme.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2021
From: WILLIAMS, ELLISON ANNE; CARR, RYAN
To: ENVEIL, INC.
Reel/Frame 057735/0206 →
Continuity (16)
Continuation In Part 16158230 · Oct 11, 2018
Continuation In Part 15875914 · Jan 19, 2018
Provisional Application 62462818 · Feb 23, 2017
Provisional Application 62448883 · Jan 20, 2017
Provisional Application 62448908 · Jan 20, 2017
Provisional Application 62448896 · Jan 20, 2017
Provisional Application 62448893 · Jan 20, 2017
Provisional Application 62448890 · Jan 20, 2017
Provisional Application 62448918 · Jan 20, 2017
Provisional Application 62448902 · Jan 20, 2017
Provisional Application 62448916 · Jan 20, 2017
Provisional Application 62448913 · Jan 20, 2017
Provisional Application 62448899 · Jan 20, 2017
Provisional Application 62448906 · Jan 20, 2017
Provisional Application 62448885 · Jan 20, 2017
Related Publication 20220006629A1 · Jan 6, 2022
Cited By (3)
US 12,200,102 US 12,542,650 US 12,574,207