Homomorphic encryption

Last updated
Homomorphic encryption
General
Derived fromVarious assumptions, including learning with errors, Ring learning with errors or even RSA (multiplicative) and others
Related to Functional encryption

Homomorphic encryption is a form of encryption that allows computations to be performed on encrypted data without first having to decrypt it. The resulting computations are left in an encrypted form which, when decrypted, result in an output that is identical to that produced had the operations been performed on the unencrypted data. Homomorphic encryption can be used for privacy-preserving outsourced storage and computation. This allows data to be encrypted and out-sourced to commercial cloud environments for processing, all while encrypted.

Contents

Homomorphic encryption eliminates the need for processing data in the clear, thereby preventing attacks that would enable a hacker to access that data while it is being processed, using privilege escalation. [1]

For sensitive data, such as health care information, homomorphic encryption can be used to enable new services by removing privacy barriers inhibiting data sharing or increasing security to existing services. For example, predictive analytics in health care can be hard to apply via a third party service provider due to medical data privacy concerns, but if the predictive analytics service provider can operate on encrypted data instead, these privacy concerns are diminished. Moreover, even if the service provider's system is compromised, the data would remain secure. [2]

Description

Homomorphic encryption is a form of encryption with an additional evaluation capability for computing over encrypted data without access to the secret key. The result of such a computation remains encrypted. Homomorphic encryption can be viewed as an extension of public-key cryptography [ how? ]. Homomorphic refers to homomorphism in algebra: the encryption and decryption functions can be thought of as homomorphisms between plaintext and ciphertext spaces.

Homomorphic encryption includes multiple types of encryption schemes that can perform different classes of computations over encrypted data. [3] The computations are represented as either Boolean or arithmetic circuits. Some common types of homomorphic encryption are partially homomorphic, somewhat homomorphic, leveledfully homomorphic, and fully homomorphic encryption:

For the majority of homomorphic encryption schemes, the multiplicative depth of circuits is the main practical limitation in performing computations over encrypted data. Homomorphic encryption schemes are inherently malleable. In terms of malleability, homomorphic encryption schemes have weaker security properties than non-homomorphic schemes.

History

Homomorphic encryption schemes have been developed using different approaches. Specifically, fully homomorphic encryption schemes are often grouped into generations corresponding to the underlying approach. [4]

Pre-FHE

The problem of constructing a fully homomorphic encryption scheme was first proposed in 1978, within a year of publishing of the RSA scheme. [5] For more than 30 years, it was unclear whether a solution existed. During that period, partial results included the following schemes:

First-generation FHE

Craig Gentry, using lattice-based cryptography, described the first plausible construction for a fully homomorphic encryption scheme in 2009. [9] Gentry's scheme supports both addition and multiplication operations on ciphertexts, from which it is possible to construct circuits for performing arbitrary computation. The construction starts from a somewhat homomorphic encryption scheme, which is limited to evaluating low-degree polynomials over encrypted data; it is limited because each ciphertext is noisy in some sense, and this noise grows as one adds and multiplies ciphertexts, until ultimately the noise makes the resulting ciphertext indecipherable.

Gentry then shows how to slightly modify this scheme to make it bootstrappable, i.e., capable of evaluating its own decryption circuit and then at least one more operation. Finally, he shows that any bootstrappable somewhat homomorphic encryption scheme can be converted into a fully homomorphic encryption through a recursive self-embedding. For Gentry's "noisy" scheme, the bootstrapping procedure effectively "refreshes" the ciphertext by applying to it the decryption procedure homomorphically, thereby obtaining a new ciphertext that encrypts the same value as before but has lower noise. By "refreshing" the ciphertext periodically whenever the noise grows too large, it is possible to compute an arbitrary number of additions and multiplications without increasing the noise too much.

Gentry based the security of his scheme on the assumed hardness of two problems: certain worst-case problems over ideal lattices, and the sparse (or low-weight) subset sum problem. Gentry's Ph.D. thesis [10] provides additional details. The Gentry-Halevi implementation of Gentry's original cryptosystem reported a timing of about 30 minutes per basic bit operation. [11] Extensive design and implementation work in subsequent years have improved upon these early implementations by many orders of magnitude runtime performance.

In 2010, Marten van Dijk, Craig Gentry, Shai Halevi and Vinod Vaikuntanathan presented a second fully homomorphic encryption scheme, [12] which uses many of the tools of Gentry's construction, but which does not require ideal lattices. Instead, they show that the somewhat homomorphic component of Gentry's ideal lattice-based scheme can be replaced with a very simple somewhat homomorphic scheme that uses integers. The scheme is therefore conceptually simpler than Gentry's ideal lattice scheme, but has similar properties with regards to homomorphic operations and efficiency. The somewhat homomorphic component in the work of Van Dijk et al. is similar to an encryption scheme proposed by Levieil and Naccache in 2008, [13] and also to one that was proposed by Bram Cohen in 1998. [14]

Cohen's method is not even additively homomorphic, however. The Levieil–Naccache scheme supports only additions, but it can be modified to also support a small number of multiplications. Many refinements and optimizations of the scheme of Van Dijk et al. were proposed in a sequence of works by Jean-Sébastien Coron, Tancrède Lepoint, Avradip Mandal, David Naccache, and Mehdi Tibouchi. [15] [16] [17] [18] Some of these works included also implementations of the resulting schemes.

Second-generation FHE

The homomorphic cryptosystems of this generation are derived from techniques that were developed starting in 2011-2012 by Zvika Brakerski, Craig Gentry, Vinod Vaikuntanathan, and others. These innovations led to the development of much more efficient somewhat and fully homomorphic cryptosystems. These include:

The security of most of these schemes is based on the hardness of the (Ring) Learning With Errors (RLWE) problem, except for the LTV and BLLN schemes that rely on an overstretched [25] variant of the NTRU computational problem. This NTRU variant was subsequently shown vulnerable to subfield lattice attacks, [26] [25] which is why these two schemes are no longer used in practice.

All the second-generation cryptosystems still follow the basic blueprint of Gentry's original construction, namely they first construct a somewhat homomorphic cryptosystem and then convert it to a fully homomorphic cryptosystem using bootstrapping.

A distinguishing characteristic of the second-generation cryptosystems is that they all feature a much slower growth of the noise during the homomorphic computations. Additional optimizations by Craig Gentry, Shai Halevi, and Nigel Smart resulted in cryptosystems with nearly optimal asymptotic complexity: Performing operations on data encrypted with security parameter has complexity of only . [27] [28] [29] These optimizations build on the Smart-Vercauteren techniques that enable packing of many plaintext values in a single ciphertext and operating on all these plaintext values in a SIMD fashion. [30] Many of the advances in these second-generation cryptosystems were also ported to the cryptosystem over the integers. [17] [18]

Another distinguishing feature of second-generation schemes is that they are efficient enough for many applications even without invoking bootstrapping, instead operating in the leveled FHE mode.

Third-generation FHE

In 2013, Craig Gentry, Amit Sahai, and Brent Waters (GSW) proposed a new technique for building FHE schemes that avoids an expensive "relinearization" step in homomorphic multiplication. [31] Zvika Brakerski and Vinod Vaikuntanathan observed that for certain types of circuits, the GSW cryptosystem features an even slower growth rate of noise, and hence better efficiency and stronger security. [32] Jacob Alperin-Sheriff and Chris Peikert then described a very efficient bootstrapping technique based on this observation. [33]

These techniques were further improved to develop efficient ring variants of the GSW cryptosystem: FHEW (2014) [34] and TFHE (2016). [35] The FHEW scheme was the first to show that by refreshing the ciphertexts after every single operation, it is possible to reduce the bootstrapping time to a fraction of a second. FHEW introduced a new method to compute Boolean gates on encrypted data that greatly simplifies bootstrapping and implemented a variant of the bootstrapping procedure. [33] The efficiency of FHEW was further improved by the TFHE scheme, which implements a ring variant of the bootstrapping procedure [36] using a method similar to the one in FHEW.

Fourth-generation FHE

In 2016, Cheon, Kim, Kim and Song (CKKS) [37] proposed an approximate homomorphic encryption scheme that supports a special kind of fixed-point arithmetic that is commonly referred to as block floating point arithmetic. The CKKS scheme includes an efficient rescaling operation that scales down an encrypted message after a multiplication. For comparison, such rescaling requires bootstrapping in the BGV and BFV schemes. The rescaling operation makes CKKS scheme the most efficient method for evaluating polynomial approximations, and is the preferred approach for implementing privacy-preserving machine learning applications. The scheme introduces several approximation errors, both nondeterministic and deterministic, that require special handling in practice. [38]

A 2020 article by Baiyu Li and Daniele Micciancio discusses passive attacks against CKKS, suggesting that the standard IND-CPA definition may not be sufficient in scenarios where decryption results are shared. [39] The authors apply the attack to four modern homomorphic encryption libraries (HEAAN, SEAL, HElib and PALISADE) and report that it is possible to recover the secret key from decryption results in several parameter configurations. The authors also propose mitigation strategies for these attacks, and include a Responsible Disclosure in the paper suggesting that the homomorphic encryption libraries already implemented mitigations for the attacks before the article became publicly available. Further information on the mitigation strategies implemented in the homomorphic encryption libraries has also been published. [40] [41]

Partially homomorphic cryptosystems

In the following examples, the notation is used to denote the encryption of the message .

Unpadded RSA

If the RSA public key has modulus and encryption exponent , then the encryption of a message is given by . The homomorphic property is then

ElGamal

In the ElGamal cryptosystem, in a cyclic group of order with generator , if the public key is , where , and is the secret key, then the encryption of a message is , for some random . The homomorphic property is then

Goldwasser–Micali

In the Goldwasser–Micali cryptosystem, if the public key is the modulus and quadratic non-residue , then the encryption of a bit is , for some random . The homomorphic property is then

where denotes addition modulo 2, (i.e., exclusive-or).

Benaloh

In the Benaloh cryptosystem, if the public key is the modulus and the base with a blocksize of , then the encryption of a message is , for some random . The homomorphic property is then

Paillier

In the Paillier cryptosystem, if the public key is the modulus and the base , then the encryption of a message is , for some random . The homomorphic property is then

Other partially homomorphic cryptosystems

Fully homomorphic encryption

A cryptosystem that supports arbitrary computation on ciphertexts is known as fully homomorphic encryption (FHE). Such a scheme enables the construction of programs for any desirable functionality, which can be run on encrypted inputs to produce an encryption of the result. Since such a program need never decrypt its inputs, it can be run by an untrusted party without revealing its inputs and internal state. Fully homomorphic cryptosystems have great practical implications in the outsourcing of private computations, for instance, in the context of cloud computing. [44]

Implementations

A list of open-source FHE libraries implementing second-generation (BGV/BFV), third-generation (FHEW/TFHE), and/or fourth-generation (CKKS) FHE schemes is provided below.

There are several open-source implementations of fully homomorphic encryption schemes. Second-generation and fourth-generation FHE scheme implementations typically operate in the leveled FHE mode (though bootstrapping is still available in some libraries) and support efficient SIMD-like packing of data; they are typically used to compute on encrypted integers or real/complex numbers. Third-generation FHE scheme implementations often bootstrap after each operation but have limited support for packing; they were initially used to compute Boolean circuits over encrypted bits, but have been extended to support integer arithmetics and univariate function evaluation. The choice of using a second-generation vs. third-generation vs fourth-generation scheme depends on the input data types and the desired computation.

FHE libraries
NameDeveloperBGV [19] CKKS [37] BFV [22] FHEW [34] CKKS Bootstrapping [45] TFHE [35] Description
HElib [46] IBM YesYesNoNoNoNoBGV scheme with the GHS optimizations.
Microsoft SEAL [47] Microsoft YesYesYesNoNoNo
OpenFHE Duality Technologies, Samsung Advanced Institute of Technology  [ kr ], Intel, MIT, University of California, San Diego and others.YesYesYesYesYesYesSuccessor to PALISADE.
PALISADE [48] New Jersey Institute of Technology, Duality Technologies, Raytheon BBN Technologies, MIT, University of California, San Diego and others.YesYesYesYesNoYesGeneral-purpose lattice cryptography library. Predecessor of OpenFHE.
HEAAN [49] Seoul National University NoYesNoNoYesNo
FHEW [34] Leo Ducas and Daniele MicciancioNoNoNoYesNoNo
TFHE [35] Ilaria Chillotti, Nicolas Gama, Mariya Georgieva and Malika IzabacheneNoNoNoNoNoYes
FV-NFLlib [50] CryptoExpertsNoNoYesNoNoNo
NuFHE [51] NuCypherNoNoNoNoNoYesProvides a GPU implementation of TFHE.
REDcuFHE [52] TwC GroupNoNoNoNoNoYesA multi-GPU implementation of TFHE.
Lattigo [53] EPFL-LDS, Tune Insight YesYesYesNoYes [54] NoImplementation in Go along with their distributed variants [55] enabling Secure multi-party computation.
TFHE-rs [56] Zama NoNoNoNoNoYes

Rust implementation of TFHE-extended. Supporting boolean, integer operation and univariate function evaluation (via Programmable Bootstrapping [57] ).

FHE frameworks
NameDeveloperFHEW [34] TFHEHElibSEALPALISADELattigoDescription
Concrete [58] Zama NoYesNoNoNoNo

TFHE-extended compiler with a Python Frontend. [59]

E3 [60] MoMA Lab at NYU Abu DhabiYesYesYesYesYesNo
SHEEP [61] Alan Turing InstituteNoYesYesYesYesNo
T2 [62] TwC GroupNoYesYesYesYesYes

Standardization

In 2017, researchers from IBM, Microsoft, Intel, the NIST, and others formed an open consortium, the Homomorphic Encryption Standardization Consortium (Homomorphicencryption.org), that maintains a community security Homomorphic Encryption Standard (The Standard). [63] [64] [65]

See also

Related Research Articles

RSA (Rivest–Shamir–Adleman) is a public-key cryptosystem, one of the oldest widely used for secure data transmission. The initialism "RSA" comes from the surnames of Ron Rivest, Adi Shamir and Leonard Adleman, who publicly described the algorithm in 1977. An equivalent system was developed secretly in 1973 at Government Communications Headquarters (GCHQ), the British signals intelligence agency, by the English mathematician Clifford Cocks. That system was declassified in 1997.

In cryptography, the ElGamal encryption system is an asymmetric key encryption algorithm for public-key cryptography which is based on the Diffie–Hellman key exchange. It was described by Taher Elgamal in 1985. ElGamal encryption is used in the free GNU Privacy Guard software, recent versions of PGP, and other cryptosystems. The Digital Signature Algorithm (DSA) is a variant of the ElGamal signature scheme, which should not be confused with ElGamal encryption.

Malleability is a property of some cryptographic algorithms. An encryption algorithm is "malleable" if it is possible to transform a ciphertext into another ciphertext which decrypts to a related plaintext. That is, given an encryption of a plaintext , it is possible to generate another ciphertext which decrypts to , for a known function , without necessarily knowing or learning .

The Rabin cryptosystem is a family of public-key encryption schemes based on a trapdoor function whose security, like that of RSA, is related to the difficulty of integer factorization.

The Paillier cryptosystem, invented by and named after Pascal Paillier in 1999, is a probabilistic asymmetric algorithm for public key cryptography. The problem of computing n-th residue classes is believed to be computationally difficult. The decisional composite residuosity assumption is the intractability hypothesis upon which this cryptosystem is based.

Proxy re-encryption (PRE) schemes are cryptosystems which allow third parties (proxies) to alter a ciphertext which has been encrypted for one party, so that it may be decrypted by another.

Ciphertext indistinguishability is a property of many encryption schemes. Intuitively, if a cryptosystem possesses the property of indistinguishability, then an adversary will be unable to distinguish pairs of ciphertexts based on the message they encrypt. The property of indistinguishability under chosen plaintext attack is considered a basic requirement for most provably secure public key cryptosystems, though some schemes also provide indistinguishability under chosen ciphertext attack and adaptive chosen ciphertext attack. Indistinguishability under chosen plaintext attack is equivalent to the property of semantic security, and many cryptographic proofs use these definitions interchangeably.

The Goldwasser–Micali (GM) cryptosystem is an asymmetric key encryption algorithm developed by Shafi Goldwasser and Silvio Micali in 1982. GM has the distinction of being the first probabilistic public-key encryption scheme which is provably secure under standard cryptographic assumptions. However, it is not an efficient cryptosystem, as ciphertexts may be several hundred times larger than the initial plaintext. To prove the security properties of the cryptosystem, Goldwasser and Micali proposed the widely used definition of semantic security.

The Blum–Goldwasser (BG) cryptosystem is an asymmetric key encryption algorithm proposed by Manuel Blum and Shafi Goldwasser in 1984. Blum–Goldwasser is a probabilistic, semantically secure cryptosystem with a constant-size ciphertext expansion. The encryption algorithm implements an XOR-based stream cipher using the Blum-Blum-Shub (BBS) pseudo-random number generator to generate the keystream. Decryption is accomplished by manipulating the final state of the BBS generator using the private key, in order to find the initial seed and reconstruct the keystream.

The Naccache–Stern cryptosystem is a homomorphic public-key cryptosystem whose security rests on the higher residuosity problem. The Naccache–Stern cryptosystem was discovered by David Naccache and Jacques Stern in 1998.

The Damgård–Jurik cryptosystem is a generalization of the Paillier cryptosystem. It uses computations modulo where is an RSA modulus and a (positive) natural number. Paillier's scheme is the special case with . The order of can be divided by . Moreover, can be written as the direct product of . is cyclic and of order , while is isomorphic to . For encryption, the message is transformed into the corresponding coset of the factor group and the security of the scheme relies on the difficulty of distinguishing random elements in different cosets of . It is semantically secure if it is hard to decide if two given elements are in the same coset. Like Paillier, the security of Damgård–Jurik can be proven under the decisional composite residuosity assumption.

Lattice-based cryptography is the generic term for constructions of cryptographic primitives that involve lattices, either in the construction itself or in the security proof. Lattice-based constructions support important standards of post-quantum cryptography. Unlike more widely used and known public-key schemes such as the RSA, Diffie-Hellman or elliptic-curve cryptosystems — which could, theoretically, be defeated using Shor's algorithm on a quantum computer — some lattice-based constructions appear to be resistant to attack by both classical and quantum computers. Furthermore, many lattice-based constructions are considered to be secure under the assumption that certain well-studied computational lattice problems cannot be solved efficiently.

In discrete mathematics, ideal lattices are a special class of lattices and a generalization of cyclic lattices. Ideal lattices naturally occur in many parts of number theory, but also in other areas. In particular, they have a significant place in cryptography. Micciancio defined a generalization of cyclic lattices as ideal lattices. They can be used in cryptosystems to decrease by a square root the number of parameters necessary to describe a lattice, making them more efficient. Ideal lattices are a new concept, but similar lattice classes have been used for a long time. For example, cyclic lattices, a special case of ideal lattices, are used in NTRUEncrypt and NTRUSign.

Shai Halevi is a computer scientist who works on cryptography research at Amazon Web Services.

Craig Gentry is an American computer scientist working as CTO of TripleBlind. He is best known for his work in cryptography, specifically fully homomorphic encryption.

HEAAN is an open source homomorphic encryption (HE) library which implements an approximate HE scheme proposed by Cheon, Kim, Kim and Song (CKKS). The first version of HEAAN was published on GitHub on 15 May 2016, and later a new version of HEAAN with a bootstrapping algorithm was released. Currently, the latest version is Version 2.1.

Homomorphic Encryption library or HElib is a free and open-source cross platform software developed by IBM that implements various forms of homomorphic encryption.

OpenFHE is an open-source cross platform software library that provides implementations of fully homomorphic encryption schemes. OpenFHE is a successor of PALISADE and incorporates selected design features of HElib, HEAAN, and FHEW libraries.

<span class="mw-page-title-main">PALISADE (software)</span>

PALISADE is an open-source cross platform software library that provides implementations of lattice cryptography building blocks and homomorphic encryption schemes.

Zvika Brakerski is an Israeli mathematician, known for his work on homomorphic encryption , particularly in developing the foundations of the second generation FHE schema, for which he was awarded the 2022 Gödel Prize. Brakerski is an associate professor in the Department of Computer Science and Applied Mathematics at the Weizmann Institute of Science.

References

  1. Sellers, Andrew. "Council Post: Everything You Wanted To Know About Homomorphic Encryption (But Were Afraid To Ask)". Forbes. Retrieved 2023-08-18.
  2. Munjal, Kundan; Bhatia, Rekha (2022). "A systematic review of homomorphic encryption and its contributions in healthcare industry". Complex & Intelligent Systems. 9 (4): 3759–3786. doi: 10.1007/s40747-022-00756-z . PMC   9062639 . PMID   35531323.
  3. Armknecht, Frederik; Boyd, Colin; Gjøsteen, Kristian; Jäschke, Angela; Reuter, Christian; Strand, Martin (2015). "A Guide to Fully Homomorphic Encryption". Cryptology ePrint Archive.
  4. Vinod Vaikuntanathan. "Homomorphic Encryption References".
  5. R. L. Rivest, L. Adleman, and M. L. Dertouzos. On data banks and privacy homomorphisms. In Foundations of Secure Computation, 1978.
  6. Sander, Tomas; Young, Adam L.; Yung, Moti (1999). "Non-interactive cryptocomputing for NC/Sup 1/". 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039). pp. 554–566. doi:10.1109/SFFCS.1999.814630. ISBN   978-0-7695-0409-4. S2CID   1976588.
  7. D. Boneh, E. Goh, and K. Nissim. Evaluating 2-DNF Formulas on Ciphertexts. In Theory of Cryptography Conference, 2005.
  8. Y. Ishai and A. Paskin. Evaluating branching programs on encrypted data. In Theory of Cryptography Conference, 2007.
  9. Craig Gentry. Fully Homomorphic Encryption Using Ideal Lattices. In the 41st ACM Symposium on Theory of Computing (STOC), 2009.
  10. Craig Gentry. "A Fully Homomorphic Encryption Scheme (Ph.D. thesis)" (PDF).
  11. Gentry, Craig; Halevi, Shai (2010). "Implementing Gentry's fully-homomorphic encryption scheme". Eurocrypt 2011.
  12. Van Dijk, Marten; Gentry, Craig; Halevi, Shai; Vinod, Vaikuntanathan (2009). "Fully Homomorphic Encryption over the Integers". Eurocrypt 2010.
  13. Levieil, Eric; Naccache, David. "Cryptographic Test Correction" (PDF).
  14. Cohen, Bram. "Simple Public Key Encryption". Archived from the original on 2011-10-07.
  15. Coron, Jean-Sébastien; Naccache, David; Tibouchi, Mehdi (2011). "Public Key Compression and Modulus Switching for Fully Homomorphic Encryption over the Integers". Eurocrypt 2012.
  16. Coron, Jean-Sébastien; Mandal, Avradip; Naccache, David; Tibouchi, Mehdi (2011). "Fully Homomorphic Encryption over the Integers with Shorter Public Keys". In Rogaway, P. (ed.). Advances in Cryptology – CRYPTO 2011. Lecture Notes in Computer Science. Vol. 6841. pp. 487–504. doi: 10.1007/978-3-642-22792-9_28 . ISBN   978-3-642-22791-2.
  17. 1 2 Coron, Jean-Sébastien; Lepoint, Tancrède; Tibouchi, Mehdi (2013). "Batch Fully Homomorphic Encryption over the Integers". Eurocrypt 2013.
  18. 1 2 Coron, Jean-Sébastien; Lepoint, Tancrède; Tibouchi, Mehdi (2014). "Scale-Invariant Fully Homomorphic Encryption over the Integers". PKC 2014.
  19. 1 2 Z. Brakerski, C. Gentry, and V. Vaikuntanathan. Fully Homomorphic Encryption without Bootstrapping, In ITCS 2012
  20. Z. Brakerski and V. Vaikuntanathan. Efficient Fully Homomorphic Encryption from (Standard) LWE. In FOCS 2011 (IEEE)
  21. A. Lopez-Alt, E. Tromer, and V. Vaikuntanathan. On-the-Fly Multiparty Computation on the Cloud via Multikey Fully Homomorphic Encryption. In STOC 2012 (ACM)
  22. 1 2 Fan, Junfeng; Vercauteren, Frederik (2012). "Somewhat Practical Fully Homomorphic Encryption". Cryptology ePrint Archive.
  23. 1 2 Z. Brakerski. Fully Homomorphic Encryption without Modulus Switching from Classical GapSVP, In CRYPTO 2012 (Springer)
  24. J. Bos, K. Lauter, J. Loftus, and M. Naehrig. Improved Security for a Ring-Based Fully Homomorphic Encryption Scheme. In IMACC 2013 (Springer)
  25. 1 2 M. Albrecht, S. Bai, and L. Ducas. A subfield lattice attack on overstretched NTRU assumptions, In CRYPTO 2016 (Springer)
  26. Cheon, J. H.; Jeong, J; Lee, C. (2016). "An algorithm for NTRU problems and cryptanalysis of the GGH multilinear map without a low-level encoding of zero". LMS Journal of Computation and Mathematics. 19 (1): 255–266. doi: 10.1112/S1461157016000371 .
  27. C. Gentry, S. Halevi, and N. P. Smart. Fully Homomorphic Encryption with Polylog Overhead. In EUROCRYPT 2012 (Springer)
  28. C. Gentry, S. Halevi, and N. P. Smart. Better Bootstrapping in Fully Homomorphic Encryption. In PKC 2012 (SpringeR)
  29. C. Gentry, S. Halevi, and N. P. Smart. Homomorphic Evaluation of the AES Circuit. In CRYPTO 2012 (Springer)
  30. Smart, Nigel P.; Vercauteren, Frederik (2014). "Fully Homomorphic SIMD Operations". Designs, Codes and Cryptography. 71 (1): 57–81. CiteSeerX   10.1.1.294.4088 . doi:10.1007/s10623-012-9720-4. S2CID   11202438.
  31. C. Gentry, A. Sahai, and B. Waters. Homomorphic Encryption from Learning with Errors: Conceptually-Simpler, Asymptotically-Faster, Attribute-Based. In CRYPTO 2013 (Springer)
  32. Z. Brakerski and V. Vaikuntanathan. Lattice-Based FHE as Secure as PKE. In ITCS 2014
  33. 1 2 J. Alperin-Sheriff and C. Peikert. Faster Bootstrapping with Polynomial Error. In CRYPTO 2014 (Springer)
  34. 1 2 3 4 Leo Ducas; Daniele Micciancio. "FHEW: A Fully Homomorphic Encryption library". GitHub . Retrieved 31 December 2014.
  35. 1 2 3 Ilaria Chillotti; Nicolas Gama; Mariya Georgieva; Malika Izabachene. "Faster Fully Homomorphic Encryption: Bootstrapping in less than 0.1 Seconds" . Retrieved 31 December 2016.
  36. N. Gama, M. Izabachène, P.Q. Nguyen, and X. Xie Structural Lattice Reduction: Generalized Worst-Case to Average-Case Reductions and Homomorphic Cryptosystems. In EUROCRYPT 2016 (Springer)
  37. 1 2 Cheon, Jung Hee; Kim, Andrey; Kim, Miran; Song, Yongsoo (2017). "Homomorphic encryption for arithmetic of approximate numbers". Takagi T., Peyrin T. (eds) Advances in Cryptology – ASIACRYPT 2017. ASIACRYPT 2017. Lecture Notes in Computer Science. Vol. 10624. Springer, Cham. pp. 409–437. doi:10.1007/978-3-319-70694-8_15. ISBN   978-3-319-70693-1.
  38. Kim A., Papadimitriou A., Polyakov Y. Approximate Homomorphic Encryption with Reduced Approximation Error, In CT-RSA 2022 (Springer)
  39. Li, Baily; Micciancio, Daniele (2020). "On the Security of Homomorphic Encryption on Approximate Numbers" (PDF). IACR ePrint Archive 2020/1533.
  40. Cheon, Jung Hee; Hong, Seungwan; Kim, Duhyeong (2020). "Remark on the Security of CKKS Scheme in Practice" (PDF). IACR ePrint Archive 2020/1581.
  41. "Security of CKKS" . Retrieved 10 March 2021.
  42. Benhamouda, Fabrice; Herranz, Javier; Joye, Marc; Libert, Benoît (2017). "Efficient cryptosystems from 2k-th power residue symbols" (PDF). Journal of Cryptology. 30 (2): 519–549. doi:10.1007/s00145-016-9229-5. hdl:2117/103661. S2CID   62063.
  43. Guilhem Castagnos and Fabien Laguillaumie (2015). "Linearly Homomorphic Encryption from DDH" (PDF).{{cite journal}}: Cite journal requires |journal= (help)
  44. Daniele Micciancio (2010-03-01). "A First Glimpse of Cryptography's Holy Grail". Association for Computing Machinery. p. 96. Retrieved 2010-03-17.
  45. Jung Hee Cheon, Kyoohyung Han, Andrey Kim, Miran Kim and Yongsoo Song. Bootstrapping for Approximate Homomorphic Encryption. In EUROCRYPT 2018 (Springer).
  46. Shai Halevi; Victor Shoup. "HElib: An Implementation of homomorphic encryption". GitHub . Retrieved 31 December 2014.
  47. Microsoft Research. "Microsoft SEAL". Microsoft . Retrieved 20 February 2019.
  48. "PALISADE Lattice Cryptography Library" . Retrieved 1 January 2019.
  49. Jung Hee Cheon; Kyoohyung Han; Andrey Kim; Miran Kim; Yongsoo Song. "Homomorphic Encryption for Arithmetic of Approximate Numbers". GitHub . Retrieved 15 May 2016.
  50. Crypto Experts. "FV-NFLlib". GitHub . Retrieved 1 November 2019.
  51. NuCypher. "A GPU implementation of fully homomorphic encryption on torus". GitHub . Retrieved 1 November 2019.
  52. Trustworthy Computing (TwC) Group. "A Multi-GPU Implementation of the CGGI Cryptosystem". GitHub . Retrieved 7 March 2023.
  53. EPFL-LDS. "Lattigo v3.0.5". GitHub . Retrieved 13 September 2022.
  54. Jean-Philippe Bossuat, Christian Mouchet, Juan Troncoso-Pastoriza and Jean-Pierre Hubaux. Efficient Bootstrapping for Approximate Homomorphic Encryption with Non-Sparse Keys. In EUROCRYPT 2021 (Springer).
  55. Christian Mouchet, Juan Troncoso-Pastoriza, Jean-Philippe Bossuat and Jean-Pierre Hubaux. Multiparty Homomorphic Encryption from Ring-Learning-With-Errors.
  56. Zama (15 June 2023). "TFHE-rs". GitHub .
  57. Chillotti, Ilaria; Joye, Marc; Paillier, Pascal (2021). "Programmable Bootstrapping Enables Efficient Homomorphic Inference of Deep Neural Networks" (PDF). Cyber Security Cryptography and Machine Learning. Lecture Notes in Computer Science. Vol. 12716. pp. 1–19. doi:10.1007/978-3-030-78086-9_1. ISBN   978-3-030-78085-2. S2CID   231732347 . Retrieved 17 November 2022.
  58. Zama. "Concrete". GitHub . Retrieved 20 May 2022.
  59. Zama (15 June 2023). "Concrete Python". Pypi .
  60. MoMA Lab, New York University Abu Dhabi (2019-07-24). "Encrypt-Everything-Everywhere (E3)". GitHub . Retrieved 27 July 2019.
  61. Alan Turing Institute, London, UK (2019-11-01). "SHEEP, a Homomorphic Encryption Evaluation Platform". GitHub . Retrieved 1 November 2019.{{cite web}}: CS1 maint: multiple names: authors list (link)
  62. Trustworthy Computing (TwC) Group (2023-03-02). "T2: A cross compiler and standardized benchmarks for FHE computation". GitHub . Retrieved 3 February 2023.
  63. "Homomorphic Encryption Standardization Workshop". Microsoft. 2017-07-13. Retrieved 2022-05-12.
  64. "Intel, Microsoft Research and Duality Technologies Convene AI Community for Privacy Standards". Intel Newsroom. 2019-08-16. Retrieved 2022-05-12.
  65. "Intel, Microsoft join DARPA effort to accelerate fully homomorphic encryption". 8 March 2021.