IP Library Granted Patent US 11,451,527
Granted Patent B2
US 11,451,527 · App. 17/016,073 · Granted Sep 20, 2022

System and method for secure two-party evaluation of utility of sharing data

Inventors: Francisco E. Torres (San Jose, CA); Vanishree Hanumantha Rao (San Mateo, CA); Shantanu Rane (Menlo Park, CA); Yunhui Long (Urbana, IL)
Assignee: Palo Alto Research Center Incorporated
H04L63/061H04L63/0435H04L63/0442H04L63/0853H04L67/02H04L67/141H04L67/146H04L63/1416
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 11,451,527
App. No.
17/016,073
Granted
Sep 20, 2022
Kind
B2
Abstract

Embodiments described herein provide a system for improving a classifier by computing a statistic for the utility of sharing data with a second party. The system may encrypt a set of class labels based on a public key/private key pair to obtain a set of encrypted class labels. The system may send a public key and the set of encrypted class labels to a second computing device. The system may receive an encrypted value computed by the second computing device based on the public key. The system may decrypt the encrypted value based on a private key to obtain a decrypted value. The system may then send a pair of encrypted values computed based on the decrypted value to the second computing device. The system may subsequently receive an encrypted utility statistic from the second computing device, and decrypt the encrypted utility statistic to obtain a decrypted utility statistic.

Claims (80)

1. A computer-implemented method, the method comprising:

exchanging, in multiple rounds between two or more parties, encrypted data and encrypted statistics computed for the data, wherein a statistic is a measure derived from one or more attributes of the data;

building an encrypted utility statistic using computations in an encrypted domain; and

applying, by at least one party, a respective private decryption key to decrypt the encrypted utility statistic to obtain a utility statistic,

wherein the utility statistic indicates a utility of combining data from the two or more parties without any party sharing unencrypted data and without any party having a means to decrypt data from another party.

2. The method of claim 1 , further comprising:

securely estimating, based on the utility statistic, the utility of combining data from the two or more parties,

wherein no party shares unencrypted data with another party, and

wherein no party has a means to decrypt data from another party.

3. The method of claim 1 , further comprising:

determining, by the two or more parties, that the utility statistic exceeds a predetermined threshold;

agreeing, by the two or more parties based on the determination, on terms for transferring unencrypted data;

transferring, to a first party by a second party, the unencrypted data based on the agreed terms; and

applying, by the first party, the set of unencrypted data to improve a classifier or other model.

4. The method of claim 1 ,

wherein building the encrypted utility statistic using computations in an encrypted domain is performed without sharing private decryption keys between the two or more parties.

5. The method of claim 1 ,

wherein applying, by the at least one party, the respective private decryption key to obtain the utility statistic is based on decrypting the encrypted utility statistic.

6. The method of claim 1 ,

wherein the at least one party comprises a first party associated with a first computing device and a second party associated with a second computing device,

wherein the utility statistic obtained by the first party is a first utility statistic computed in a two-stream mode, and

wherein the utility statistic obtained by the second party is a second utility statistic computed in the two-stream mode.

7. The method of claim 6 , further comprising verifying, by the first computing device, that the first utility statistic is the same as the second utility statistic, which comprises:

re-encrypting the first utility statistic based on a first single-use key;

subsequent to sending the re-encrypted first utility statistic to the second computing device, receiving a second single-use key from the second computing device;

subsequent to receiving a re-encrypted second utility statistic from the second computing device, wherein the second utility statistic is encrypted based on the second single-use key, sending the first single-use key to the second computing device;

decrypting the re-encrypted second utility statistic based on the second single-use key; and

determining that the decrypted second utility statistic is the same as the first utility statistic.

8. The method of claim 7 ,

wherein sending the first single-use key to the second computing device comprises sending the first single-use key encrypted based on a public key of the second computing device, and

wherein the received second single-use key is encrypted based on public key of the first computing device.

9. A computing system for obtaining a utility statistic, the system comprising:

one or more processors,

a non-transitory computer-readable medium coupled to the one or more processors having instructions stored thereon that, when executed by the one or more processors, cause the one or more processors to perform a method, the method comprising:

exchanging, in multiple rounds between two or more parties, encrypted data and encrypted statistics computed for the data, wherein a statistic is a measure derived from one or more attributes of the data;

building an encrypted utility statistic using computations in an encrypted domain; and

applying, by at least one party, a respective private decryption key to decrypt the encrypted utility statistic to obtain a utility statistic,

wherein the utility statistic indicates a utility of combining data from the two or more parties without any party sharing unencrypted data and without any party having a means to decrypt data from another party.

10. The computing system of claim 9 , wherein the method further comprises:

securely estimating, based on the utility statistic, the utility of combining data from the two or more parties,

wherein no party shares unencrypted data with another party, and

wherein no party has a means to decrypt data from another party.

11. The computing system of claim 9 , wherein the method further comprises:

determining, by the two or more parties, that the utility statistic exceeds a predetermined threshold;

agreeing, by the two or more parties based on the determination, on terms for transferring unencrypted data;

transferring, to a first party by a second party, the unencrypted data based on the agreed terms; and

applying, by the first party, the set of unencrypted data to improve a classifier or other model.

12. The computing system of claim 9 ,

wherein building the encrypted utility statistic using computations in an encrypted domain is performed without sharing private decryption keys between the two or more parties.

13. The computing system of claim 9 ,

wherein applying, by the at least one party, the respective private decryption key to obtain the utility statistic is based on decrypting the encrypted utility statistic.

14. The computing system of claim 9 ,

wherein the at least one party comprises a first party associated with a first computing device and a second party associated with a second computing device,

wherein the utility statistic obtained by the first party is a first utility statistic computed in a two-stream mode, and

wherein the utility statistic obtained by the second party is a second utility statistic computed in the two-stream mode.

15. The computing system of claim 14 , wherein the method further comprises verifying, by the first computing device, that the first utility statistic is the same as the second utility statistic, which comprises:

re-encrypting the first utility statistic based on a first single-use key;

subsequent to sending the re-encrypted first utility statistic to the second computing device, receiving a second single-use key from the second computing device;

subsequent to receiving a re-encrypted second utility statistic from the second computing device, wherein the second utility statistic is encrypted based on the second single-use key, sending the first single-use key to the second computing device;

decrypting the re-encrypted second utility statistic based on the second single-use key; and

determining that the decrypted second utility statistic is the same as the first utility statistic.

16. The computing system of claim 15 ,

wherein sending the first single-use key to the second computing device comprises sending the first single-use key encrypted based on a public key of the second computing device, and

wherein the received second single-use key is encrypted based on public key of the first computing device.

17. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:

exchanging, in multiple rounds between two or more parties, encrypted data and encrypted statistics computed for the data, wherein a statistic is a measure derived from one or more attributes of the data;

building an encrypted utility statistic using computations in an encrypted domain; and

applying, by at least one party, a respective private decryption key to decrypt the encrypted utility statistic to obtain a utility statistic,

wherein the utility statistic indicates a utility of combining data from the two or more parties without any party sharing unencrypted data and without any party having a means to decrypt data from another party.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the method comprises:

securely estimating, based on the utility statistic, the utility of combining data from the two or more parties,

wherein no party shares unencrypted data with another party, and

wherein no party has a means to decrypt data from another party.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the method further comprises:

determining, by the two or more parties, that the utility statistic exceeds a predetermined threshold;

agreeing, by the two or more parties based on the determination, on terms for transferring unencrypted data;

transferring, to a first party by a second party, the unencrypted data based on the agreed terms; and

applying, by the first party, the set of unencrypted data to improve a classifier or other model.

20. The non-transitory computer-readable storage medium of claim 17 ,

wherein building the encrypted utility statistic using computations in an encrypted domain is performed without sharing private decryption keys between the two or more parties.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2025
From: XEROX CORPORATION
To: GENESEE VALLEY INNOVATIONS, LLC
Reel/Frame 073562/0677 →
SECOND LIEN NOTES PATENT SECURITY AGREEMENT Recorded Jul 2, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071785/0550 →
FIRST LIEN NOTES PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070824/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVAL OF US PATENTS 9356603, 10026651, 10626048 AND INCLUSION OF US PATENT 7167871 PREVIOUSLY RECORDED ON REEL 064038 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 28, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064161/0001 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064038/0001 →
Continuity (2)
Continuation 15714803 · Sep 25, 2017
Related Publication 20200412702A1 · Dec 31, 2020