CPC G06F 21/6227 (2013.01) [H04L 9/008 (2013.01); H04L 9/3242 (2013.01)] | 21 Claims |
1. A system, comprising:
one or more processors; and
memory storing executable instructions that, as a result of execution by the one or more processors, cause the system to:
obtain, from a first computing entity, a first cryptographically protected data set comprising a first column of cryptographically protected data elements generated using a keyed one-way function and based on a first cryptographic secret, wherein the first cryptographic secret is shared between the first computing entity and a second computing entity;
obtain, from the second computing entity, a second cryptographically protected data set comprising:
a second column of cryptographically protected data elements generated using the keyed one-way function and based on the first cryptographic secret; and
a third column of cryptographically protected data elements encrypted according to a homomorphic encryption scheme, wherein plaintext of the third column is inaccessible to the system;
perform a privacy-preserving comparison of the first cryptographically protected data set and the second cryptographically protected data set to identify a joined cryptographically protected data set comprising a subset of the third column;
compute an encrypted result of the subset of the third column according to the homomorphic encryption scheme; and
provide the encrypted result to the second computing entity, wherein the second computing entity has access to a second cryptographic key usable to decrypt the encrypted result.
|