IP Library Granted Patent US 12,665,886
Granted Patent B2
US 12,665,886 · App. 18/231,706 · Granted Jun 23, 2026

Privacy-preserving distributed computing

Inventors: Dongwoo Kim (San Jose, CA); Mahdi Soleymani (San Diego, CA); Robert Mateescu (San Jose, CA); Cyril Guyot (San Jose, CA)
Assignee: Western Digital Technologies, Inc.
H04L63/0428H04L9/008
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 12,665,886
App. No.
18/231,706
Filed
Aug 8, 2023
Granted
Jun 23, 2026
Kind
B2
Art Unit
2436
USPC
713/153
Abstract

A client device encodes at least two datasets using one or more encoding functions to generate encoded data portions that are encrypted using a first key according to an approximate Fully Homomorphic Encryption (FHE) scheme to generate encrypted data portions that are sent to a plurality of servers. Encrypted results are received from at least a subset of servers of the plurality of servers. Each encrypted result is calculated by a respective server using at least two encrypted data portions received by the server. The encrypted results are decrypted using a secret key according to the approximate FHE scheme to derive decrypted encoded results that are decoded using an approximate decoding function. In one aspect, an encrypted result is calculated by each server by evaluating a multivariate function using the at least two encrypted data portions received by the server.

Claims (70)

1 . A client device, comprising:

an interface configured to communicate with a plurality of servers; and

at least one hardware processor, individually or in combination, configured to:

encode a first dataset using an encoding function to generate a first set of encoded data portions;

encode a second dataset using the encoding function or a different encoding function to generate a second set of encoded data portions;

encrypt the first and second sets of encoded data portions using a first key according to an approximate Fully Homomorphic Encryption (FHE) scheme to generate first and second sets of encrypted encoded data portions;

send, via the interface, the first and second sets of encrypted encoded data portions to the plurality of servers;

receive, via the interface, a plurality of encrypted encoded results from at least a subset of servers of the plurality of servers, wherein each encrypted encoded result of the plurality of encrypted encoded results, received from a respective server, is based on at least one encrypted encoded data portion from each of the first set of encrypted encoded data portions and the second set of encrypted encoded data portions;

decrypt the received plurality of encrypted encoded results using a secret key according to the approximate FHE scheme to derive a plurality of decrypted encoded results; and

decode the plurality of decrypted encoded results using an approximate decoding function.

2 . The client device of claim 1 , wherein the first dataset and the second dataset represent respective first and second matrices, and wherein the at least one hardware processor, individually or in combination, is further configured to:

divide the first dataset into a first set of smaller datasets representing smaller matrices within the first matrix; and

divide the second dataset into a second set of smaller datasets representing smaller matrices within the second matrix.

3 . The client device of claim 1 , wherein the at least one hardware processor, individually or in combination, is further configured to:

divide the first dataset into a first number of smaller datasets; and

divide the second dataset into a second number of smaller datasets, wherein the first number of smaller datasets does not equal the second number of smaller datasets.

4 . The client device of claim 1 , wherein the at least one hardware processor, individually or in combination, is further configured to send, to each server of the plurality of servers, a first encrypted encoded data portion from the first set of encrypted encoded data portions and a second encrypted encoded data portion from the second set of encrypted encoded data portions to multiply the first and second encrypted encoded data portions with each other.

5 . The client device of claim 1 , wherein the at least one hardware processor, individually or in combination, is further configured to determine a total number of encoded data portions to be derived from encoding one of the first dataset or the second dataset based at least in part on a degree of a function to be evaluated by each server of the plurality of servers to calculate the encrypted encoded result.

6 . The client device of claim 1 , wherein the at least one hardware processor, individually or in combination, is further configured to:

divide the first dataset into a first set of smaller datasets;

divide the second dataset into a second set of smaller datasets;

encode the first set of smaller datasets to generate the first set of encoded data portions; and

encode the second set of smaller datasets to generate the second set of encoded data portions.

7 . A method for distributed computation, the method comprising:

encoding at least two datasets using one or more encoding functions to generate encoded data portions;

encrypting the encoded data portions using a first key according to an approximate Fully Homomorphic Encryption (FHE) scheme to generate encrypted encoded data portions;

sending the encrypted encoded data portions to a plurality of servers;

receiving a plurality of encrypted encoded results from at least a subset of servers from the plurality of servers, wherein each server of the at least a subset of servers calculates a respective encrypted encoded result by evaluating a multivariate function using at least two encrypted encoded data portions received by the server;

decrypting the received plurality of encrypted encoded results using a secret key according to the approximate FHE scheme to derive a plurality of decrypted encoded results; and

decoding the plurality of decrypted encoded results using an approximate decoding function.

8 . The method of claim 7 , wherein the at least two datasets represent respective matrices, and wherein the method further comprises dividing each of the at least two datasets into a plurality of smaller datasets that each represent a smaller matrix within one of the respective matrices.

9 . The method of claim 7 , further comprising:

dividing a first dataset into a first set of smaller datasets; and

dividing a second dataset into a second set of smaller datasets, wherein the number of smaller datasets in the first set of smaller datasets does not equal the number of smaller datasets in the second set of smaller datasets.

10 . The method of claim 7 , wherein each server of the plurality of servers evaluates the multivariate function as a bilinear function using a first encrypted encoded data portion from a first set of encrypted encoded data portions as a first input to the bilinear function and using a second encrypted encoded data portion from a second set of encrypted encoded data portions as a second input to the bilinear function.

11 . The method of claim 7 , wherein each server of the plurality of servers performs at least one matrix or vector arithmetic operation using the at least two encrypted encoded data portions received from the client device.

12 . The method of claim 7 , further comprising sending, to each server of the plurality of servers, a first encrypted encoded data portion from a first set of encrypted encoded data portions and a second encrypted encoded data portion from a second set of encrypted encoded data portions to multiply the first and second encrypted encoded data portions with each other.

13 . The method of claim 7 , further comprising determining a total number of encoded data portions to be derived from encoding one dataset of the at least two datasets based at least in part on a degree of the multivariate function to be evaluated by each server of the plurality of servers to calculate an encrypted encoded result of the plurality of encrypted encoded results.

14 . The method of claim 7 , further comprising:

dividing a dataset of the at least two datasets into a number of smaller datasets; and

setting a number of servers to use for the plurality of servers based at least in part on the number of smaller datasets.

15 . A server, comprising:

an interface configured to communicate with a client device; and

at least one hardware processor, individually or in combination, configured to:

receive a first encrypted data portion and a second encrypted data portion from the client device, wherein the first encrypted data portion is from a first set of encrypted data portions and the second encrypted data portion is from a second set of encrypted data portions, the first and second sets of encrypted data portions having been encrypted using an approximate Fully Homomorphic Encryption (FHE) scheme;

calculate an encrypted result by at least in part evaluating a multivariate function using the first encrypted data portion as a first input to the multivariate function and using the second encrypted data portion as a second input to the multivariate function; and

send the encrypted result to the client device.

16 . The server of claim 15 , wherein the at least one hardware processor, individually or in combination, is further configured to evaluate the multivariate function by performing at least one matrix or vector arithmetic operation using the first encrypted data portion and the second encrypted data portion.

17 . A system, comprising:

a plurality of servers; and

a client device including means for:

encoding a first dataset using an encoding function to generate a first set of encoded data portions;

encoding a second dataset using the encoding function or a different encoding function to generate a second set of encoded data portions;

encrypting the first and second sets of encoded data portions using a first key according to an approximate Fully Homomorphic Encryption (FHE) scheme to generate first and second sets of encrypted encoded data portions; and

sending the first and second sets of encrypted encoded data portions to the plurality of servers; and

wherein each server of the plurality of servers is configured to:

receive at least one encrypted encoded data portion from the client device;

evaluate a function using the received at least one encrypted encoded data portion to calculate an encrypted encoded result, wherein the at least one encrypted encoded data portion received by the server is from at least one of the first and second sets of encrypted encoded data portions; and

send the encrypted encoded result to the client device; and

wherein the client device further includes means for:

receiving a plurality of encrypted encoded results from at least a subset of servers of the plurality of servers;

decrypting the received plurality of encrypted encoded results using a secret key according to the approximate FHE scheme to derive a plurality of decrypted encoded results; and

decoding the plurality of decrypted encoded results using an approximate decoding function.

18 . The system of claim 17 , wherein each server of the plurality of servers is further configured to perform at least one matrix or vector arithmetic operation using the received at least one encrypted encoded data portion.

19 . The system of claim 17 , wherein the client device further includes means for determining a total number of encoded data portions to be derived from encoding at least one of the first dataset and the second dataset based at least in part on a degree of the function to be evaluated by each server of the plurality of servers to calculate the encrypted encoded result.

20 . The system of claim 17 , wherein the client device further includes means for:

dividing the first dataset into a first set of smaller datasets;

dividing the second dataset into a second set of smaller datasets;

encoding the first set of smaller datasets to generate the first set of encoded data portions; and

encoding the second set of smaller datasets to generate the second set of encoded data portions.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2025
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 070313/0840 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT- A&R Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065656/0649 →
PATENT COLLATERAL AGREEMENT - DDTL Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065657/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2023
From: KIM, DONGWOO; SOLEYMANI, MAHDI; MATEESCU, ROBERT; GUYOT, CYRIL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 064528/0565 →
Continuity (2)
Provisional Application 63416365 · Oct 14, 2022
Related Publication 20240146700A1 · May 2, 2024
References Cited (39)
US 8630422B2 · Gentry · 2014 [cited by examiner]
US 9800517B1 · Anderson · 2017 [cited by examiner]
US 10944552B2 · Leong · 2021 [cited by examiner]
US 12001577B1 · Xiong et al. · 2024 [cited by applicant]
US 20120039473A1 · Gentry et al. · 2012 [cited by applicant]
US 20160119119A1 · Calapodescu · 2016 [cited by examiner]
US 20170134158A1 · Pasol · 2017 [cited by examiner]
US 20170180115A1 · Laine et al. · 2017 [cited by applicant]
US 20180234253A1 · Camenisch · 2018 [cited by examiner]
US 20190386814A1 · Ahmed · 2019 [cited by examiner]
US 20200387777A1 · Avestimehr · 2020 [cited by examiner]
US 20220060314A1 · Sehrawat · 2022 [cited by examiner]
US 20230027010A1 · Raynal · 2023 [cited by examiner]
US 20250038948A1 · Veneroso · 2025 [cited by examiner]
CN 111984990B · 2022 [cited by applicant]
WO 2022191770A1 · 2022 [cited by applicant]
Aliasgari et al.; “Distributed and Private Coded Matrix Computation with Flexible Communication Load”; Jan. 2019; available at: https://arxiv.org/pdf/1901.07705.pdf. [cited by applicant]
Cheon et al.; “Homomorphic encryption for arithmetic of approximate numbers”; International Conference on the Theory and Application of Cryptology and Information Security; Sep. 2017; available at: https://eprint.iacr.o… [cited by applicant]
Dathathri et al.; “Eva: An encrypted vector arithmetic language and compiler for efficient homomorphic computation”; Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation; 2020… [cited by applicant]
Dutta et al.; “On the optimal recovery threshold of coded matrix multiplication”; IEEE Transactions on Information Theory; 2019; available at: https://arxiv.org/pdf/1801.10292.pdf. [cited by applicant]
Jahani-Nezhad et al.; “Berrut approximated coded computing: Straggler resistance beyond polynomial computing”; Feb. 2022; available at: https://arxiv.org/pdf/2009.08327.pdf. [cited by applicant]
Jeong et al.; “Approximate coded matrix multiplication is nearly twice as efficient as exact multiplication is nearly twice as efficient as exact multipliation”; 2021; available at: https://arxiv.org/pdf/2105.01973.pdf. [cited by applicant]
Kanagavalli et al.; “Big Data Security using Homomorphic Encryption”; Turkish Journal of Computer and Mathematics Education; 2021; available at: file:///C:/Users/olenk/Dropbox/PC%20(2)/Downloads/10691-Article%20Text-190… [cited by applicant]
Kumar et al.; “Privacy preserving, verifiable and efficient outsourcing algorithm for matrix multiplication to a malicious cloud server”; Mar. 2017; available at: https://www.tandfonline.com/doi/full/10.1080/23311916.20… [cited by applicant]
Pulido-Gaytan et al.; “A Survey on Privacy-Preserving Machine Learning with Fully Homomorphic Encryption”; Sep. 2020; available at: https://www.researchgate.net/publication/344122938_A_Survey_on_Privacy-Preserving_Machi… [cited by applicant]
Ramamoorthy et al.; “Universally Decodable Matrices for Distributed Matrix-Vector Multipliation”; Jan. 2019; available at: https://arxiv.org/pdf/1901.10674.pdf. [cited by applicant]
So et al.; “CodedPrivateML: A Fast and Privacy-Preserving Framework for Distributed Machine Learning”; Jan. 2021; available at: https://eprint.iacr.org/2019/140.pdf. [cited by applicant]
Tegin et al.; “Straggler Mitigation through Unequal Error Protection for Distributed Matrix Multiplication”; 2021; available at: http://repository.bilkent.edu.tr/bitstream/handle/11693/77047/Straggler_Mitigation_through… [cited by applicant]
Troncoso-Pastoriza et al.; “Privacy-Preserving Data Sharing and Computation Across Multiple Data Providers with Homomorphic Encryption”; Jan. 2022; available at: https://link.springer.com/chapter/10.1007/978-3-030-77287… [cited by applicant]
Yu et al.; “Straggler Mitigation in Distributed Matrix Multiplication: Fundamental Limits and Optimal Coding”; IEEE Transactions on Information Theory; Jan. 2018; available at: https://arxiv.org/abs/1801.07487. [cited by applicant]
Yu et al.; “Polynomial Codes: an Optimal Design for High-Dimensional Coded Matrix Multiplication”; Jan. 2018; available at: https://arxiv.org/abs/1705.10464. [cited by applicant]
Aganya et al.; “Symmetric Fully Homomorphic Encryption Scheme with Polynomials Operations”; Mar. 2018; available at: https://ieeexplore.ieee.org/document/8474729. [cited by applicant]
Kim et al.; “ARK: Fully Homomorphic Encryption Accelerator with Runtime Data Generation and Inter-Operation Key Reuse”; May 2022; available at: https://arxiv.org/abs/2205.00922. [cited by applicant]
Hilder Vitor Lima Pereira; “Bootstrapping fully homomorphic encryption over the integers in less than one second”; Aug. 2020; available at: https://eprint.iacr.org/2020/995. [cited by applicant]
Han et al.; “Efficient Privacy Preserving Logistic Regression Inference and Training”; Nov. 2020; available at: https://eprint.iacr.org/2020/1396. [cited by applicant]
Migliore et al.; “Exploration of Polynomial Multiplication Algorithms for Homomorphic Encryption Schemes”; Dec. 2015; available at: https://ieeexplore.ieee.org/document/7393307. [cited by applicant]
Choi et al.; “Impala: Low-Latency, Communication-Efficient Private Deep Learning Inference”; May 2022; available at: https://arxiv.org/abs/2205.06437. [cited by applicant]
Viand et al.; “SoK: Fully Homomorphic Encryption Compilers”; Jan. 2021; available at: https://arxiv.org/abs/2101.07078. [cited by applicant]
Pending U.S. Appl. No. 18/231,716, filed Aug. 8, 2023, entitled “Evaluating Convolutions Using Encrypted Data”, Dongwoo Kim. [cited by applicant]