IP Library Granted Patent US 7,992,210
Granted Patent B2
US 7,992,210 · App. 12/562,039 · Granted Aug 2, 2011

Secure data exchange technique

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,992,210
App. No.
12/562,039
Granted
Aug 2, 2011
Kind
B2
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.

Claims (53)

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;

accessing a first encryption test record, the first encryption test record generated by applying the first encryption function to a mutually disclosed plaintext string, the first encryption test record corresponding to the first set of encrypted strings;

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;

comparing the first encryption test record to a second encryption test record generated by applying the first encryption function to the mutually disclosed plaintext string to determine if the first and second encryption test records are the same; and

if the first and second encryption test records 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.

2. The method of claim 1 further comprising:

determining a first key used to generate the first set of encrypted strings; and

wherein applying the first encryption function to each plaintext string in the second set of plaintext strings comprises using the first key to generate the second set of encrypted strings from the second set of plaintext strings.

3. The method of claim 2 further comprising receiving a single document storing the first set of encrypted strings, information identifying the first encryption function, and information identifying the first key.

4. The method of claim 1 wherein the first set of encrypted strings is received from a first data processing system, the method further comprising:

communicating the third set of encrypted strings to the first data processing system; and

determining, at the first data processing system, a third set of plaintext strings comprising plaintext strings included in the first set of plaintext strings excluding plaintext strings corresponding to encrypted strings included in the third set of encrypted strings.

5. The method of claim 4 wherein the first set of plaintext strings, the second set of plaintext strings, and the third set of plaintext strings comprise one or more plaintext email addresses, the method further comprising communicating an email from the first data processing system to each plaintext email address in the third set of plaintext strings.

6. The method of claim 1 further comprising determining a fourth set of encrypted strings comprising encrypted strings from the first set of encrypted strings that are not included in the third set of encrypted strings.

7. The method of claim 6 wherein the first set of encrypted strings is received from a first data processing system, the method further comprising:

communicating the fourth set of encrypted strings to the first data processing system; and

determining, at the first data processing system, a fourth set of plaintext strings comprising plaintext strings from the first set of plaintext strings corresponding to encrypted strings in the fourth set of encrypted strings.

8. The method of claim 7 wherein the first set of plaintext strings, the second set of plaintext strings, the third set of plaintext strings, and the fourth set of plaintext strings comprise one or more plaintext email addresses, the method further comprising communicating an email from the first data processing system to each plaintext email address in the fourth set of plaintext strings.

9. The method of claim 6 further comprising determining a plaintext string from the first set of plaintext strings corresponding to each encrypted string in the fourth set of encrypted strings.

10. A computer program product stored on a non-transitory 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;

code for accessing a first encryption test record, the first encryption test record generated by applying the first encryption function to a mutually disclosed plaintext string, the first encryption test record corresponding to the first set of encrypted strings;

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; and

code for comparing the first encryption test record to a second encryption test record generated by applying the first encryption function to the mutually disclosed plaintext string to determine whether the first and second encryption test records are the same; and

code for, if the first and second encryption test records 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 in the first set of encrypted strings and included in the second set of encrypted strings.

11. The computer program product of claim 10 further comprising:

code for determining a first key used to generate the first set of encrypted strings; and

wherein the code for applying the first encryption function to each plaintext string in the second set of plaintext strings comprises code for using the first key to generate the second set of encrypted strings from the second set of plaintext strings.

12. The computer program product of claim 11 further comprising code for receiving a single document storing the first set of encrypted strings, information identifying the first encryption function, and information identifying the first key.

13. The computer program product of claim 10 wherein the first set of encrypted strings is received from a first data processing system, the computer program product further comprising:

code for communicating the third set of encrypted strings to the first data processing system; and

code for determining, at the first data processing system, a third set of plaintext strings comprising plaintext strings included in the first set of plaintext strings excluding plaintext strings corresponding to encrypted strings included in the third set of encrypted strings.

14. The computer program product of claim 13 wherein the first set of plaintext strings, the second set of plaintext strings, and the third set of plaintext strings comprise one or more plaintext email addresses, the computer program product further comprising code for communicating an email from the first data processing system to each plaintext email address in the third set of plaintext strings.

15. The computer program product of claim 10 further comprising code for determining a fourth set of encrypted strings comprising encrypted strings from the first set of encrypted strings that are not included in the third set of encrypted strings.

16. The computer program product of claim 15 wherein the first set of encrypted strings is received from a first data processing system, the computer program product further comprising:

code for communicating the fourth set of encrypted strings to the first data processing system; and

code for determining, at the first data processing system, a fourth set of plaintext strings comprising one or more plaintext strings from the first set of plaintext strings corresponding to encrypted strings in the fourth set of encrypted strings.

17. The computer program product of claim 16 wherein the first set of plaintext strings, the second set of plaintext strings, the third set of plaintext strings, and the fourth set of plaintext strings comprise one or more plaintext email addresses, the computer program product further comprising code for communicating an email from the first data processing system to each plaintext email address in the fourth set of plaintext strings.

18. The computer program product of claim 15 further comprising code for determining a plaintext string from the first set of plaintext strings corresponding to each encrypted string in the fourth set of encrypted strings.

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:

access 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;

access a first encryption test record from the first computer, the first encryption test record generated by applying the first encryption function to a mutually disclosed plaintext string, the first encryption test record corresponding to the first set of encrypted strings;

access 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;

compare the first encryption test record to a second encryption test record generated by applying the first encryption function to the mutually disclosed plaintext string to determine if the first and second encryption test records are the same; and

if the first and second encryption test records are 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.

20. The system of claim 19 wherein:

the third computer is configured to determine a first key used to generate the first set of encrypted strings; and

wherein applying the first encryption function to each plaintext string in the second set of plaintext strings comprises using the first key to generate the second set of encrypted strings from the second set of plaintext strings.

Assignments (8)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT REEL 055212, FRAME 0964 Recorded Aug 30, 2024
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ZETA GLOBAL CORP.
Reel/Frame 068822/0167 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Aug 30, 2024
From: ZETA GLOBAL CORP.; ZSTREAM ACQUISITION LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 068822/0154 →
RELEASE OF SECURITY INTEREST Recorded Feb 11, 2021
From: FIRST EAGLE PRIVATE CREDIT, LLC, AS SUCCESSOR TO NEWSTAR FINANCIAL, INC
To: ZBT ACQUISITION CORP.; ZETA GLOBAL CORP.; 935 KOP ASSOCIATES, LLC
Reel/Frame 055282/0276 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2021
From: ZETA GLOBAL CORP.
To: BANK OF AMERICA, N.A.
Reel/Frame 055212/0964 →
SECURITY INTEREST Recorded Dec 3, 2020
From: ZETA GLOBAL CORP.
To: FIRST EAGLE PRIVATE CREDIT, LLC
Reel/Frame 054585/0770 →
CHANGE OF NAME Recorded May 17, 2017
From: ZETA INTERACTIVE CORP.
To: ZETA GLOBAL CORP.
Reel/Frame 042411/0771 →
STOCK PURCHASE AGREEMENT Recorded May 17, 2017
From: ACXIOM CORPORATION
To: ZETA INTERACTIVE CORP.
Reel/Frame 042487/0108 →
SECURITY INTEREST Recorded Sep 1, 2016
From: ZETA IMPACT INC., A DELAWARE CORPORATION
To: NEWSTAR FINANCIAL, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 039617/0256 →