Privacy preserving statistical analysis on distributed databases
US-10146958-B2 · Dec 4, 2018 · US
US11569985B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11569985-B2 |
| Application number | US-202117362143-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 29, 2021 |
| Priority date | Jun 29, 2021 |
| Publication date | Jan 31, 2023 |
| Grant date | Jan 31, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Disclosed are techniques for determining data relationships between privacy-restricted datapoints, sourced over a computer network, which require data privacy measures concealing at least some datapoints from other clients in the network that the datapoint respectively do not originate from. A first client encrypts a first datapoint with a public key of a public/private encryption scheme and communicates it to the second client along with the public key. The second client encrypts a corresponding second datapoint with the public key, then determines a relationship between the two encrypted datapoints, and communicates the determined relationship to a central client along with the public key. Random noise is encrypted by the central client and added to the determined relationship, then sent together to the first client, followed by decryption by the first client using the private key. The central client extracts the random noise after receiving the decrypted determined relationship.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method (CIM) for use with at least two datasets, including a first dataset and a second dataset, respectively controlled by a first data party and a second data party, the CIM comprising: receiving a public key of a public-private key pair from the first data party corresponding to the public key used by the first data party to encrypt the first dataset and the second party to encrypt the second dataset; receiving an encrypted relationship function output value corresponding to a relationship between the first dataset encrypted with the public key and the second dataset encrypted with the public key; generating a noisy encrypted relationship function output value by supplementing the encrypted relationship function output value with a random noise value encrypted with the public key; receiving an encrypted asymmetrical relationship function output value corresponding to a relationship between the second dataset encrypted with a second public key and the first dataset encrypted with the second public key; and generating a noisy encrypted asymmetrical relationship function output value by supplementing the encrypted asymmetrical relationship function output value with a second random noise value encrypted with the second public key. 2. The CIM of claim 1 , further comprising: sending the noisy encrypted relationship function output value to the first data party for decryption using the private key. 3. The CIM of claim 2 , further comprising: receiving a noisy relationship function output value corresponding to the noisy encrypted relationship function output value decrypted by the private key; and extracting the random noise value to yield a relationship function output value. 4. The CIM of claim 3 , further comprising: generating a global relationship table based on the relationship function output value. 5. The CIM of claim 3 , further comprising: receiving a second public key of a second public-private key pair from the second data party corresponding to the second public key used by the second data party to encrypt the second dataset and the first party to encrypt the first dataset; sending the noisy encrypted asymmetrical relationship function output value to the second data party for decryption using the second private key; and extracting the second random noise value to yield the asymmetrical relationship function output value; wherein the relationship function is asymmetrical. 6. The CIM of claim 1 , wherein the encrypted relationship function output value is generated using homomorphic encryption. 7. A computer program product (CPP) for use with at least two datasets, including a first dataset and a second dataset, respectively controlled by a first data party and a second data party, the CPP comprising: a machine readable storage device; and computer code stored on the machine readable storage device, with the computer code including instructions for causing a processor(s) set to perform operations including the following: receiving a public key of a public-private key pair from the first data party corresponding to the public key used by the first data party to encrypt the first dataset and the second party to encrypt the second dataset; receiving an encrypted relationship function output value corresponding to a relationship between the first dataset encrypted with the public key and the second dataset encrypted with the public key; generating a noisy encrypted relationship function output value by supplementing the encrypted relationship function output value with a random noise value encrypted with the public key; receiving an encrypted asymmetrical relationship function output value corresponding to a relationship between the second dataset encrypted with a second public key and the first dataset encrypted with the second public key; and generating a noisy encrypted asymmetrical relationship function output value by supplementing the encrypted asymmetrical relationship function output value with a second random noise value encrypted with the second public key. 8. The CPP of claim 7 , wherein the computer code further includes instructions for causing the processor(s) set to perform the following operations: sending the noisy encrypted relationship function output value to the first data party for decryption using the private key. 9. The CPP of claim 8 , wherein the computer code further includes instructions for causing the processor(s) set to perform the following operations: receiving a noisy relationship function output value corresponding to the noisy encrypted relationship function output value decrypted by the private key; and extracting the random noise value to yield a relationship function output value. 10. The CPP of claim 9 , wherein the computer code further includes instructions for causing the processor(s) set to perform the following operations: generating a global relationship table based on the relationship function output value. 11. The CPP of claim 9 , wherein the computer code further includes instructions for causing the processor(s) set to perform the following operations: receiving a second public key of a second public-private key pair from the second data party corresponding to the second public key used by the second data party to encrypt the second dataset and the first party to encrypt the first dataset; sending the noisy encrypted asymmetrical relationship function output value to the second data party for decryption using the second private key; and extracting the second random noise value to yield the asymmetrical relationship function output value; wherein the relationship function is asymmetrical. 12. The CPP of claim 7 , wherein the encrypted relationship function output value is generated using homomorphic encryption. 13. A computer system (CS) for use with at least two datasets, including a first dataset and a second dataset, respectively controlled by a first data party and a second data party, the CS comprising: a processor(s) set; a machine readable storage device; and computer code stored on the machine readable storage device, with the computer code including instructions for causing the processor(s) set to perform operations including the following: receiving a public key of a public-private key pair from the first data party corresponding to the public key used by the first data party to encrypt the first dataset and the second party to encrypt the second dataset; receiving an encrypted relationship function output value corresponding to a relationship between the first dataset encrypted with the public key and the second dataset encrypted with the public key; generating a noisy encrypted relationship function output value by supplementing the encrypted relationship function output value with a random noise value encrypted with the public key; receiving an encrypted asymmetrical relationship function output value corresponding to a relationship between the second dataset encrypted with a second public key and the first dataset encrypted with the second public key; and generating a noisy encrypted asymmetrical relationship function output value by supplementing the encrypted asymmetrical relationship function output value with a second random noise value encrypted with the second public key. 14. The CS of claim 13 , wherein the computer code further includes instructions for causing the processor(s) set to perform the following operations: sending the noisy encrypted relationship function output value to the first data party for decryption using the private key. 1
Randomization, e.g. dummy operations or using noise · CPC title
using a plurality of keys or algorithms · CPC title
using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates · CPC title
Entity relationship models · CPC title
involving homomorphic encryption · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.