IP Library › Granted Patent US 11,431,470
Granted Patent B2
US 11,431,470 · App. 16/996,061 · Granted Aug 30, 2022

Performing computations on sensitive data while guaranteeing privacy

Inventors: Xiaoqian Jiang (Houston, TX); Miran Kim (Houston, TX); Yongsoo Song (Redmond, WA); Kristin Lauter (Redmond, WA)
Assignees: THE BOARD OF REGENTS OF THE UNIVERSITY OF TEXAS SYSTEM; THE REGENTS OF THE UNIVERSITY OF CAIIFORNIA; MICROSOFT TECHNOLOGY LICENSING, LLC
H04L9/008G06F17/16G06F21/602G06F21/6245H04L9/0631
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,431,470
App. No.
16/996,061
Granted
Aug 30, 2022
Kind
B2
Abstract

A method, system and computer program product for performing computations on sensitive data while guaranteeing privacy. A service provider receives a first and a second ciphertext from a medical provider that homomorphically encrypts matrices A and B, respectively, using an encryption key, where the matrices A and B include medical data encoded as vectors. The service provider performs a homomorphic matrix multiplication on the first and second ciphertexts without decrypting the first and second ciphertexts. An encrypted result from the performed homomorphic matrix multiplication on the first and second ciphertexts is generated and transmitted to the medical provider to decrypt which matches a result of performing a matrix multiplication on unencrypted matrices A and B thereby enabling computations to be performed on the medical data in a secure manner.

Claims (65)

1. A method for performing computations on sensitive data while guaranteeing privacy, the method comprising:

receiving a first and a second ciphertexts from a medical provider that homomorphically encrypts matrices A and B, respectively, using an encryption key, wherein said matrices A and B comprise medical data encoded as vectors;

performing a homomorphic matrix multiplication on said first and second ciphertexts without decrypting said first and second ciphertexts;

generating an encrypted result from said performed homomorphic matrix multiplication on said first and second ciphertexts; and

transmitting said encrypted result to said medical provider to decrypt said encrypted result which matches a result of performing a matrix multiplication on unencrypted matrices A and B thereby enabling computations to be performed on said medical data in a secure manner.

2. The method as recited in claim 1 , wherein said homomorphic matrix multiplication comprises:

performing a first linear transformation of said first ciphertext;

performing a second linear transformation of said second ciphertext;

deriving an updated first ciphertext using said first linear transformation of said first ciphertext and a column shifting matrix;

deriving an updated second ciphertext using said second linear transformation of said second ciphertext and a row shifting matrix; and

computing a Hadamard multiplication between said first and second updated ciphertexts.

3. The method as recited in claim 2 , wherein said homomorphic matrix multiplication further comprises:

aggregating all resulting ciphertexts to obtain an encrypted ciphertext of a matrix product of said matrices A and B; and

transmitting said encrypted ciphertext of said matrix product of said matrices A and B to said medical provider.

4. The method as recited in claim 1 , wherein said first ciphertext encrypts said matrix A and one or more other matrices.

5. The method as recited in claim 1 further comprising:

receiving a request for variant information;

extracting variants from said medical data encoded as vectors; and

converting said extracted variants to objects.

6. The method as recited in claim 5 further comprising:

transmitting said objects to applications of said medical provider.

7. A computer program product for performing computations on sensitive data while guaranteeing privacy, the computer program product comprising one or more computer readable storage mediums having program code embodied therewith, the program code comprising programming instructions for:

receiving a first and a second ciphertexts from a medical provider that homomorphically encrypts matrices A and B, respectively, using an encryption key, wherein said matrices A and B comprise medical data encoded as vectors;

performing a homomorphic matrix multiplication on said first and second ciphertexts without decrypting said first and second ciphertexts;

generating an encrypted result from said performed homomorphic matrix multiplication on said first and second ciphertexts; and

transmitting said encrypted result to said medical provider to decrypt said encrypted result which matches a result of performing a matrix multiplication on unencrypted matrices A and B thereby enabling computations to be performed on said medical data in a secure manner.

8. The computer program product as recited in claim 7 , wherein the programming instructions for performing said homomorphic matrix multiplication comprise:

performing a first linear transformation of said first ciphertext;

performing a second linear transformation of said second ciphertext;

deriving an updated first ciphertext using said first linear transformation of said first ciphertext and a column shifting matrix;

deriving an updated second ciphertext using said second linear transformation of said second ciphertext and a row shifting matrix; and

computing a Hadamard multiplication between said first and second updated ciphertexts.

9. The computer program product as recited in claim 8 , wherein the programming instructions for performing said homomorphic matrix multiplication further comprise:

aggregating all resulting ciphertexts to obtain an encrypted ciphertext of a matrix product of said matrices A and B; and

transmitting said encrypted ciphertext of said matrix product of said matrices A and B to said medical provider.

10. The computer program product as recited in claim 7 , wherein said first ciphertext encrypts said matrix A and one or more other matrices.

11. The computer program product as recited in claim 7 , wherein the program code further comprises the programming instructions for:

receiving a request for variant information;

extracting variants from said medical data encoded as vectors; and

converting said extracted variants to objects.

12. The computer program product as recited in claim 11 , wherein the program code further comprises the programming instructions for:

transmitting said objects to applications of said medical provider.

13. A system, comprising:

a memory for storing a computer program for performing computations on sensitive data while guaranteeing privacy; and

a processor connected to said memory, wherein said processor is configured to execute program instructions of the computer program comprising:

receiving a first and a second ciphertexts from a medical provider that homomorphically encrypts matrices A and B, respectively, using an encryption key, wherein said matrices A and B comprise medical data encoded as vectors;

performing a homomorphic matrix multiplication on said first and second ciphertexts without decrypting said first and second ciphertexts;

generating an encrypted result from said performed homomorphic matrix multiplication on said first and second ciphertexts; and

transmitting said encrypted result to said medical provider to decrypt said encrypted result which matches a result of performing a matrix multiplication on unencrypted matrices A and B thereby enabling computations to be performed on said medical data in a secure manner.

14. The system as recited in claim 13 , wherein the program instructions for performing said homomorphic matrix multiplication comprise:

performing a first linear transformation of said first ciphertext;

performing a second linear transformation of said second ciphertext;

deriving an updated first ciphertext using said first linear transformation of said first ciphertext and a column shifting matrix;

deriving an updated second ciphertext using said second linear transformation of said second ciphertext and a row shifting matrix; and

computing a Hadamard multiplication between said first and second updated ciphertexts.

15. The system as recited in claim 14 , wherein the program instructions for performing said homomorphic matrix multiplication further comprise:

aggregating all resulting ciphertexts to obtain an encrypted ciphertext of a matrix product of said matrices A and B; and

transmitting said encrypted ciphertext of said matrix product of said matrices A and B to said medical provider.

16. The system as recited in claim 13 , wherein said first ciphertext encrypts said matrix A and one or more other matrices.

17. The system as recited in claim 13 , wherein the program instructions of the computer program further comprise:

receiving a request for variant information;

extracting variants from said medical data encoded as vectors; and

converting said extracted variants to objects.

18. The system as recited in claim 17 , wherein the program instructions of the computer program further comprise:

transmitting said objects to applications of said medical provider.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2022
From: LAUTER, KRISTIN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 060597/0286 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2022
From: SONG, YONGSOO
To: THE REGENTS OF THE UNIVERSITY OF CALIFORNIA
Reel/Frame 060597/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2022
From: JIANG, XIAOQIAN; KIM, MIRAN
To: BOARD OF REGENTS OF THE UNIVERSITY OF TEXAS SYSTEM
Reel/Frame 060598/0613 →
Continuity (2)
Provisional Application 62888596 · Aug 19, 2019
Related Publication 20210058229A1 · Feb 25, 2021
Cited By (2)
US 12,380,227 US 12,445,263