IP Library Granted Patent US 10,277,563
Granted Patent B2
US 10,277,563 · App. 15/185,575 · Granted Apr 30, 2019

Computer-implemented system and method for protecting sensitive data via data re-encryption

Inventors: Vanishree Rao (Mountain View, CA); Shantanu Rane (Menlo Park, CA); Ersin Uzun (Campbell, CA); Alejandro E. Brito (Mountain View, CA)
Assignee: Palo Alto Research Center Incorporated
H04L63/0464G06F17/30554H04L9/008H04L63/0435H04L63/0442H04L63/061H04L63/0876H04L9/3073H04L2209/76
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 10,277,563
App. No.
15/185,575
Filed
Jun 17, 2016
Granted
Apr 30, 2019
Kind
B2
Art Unit
2492
USPC
713/171
Abstract

A computer-implemented method for protecting sensitive data via data re-encryption is provided. Encrypted data is maintained. A data query is received from a user associated with a public key and a secret key. Results of the query are computed by identifying at least a portion of the encrypted data and by adding plaintext for the identified portion of the encrypted data as the results. A re-encryption key is generated for the results using the public key of the user and the results are re-encrypted using the re-encryption key. The re-encrypted results are then transmitted to the user.

Claims (65)

1. A computer-implemented system for protecting sensitive data via data re-encryption, comprising:

a database to maintain encrypted data of a data owner, wherein the encrypted data comprises a property of supporting additions of plaintext underlying the encrypted data and is encrypted via a public key of the data owner;

a processor to receive a query from a user and to identify at least a portion of the encrypted data that satisfies the query from the user;

a server comprising a central processing unit, memory, an input port to receive the query, and an output port, wherein the central processing unit is configured to generate a re-encryption key for the identified portion of encrypted data using a public key of the user, a secret key of the data owner, and two random elements selected from a group of elements; and

a further server comprising a central processing unit, memory, an input port to receive the identified portion of encrypted data from the database and the re-encryption key from the server, and an output port, wherein the central processing unit is configured to:

re-encrypt the identified portion of encrypted data using the re-encryption key as re-encrypted data; and

transmit the re-encrypted data to the user in response to the query.

2. A system according to claim 1 , further comprising:

a public key generator to generate public parameters for the user and generate the public key using at least one of the public parameters.

3. A system according to claim 1 , further comprising:

a secret key generator to generate private parameters for the user and compute a secret key for the user using at least one of the private parameters.

4. A system according to claim 1 , further comprising:

a message encryptor to encrypt each item of the encrypted data by dividing each data item into segments, further dividing each segment into two blocks comprising a first block and a second block, collecting the first block from each segment in the data item and generating ciphertext, collecting the second block from each segment in the data item and generating ciphertext, and combining the ciphertext from the first and the second blocks as an encryption of that data item.

5. A system according to claim 1 , further, comprising:

a re-encryption key generator to calculate the re-encryption key by parsing each of the secret key associated with the data owner and the public key of the user into two sections, selecting the two random elements, computing a first part of the re-encryption key based on one of the random elements, a first section of the secret key, and a first section of the public key, computing a second part of the re-encryption key based on the other random element, a second section of the secret key, and a second section of the public key, and combining the first and second parts as the re-encryption key.

6. A system according to claim 1 , further comprising:

a key access module to identify the user of the query and access the re-encryption key associated with the identified user for re-encryption.

7. A system according to claim 1 , further comprising:

a re-encryption module to perform the re-encryption on one such encrypted data item of the identified portion of the encrypted data by splitting the encrypted data item into two parts, computing a first re-encryption component using elements from the re-encryption key and the first part of the encrypted data item, computing a second re-encryption component using elements form the re-encryption key and the second part of the encrypted data item, and combining the first and second re-encryption components as the re-encrypted data item.

8. A system according to claim 1 , wherein the re-encrypted results comprise ciphertext different from ciphertext of the encrypted data.

9. A system according to claim 8 , further comprising at least one of:

a decryption module to decrypt the re-encrypted ciphertext of one such data item by dividing the re-encrypted ciphertext into two parts, applying an oracle and a decode algorithm to the first part and the decode algorithm to the second part and combining the first and second parts as the ciphertext of the encrypted data item.

10. A computer-implemented method for protecting sensitive data via data re-encryption, comprising:

maintaining encrypted data of a data owner, wherein the encrypted data comprises a property of supporting additions of plaintext underlying the encrypted data and is encrypted via a public key of the data owner;

receiving from a user a query;

identifying at least a portion of the encrypted data that satisfies the query from the user;

generating a re-encryption key for the identified portion of encrypted data using a public key of the user, a secret key of the data owner, and two random elements selected from a group of elements; and

re-encrypting as re-encrypted data the identified portion of the encrypted data using the re-encryption key; and

transmitting the re-encrypted data to the user as results of the query.

11. A method according to claim 10 , further comprising:

generating public parameters for the user; and

generating the public key using at least one of the public parameters.

12. A method according to claim 10 , further comprising:

generating private parameters for the user; and

computing a secret key for the user using at least one of the private parameters.

13. A method according to claim 10 , further comprising:

encrypting each item of the encrypted data, comprising:

dividing each data item into segments;

further dividing each segment into two blocks comprising a first block and a second block;

collecting the first block from each segment in the data item and generating ciphertext;

collecting the second block from each segment in the data item and generating ciphertext; and

combining the ciphertext from the first and the second blocks as an encryption of that data item.

14. A method according to claim 10 , further, comprising:

calculating the re-encryption key, comprising:

parsing each of the secret key associated with the data owner and the public key of the user into two sections;

selecting the two random elements;

computing a first part of the re-encryption key based on one of the random elements, a first section of the secret key, and a first section of the public key;

computing a second part of the re-encryption key based on the other random element, a second section of the secret key, and a second section of the public key; and

combining the first and second parts as the re-encryption key.

15. A method according to claim 10 , further comprising:

identifying the user; and

accessing the re-encryption key associated with the identified user for re-encryption.

16. A method according to claim 10 , further comprising:

performing the re-encryption on one such encrypted data item of the identified portion of encrypted data, comprising:

splitting the encrypted data item into two parts;

computing a first re-encryption component using elements from the re-encryption key and the first part of the encrypted data item;

computing a second re-encryption component using elements form the re-encryption key and the second part of the encrypted data item; and

combining the first and second re-encryption components as the re-encrypted data item.

17. A method according to claim 10 , wherein the re-encrypted results comprise ciphertext different from ciphertext of the encrypted data.

18. A method according to claim 17 , further comprising at least one of:

decrypting the re-encrypted ciphertext of one such item of the data, comprising:

dividing the re-encrypted ciphertext into two parts;

applying an oracle and a decode algorithm to the first part and the decode algorithm to the second part; and

combining the first and second parts as the ciphertext of the encrypted data item; and

decrypting the re-encrypted data via a secret key of the user.

Assignments (9)
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 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2016
From: RAO, VANISHREE; RANE, SHANTANU; UZUN, ERSIN; BRITO, ALEJANDRO E.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 038947/0801 →
Continuity (1)
Related Publication 20170366519A1 · Dec 21, 2017
Cited By (1)
US 12,395,336