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, the first set of encrypted strings generated by applying a first encryption function to each plaintext string in a first set of plaintext strings having a first character encoding;
accessing a second set of encrypted strings, the second set of encrypted strings generated by applying the first encryption function to each plaintext string in a second set of plaintext strings having a second character encoding;
determining whether the first and second character encodings are the same; and
if the first and second character encodings are the same, comparing the first set of encrypted strings with the second set of encrypted strings to determine a third set of encrypted strings comprising one or more encrypted strings that are included both in the first set of encrypted strings and in the second set of encrypted strings.
9 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.
62 Citations
26 Claims
-
1. A computer-implemented method of processing information, the method comprising:
-
accessing a first set of encrypted strings, the first set of encrypted strings generated by applying a first encryption function to each plaintext string in a first set of plaintext strings having a first character encoding; accessing a second set of encrypted strings, the second set of encrypted strings generated by applying the first encryption function to each plaintext string in a second set of plaintext strings having a second character encoding; determining whether the first and second character encodings are the same; and if the first and second character encodings are the same, comparing the first set of encrypted strings with the second set of encrypted strings to determine a third set of encrypted strings comprising one or more encrypted strings that are included both in the first set of encrypted strings and in the second set of encrypted strings. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer program product stored on a computer-readable medium for processing information, the computer program product comprising:
-
code for accessing a first set of encrypted strings, the first set of encrypted strings generated by applying a first encryption function to each plaintext string in a first set of plaintext strings having a first character encoding; code for accessing a second set of encrypted strings, the second set of encrypted strings generated by applying the first encryption function to each plaintext string in a second set of plaintext strings having a second character encoding; code for determining whether the first and second character encodings are the same; and code for, if the first and second character encodings are determined to be the same, comparing the first set of encrypted strings with the second set of encrypted strings to determine a third set of encrypted strings comprising one or more encrypted strings that are included in the first set of encrypted strings and included in the second set of encrypted strings. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
a first computer; a second computer; and a third computer coupled with the first computer and the second computer; wherein the third computer is configured to; receive a first set of encrypted strings from the first computer, the first set of encrypted strings generated by applying a first encryption function to each plaintext string in a first set of plaintext strings having a first character encoding, each plaintext string in the first set of plaintext strings having an encryption key appended thereto before applying the first encryption function; receive a second set of encrypted strings from the second computer, the second set of encrypted strings generated by applying the first encryption function to each plaintext string in a second set of plaintext strings having a second character encoding, each plaintext string in the second set of plaintext strings having an encryption key appended thereto before applying the first encryption function; determine whether the first and second character encodings are the same; and if the first and second character encodings are determined to be the same, compare the first set of encrypted strings with the second set of encrypted strings to determine a third set of encrypted strings comprising one or more encrypted strings that are included both in the first set of encrypted strings and in the second set of encrypted strings. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. An apparatus comprising:
-
a memory; means for receiving a first set of encrypted strings, the first set of encrypted strings generated by applying a first encryption function to each plaintext string in a first set of plaintext strings having a first character encoding, each plaintext string in the first set of plaintext strings having an encryption key appended thereto before applying the first encryption function; means for receiving a second set of plaintext strings having a second character encoding; means for determining the first encryption function used to generate the first set of encrypted strings from the first set of plaintext strings; means for applying the first encryption function to plaintext strings in the second set of plaintext strings to produce a second set of encrypted strings, each plaintext string in the second set of plaintext strings having an encryption key appended thereto before applying the first encryption function; means for comparing the first and second character encodings; and means for, if the first and second character encodes are the same, comparing the first set of encrypted strings with the second set of encrypted strings to determine a third set of encrypted strings comprising one or more encrypted strings that are included both in the first set of encrypted strings and in the second set of encrypted strings. - View Dependent Claims (26)
-
Specification