IP Library › Granted Patent US 12,284,267
Granted Patent B2
US 12,284,267 · App. 18/102,735 · Granted Apr 22, 2025

Fully homomorphic encryption for fixed-point elements

Inventors: Nir Drucker (Zichron Yaakov, IL); Guy Moshkowich (Nes Ziyona, IL); Tomer Pelleg (Haifa, IL); Hayim Shaul (Kfar Saba, IL)
Assignee: International Business Machines Corporation
H04L9/008H04L9/0618
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,284,267
App. No.
18/102,735
Granted
Apr 22, 2025
Kind
B2
Abstract

A computer-implemented method comprising: receiving, as input, a ciphertext x representing a computational result of an approximated fully-homomorphic encryption (FHE) scheme, wherein ciphertext x comprises an underlying number m and an accumulated computational error e; iteratively, (i) performing a bit extraction operation to extract a current most significant bit (MSB) x′ of ciphertext x, (ii) calculating accuracy parameters α, β associated with x′; (iii) applying a step function to the extracted MSB x′, based, at least in part, on the calculated accuracy parameters α, β, to reduce or remove the accumulated computational error e and to return a clean MSB b, and (iv) repeating steps (i)-(iii) for all bits included in the underlying number m; and reconstructing and outputting, from all of the returned clean MSBs b, the number m.

Claims (46)

1. A computer-implemented method comprising:

receiving, as input, a ciphertext x representing a computational result of an approximated fully-homomorphic encryption (FHE) scheme, wherein ciphertext x comprises a combination of an underlying number m and an accumulated computational error e;

iteratively,

(i) performing a bit extraction operation to extract a current most significant bit (MSB) x′ of ciphertext x,

(ii) calculating accuracy parameters input precision α, output precision β associated with x′,

(iii) applying a step function to said extracted MSB x′, based, at least in part, on said calculated accuracy parameters α, β, to reduce or remove said accumulated computational error e and to return a clean MSB b, and

(iv) repeating steps (i)-(iii) for all bits included in said underlying number m; and

reconstructing and outputting, from all of said returned clean MSBs b, said number m,

wherein m has fewer bits than x.

2. The computer-implemented method of claim 1 , wherein said number m is (i) an integer, or (ii) a fixed point element.

3. The computer-implemented method of claim 1 , wherein said accumulated computational error e of ciphertext x represents the result of one of one or more computational operations in said approximated FHE scheme.

4. The computer-implemented method of claim 3 , further comprising: (i) applying, after each of said one or more computational operations, a heuristic analysis to determine a size of said accumulated computational error e, and (ii) performing steps (i)-(iv) when said accumulated computational error e exceeds a predetermined threshold value.

5. The computer-implemented method of claim 1 , wherein said step function is a polynomial which provides a branch functionality.

6. The computer-implemented method of claim 1 , wherein said accuracy parameter α defines an available accuracy of an input to said step function, and said accuracy parameters β defines a required accuracy of an output of said step function.

7. The computer-implemented method of claim 1 , wherein said ciphertext x represents one of a set of index values associated with a plurality of entries in a lookup table, and wherein step (iii) applies a function which returns 1 when said ciphertext x is equal to one of said index values, and returns 0 otherwise.

8. A system comprising:

at least one hardware processor; and

a non-transitory computer-readable storage medium having program code embodied therewith, the program code executable by said at least one hardware processor to:

receive, as input, a ciphertext x representing a computational result of an approximated fully-homomorphic encryption (FHE) scheme, wherein ciphertext x comprises a combination of an underlying number m and an accumulated computational error e,

iteratively,

(i) perform a bit extraction operation to extract a current most significant bit (MSB) x′ of ciphertext x,

(ii) calculate accuracy parameters input precision α, output precision β associated with x′,

(iii) apply a step function to said extracted MSB x′, based, at least in part, on said calculated accuracy parameters α, β, to reduce or remove said accumulated computational error e and to return a clean MSB b, and

(iv) repeat steps (i)-(iii) for all bits included in said underlying number m, and

reconstruct and output, from all of said returned clean MSBs b, said number m,

wherein m has fewer bits than x.

9. The system of claim 8 , wherein said number m is (i) an integer, or (ii) a fixed point element.

10. The system of claim 8 , wherein said accumulated computational error e of ciphertext x represents the result of one or more computational operations in said approximated FHE scheme.

11. The system of claim 10 , wherein said program instructions are further executable to (i) apply, after each of said one or more computational operations, a heuristic analysis to determine a size of said accumulated computational error e, and (ii) perform steps (i)-(iv) when said accumulated computational error e exceeds a predetermined threshold value.

12. The system of claim 8 , wherein said step function is a polynomial which provides a branch functionality.

13. The system of claim 8 , wherein said accuracy parameter α defines an available accuracy of an input to said step function, and said accuracy parameters β defines a required accuracy of an output of said step function.

14. The system of claim 8 , wherein said ciphertext x represents one of a set of index values associated with a plurality of entries in a lookup table, and wherein step (iii) applies a function which returns 1 when said ciphertext x is equal to one of said index values, and returns 0 otherwise.

15. A computer program product comprising a non-transitory computer-readable storage medium having program code embodied therewith, the program code executable by at least one hardware processor to:

receive, as input, a ciphertext x representing a computational result of an approximated fully-homomorphic encryption (FHE) scheme, wherein ciphertext x comprises a combination of an underlying number m and an accumulated computational error e;

iteratively,

(i) perform a bit extraction operation to extract a current most significant bit (MSB) x′ of ciphertext x,

(ii) calculate accuracy parameters input precision α, output precision β associated with x′,

(iii) apply a step function to said extracted MSB x′, based, at least in part, on said calculated accuracy parameters α, β, to reduce or remove said accumulated computational error e and to return a clean MSB b, and

(iv) repeat steps (i)-(iii) for all bits included in said underlying number m; and

reconstruct and output, from all of said returned clean MSBs b, said number m, wherein

m has fewer bits than x.

16. The computer program product of claim 15 , wherein said number m is (i) an integer, or (ii) a fixed point element.

17. The computer program product of claim 15 , wherein said accumulated computational error e of ciphertext x represents the result of one or more computational operations in said approximated FHE scheme.

18. The computer program product of claim 17 , wherein said program instructions are further executable to (i) apply, after each of said one or more computational operations, a heuristic analysis to determine a size of said accumulated computational error e, and (ii) perform steps (i)-(iv) when said accumulated computational error e exceeds a predetermined threshold value.

19. The computer program product of claim 15 , wherein said step function is a polynomial which provides a branch functionality.

20. The computer program product of claim 15 , wherein said accuracy parameter α defines an available accuracy of an input to said step function, and said accuracy parameters β defines a required accuracy of an output of said step function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2023
From: DRUCKER, NIR; MOSHKOWICH, GUY; PELLEG, TOMER; SHAUL, HAYIM
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 062519/0976 →
Continuity (1)
Related Publication 20240275577A1 · Aug 15, 2024
References Cited (27)
US 20120213359A1 · Troncoso Pastoriza · 2012 [cited by examiner]
US 20160330017A1 · Youn · 2016 [cited by examiner]
US 20170134156A1 · Laine · 2017 [cited by examiner]
US 20180048459A1 · Ding · 2018 [cited by applicant]
US 20200099393A1 · Xu · 2020 [cited by examiner]
US 20210081785A1 · Sakai · 2021 [cited by examiner]
US 20220166607A1 · Ratha · 2022 [cited by applicant]
US 20220255720A1 · Sehrawat · 2022 [cited by applicant]
CN 108809619A · 2018 [cited by applicant]
Joye, Mark. “Homomorphic Encryption 101”. posted at <https://www.zama.ai/post/homomorphic-encryption-101> on Dec. 1, 2021. (Year: 2021). [cited by examiner]
Andrey Kim et al, “Approximate Homomorphic Encryption with Reduced Approximation Error”; In: Cryptographers' Track at the RSA Conference. pp. 120-144. Springer, Dec. 5, 2021. [cited by applicant]
Andrey Kim et al, “General Bootstrapping Approach for RLWE-based Homomorphic Encryption”; Online at: https://eprint.iacr.org/2021/691.pdf, Sep. 27, 2021. [cited by applicant]
Bae, Y. et al, “META-BTS: Bootstrapping Precision Beyond the Limit”; Cryptology, CCS '22: Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security, pp. 223-234, Nov. 7, 2022. [cited by applicant]
Bossuat, J.P. et al, “Efficient Bootstrapping for Approximate Homomorphic Encryption with Non-sparse Keys”; In: Canteaut, A., Standaert, F.X. (eds.) Advances in Cryptology—Eurocrypt 2021. pp. 587-617, Oct. 17-21, 2021. [cited by applicant]
Boura, C. et al, “Chimera: Combining Ring-LWE-based Fully Homomorphic Encryption Schemes”; Journal of Mathematical Cryptology 14(1), 316-338, May 11, 2020. [cited by applicant]
Chen, H. et al, “Improved Bootstrapping for Approximate Homomorphic Encryption”; In: Ishai, Y., Rijmen, V. (eds.) Advances in Cryptology—Eurocrypt 2019. pp. 34-54, May 19-23, 2019. [cited by applicant]
Cheon, J. et al, “Homomorphic Encryption for Arithmetic of Approximate Numbers”; In: Proceedings of Advances in Cryptology—Asiacrypt 2017. pp. 409-437. Springer Cham, Nov. 30, 2017. [cited by applicant]
Costache, A. et al, “On the precision loss in approximate homomorphic encryption”; Cryptology, Online at: https://eprint.iacr.org/2022/162, Feb. 12, 2022. [cited by applicant]
Gentry, C. et al, “Better bootstrapping in fully homomorphic encryption”; In: International Workshop on Public Key Cryptography, pp. 1-16. Dec. 15, 2011. [cited by applicant]
Jung Hee Cheon et al, “Efficient Homomorphic Comparison Methods with Optimal Complexity”; In: International Conference on the Theory and Application of Cryptology and Information Security. pp. 221-256. Springer, Feb. 11… [cited by applicant]
Jutla, C.S. et al, “Sine Series Approximation of the Mod Function for Bootstrapping of Approximate HE”; In: Dunkelman, O., Dziembowski, S. (eds.) Advances in Cryptology—Eurocrypt 2022. pp. 491-520, May 25, 2022. [cited by applicant]
Lee, E. et al, “Minimax Approximation of Sign Function by Composite Polynomial for Homomorphic Comparison”; IEEE Transactions on Dependable and Secure Computing, vol. 19, No. 6, pp. 3711-3727, Nov. 1-Dec. 2022. [cited by applicant]
Lee, J. et al, “Precise approximation of convolutional neural networks for homomorphically encrypted data”; Online at: arXiv preprint arXiv:2105.10879, Jun. 14, 2021. [cited by applicant]
Lee, Y. et al, “High-Precision Bootstrapping for Approximate Homomorphic Encryption by Error Variance Minimization”; In: Dunkelman, O., Dziembowski, S. (eds.) Advances in Cryptology—Eurocrypt 2022, pp. 551-580, Mar. 1, … [cited by applicant]
Lu, W.j. et al, “Pegasus: Bridging Polynomial and Non-polynomial Evaluations in Homomorphic Encryption”; In: 2021 IEEE Symposium on Security and Privacy (SP). pp. 1057-1073, May 24-27, 2021. [cited by applicant]
Nir Drucker et al, “Bleach: Cleaning Errors in Discrete Computations over CKKS”, Cryptology ePrint Archive, Paper 2022/1298, Sep. 2022, online at: https://eprint.iacr.org/2022/1298. [cited by applicant]
Seiko Arita et al, “Fully Homomorphic Encryption for Point Numbers”; In: Chen, K., Lin, D., Yung, M. (eds.) Information Security and Cryptology, pp. 253-270, Apr. 22, 2016. [cited by applicant]