IP Library Granted Patent US 7,610,627
Granted Patent B1
US 7,610,627 · App. 10/865,180 · Granted Oct 27, 2009

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,610,627
App. No.
10/865,180
Granted
Oct 27, 2009
Kind
B1
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 (74)

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.

2. The method of claim 1 further comprising determining a plaintext string corresponding to each encrypted string in the third set of encrypted strings.

3. The method of claim 1 further comprising:

determining the first encryption function used to generate the first set of encrypted strings from the first set of plaintext strings; and

applying the first encryption function to plaintext strings in the second set of plaintext strings to produce the second set of encrypted strings.

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 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.

11. The computer program product of claim 10 further comprising code for determining a plaintext string corresponding to each encrypted string in the third set of encrypted strings.

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

code for determining the first encryption function used to generate the first set of encrypted strings from the first set of plaintext strings; and

code for applying the first encryption function to plaintext strings in the second set of plaintext strings to produce the second set of encrypted strings.

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:

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.

20. The system of claim 19 wherein:

the third computer is configured to communicate the third set of encrypted strings to the first computer; and

the first computer is configured to determine a third set of plaintext strings comprising plaintext strings included in the first set of plaintext strings corresponding to the encrypted strings included in the third set of encrypted strings.

21. The system of claim 19 wherein:

the third computer is configured to communicate the third set of encrypted strings to the first computer; and

the first computer is configured to determine 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.

22. The system of claim 21 wherein:

the third set of plaintext strings comprises email addresses; and

the first computer is configured to send an email to each address in the third set of plaintext strings.

23. The system of claim 19 wherein:

the third computer is configured to:

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

communicate the fourth set of encrypted strings to the first computer; and

the first computer is configured to determine a fourth set of plaintext strings from the first set of plaintext strings corresponding to encrypted strings in the fourth set of encrypted strings.

24. The system of claim 23 wherein:

the fourth set of plaintext strings comprises email addresses; and

the first computer is configured to send an email to each email address in the fourth set of plaintext strings.

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.

26. The apparatus of claim 25 further comprising:

means for determining a plaintext string corresponding to each encrypted string in the third set of encrypted strings.

Assignments (10)
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2009
From: ACXIOM DIGITAL, INC.
To: ACXIOM CORPORATION
Reel/Frame 023246/0893 →
CHANGE OF NAME Recorded Sep 17, 2009
From: DIGITAL IMPACT, INC.
To: ACXIOM DIGITAL, INC.
Reel/Frame 023246/0772 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2004
From: MCKENNA, EUGENE WILLIAM
To: DIGITAL IMPACT, INC.
Reel/Frame 015938/0323 →