Concrete feature class for Leveled SHECKKS operations. This class adds leveled (CKKS scheme) features to the CKKS scheme.
More...
|
| LPLeveledSHEAlgorithmCKKS () |
|
void | ModReduceInPlace (Ciphertext< Element > &ciphertext, size_t levels=1) const override |
|
Ciphertext< Element > | ModReduceInternal (ConstCiphertext< Element > ciphertext, size_t levels=1) const override |
|
void | ModReduceInternalInPlace (Ciphertext< Element > &ciphertext, size_t levels=1) const override |
|
Ciphertext< Element > | Compress (ConstCiphertext< Element > ciphertext, size_t towersLeft=1) const override |
|
Ciphertext< Element > | ComposedEvalMult (ConstCiphertext< Element > cipherText1, ConstCiphertext< Element > cipherText2, const LPEvalKey< Element > quadKeySwitchHint) const override |
|
Ciphertext< Element > | LevelReduce (ConstCiphertext< Element > ciphertext, const LPEvalKey< Element > linearKeySwitchHint, size_t levels) const override |
|
Ciphertext< Element > | LevelReduceInternal (ConstCiphertext< Element > ciphertext, const LPEvalKey< Element > linearKeySwitchHint, size_t levels) const override |
|
void | LevelReduceInternalInPlace (Ciphertext< Element > &ciphertext, const LPEvalKey< Element > linearKeySwitchHint, size_t levels) const override |
|
Ciphertext< Element > | EvalPoly (ConstCiphertext< Element > cipherText, const std::vector< double > &coefficients) const override |
|
template<class Archive > |
void | save (Archive &ar) const |
|
template<class Archive > |
void | load (Archive &ar) |
|
std::string | SerializedObjectName () const |
|
template<> |
void | ModReduceInternalInPlace (Ciphertext< Poly > &ciphertext, size_t levels) const |
|
template<> |
void | ModReduceInternalInPlace (Ciphertext< NativePoly > &ciphertext, size_t levels) const |
|
template<> |
void | ModReduceInternalInPlace (Ciphertext< DCRTPoly > &ciphertext, size_t levels) const |
|
template<> |
Ciphertext< Poly > | ModReduceInternal (ConstCiphertext< Poly > ciphertext, size_t levels) const |
|
template<> |
Ciphertext< NativePoly > | ModReduceInternal (ConstCiphertext< NativePoly > ciphertext, size_t levels) const |
|
template<> |
Ciphertext< DCRTPoly > | ModReduceInternal (ConstCiphertext< DCRTPoly > ciphertext, size_t levels) const |
|
template<> |
void | ModReduceInPlace (Ciphertext< DCRTPoly > &ciphertext, size_t levels) const |
|
template<> |
Ciphertext< Poly > | Compress (ConstCiphertext< Poly > ciphertext, size_t towersLeft) const |
|
template<> |
Ciphertext< NativePoly > | Compress (ConstCiphertext< NativePoly > ciphertext, size_t towersLeft) const |
|
template<> |
Ciphertext< DCRTPoly > | Compress (ConstCiphertext< DCRTPoly > ciphertext, size_t towersLeft) const |
|
template<> |
Ciphertext< Poly > | LevelReduceInternal (ConstCiphertext< Poly > ciphertext, const LPEvalKey< Poly > linearKeySwitchHint, size_t levels) const |
|
template<> |
void | LevelReduceInternalInPlace (Ciphertext< Poly > &ciphertext, const LPEvalKey< Poly > linearKeySwitchHint, size_t levels) const |
|
template<> |
Ciphertext< NativePoly > | LevelReduceInternal (ConstCiphertext< NativePoly > ciphertext, const LPEvalKey< NativePoly > linearKeySwitchHint, size_t levels) const |
|
template<> |
void | LevelReduceInternalInPlace (Ciphertext< NativePoly > &ciphertext, const LPEvalKey< NativePoly > linearKeySwitchHint, size_t levels) const |
|
template<> |
Ciphertext< DCRTPoly > | LevelReduceInternal (ConstCiphertext< DCRTPoly > ciphertext, const LPEvalKey< DCRTPoly > linearKeySwitchHint, size_t levels) const |
|
template<> |
void | LevelReduceInternalInPlace (Ciphertext< DCRTPoly > &ciphertext, const LPEvalKey< DCRTPoly > linearKeySwitchHint, size_t levels) const |
|
template<> |
Ciphertext< DCRTPoly > | LevelReduce (ConstCiphertext< DCRTPoly > ciphertext, const LPEvalKey< DCRTPoly > linearKeySwitchHint, size_t levels) const |
|
template<> |
Ciphertext< DCRTPoly > | EvalPoly (ConstCiphertext< DCRTPoly > x, const std::vector< double > &coefficients) const |
|
virtual Ciphertext< Element > | ModReduce (ConstCiphertext< Element > ciphertext, size_t levels=1) const |
|
template<class Archive > |
void | save (Archive &ar, std::uint32_t const version) const |
|
template<class Archive > |
void | load (Archive &ar, std::uint32_t const version) |
|
std::string | SerializedObjectName () const |
|
template<class Element>
class lbcrypto::LPLeveledSHEAlgorithmCKKS< Element >
Concrete feature class for Leveled SHECKKS operations. This class adds leveled (CKKS scheme) features to the CKKS scheme.
We use advances from the CKKS scheme for levelled homomorphic capabilities from here:
- Brakerski Z., Gentry C., Halevi S. (2013) Packed Ciphertexts in LWE-Based Homomorphic Encryption. In: Kurosawa K., Hanaoka G. (eds) Public-Key Cryptography – PKC 2013. Lecture Notes in Computer Science, vol
Springer, Berlin, Heidelberg (https://eprint.iacr.org/2011/277.pdf).
- Template Parameters
-