Secure data processing
AssigneeVia Science, Inc.
InventorKai Chung Cheung
Life of this patent
Estimating the term…
Abstract
Multiple data sources encrypt data using encryption key data received from a first system; a second system does not have access to the encryption key data. The second system receives the encrypted data from the multiple data sources. Because the encryption is additively homomorphic, the second system may create encrypted summation data using the encrypted data. The second system may send the encrypted summation data to the first system, which may then decrypt the encrypted summation data to create unencrypted summation data.
Claims20
A computer-implemented method comprising:
- sending, from a first system to a first data source, encryption key data;
- sending, from the first system to a second data source, the encryption key data;
- receiving, at a second system from the first data source, first encrypted input data, the first encrypted input data being encrypted based at least in part on the encryption key data;
- receiving, at the second system from the second data source, second encrypted input data, the second encrypted input data being encrypted based at least in part on the encryption key data;
- generating, by the second system, encrypted summation data corresponding to a sum of the first encrypted input data and the second encrypted input data, wherein the second system is not in possession of the encryption key data;
- sending, from the second system to the first system using a secure connection, the encrypted summation data;
- and
- generating, by the first system, summation data by decrypting, based at least in part on the encryption key data, the encrypted summation data.
A system comprising:
- at least one processor;
- and
- at least one memory including instructions that, when executed by the at least one processor, cause the system to:
- send, from a first system to a first data source, encryption key data;
- send, from the first system to a second data source, the encryption key data;
- receive, at a second system from the first data source, first encrypted input data, the first encrypted input data being encrypted based at least in part on the encryption key data;
- receive, at the second system from the second data source, second encrypted input data, the second encrypted input data being encrypted based at least in part on the encryption key data;
- generate, by the second system, encrypted summation data corresponding to a sum of the first encrypted input data and the second encrypted input data, wherein the second system is not in possession of the encryption key data;
- send, from the second system to the first system using a secure connection, the encrypted summation data;
- and
- generate, by the first system, summation data by decrypting, based at least in part on the encryption key data, the encrypted summation data.
A computer-implemented method comprising:
- sending, from a first system to a first data source, a private key and a generator point;
- sending, from the first system to a second data source, the private key and the generator point;
- receiving, at a second system from the first data source, first encrypted input data, the first encrypted input data being encrypted based at least in part on the private key, the generator point, and a first random number;
- receiving, at the second system from the second data source, second encrypted input data, the second encrypted input data being encrypted based at least in part on the private key, the generator point, and a second random number;
- generating, by the second system, encrypted summation data corresponding to a sum of the first encrypted input data and the second encrypted input data, wherein the second system is not in possession of the private key;
- sending, from the second system to the first system using a secure connection, the encrypted summation data;
- and
- generating, by the first system, summation data by decrypting, based at least in part on the private key and the generator point, the encrypted summation data.
Dependencies are inferred from the claim text.