Secure data exchange technique
First Claim
Patent Images
1. A computer-implemented method of processing information, the method comprising:
- accessing a first set of encrypted strings provided by a first party, the first set of encrypted strings generated by encrypting each plaintext string of a first set of plaintext strings individually using an encryption scheme;
determining the encryption scheme;
accessing a second set of plaintext strings provided by a second party;
encrypting each plaintext string of the second set of plaintext strings individually using the encryption scheme to create a second set of encrypted strings; and
comparing the first set of encrypted strings with the second set of encrypted strings to determine a third set of encrypted strings including any encrypted strings that are included in both the first set of encrypted strings and the second set of encrypted strings;
making available to the first party one of (i) the third set of encrypted strings, or (ii) a fourth set of encrypted strings including any encrypted strings that are included in the first set of encrypted strings but are not included in the third set of encrypted strings.
6 Assignments
0 Petitions
Accused Products
Abstract
Techniques utilizing common encryption approaches for data from multiple parties enable those parties to discover information that is held in common by the parties without disclosing to any party information that is not held in common by the parties. Encrypted information for each party can be compared to determine which encrypted values match, and those encrypted values can be returned to any of the parties such that a party can determine which corresponding data the parties have in common without having access to any other data of any other parties.
10 Citations
20 Claims
-
1. A computer-implemented method of processing information, the method comprising:
-
accessing a first set of encrypted strings provided by a first party, the first set of encrypted strings generated by encrypting each plaintext string of a first set of plaintext strings individually using an encryption scheme; determining the encryption scheme; accessing a second set of plaintext strings provided by a second party; encrypting each plaintext string of the second set of plaintext strings individually using the encryption scheme to create a second set of encrypted strings; and comparing the first set of encrypted strings with the second set of encrypted strings to determine a third set of encrypted strings including any encrypted strings that are included in both the first set of encrypted strings and the second set of encrypted strings;
making available to the first party one of (i) the third set of encrypted strings, or (ii) a fourth set of encrypted strings including any encrypted strings that are included in the first set of encrypted strings but are not included in the third set of encrypted strings. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer system comprising:
-
means for receiving a first set of encrypted strings from a first party, the first set of encrypted strings generated by encrypting each plaintext string of a first set of plaintext strings individually using an encryption scheme; means for determining the encryption scheme; means for receiving a second set of plaintext strings from a second party; means for encrypting each plaintext string of the second set of plaintext strings individually using the encryption scheme to create a second set of encrypted strings; and means for comparing the first set of encrypted strings with the second set of encrypted strings to determine a third set of encrypted strings including any encrypted strings that are included in both the first set of encrypted strings and the second set of encrypted strings;
means for making available to the first party one of (i) the third set of encrypted strings, or (ii) a fourth set of encrypted strings including any encrypted strings that are included in the first set of encrypted strings but are not included in the third set of encrypted strings. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer program product stored on a non-transitory computer-readable medium for processing information, the computer program product comprising:
-
program code for receiving a first set of encrypted strings from a first party, the first set of encrypted strings generated by encrypting each plaintext string of a first set of plaintext strings individually using an encryption scheme; program code for determining the encryption scheme; program code for receiving a second set of plaintext strings from a second party; program code for encrypting each plaintext string of the second set of plaintext strings individually using the encryption scheme to create a second set of encrypted strings; and program code for comparing the first set of encrypted strings with the second set of encrypted strings to determine a third set of encrypted strings including any encrypted strings that are included in both the first set of encrypted strings and the second set of encrypted strings;
program code for making available to the first party one of (i) the third set of encrypted strings, or (ii) a fourth set of encrypted strings including any encrypted strings that are included in the first set of encrypted strings but are not included in the third set of encrypted strings. - View Dependent Claims (18, 19, 20)
-
Specification