Compression and homomorphic encryption in secure query and analytics
AssigneeEnveil, Inc.
InventorRyan Carr
Life of this patent
Estimating the term…
Abstract
Systems and methods for end-to-end encryption and compression are described herein. A query is encrypted at a client using a homomorphic encryption scheme. The encrypted query is sent to a server where the encrypted query is evaluated over target data to generate encrypted response without decrypting the encrypted query. The result elements of the encrypted response are grouped, co-located, and compressed, without decrypting the encrypted query or the encrypted response. The compressed encrypted response is sent to the client where it is decrypted and decompressed to obtain the results of the query without revealing the query or results to the owner of the target data, an observer, or an attacker.
Claims18
A method comprising:
- receiving at one or more servers an encrypted analytic from one or more clients, the analytic encrypted using a homomorphic encryption scheme, the analytic comprising a query;
- evaluating the encrypted analytic over a target data source without decrypting the encrypted analytic;
- grouping similar result elements of encrypted analytic evaluation;
- compressing the groups of similar result elements;
- evaluating the encrypted analytic over each of the compressed groups of result elements to generate an encrypted response, without decrypting the encrypted response and without decrypting the encrypted analytic;
- and
- sending the encrypted response from the one or more servers to the one or more clients for decompression and decryption at the one or more clients.
A system comprising:
- a client processor configured to execute instructions stored in memory for performing the following steps:
- encrypting an analytic using a homomorphic encryption scheme and an encryption key, wherein the analytic comprises a query,
- sending the encrypted analytic to a server without the encryption key, and
- decrypting an encrypted response using the homomorphic encryption scheme and the encryption key;
- and
- the server configured to:
- receive the encrypted analytic without the encryption key from the client processor via a network,
- evaluate the encrypted analytic over a target data source without decrypting the encrypted analytic,
- group similar result elements of the target data source evaluation,
- compress the groups of similar result elements,
- evaluate the encrypted analytic over the compressed groups of result elements to generate an encrypted response, without decrypting the encrypted analytic and without decrypting the encrypted response, and
- send the encrypted response to the client processor.
A non-transitory computer readable storage media having a program embodied thereon, the program being executable by a processor to perform a method for secure analytics of a target data source, the method comprising:
- receiving an encrypted analytic from a client via a network, the analytic comprising a query, the analytic encrypted using a homomorphic encryption scheme and a public encryption key, the encrypted analytic received without a corresponding private encryption key;
- evaluating the encrypted analytic over the target data source to generate encrypted result elements without decrypting the encrypted analytic;
- grouping similar result elements of the encrypted analytic evaluation without decrypting the result elements;
- compressing the groups of similar result elements;
- evaluating the encrypted analytic over the compressed groups of result elements to generate an encrypted response, without decrypting the encrypted analytic and without decrypting the encrypted response;
- and
- sending the encrypted response to the client.
Dependencies are inferred from the claim text.