IP Library › Granted Patent US 12,531,719
Granted Patent B2
US 12,531,719 · App. 18/550,100 · Granted Jan 20, 2026

Encoding data for homomorphic computation and performing homomorphic computation on encoded data

Inventors: Hong Meng Benjamin Tan (Singapore, SG); Sze Ling Yeo (Singapore, SG); Khin Mi Mi Aung (Singapore, SG)
Assignee: Agency for Science, Technology and Research
H04L9/008H04L9/06
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,531,719
App. No.
18/550,100
Granted
Jan 20, 2026
Kind
B2
Abstract

In some aspects, a method for generating encoded plaintext data in a plaintext vector space includes obtaining a plurality of vectors of plaintext elements, where each plaintext element is an element of a first finite field. The method further includes encoding the plurality of vectors of plaintext elements to a vector of field elements, where each vector of plaintext elements is encoded to a respective field element of the vector of field elements, each of the field elements is an element of a second finite field, and the second finite field is a finite extension field of the first finite field. The method additionally includes encoding the vector of field elements into an element of the plaintext vector space to produce the encoded plaintext data for homomorphic encryption and computation.

Claims (61)

1 . A method for generating encoded plaintext data in a plaintext vector space, comprising:

obtaining a plurality of vectors of plaintext elements, wherein each plaintext element is an element of a first finite field;

encoding the plurality of vectors of plaintext elements to a vector of field elements, wherein each vector of plaintext elements is encoded to a respective field element of the vector of field elements, each of the field elements is an element of a second finite field, and the second finite field is a finite extension field of the first finite field;

encoding the vector of field elements into an element of the plaintext vector space to produce the encoded plaintext data;

encrypting the encoded plaintext data to produce a ciphertext; and

performing homomorphic computation on the ciphertext, wherein performing homomorphic computation comprises:

generating a plurality of linear maps based on the encoded plaintext data;

performing, on the ciphertext, a decoding operation of an outer recode operation based on a first linear map of the plurality of linear maps, the decoding operation generating an outer vector of ciphertexts;

performing, on each entry of the outer vector of ciphertexts, an inner recode operation based on a second linear map of the plurality of linear maps, the inner recoding operation generating a respective refreshed ciphertext, the respective refreshed ciphertexts forming a refreshed outer vector of ciphertexts; and

performing, on the refreshed outer vector of ciphertexts, an encoding operation of the outer recode operation based on the first linear map, the encoding operation generating a refreshed ciphertext encrypting the plaintext data.

2 . The method of claim 1 , wherein encoding the plurality of vectors of plaintext elements to the vector of field elements is based on a first reverse multiplication friendly embedding (RMFE) scheme, and encoding the vector of field elements into the element of the plaintext vector space is based on a second RMFE scheme.

3 . The method of claim 2 , wherein each of the first RMFE scheme and the second RMFE scheme comprises generating a respective polynomial that lies in the plaintext vector space.

4 . The method of claim 2 , wherein the first RMFE scheme comprises generating a respective encoded element based on a respective algebraic function field, and the second RMFE scheme comprises generating a respective polynomial.

5 . The method of claim 1 , wherein:

performing the inner recode operation based on the second linear map of the plurality of linear maps comprises:

performing a first transformation on the second linear map to generate the respective refreshed ciphertext, the first transformation comprising an optimized post-multiplication linear map evaluation; and

performing the encoding operation of the outer recode operation based on the first linear map comprises:

performing a second transformation on the first linear map to generate the refreshed ciphertext encrypting the plaintext data, the second transformation comprising a linear map evaluation with linearized polynomials.

6 . The method of claim 1 , wherein the outer recode operation is performed prior to the inner recode operation.

7 . The method of claim 1 , wherein the inner recode operation is performed prior to the outer recode operation.

8 . A system for generating encoded plaintext data in a plaintext vector space, comprising:

a memory; and

at least one processor communicatively coupled to the memory and configured to perform operations comprising:

obtaining a plurality of vectors of plaintext elements, wherein each plaintext element is an element of a first finite field;

encoding the plurality of vectors of plaintext elements to a vector of field elements, wherein each vector of plaintext elements is encoded to a respective field element of the vector of field elements, each of the field elements is an element of a second finite field, and the second finite field is a finite extension field of the first finite field;

encoding the vector of field elements into an element of the plaintext vector space to produce the encoded plaintext data;

encrypting the encoded plaintext data to produce a ciphertext; and

performing homomorphic computation on the ciphertext, wherein performing homomorphic computation comprises:

generating a plurality of linear maps based on the encoded plaintext data;

performing, on the ciphertext, a decoding operation of an outer recode operation based on a first linear map of the plurality of linear maps, the decoding operation generating an outer vector of ciphertexts;

performing, on each entry of the outer vector of ciphertexts, an inner recode operation based on a second linear map of the plurality of linear maps, the inner recoding operation generating a respective refreshed ciphertext, the respective refreshed ciphertexts forming a refreshed outer vector of ciphertexts; and

performing, on the refreshed outer vector of ciphertexts, an encoding operation of the outer recode operation based on the first linear map, the encoding operation generating a refreshed ciphertext encrypting the plaintext data.

9 . The system of claim 8 , wherein encoding the plurality of vectors of plaintext elements to the vector of field elements is based on a first reverse multiplication friendly embedding (RMFE) scheme, and encoding the vector of field elements into the element of the plaintext vector space is based on a second RMFE scheme.

10 . The system of claim 9 , wherein each of the first RMFE scheme and the second RMFE scheme comprises generating a respective polynomial that lies in the plaintext vector space.

11 . The system of claim 9 , wherein the first RMFE scheme comprises generating a respective encoded element based on a respective algebraic function field, and the second RMFE scheme comprises generating a respective polynomial.

12 . The system of claim 8 , wherein:

performing the inner recode operation based on the second linear map of the plurality of linear maps comprises:

performing a first transformation on the second linear map to generate the respective refreshed ciphertext, the first transformation comprising an optimized post-multiplication linear map evaluation; and

performing the encoding operation of the outer recode operation based on the first linear map comprises:

performing a second transformation on the first linear map to generate the refreshed ciphertext encrypting the plaintext data, the second transformation comprising a linear map evaluation with linearized polynomials.

13 . The system of claim 8 , wherein the outer recode operation is performed prior to the inner recode operation.

14 . The system of claim 8 , wherein the inner recode operation is performed prior to the outer recode operation.

15 . A non-transitory computer-readable medium for generating encoded plaintext data in a plaintext vector space, the non-transitory computer-readable medium comprising instructions that are operable, when executed by data processing apparatus, to perform operations comprising:

obtaining a plurality of vectors of plaintext elements, wherein each plaintext element is an element of a first finite field;

encoding the plurality of vectors of plaintext elements to a vector of field elements, wherein each vector of plaintext elements is encoded to a respective field element of the vector of field elements, each of the field elements is an element of a second finite field, and the second finite field is a finite extension field of the first finite field;

encoding the vector of field elements into an element of the plaintext vector space to produce the encoded plaintext data;

encrypting the encoded plaintext data to produce a ciphertext; and

performing homomorphic computation on the ciphertext, wherein performing homomorphic computation comprises:

generating a plurality of linear maps based on the encoded plaintext data;

performing, on the ciphertext, a decoding operation of an outer recode operation based on a first linear map of the plurality of linear maps, the decoding operation generating an outer vector of ciphertexts;

performing, on each entry of the outer vector of ciphertexts, an inner recode operation based on a second linear map of the plurality of linear maps, the inner recoding operation generating a respective refreshed ciphertext, the respective refreshed ciphertexts forming a refreshed outer vector of ciphertexts; and

performing, on the refreshed outer vector of ciphertexts, an encoding operation of the outer recode operation based on the first linear map, the encoding operation generating a refreshed ciphertext encrypting the plaintext data.

16 . The non-transitory computer-readable medium of claim 15 , wherein encoding the plurality of vectors of plaintext elements to the vector of field elements is based on a first reverse multiplication friendly embedding (RMFE) scheme, and encoding the vector of field elements into the element of the plaintext vector space is based on a second RMFe scheme.

17 . The non-transitory computer-readable medium of claim 16 , wherein the first RMFE scheme and the second RMFE scheme comprises generating a respective polynomial that lies in the plaintext vector space.

18 . The non-transitory computer-readable medium of claim 16 , wherein the first RMFE scheme comprises generating a respective encoded element based on a respective algebraic function field, and the second RMFE scheme comprises generating a respective polynomial.

19 . The non-transitory computer-readable medium of claim 15 , wherein:

performing the inner recode operation based on the second linear map of the plurality of linear maps comprises:

performing a first transformation on the second linear map to generate the respective refreshed ciphertext, the first transformation comprising an optimized post-multiplication linear map evaluation; and

performing the encoding operation of the outer recode operation based on the first linear map comprises:

performing a second transformation on the first linear map to generate the refreshed ciphertext encrypting the plaintext data, the second transformation comprising a linear map evaluation with linearized polynomials.

20 . The non-transitory computer-readable medium of claim 15 , wherein the outer recode operation is performed prior to the inner recode operation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2023
From: TAN, HONG MENG BENJAMIN; YEO, SZE LING; AUNG, KHIN MI MI
To: AGENCY FOR SCIENCE, TECHNOLOGY AND RESEARCH
Reel/Frame 065916/0011 →
Continuity (1)
Related Publication 20240171374A1 · May 23, 2024
References Cited (34)
US 9787614B2 · Heide et al. · 2017 [cited by applicant]
US 20030007635A1 · Li · 2003 [cited by examiner]
US 20160164671A1 · Gentry · 2016 [cited by examiner]
US 20190334694A1 · Chen · 2019 [cited by examiner]
US 20190386814A1 · Ahmed · 2019 [cited by examiner]
CN 108924552A · 2018 [cited by applicant]
Cascudo et al., “A Secret-Sharing Based MPC Protocol for Boolean Circuits with Good Amortized Complexity”, Cryptology ePrint Archive, Paper 2020/162, Feb. 2020, 33 pages. [cited by applicant]
Block et al., “Secure Computation with Constant Communication Overhead using Multiplication Embeddings”, Progress in Cryptology—INDOCRYPT 2018Lecture Notes in Computer Science, vol. 11356, Dec. 2018, 27 pages. [cited by applicant]
Han et al., “Improved Homomorphic Discrete Fourier Transforms and FHE Bootstrapping,” IEEE Access, vol. 7, Apr. 2019, pp. 57361-57370. [cited by applicant]
Jaschke et al., “(Finite) Field Work: Choosing the Best Encoding of Numbers for FHE Computation,” Cryptology and Network Security: 16th International Conference (CANS 2017), Nov. 2017, 45 pages. [cited by applicant]
Kim et al., “On the Efficiency of FHE-Based Private Queries,” IEEE Transactions on Dependable and Secure Computing, vol. 15, No. 2, Mar./Apr. 2018, pp. 357-363. [cited by applicant]
Tan et al., “Efficient Private Comparison Queries over Encrypted Databases using Fully Homomorphic Encryption with Finite Fields,” IEEE Transactions on Dependable and Secure Computing, vol. 18, No. 6, Nov./Dec. 2020, pp… [cited by applicant]
Cascudo et al., “Amortized Complexity of Information-Theoretically Secure MPC Revisited,” Advances in Cryptology—CRYPTO 2018, Lecture Notes in Computer Science, vol. 10993, Jul. 2018, pp. 395-426. [cited by applicant]
Castryck et al., “Homomorphic SIM2D Operations: Single Instruction Much More Data,” Advances in Cryptology—EUROCRYPT 2018, Lecture Notes in Computer Science vol. 10820, Mar. 2018, pp. 338-359. [cited by applicant]
Costache et al., “Faster homomorphic evaluation of discrete fourier transforms,” International Conference on Financial Cryptography and Data Security, Lecture Notes in Computer Science vol. 10322, Apr. 2017, pp. 517-529. [cited by applicant]
Block et al., “Secure Computation with Constant Communication Overhead Using Multiplication Embeddings,” INDOCRYPT 2018: Progress in Cryptology, Lecture Notes in Computer Science vol. 11356, Dec. 2018, pp. 375-398. [cited by applicant]
Chudnovsky et al., “Algebraic complexities and algebraic curves over finite fields,” Journal of Complexity, vol. 4, Dec. 1988, pp. 285-316. [cited by applicant]
Cascudo et al., “The Arithmetic Codex”, 2012 IEEE Information Theory Workshop, Sep. 2012, pp. 75-79. [cited by applicant]
Smart, et al., “Fully Homomorphic SIMD Operations”, Designs, Codes and Cryptography, vol. 71, Apr. 2014, pp. 57-81. [cited by applicant]
Brakerski et al., “(Leveled) Fully Homomorphic Encryption without Bootstrapping”, ITCS '12: Proceedings of the 3rd Innovations in Theoretical Computer Science Conference, Jan. 2012, pp. 309-325. [cited by applicant]
Brakerski, “Fully Homomorphic Encryption without Modulus Switching from Classical GapSVP,” CRYPTO 2012: Advances in Cryptology, Lecture Notes in Computer Science vol. 7417, Aug. 2012, 20 pages. [cited by applicant]
Fan et al., “Somewhat Practical Fully Homomorphic Encryption”, Cryptology ePrint Archive, Paper 2012/144, Mar. 2012, 19 pages. [cited by applicant]
Halevi et al., “Algorithms in HElib,” CRYPTO 2014: Advances in Cryptology, Lecture Notes in Computer Science, vol. 8616, Aug. 2014, pp. 554-571. [cited by applicant]
Halevi et al., “Bootstrapping for HElib”, EUROCRYPT 2015: Advances in Cryptology, Lecture Notes in Computer Science vol. 9056, Apr. 2015, pp. 641-670. [cited by applicant]
Cramer et al., “Secure Multiparty Computation and Secret Sharing”, Cambridge University Press, Jul. 2015, 10 pages. [cited by applicant]
Halevi et al., “Faster Homomorphic Linear Transformations in HElib”, CRYPTO 2018: Advances in Cryptology, Lecture Notes in Computer Science vol. 10991, Jul. 2018, pp. 93-120. [cited by applicant]
Kim et al., “Search Condition-Hiding Query Evaluation on Encrypted Databases,” IEEE Access, vol. 7, Nov. 2019, pp. 161283-161295. [cited by applicant]
Roman, “10.4 Linearized Polynomials”, in: Field Theory; Second Edition, Springer, Nov. 2005, pp. 236-237. [cited by applicant]
Cascudo et al., “Asymptotically Good Ideal Linear Secret Sharing with Strong Multiplication over Any Fixed Finite Field”, CRYPTO 2009: Advances in Cryptology, Lecture Notes in Computer Science vol. 5677, Aug. 2009, pp. … [cited by applicant]
Kim et al., “Private Compound Wildcard Queries Using Fully Homomorphic Encryption,” IEEE Transactions on Dependable And Secure Computing, vol. 16, No. 5, Sep./Oct. 2019, pp. 743-756. [cited by applicant]
Gentry et al., “Fully Homomorphic Encryption with Polylog Overhead,” EUROCRYPT 2012: Advances in Cryptology, Lecture Notes in Computer Science vol. 7237, Apr. 2012, pp. 465-482. [cited by applicant]
Block et al., “Secure Computation Based on Leaky Correlations: High Resilience Setting,” CRYPTO 2017: Advances in Cryptology, Lecture Notes in Computer Science vol. 10402, Aug. 2017, pp. 3-32. [cited by applicant]
Castryck W. et al., “Homomorphic SIM2D operations: Single Instruction Much More Data”, Annual International Conference on the Theory and Applications of Cryptographic Techniques, Mar. 2018, 22 pages. [cited by applicant]
International Search Report and Written Opinion issued Jun. 15, 2021 regarding International Application No. PCT/SG2021/050131, 8 pages. [cited by applicant]