Concrete feature class for Leveled SHEBGVrns operations. This class adds leveled (BGVrns scheme) features to the BGVrns scheme.
More...
|
| LPLeveledSHEAlgorithmBGVrns () |
|
Ciphertext< Element > | ModReduceInternal (ConstCiphertext< Element > ciphertext, size_t levels=1) const override |
|
void | ModReduceInternalInPlace (Ciphertext< Element > &ciphertext, size_t levels=1) const override |
|
void | ModReduceInPlace (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 |
|
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< Poly > &ciphertext, size_t levels) const |
|
template<> |
void | ModReduceInPlace (Ciphertext< NativePoly > &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 > | ComposedEvalMult (ConstCiphertext< Poly > ciphertext1, ConstCiphertext< Poly > ciphertext2, const LPEvalKey< Poly > quadKeySwitchHint) const |
|
template<> |
Ciphertext< NativePoly > | ComposedEvalMult (ConstCiphertext< NativePoly > ciphertext1, ConstCiphertext< NativePoly > ciphertext2, const LPEvalKey< NativePoly > quadKeySwitchHint) const |
|
template<> |
Ciphertext< DCRTPoly > | ComposedEvalMult (ConstCiphertext< DCRTPoly > ciphertext1, ConstCiphertext< DCRTPoly > ciphertext2, const LPEvalKey< DCRTPoly > quadKeySwitchHint) const |
|
template<> |
Ciphertext< Poly > | LevelReduceInternal (ConstCiphertext< 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<> |
Ciphertext< DCRTPoly > | LevelReduceInternal (ConstCiphertext< DCRTPoly > ciphertext, const LPEvalKey< DCRTPoly > linearKeySwitchHint, size_t levels) const |
|
template<> |
Ciphertext< Poly > | LevelReduce (ConstCiphertext< Poly > ciphertext, const LPEvalKey< Poly > linearKeySwitchHint, size_t levels) const |
|
template<> |
Ciphertext< NativePoly > | LevelReduce (ConstCiphertext< NativePoly > ciphertext, const LPEvalKey< NativePoly > linearKeySwitchHint, size_t levels) const |
|
template<> |
Ciphertext< DCRTPoly > | LevelReduce (ConstCiphertext< DCRTPoly > ciphertext, const LPEvalKey< DCRTPoly > linearKeySwitchHint, size_t levels) const |
|
virtual Ciphertext< Element > | ModReduce (ConstCiphertext< Element > ciphertext, size_t levels=1) const |
|
virtual void | LevelReduceInternalInPlace (Ciphertext< Element > &cipherText1, const LPEvalKey< Element > linearKeySwitchHint, size_t levels) const |
|
virtual Ciphertext< Element > | EvalPoly (ConstCiphertext< Element > cipherText, const std::vector< double > &coefficients) 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::LPLeveledSHEAlgorithmBGVrns< Element >
Concrete feature class for Leveled SHEBGVrns operations. This class adds leveled (BGVrns scheme) features to the BGVrns scheme.
We use advances from the BGVrns 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 7778. Springer, Berlin, Heidelberg (https://eprint.iacr.org/2011/277.pdf).
- Template Parameters
-