|
| LPAlgorithmSHEBFVrnsB () |
|
Ciphertext< Element > | EvalAdd (ConstCiphertext< Element > ct, ConstPlaintext pt) const override |
|
Ciphertext< Element > | EvalSub (ConstCiphertext< Element > ct, ConstPlaintext pt) const override |
|
Ciphertext< Element > | EvalMult (ConstCiphertext< Element > ct1, ConstCiphertext< Element > ct2) const override |
|
LPEvalKey< Element > | KeySwitchGen (const LPPrivateKey< Element > oldKey, const LPPrivateKey< Element > newKey) const override |
|
void | KeySwitchInPlace (const LPEvalKey< Element > keySwitchHint, Ciphertext< Element > &ciphertext) const override |
|
Ciphertext< Element > | EvalMultAndRelinearize (ConstCiphertext< Element > ct1, ConstCiphertext< Element > ct2, const vector< LPEvalKey< Element >> &ek) const override |
|
template<> |
Ciphertext< Poly > | EvalMult (ConstCiphertext< Poly > ciphertext1, ConstCiphertext< Poly > ciphertext2) const |
|
template<> |
Ciphertext< NativePoly > | EvalMult (ConstCiphertext< NativePoly > ciphertext1, ConstCiphertext< NativePoly > ciphertext2) const |
|
template<> |
Ciphertext< Poly > | EvalAdd (ConstCiphertext< Poly > ct, ConstPlaintext pt) const |
|
template<> |
Ciphertext< NativePoly > | EvalAdd (ConstCiphertext< NativePoly > ct, ConstPlaintext pt) const |
|
template<> |
Ciphertext< Poly > | EvalSub (ConstCiphertext< Poly > ct, ConstPlaintext pt) const |
|
template<> |
Ciphertext< NativePoly > | EvalSub (ConstCiphertext< NativePoly > ct, ConstPlaintext pt) const |
|
template<> |
LPEvalKey< Poly > | KeySwitchGen (const LPPrivateKey< Poly > originalPrivateKey, const LPPrivateKey< Poly > newPrivateKey) const |
|
template<> |
LPEvalKey< NativePoly > | KeySwitchGen (const LPPrivateKey< NativePoly > originalPrivateKey, const LPPrivateKey< NativePoly > newPrivateKey) const |
|
template<> |
void | KeySwitchInPlace (const LPEvalKey< Poly > keySwitchHint, Ciphertext< Poly > &cipherText) const |
|
template<> |
void | KeySwitchInPlace (const LPEvalKey< NativePoly > keySwitchHint, Ciphertext< NativePoly > &cipherText) const |
|
template<> |
Ciphertext< Poly > | EvalMultAndRelinearize (ConstCiphertext< Poly > ct1, ConstCiphertext< Poly > ct, const vector< LPEvalKey< Poly >> &ek) const |
|
template<> |
Ciphertext< NativePoly > | EvalMultAndRelinearize (ConstCiphertext< NativePoly > ct1, ConstCiphertext< NativePoly > ct, const vector< LPEvalKey< NativePoly >> &ek) const |
|
template<> |
Ciphertext< DCRTPoly > | EvalAdd (ConstCiphertext< DCRTPoly > ciphertext, ConstPlaintext plaintext) const |
|
template<> |
Ciphertext< DCRTPoly > | EvalSub (ConstCiphertext< DCRTPoly > ciphertext, ConstPlaintext plaintext) const |
|
template<> |
Ciphertext< DCRTPoly > | EvalMult (ConstCiphertext< DCRTPoly > ciphertext1, ConstCiphertext< DCRTPoly > ciphertext2) const |
|
template<> |
LPEvalKey< DCRTPoly > | KeySwitchGen (const LPPrivateKey< DCRTPoly > originalPrivateKey, const LPPrivateKey< DCRTPoly > newPrivateKey) const |
|
template<> |
void | KeySwitchInPlace (const LPEvalKey< DCRTPoly > ek, Ciphertext< DCRTPoly > &cipherText) const |
|
template<> |
Ciphertext< DCRTPoly > | EvalMultAndRelinearize (ConstCiphertext< DCRTPoly > ciphertext1, ConstCiphertext< DCRTPoly > ciphertext2, const vector< LPEvalKey< DCRTPoly >> &ek) const |
|
| LPAlgorithmSHEBFV () |
|
void | EvalAddInPlace (Ciphertext< Element > &ct1, ConstCiphertext< Element > ct2) const override |
|
Ciphertext< Element > | EvalSub (ConstCiphertext< Element > ct1, ConstCiphertext< Element > ct2) const override |
|
Ciphertext< Element > | EvalMult (ConstCiphertext< Element > ciphertext, ConstPlaintext plaintext) const override |
|
Ciphertext< Element > | EvalMult (ConstCiphertext< Element > ct1, ConstCiphertext< Element > ct, const LPEvalKey< Element > ek) const override |
|
Ciphertext< Element > | EvalMultMany (const vector< Ciphertext< Element >> &cipherTextList, const vector< LPEvalKey< Element >> &evalKeys) const override |
|
Ciphertext< Element > | EvalNegate (ConstCiphertext< Element > ct) const override |
|
LPEvalKey< Element > | EvalMultKeyGen (const LPPrivateKey< Element > k1) const override |
|
vector< LPEvalKey< Element > > | EvalMultKeysGen (const LPPrivateKey< Element > k1) const override |
|
Ciphertext< Element > | EvalAutomorphism (ConstCiphertext< Element > ciphertext, usint i, const std::map< usint, LPEvalKey< Element >> &evalKeys, CALLER_INFO_ARGS_HDR) const override |
|
shared_ptr< std::map< usint, LPEvalKey< Element > > > | EvalAutomorphismKeyGen (const LPPrivateKey< Element > privateKey, const std::vector< usint > &indexList) const override |
|
shared_ptr< std::map< usint, LPEvalKey< Element > > > | EvalAutomorphismKeyGen (const LPPublicKey< Element > publicKey, const LPPrivateKey< Element > privateKey, const std::vector< usint > &indexList) const override |
|
virtual Ciphertext< Element > | EvalAdd (ConstCiphertext< Element > ciphertext1, ConstCiphertext< Element > ciphertext2) const |
|
virtual Ciphertext< Element > | EvalAddMutable (Ciphertext< Element > &ciphertext1, Ciphertext< Element > &ciphertext2) const |
|
virtual Ciphertext< Element > | EvalAddMutable (Ciphertext< Element > &ciphertext, Plaintext plaintext) const |
|
virtual Ciphertext< Element > | EvalAdd (ConstCiphertext< Element > ciphertext, double constant) const |
|
virtual Ciphertext< Element > | EvalLinearWSum (vector< Ciphertext< Element >> ciphertexts, vector< double > constants) const |
|
virtual Ciphertext< Element > | EvalLinearWSumMutable (vector< Ciphertext< Element >> ciphertexts, vector< double > constants) const |
|
virtual Ciphertext< Element > | EvalSubMutable (Ciphertext< Element > &ciphertext1, Ciphertext< Element > &ciphertext2) const |
|
virtual Ciphertext< Element > | EvalSubMutable (Ciphertext< Element > &ciphertext, Plaintext plaintext) const |
|
virtual Ciphertext< Element > | EvalSub (ConstCiphertext< Element > ciphertext, double constant) const |
|
virtual Ciphertext< Element > | EvalMultMutable (Ciphertext< Element > &ciphertext1, Ciphertext< Element > &ciphertext2) const |
|
virtual Ciphertext< Element > | EvalMultMutable (Ciphertext< Element > &ciphertext, Plaintext plaintext) const |
|
virtual Ciphertext< Element > | EvalMult (ConstCiphertext< Element > ciphertext, double constant) const |
|
virtual Ciphertext< Element > | EvalMultMutable (Ciphertext< Element > &ciphertext, double constant) const |
|
virtual Ciphertext< Element > | EvalMultMutable (Ciphertext< Element > &ciphertext1, Ciphertext< Element > &ciphertext2, const LPEvalKey< Element > ek) const |
|
virtual Ciphertext< Element > | EvalAddMany (const vector< Ciphertext< Element >> &ctList) const |
|
virtual Ciphertext< Element > | EvalAddManyInPlace (vector< Ciphertext< Element >> &ctList) const |
|
virtual Ciphertext< Element > | Relinearize (ConstCiphertext< Element > ciphertext, const vector< LPEvalKey< Element >> &ek) const |
|
virtual void | RelinearizeInPlace (Ciphertext< Element > &ciphertext, const vector< LPEvalKey< Element >> &ek) const |
|
virtual Ciphertext< Element > | AddRandomNoise (ConstCiphertext< Element > ciphertext) const |
|
virtual Ciphertext< Element > | KeySwitch (const LPEvalKey< Element > keySwitchHint, ConstCiphertext< Element > cipherText) const |
|
virtual shared_ptr< vector< Element > > | EvalFastRotationPrecompute (ConstCiphertext< Element > cipherText) const |
|
virtual Ciphertext< Element > | EvalFastRotation (ConstCiphertext< Element > cipherText, const usint index, const usint m, const shared_ptr< vector< Element >> digits) const |
|
virtual shared_ptr< std::map< usint, LPEvalKey< Element > > > | EvalAtIndexKeyGen (const LPPublicKey< Element > publicKey, const LPPrivateKey< Element > origPrivateKey, const std::vector< int32_t > &indexList) const |
|
virtual Ciphertext< Element > | EvalAtIndex (ConstCiphertext< Element > ciphertext, int32_t index, const std::map< usint, LPEvalKey< Element >> &evalAtIndexKeys) const |
|
virtual shared_ptr< std::map< usint, LPEvalKey< Element > > > | EvalSumKeyGen (const LPPrivateKey< Element > privateKey, const LPPublicKey< Element > publicKey) const |
|
virtual shared_ptr< std::map< usint, LPEvalKey< Element > > > | EvalSumRowsKeyGen (const LPPrivateKey< Element > privateKey, const LPPublicKey< Element > publicKey, usint rowSize, usint subringDim=0) const |
|
virtual shared_ptr< std::map< usint, LPEvalKey< Element > > > | EvalSumColsKeyGen (const LPPrivateKey< Element > privateKey, const LPPublicKey< Element > publicKey) const |
|
virtual Ciphertext< Element > | EvalSum (ConstCiphertext< Element > ciphertext, usint batchSize, const std::map< usint, LPEvalKey< Element >> &evalKeys) const |
|
virtual Ciphertext< Element > | EvalSumRows (ConstCiphertext< Element > ciphertext, usint rowSize, const std::map< usint, LPEvalKey< Element >> &evalKeys, usint subringDim=0) const |
|
virtual Ciphertext< Element > | EvalSumCols (ConstCiphertext< Element > ciphertext, usint batchSize, const std::map< usint, LPEvalKey< Element >> &evalKeys, const std::map< usint, LPEvalKey< Element >> &rightEvalKeys) const |
|
virtual Ciphertext< Element > | EvalInnerProduct (ConstCiphertext< Element > ciphertext1, ConstCiphertext< Element > ciphertext2, usint batchSize, const std::map< usint, LPEvalKey< Element >> &evalSumKeys, const LPEvalKey< Element > evalMultKey) const |
|
virtual Ciphertext< Element > | EvalInnerProduct (ConstCiphertext< Element > ciphertext1, ConstPlaintext plaintext, usint batchSize, const std::map< usint, LPEvalKey< Element >> &evalSumKeys) const |
|
virtual Ciphertext< Element > | EvalMerge (const vector< Ciphertext< Element >> &ciphertextVector, const std::map< usint, LPEvalKey< Element >> &evalKeys) const |
|
virtual Ciphertext< Element > | AdjustLevelWithRescale (Ciphertext< Element > &c1, uint32_t targetLevel) const |
|